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 opCreateCluster = "CreateCluster" 17 18// CreateClusterRequest generates a "aws/request.Request" representing the 19// client's request for the CreateCluster 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 CreateCluster for more information on using the CreateCluster 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 CreateClusterRequest method. 34// req, resp := client.CreateClusterRequest(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/CreateCluster 42func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 43 op := &request.Operation{ 44 Name: opCreateCluster, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateClusterInput{} 51 } 52 53 output = &CreateClusterOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateCluster API operation for Amazon EC2 Container Service. 59// 60// Creates a new Amazon ECS cluster. By default, your account receives a default 61// cluster when you launch your first container instance. However, you can create 62// your own cluster with a unique name with the CreateCluster action. 63// 64// When you call the CreateCluster API operation, Amazon ECS attempts to create 65// the service-linked role for your account so that required resources in other 66// AWS services can be managed on your behalf. However, if the IAM user that 67// makes the call does not have permissions to create the service-linked role, 68// it is not created. For more information, see Using Service-Linked Roles for 69// Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 70// in the Amazon Elastic Container Service Developer Guide. 71// 72// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 73// with awserr.Error's Code and Message methods to get detailed information about 74// the error. 75// 76// See the AWS API reference guide for Amazon EC2 Container Service's 77// API operation CreateCluster for usage and error information. 78// 79// Returned Error Codes: 80// * ErrCodeServerException "ServerException" 81// These errors are usually caused by a server issue. 82// 83// * ErrCodeClientException "ClientException" 84// These errors are usually caused by a client action, such as using an action 85// or resource on behalf of a user that doesn't have permissions to use the 86// action or resource, or specifying an identifier that is not valid. 87// 88// * ErrCodeInvalidParameterException "InvalidParameterException" 89// The specified parameter is invalid. Review the available parameters for the 90// API request. 91// 92// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 93func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 94 req, out := c.CreateClusterRequest(input) 95 return out, req.Send() 96} 97 98// CreateClusterWithContext is the same as CreateCluster with the addition of 99// the ability to pass a context and additional request options. 100// 101// See CreateCluster for details on how to use this API operation. 102// 103// The context must be non-nil and will be used for request cancellation. If 104// the context is nil a panic will occur. In the future the SDK may create 105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106// for more information on using Contexts. 107func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 108 req, out := c.CreateClusterRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112} 113 114const opCreateService = "CreateService" 115 116// CreateServiceRequest generates a "aws/request.Request" representing the 117// client's request for the CreateService operation. The "output" return 118// value will be populated with the request's response once the request completes 119// successfully. 120// 121// Use "Send" method on the returned Request to send the API call to the service. 122// the "output" return value is not valid until after Send returns without error. 123// 124// See CreateService for more information on using the CreateService 125// API call, and error handling. 126// 127// This method is useful when you want to inject custom logic or configuration 128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 129// 130// 131// // Example sending a request using the CreateServiceRequest method. 132// req, resp := client.CreateServiceRequest(params) 133// 134// err := req.Send() 135// if err == nil { // resp is now filled 136// fmt.Println(resp) 137// } 138// 139// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 140func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 141 op := &request.Operation{ 142 Name: opCreateService, 143 HTTPMethod: "POST", 144 HTTPPath: "/", 145 } 146 147 if input == nil { 148 input = &CreateServiceInput{} 149 } 150 151 output = &CreateServiceOutput{} 152 req = c.newRequest(op, input, output) 153 return 154} 155 156// CreateService API operation for Amazon EC2 Container Service. 157// 158// Runs and maintains a desired number of tasks from a specified task definition. 159// If the number of tasks running in a service drops below the desiredCount, 160// Amazon ECS spawns another copy of the task in the specified cluster. To update 161// an existing service, see UpdateService. 162// 163// In addition to maintaining the desired count of tasks in your service, you 164// can optionally run your service behind a load balancer. The load balancer 165// distributes traffic across the tasks that are associated with the service. 166// For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 167// in the Amazon Elastic Container Service Developer Guide. 168// 169// Tasks for services that do not use a load balancer are considered healthy 170// if they're in the RUNNING state. Tasks for services that do use a load balancer 171// are considered healthy if they're in the RUNNING state and the container 172// instance that they're hosted on is reported as healthy by the load balancer. 173// 174// There are two service scheduler strategies available: 175// 176// * REPLICA - The replica scheduling strategy places and maintains the desired 177// number of tasks across your cluster. By default, the service scheduler 178// spreads tasks across Availability Zones. You can use task placement strategies 179// and constraints to customize task placement decisions. For more information, 180// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 181// in the Amazon Elastic Container Service Developer Guide. 182// 183// * DAEMON - The daemon scheduling strategy deploys exactly one task on 184// each active container instance that meets all of the task placement constraints 185// that you specify in your cluster. When using this strategy, you don't 186// need to specify a desired number of tasks, a task placement strategy, 187// or use Service Auto Scaling policies. For more information, see Service 188// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 189// in the Amazon Elastic Container Service Developer Guide. 190// 191// You can optionally specify a deployment configuration for your service. The 192// deployment is triggered by changing properties, such as the task definition 193// or the desired count of a service, with an UpdateService operation. The default 194// value for a replica service for minimumHealthyPercent is 100%. The default 195// value for a daemon service for minimumHealthyPercent is 0%. 196// 197// If a service is using the ECS deployment controller, the minimum healthy 198// percent represents a lower limit on the number of tasks in a service that 199// must remain in the RUNNING state during a deployment, as a percentage of 200// the desired number of tasks (rounded up to the nearest integer), and while 201// any container instances are in the DRAINING state if the service contains 202// tasks using the EC2 launch type. This parameter enables you to deploy without 203// using additional cluster capacity. For example, if your service has a desired 204// number of four tasks and a minimum healthy percent of 50%, the scheduler 205// might stop two existing tasks to free up cluster capacity before starting 206// two new tasks. Tasks for services that do not use a load balancer are considered 207// healthy if they're in the RUNNING state. Tasks for services that do use a 208// load balancer are considered healthy if they're in the RUNNING state and 209// they're reported as healthy by the load balancer. The default value for minimum 210// healthy percent is 100%. 211// 212// If a service is using the ECS deployment controller, the maximum percent 213// parameter represents an upper limit on the number of tasks in a service that 214// are allowed in the RUNNING or PENDING state during a deployment, as a percentage 215// of the desired number of tasks (rounded down to the nearest integer), and 216// while any container instances are in the DRAINING state if the service contains 217// tasks using the EC2 launch type. This parameter enables you to define the 218// deployment batch size. For example, if your service has a desired number 219// of four tasks and a maximum percent value of 200%, the scheduler may start 220// four new tasks before stopping the four older tasks (provided that the cluster 221// resources required to do this are available). The default value for maximum 222// percent is 200%. 223// 224// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 225// types and tasks that use the EC2 launch type, the minimum healthy percent 226// and maximum percent values are used only to define the lower and upper limit 227// on the number of the tasks in the service that remain in the RUNNING state 228// while the container instances are in the DRAINING state. If the tasks in 229// the service use the Fargate launch type, the minimum healthy percent and 230// maximum percent values aren't used, although they're currently visible when 231// describing your service. 232// 233// When creating a service that uses the EXTERNAL deployment controller, you 234// can specify only parameters that aren't controlled at the task set level. 235// The only required parameter is the service name. You control your services 236// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 237// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 238// in the Amazon Elastic Container Service Developer Guide. 239// 240// When the service scheduler launches new tasks, it determines task placement 241// in your cluster using the following logic: 242// 243// * Determine which of the container instances in your cluster can support 244// your service's task definition (for example, they have the required CPU, 245// memory, ports, and container instance attributes). 246// 247// * By default, the service scheduler attempts to balance tasks across Availability 248// Zones in this manner (although you can choose a different placement strategy) 249// with the placementStrategy parameter): Sort the valid container instances, 250// giving priority to instances that have the fewest number of running tasks 251// for this service in their respective Availability Zone. For example, if 252// zone A has one running service task and zones B and C each have zero, 253// valid container instances in either zone B or C are considered optimal 254// for placement. Place the new service task on a valid container instance 255// in an optimal Availability Zone (based on the previous steps), favoring 256// container instances with the fewest number of running tasks for this service. 257// 258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 259// with awserr.Error's Code and Message methods to get detailed information about 260// the error. 261// 262// See the AWS API reference guide for Amazon EC2 Container Service's 263// API operation CreateService for usage and error information. 264// 265// Returned Error Codes: 266// * ErrCodeServerException "ServerException" 267// These errors are usually caused by a server issue. 268// 269// * ErrCodeClientException "ClientException" 270// These errors are usually caused by a client action, such as using an action 271// or resource on behalf of a user that doesn't have permissions to use the 272// action or resource, or specifying an identifier that is not valid. 273// 274// * ErrCodeInvalidParameterException "InvalidParameterException" 275// The specified parameter is invalid. Review the available parameters for the 276// API request. 277// 278// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 279// The specified cluster could not be found. You can view your available clusters 280// with ListClusters. Amazon ECS clusters are Region-specific. 281// 282// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 283// The specified task is not supported in this Region. 284// 285// * ErrCodePlatformUnknownException "PlatformUnknownException" 286// The specified platform version does not exist. 287// 288// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 289// The specified platform version does not satisfy the task definition's required 290// capabilities. 291// 292// * ErrCodeAccessDeniedException "AccessDeniedException" 293// You do not have authorization to perform the requested action. 294// 295// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 296func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 297 req, out := c.CreateServiceRequest(input) 298 return out, req.Send() 299} 300 301// CreateServiceWithContext is the same as CreateService with the addition of 302// the ability to pass a context and additional request options. 303// 304// See CreateService for details on how to use this API operation. 305// 306// The context must be non-nil and will be used for request cancellation. If 307// the context is nil a panic will occur. In the future the SDK may create 308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 309// for more information on using Contexts. 310func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 311 req, out := c.CreateServiceRequest(input) 312 req.SetContext(ctx) 313 req.ApplyOptions(opts...) 314 return out, req.Send() 315} 316 317const opCreateTaskSet = "CreateTaskSet" 318 319// CreateTaskSetRequest generates a "aws/request.Request" representing the 320// client's request for the CreateTaskSet operation. The "output" return 321// value will be populated with the request's response once the request completes 322// successfully. 323// 324// Use "Send" method on the returned Request to send the API call to the service. 325// the "output" return value is not valid until after Send returns without error. 326// 327// See CreateTaskSet for more information on using the CreateTaskSet 328// API call, and error handling. 329// 330// This method is useful when you want to inject custom logic or configuration 331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 332// 333// 334// // Example sending a request using the CreateTaskSetRequest method. 335// req, resp := client.CreateTaskSetRequest(params) 336// 337// err := req.Send() 338// if err == nil { // resp is now filled 339// fmt.Println(resp) 340// } 341// 342// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 343func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 344 op := &request.Operation{ 345 Name: opCreateTaskSet, 346 HTTPMethod: "POST", 347 HTTPPath: "/", 348 } 349 350 if input == nil { 351 input = &CreateTaskSetInput{} 352 } 353 354 output = &CreateTaskSetOutput{} 355 req = c.newRequest(op, input, output) 356 return 357} 358 359// CreateTaskSet API operation for Amazon EC2 Container Service. 360// 361// Create a task set in the specified cluster and service. This is used when 362// a service uses the EXTERNAL deployment controller type. For more information, 363// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 364// in the Amazon Elastic Container Service Developer Guide. 365// 366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 367// with awserr.Error's Code and Message methods to get detailed information about 368// the error. 369// 370// See the AWS API reference guide for Amazon EC2 Container Service's 371// API operation CreateTaskSet for usage and error information. 372// 373// Returned Error Codes: 374// * ErrCodeServerException "ServerException" 375// These errors are usually caused by a server issue. 376// 377// * ErrCodeClientException "ClientException" 378// These errors are usually caused by a client action, such as using an action 379// or resource on behalf of a user that doesn't have permissions to use the 380// action or resource, or specifying an identifier that is not valid. 381// 382// * ErrCodeInvalidParameterException "InvalidParameterException" 383// The specified parameter is invalid. Review the available parameters for the 384// API request. 385// 386// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 387// The specified cluster could not be found. You can view your available clusters 388// with ListClusters. Amazon ECS clusters are Region-specific. 389// 390// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 391// The specified task is not supported in this Region. 392// 393// * ErrCodePlatformUnknownException "PlatformUnknownException" 394// The specified platform version does not exist. 395// 396// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 397// The specified platform version does not satisfy the task definition's required 398// capabilities. 399// 400// * ErrCodeAccessDeniedException "AccessDeniedException" 401// You do not have authorization to perform the requested action. 402// 403// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 404// The specified service could not be found. You can view your available services 405// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 406// 407// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 408// The specified service is not active. You can't update a service that is inactive. 409// If you have previously deleted a service, you can re-create it with CreateService. 410// 411// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 412func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 413 req, out := c.CreateTaskSetRequest(input) 414 return out, req.Send() 415} 416 417// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 418// the ability to pass a context and additional request options. 419// 420// See CreateTaskSet for details on how to use this API operation. 421// 422// The context must be non-nil and will be used for request cancellation. If 423// the context is nil a panic will occur. In the future the SDK may create 424// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 425// for more information on using Contexts. 426func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 427 req, out := c.CreateTaskSetRequest(input) 428 req.SetContext(ctx) 429 req.ApplyOptions(opts...) 430 return out, req.Send() 431} 432 433const opDeleteAccountSetting = "DeleteAccountSetting" 434 435// DeleteAccountSettingRequest generates a "aws/request.Request" representing the 436// client's request for the DeleteAccountSetting operation. The "output" return 437// value will be populated with the request's response once the request completes 438// successfully. 439// 440// Use "Send" method on the returned Request to send the API call to the service. 441// the "output" return value is not valid until after Send returns without error. 442// 443// See DeleteAccountSetting for more information on using the DeleteAccountSetting 444// API call, and error handling. 445// 446// This method is useful when you want to inject custom logic or configuration 447// into the SDK's request lifecycle. Such as custom headers, or retry logic. 448// 449// 450// // Example sending a request using the DeleteAccountSettingRequest method. 451// req, resp := client.DeleteAccountSettingRequest(params) 452// 453// err := req.Send() 454// if err == nil { // resp is now filled 455// fmt.Println(resp) 456// } 457// 458// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 459func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 460 op := &request.Operation{ 461 Name: opDeleteAccountSetting, 462 HTTPMethod: "POST", 463 HTTPPath: "/", 464 } 465 466 if input == nil { 467 input = &DeleteAccountSettingInput{} 468 } 469 470 output = &DeleteAccountSettingOutput{} 471 req = c.newRequest(op, input, output) 472 return 473} 474 475// DeleteAccountSetting API operation for Amazon EC2 Container Service. 476// 477// Disables an account setting for a specified IAM user, IAM role, or the root 478// user for an account. 479// 480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 481// with awserr.Error's Code and Message methods to get detailed information about 482// the error. 483// 484// See the AWS API reference guide for Amazon EC2 Container Service's 485// API operation DeleteAccountSetting for usage and error information. 486// 487// Returned Error Codes: 488// * ErrCodeServerException "ServerException" 489// These errors are usually caused by a server issue. 490// 491// * ErrCodeClientException "ClientException" 492// These errors are usually caused by a client action, such as using an action 493// or resource on behalf of a user that doesn't have permissions to use the 494// action or resource, or specifying an identifier that is not valid. 495// 496// * ErrCodeInvalidParameterException "InvalidParameterException" 497// The specified parameter is invalid. Review the available parameters for the 498// API request. 499// 500// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 501func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 502 req, out := c.DeleteAccountSettingRequest(input) 503 return out, req.Send() 504} 505 506// DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 507// the ability to pass a context and additional request options. 508// 509// See DeleteAccountSetting for details on how to use this API operation. 510// 511// The context must be non-nil and will be used for request cancellation. If 512// the context is nil a panic will occur. In the future the SDK may create 513// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 514// for more information on using Contexts. 515func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 516 req, out := c.DeleteAccountSettingRequest(input) 517 req.SetContext(ctx) 518 req.ApplyOptions(opts...) 519 return out, req.Send() 520} 521 522const opDeleteAttributes = "DeleteAttributes" 523 524// DeleteAttributesRequest generates a "aws/request.Request" representing the 525// client's request for the DeleteAttributes operation. The "output" return 526// value will be populated with the request's response once the request completes 527// successfully. 528// 529// Use "Send" method on the returned Request to send the API call to the service. 530// the "output" return value is not valid until after Send returns without error. 531// 532// See DeleteAttributes for more information on using the DeleteAttributes 533// API call, and error handling. 534// 535// This method is useful when you want to inject custom logic or configuration 536// into the SDK's request lifecycle. Such as custom headers, or retry logic. 537// 538// 539// // Example sending a request using the DeleteAttributesRequest method. 540// req, resp := client.DeleteAttributesRequest(params) 541// 542// err := req.Send() 543// if err == nil { // resp is now filled 544// fmt.Println(resp) 545// } 546// 547// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 548func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 549 op := &request.Operation{ 550 Name: opDeleteAttributes, 551 HTTPMethod: "POST", 552 HTTPPath: "/", 553 } 554 555 if input == nil { 556 input = &DeleteAttributesInput{} 557 } 558 559 output = &DeleteAttributesOutput{} 560 req = c.newRequest(op, input, output) 561 return 562} 563 564// DeleteAttributes API operation for Amazon EC2 Container Service. 565// 566// Deletes one or more custom attributes from an Amazon ECS resource. 567// 568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 569// with awserr.Error's Code and Message methods to get detailed information about 570// the error. 571// 572// See the AWS API reference guide for Amazon EC2 Container Service's 573// API operation DeleteAttributes for usage and error information. 574// 575// Returned Error Codes: 576// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 577// The specified cluster could not be found. You can view your available clusters 578// with ListClusters. Amazon ECS clusters are Region-specific. 579// 580// * ErrCodeTargetNotFoundException "TargetNotFoundException" 581// The specified target could not be found. You can view your available container 582// instances with ListContainerInstances. Amazon ECS container instances are 583// cluster-specific and Region-specific. 584// 585// * ErrCodeInvalidParameterException "InvalidParameterException" 586// The specified parameter is invalid. Review the available parameters for the 587// API request. 588// 589// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 590func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 591 req, out := c.DeleteAttributesRequest(input) 592 return out, req.Send() 593} 594 595// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 596// the ability to pass a context and additional request options. 597// 598// See DeleteAttributes for details on how to use this API operation. 599// 600// The context must be non-nil and will be used for request cancellation. If 601// the context is nil a panic will occur. In the future the SDK may create 602// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 603// for more information on using Contexts. 604func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 605 req, out := c.DeleteAttributesRequest(input) 606 req.SetContext(ctx) 607 req.ApplyOptions(opts...) 608 return out, req.Send() 609} 610 611const opDeleteCluster = "DeleteCluster" 612 613// DeleteClusterRequest generates a "aws/request.Request" representing the 614// client's request for the DeleteCluster operation. The "output" return 615// value will be populated with the request's response once the request completes 616// successfully. 617// 618// Use "Send" method on the returned Request to send the API call to the service. 619// the "output" return value is not valid until after Send returns without error. 620// 621// See DeleteCluster for more information on using the DeleteCluster 622// API call, and error handling. 623// 624// This method is useful when you want to inject custom logic or configuration 625// into the SDK's request lifecycle. Such as custom headers, or retry logic. 626// 627// 628// // Example sending a request using the DeleteClusterRequest method. 629// req, resp := client.DeleteClusterRequest(params) 630// 631// err := req.Send() 632// if err == nil { // resp is now filled 633// fmt.Println(resp) 634// } 635// 636// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 637func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 638 op := &request.Operation{ 639 Name: opDeleteCluster, 640 HTTPMethod: "POST", 641 HTTPPath: "/", 642 } 643 644 if input == nil { 645 input = &DeleteClusterInput{} 646 } 647 648 output = &DeleteClusterOutput{} 649 req = c.newRequest(op, input, output) 650 return 651} 652 653// DeleteCluster API operation for Amazon EC2 Container Service. 654// 655// Deletes the specified cluster. You must deregister all container instances 656// from this cluster before you may delete it. You can list the container instances 657// in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. 658// 659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 660// with awserr.Error's Code and Message methods to get detailed information about 661// the error. 662// 663// See the AWS API reference guide for Amazon EC2 Container Service's 664// API operation DeleteCluster for usage and error information. 665// 666// Returned Error Codes: 667// * ErrCodeServerException "ServerException" 668// These errors are usually caused by a server issue. 669// 670// * ErrCodeClientException "ClientException" 671// These errors are usually caused by a client action, such as using an action 672// or resource on behalf of a user that doesn't have permissions to use the 673// action or resource, or specifying an identifier that is not valid. 674// 675// * ErrCodeInvalidParameterException "InvalidParameterException" 676// The specified parameter is invalid. Review the available parameters for the 677// API request. 678// 679// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 680// The specified cluster could not be found. You can view your available clusters 681// with ListClusters. Amazon ECS clusters are Region-specific. 682// 683// * ErrCodeClusterContainsContainerInstancesException "ClusterContainsContainerInstancesException" 684// You cannot delete a cluster that has registered container instances. First, 685// deregister the container instances before you can delete the cluster. For 686// more information, see DeregisterContainerInstance. 687// 688// * ErrCodeClusterContainsServicesException "ClusterContainsServicesException" 689// You cannot delete a cluster that contains services. First, update the service 690// to reduce its desired task count to 0 and then delete the service. For more 691// information, see UpdateService and DeleteService. 692// 693// * ErrCodeClusterContainsTasksException "ClusterContainsTasksException" 694// You cannot delete a cluster that has active tasks. 695// 696// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 697func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 698 req, out := c.DeleteClusterRequest(input) 699 return out, req.Send() 700} 701 702// DeleteClusterWithContext is the same as DeleteCluster with the addition of 703// the ability to pass a context and additional request options. 704// 705// See DeleteCluster 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) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 712 req, out := c.DeleteClusterRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716} 717 718const opDeleteService = "DeleteService" 719 720// DeleteServiceRequest generates a "aws/request.Request" representing the 721// client's request for the DeleteService 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 DeleteService for more information on using the DeleteService 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 DeleteServiceRequest method. 736// req, resp := client.DeleteServiceRequest(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/DeleteService 744func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 745 op := &request.Operation{ 746 Name: opDeleteService, 747 HTTPMethod: "POST", 748 HTTPPath: "/", 749 } 750 751 if input == nil { 752 input = &DeleteServiceInput{} 753 } 754 755 output = &DeleteServiceOutput{} 756 req = c.newRequest(op, input, output) 757 return 758} 759 760// DeleteService API operation for Amazon EC2 Container Service. 761// 762// Deletes a specified service within a cluster. You can delete a service if 763// you have no running tasks in it and the desired task count is zero. If the 764// service is actively maintaining tasks, you cannot delete it, and you must 765// update the service to a desired task count of zero. For more information, 766// see UpdateService. 767// 768// When you delete a service, if there are still running tasks that require 769// cleanup, the service status moves from ACTIVE to DRAINING, and the service 770// is no longer visible in the console or in the ListServices API operation. 771// After the tasks have stopped, then the service status moves from DRAINING 772// to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed 773// with the DescribeServices API operation. However, in the future, INACTIVE 774// services may be cleaned up and purged from Amazon ECS record keeping, and 775// DescribeServices calls on those services return a ServiceNotFoundException 776// error. 777// 778// If you attempt to create a new service with the same name as an existing 779// service in either ACTIVE or DRAINING status, you receive an error. 780// 781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 782// with awserr.Error's Code and Message methods to get detailed information about 783// the error. 784// 785// See the AWS API reference guide for Amazon EC2 Container Service's 786// API operation DeleteService for usage and error information. 787// 788// Returned Error Codes: 789// * ErrCodeServerException "ServerException" 790// These errors are usually caused by a server issue. 791// 792// * ErrCodeClientException "ClientException" 793// These errors are usually caused by a client action, such as using an action 794// or resource on behalf of a user that doesn't have permissions to use the 795// action or resource, or specifying an identifier that is not valid. 796// 797// * ErrCodeInvalidParameterException "InvalidParameterException" 798// The specified parameter is invalid. Review the available parameters for the 799// API request. 800// 801// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 802// The specified cluster could not be found. You can view your available clusters 803// with ListClusters. Amazon ECS clusters are Region-specific. 804// 805// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 806// The specified service could not be found. You can view your available services 807// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 808// 809// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 810func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 811 req, out := c.DeleteServiceRequest(input) 812 return out, req.Send() 813} 814 815// DeleteServiceWithContext is the same as DeleteService with the addition of 816// the ability to pass a context and additional request options. 817// 818// See DeleteService for details on how to use this API operation. 819// 820// The context must be non-nil and will be used for request cancellation. If 821// the context is nil a panic will occur. In the future the SDK may create 822// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 823// for more information on using Contexts. 824func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 825 req, out := c.DeleteServiceRequest(input) 826 req.SetContext(ctx) 827 req.ApplyOptions(opts...) 828 return out, req.Send() 829} 830 831const opDeleteTaskSet = "DeleteTaskSet" 832 833// DeleteTaskSetRequest generates a "aws/request.Request" representing the 834// client's request for the DeleteTaskSet operation. The "output" return 835// value will be populated with the request's response once the request completes 836// successfully. 837// 838// Use "Send" method on the returned Request to send the API call to the service. 839// the "output" return value is not valid until after Send returns without error. 840// 841// See DeleteTaskSet for more information on using the DeleteTaskSet 842// API call, and error handling. 843// 844// This method is useful when you want to inject custom logic or configuration 845// into the SDK's request lifecycle. Such as custom headers, or retry logic. 846// 847// 848// // Example sending a request using the DeleteTaskSetRequest method. 849// req, resp := client.DeleteTaskSetRequest(params) 850// 851// err := req.Send() 852// if err == nil { // resp is now filled 853// fmt.Println(resp) 854// } 855// 856// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 857func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 858 op := &request.Operation{ 859 Name: opDeleteTaskSet, 860 HTTPMethod: "POST", 861 HTTPPath: "/", 862 } 863 864 if input == nil { 865 input = &DeleteTaskSetInput{} 866 } 867 868 output = &DeleteTaskSetOutput{} 869 req = c.newRequest(op, input, output) 870 return 871} 872 873// DeleteTaskSet API operation for Amazon EC2 Container Service. 874// 875// Deletes a specified task set within a service. This is used when a service 876// uses the EXTERNAL deployment controller type. For more information, see Amazon 877// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 878// in the Amazon Elastic Container Service Developer Guide. 879// 880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 881// with awserr.Error's Code and Message methods to get detailed information about 882// the error. 883// 884// See the AWS API reference guide for Amazon EC2 Container Service's 885// API operation DeleteTaskSet for usage and error information. 886// 887// Returned Error Codes: 888// * ErrCodeServerException "ServerException" 889// These errors are usually caused by a server issue. 890// 891// * ErrCodeClientException "ClientException" 892// These errors are usually caused by a client action, such as using an action 893// or resource on behalf of a user that doesn't have permissions to use the 894// action or resource, or specifying an identifier that is not valid. 895// 896// * ErrCodeInvalidParameterException "InvalidParameterException" 897// The specified parameter is invalid. Review the available parameters for the 898// API request. 899// 900// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 901// The specified cluster could not be found. You can view your available clusters 902// with ListClusters. Amazon ECS clusters are Region-specific. 903// 904// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 905// The specified task is not supported in this Region. 906// 907// * ErrCodeAccessDeniedException "AccessDeniedException" 908// You do not have authorization to perform the requested action. 909// 910// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 911// The specified service could not be found. You can view your available services 912// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 913// 914// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 915// The specified service is not active. You can't update a service that is inactive. 916// If you have previously deleted a service, you can re-create it with CreateService. 917// 918// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 919// The specified task set could not be found. You can view your available container 920// instances with DescribeTaskSets. Task sets are specific to each cluster, 921// service and Region. 922// 923// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 924func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 925 req, out := c.DeleteTaskSetRequest(input) 926 return out, req.Send() 927} 928 929// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 930// the ability to pass a context and additional request options. 931// 932// See DeleteTaskSet for details on how to use this API operation. 933// 934// The context must be non-nil and will be used for request cancellation. If 935// the context is nil a panic will occur. In the future the SDK may create 936// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 937// for more information on using Contexts. 938func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 939 req, out := c.DeleteTaskSetRequest(input) 940 req.SetContext(ctx) 941 req.ApplyOptions(opts...) 942 return out, req.Send() 943} 944 945const opDeregisterContainerInstance = "DeregisterContainerInstance" 946 947// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 948// client's request for the DeregisterContainerInstance operation. The "output" return 949// value will be populated with the request's response once the request completes 950// successfully. 951// 952// Use "Send" method on the returned Request to send the API call to the service. 953// the "output" return value is not valid until after Send returns without error. 954// 955// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 956// API call, and error handling. 957// 958// This method is useful when you want to inject custom logic or configuration 959// into the SDK's request lifecycle. Such as custom headers, or retry logic. 960// 961// 962// // Example sending a request using the DeregisterContainerInstanceRequest method. 963// req, resp := client.DeregisterContainerInstanceRequest(params) 964// 965// err := req.Send() 966// if err == nil { // resp is now filled 967// fmt.Println(resp) 968// } 969// 970// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 971func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 972 op := &request.Operation{ 973 Name: opDeregisterContainerInstance, 974 HTTPMethod: "POST", 975 HTTPPath: "/", 976 } 977 978 if input == nil { 979 input = &DeregisterContainerInstanceInput{} 980 } 981 982 output = &DeregisterContainerInstanceOutput{} 983 req = c.newRequest(op, input, output) 984 return 985} 986 987// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 988// 989// Deregisters an Amazon ECS container instance from the specified cluster. 990// This instance is no longer available to run tasks. 991// 992// If you intend to use the container instance for some other purpose after 993// deregistration, you should stop all of the tasks running on the container 994// instance before deregistration. That prevents any orphaned tasks from consuming 995// resources. 996// 997// Deregistering a container instance removes the instance from a cluster, but 998// it does not terminate the EC2 instance. If you are finished using the instance, 999// be sure to terminate it in the Amazon EC2 console to stop billing. 1000// 1001// If you terminate a running container instance, Amazon ECS automatically deregisters 1002// the instance from your cluster (stopped container instances or instances 1003// with disconnected agents are not automatically deregistered when terminated). 1004// 1005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1006// with awserr.Error's Code and Message methods to get detailed information about 1007// the error. 1008// 1009// See the AWS API reference guide for Amazon EC2 Container Service's 1010// API operation DeregisterContainerInstance for usage and error information. 1011// 1012// Returned Error Codes: 1013// * ErrCodeServerException "ServerException" 1014// These errors are usually caused by a server issue. 1015// 1016// * ErrCodeClientException "ClientException" 1017// These errors are usually caused by a client action, such as using an action 1018// or resource on behalf of a user that doesn't have permissions to use the 1019// action or resource, or specifying an identifier that is not valid. 1020// 1021// * ErrCodeInvalidParameterException "InvalidParameterException" 1022// The specified parameter is invalid. Review the available parameters for the 1023// API request. 1024// 1025// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1026// The specified cluster could not be found. You can view your available clusters 1027// with ListClusters. Amazon ECS clusters are Region-specific. 1028// 1029// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1030func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1031 req, out := c.DeregisterContainerInstanceRequest(input) 1032 return out, req.Send() 1033} 1034 1035// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1036// the ability to pass a context and additional request options. 1037// 1038// See DeregisterContainerInstance for details on how to use this API operation. 1039// 1040// The context must be non-nil and will be used for request cancellation. If 1041// the context is nil a panic will occur. In the future the SDK may create 1042// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1043// for more information on using Contexts. 1044func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1045 req, out := c.DeregisterContainerInstanceRequest(input) 1046 req.SetContext(ctx) 1047 req.ApplyOptions(opts...) 1048 return out, req.Send() 1049} 1050 1051const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1052 1053// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1054// client's request for the DeregisterTaskDefinition operation. The "output" return 1055// value will be populated with the request's response once the request completes 1056// successfully. 1057// 1058// Use "Send" method on the returned Request to send the API call to the service. 1059// the "output" return value is not valid until after Send returns without error. 1060// 1061// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1062// API call, and error handling. 1063// 1064// This method is useful when you want to inject custom logic or configuration 1065// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1066// 1067// 1068// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1069// req, resp := client.DeregisterTaskDefinitionRequest(params) 1070// 1071// err := req.Send() 1072// if err == nil { // resp is now filled 1073// fmt.Println(resp) 1074// } 1075// 1076// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1077func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1078 op := &request.Operation{ 1079 Name: opDeregisterTaskDefinition, 1080 HTTPMethod: "POST", 1081 HTTPPath: "/", 1082 } 1083 1084 if input == nil { 1085 input = &DeregisterTaskDefinitionInput{} 1086 } 1087 1088 output = &DeregisterTaskDefinitionOutput{} 1089 req = c.newRequest(op, input, output) 1090 return 1091} 1092 1093// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1094// 1095// Deregisters the specified task definition by family and revision. Upon deregistration, 1096// the task definition is marked as INACTIVE. Existing tasks and services that 1097// reference an INACTIVE task definition continue to run without disruption. 1098// Existing services that reference an INACTIVE task definition can still scale 1099// up or down by modifying the service's desired count. 1100// 1101// You cannot use an INACTIVE task definition to run new tasks or create new 1102// services, and you cannot update an existing service to reference an INACTIVE 1103// task definition. However, there may be up to a 10-minute window following 1104// deregistration where these restrictions have not yet taken effect. 1105// 1106// At this time, INACTIVE task definitions remain discoverable in your account 1107// indefinitely. However, this behavior is subject to change in the future, 1108// so you should not rely on INACTIVE task definitions persisting beyond the 1109// lifecycle of any associated tasks and services. 1110// 1111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1112// with awserr.Error's Code and Message methods to get detailed information about 1113// the error. 1114// 1115// See the AWS API reference guide for Amazon EC2 Container Service's 1116// API operation DeregisterTaskDefinition for usage and error information. 1117// 1118// Returned Error Codes: 1119// * ErrCodeServerException "ServerException" 1120// These errors are usually caused by a server issue. 1121// 1122// * ErrCodeClientException "ClientException" 1123// These errors are usually caused by a client action, such as using an action 1124// or resource on behalf of a user that doesn't have permissions to use the 1125// action or resource, or specifying an identifier that is not valid. 1126// 1127// * ErrCodeInvalidParameterException "InvalidParameterException" 1128// The specified parameter is invalid. Review the available parameters for the 1129// API request. 1130// 1131// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1132func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1133 req, out := c.DeregisterTaskDefinitionRequest(input) 1134 return out, req.Send() 1135} 1136 1137// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1138// the ability to pass a context and additional request options. 1139// 1140// See DeregisterTaskDefinition for details on how to use this API operation. 1141// 1142// The context must be non-nil and will be used for request cancellation. If 1143// the context is nil a panic will occur. In the future the SDK may create 1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1145// for more information on using Contexts. 1146func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1147 req, out := c.DeregisterTaskDefinitionRequest(input) 1148 req.SetContext(ctx) 1149 req.ApplyOptions(opts...) 1150 return out, req.Send() 1151} 1152 1153const opDescribeClusters = "DescribeClusters" 1154 1155// DescribeClustersRequest generates a "aws/request.Request" representing the 1156// client's request for the DescribeClusters operation. The "output" return 1157// value will be populated with the request's response once the request completes 1158// successfully. 1159// 1160// Use "Send" method on the returned Request to send the API call to the service. 1161// the "output" return value is not valid until after Send returns without error. 1162// 1163// See DescribeClusters for more information on using the DescribeClusters 1164// API call, and error handling. 1165// 1166// This method is useful when you want to inject custom logic or configuration 1167// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1168// 1169// 1170// // Example sending a request using the DescribeClustersRequest method. 1171// req, resp := client.DescribeClustersRequest(params) 1172// 1173// err := req.Send() 1174// if err == nil { // resp is now filled 1175// fmt.Println(resp) 1176// } 1177// 1178// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1179func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1180 op := &request.Operation{ 1181 Name: opDescribeClusters, 1182 HTTPMethod: "POST", 1183 HTTPPath: "/", 1184 } 1185 1186 if input == nil { 1187 input = &DescribeClustersInput{} 1188 } 1189 1190 output = &DescribeClustersOutput{} 1191 req = c.newRequest(op, input, output) 1192 return 1193} 1194 1195// DescribeClusters API operation for Amazon EC2 Container Service. 1196// 1197// Describes one or more of your clusters. 1198// 1199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1200// with awserr.Error's Code and Message methods to get detailed information about 1201// the error. 1202// 1203// See the AWS API reference guide for Amazon EC2 Container Service's 1204// API operation DescribeClusters for usage and error information. 1205// 1206// Returned Error Codes: 1207// * ErrCodeServerException "ServerException" 1208// These errors are usually caused by a server issue. 1209// 1210// * ErrCodeClientException "ClientException" 1211// These errors are usually caused by a client action, such as using an action 1212// or resource on behalf of a user that doesn't have permissions to use the 1213// action or resource, or specifying an identifier that is not valid. 1214// 1215// * ErrCodeInvalidParameterException "InvalidParameterException" 1216// The specified parameter is invalid. Review the available parameters for the 1217// API request. 1218// 1219// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1220func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1221 req, out := c.DescribeClustersRequest(input) 1222 return out, req.Send() 1223} 1224 1225// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1226// the ability to pass a context and additional request options. 1227// 1228// See DescribeClusters for details on how to use this API operation. 1229// 1230// The context must be non-nil and will be used for request cancellation. If 1231// the context is nil a panic will occur. In the future the SDK may create 1232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1233// for more information on using Contexts. 1234func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1235 req, out := c.DescribeClustersRequest(input) 1236 req.SetContext(ctx) 1237 req.ApplyOptions(opts...) 1238 return out, req.Send() 1239} 1240 1241const opDescribeContainerInstances = "DescribeContainerInstances" 1242 1243// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1244// client's request for the DescribeContainerInstances operation. The "output" return 1245// value will be populated with the request's response once the request completes 1246// successfully. 1247// 1248// Use "Send" method on the returned Request to send the API call to the service. 1249// the "output" return value is not valid until after Send returns without error. 1250// 1251// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1252// API call, and error handling. 1253// 1254// This method is useful when you want to inject custom logic or configuration 1255// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1256// 1257// 1258// // Example sending a request using the DescribeContainerInstancesRequest method. 1259// req, resp := client.DescribeContainerInstancesRequest(params) 1260// 1261// err := req.Send() 1262// if err == nil { // resp is now filled 1263// fmt.Println(resp) 1264// } 1265// 1266// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1267func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1268 op := &request.Operation{ 1269 Name: opDescribeContainerInstances, 1270 HTTPMethod: "POST", 1271 HTTPPath: "/", 1272 } 1273 1274 if input == nil { 1275 input = &DescribeContainerInstancesInput{} 1276 } 1277 1278 output = &DescribeContainerInstancesOutput{} 1279 req = c.newRequest(op, input, output) 1280 return 1281} 1282 1283// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1284// 1285// Describes Amazon Elastic Container Service container instances. Returns metadata 1286// about registered and remaining resources on each container instance requested. 1287// 1288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1289// with awserr.Error's Code and Message methods to get detailed information about 1290// the error. 1291// 1292// See the AWS API reference guide for Amazon EC2 Container Service's 1293// API operation DescribeContainerInstances for usage and error information. 1294// 1295// Returned Error Codes: 1296// * ErrCodeServerException "ServerException" 1297// These errors are usually caused by a server issue. 1298// 1299// * ErrCodeClientException "ClientException" 1300// These errors are usually caused by a client action, such as using an action 1301// or resource on behalf of a user that doesn't have permissions to use the 1302// action or resource, or specifying an identifier that is not valid. 1303// 1304// * ErrCodeInvalidParameterException "InvalidParameterException" 1305// The specified parameter is invalid. Review the available parameters for the 1306// API request. 1307// 1308// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1309// The specified cluster could not be found. You can view your available clusters 1310// with ListClusters. Amazon ECS clusters are Region-specific. 1311// 1312// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1313func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1314 req, out := c.DescribeContainerInstancesRequest(input) 1315 return out, req.Send() 1316} 1317 1318// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1319// the ability to pass a context and additional request options. 1320// 1321// See DescribeContainerInstances for details on how to use this API operation. 1322// 1323// The context must be non-nil and will be used for request cancellation. If 1324// the context is nil a panic will occur. In the future the SDK may create 1325// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1326// for more information on using Contexts. 1327func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1328 req, out := c.DescribeContainerInstancesRequest(input) 1329 req.SetContext(ctx) 1330 req.ApplyOptions(opts...) 1331 return out, req.Send() 1332} 1333 1334const opDescribeServices = "DescribeServices" 1335 1336// DescribeServicesRequest generates a "aws/request.Request" representing the 1337// client's request for the DescribeServices operation. The "output" return 1338// value will be populated with the request's response once the request completes 1339// successfully. 1340// 1341// Use "Send" method on the returned Request to send the API call to the service. 1342// the "output" return value is not valid until after Send returns without error. 1343// 1344// See DescribeServices for more information on using the DescribeServices 1345// API call, and error handling. 1346// 1347// This method is useful when you want to inject custom logic or configuration 1348// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1349// 1350// 1351// // Example sending a request using the DescribeServicesRequest method. 1352// req, resp := client.DescribeServicesRequest(params) 1353// 1354// err := req.Send() 1355// if err == nil { // resp is now filled 1356// fmt.Println(resp) 1357// } 1358// 1359// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1360func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1361 op := &request.Operation{ 1362 Name: opDescribeServices, 1363 HTTPMethod: "POST", 1364 HTTPPath: "/", 1365 } 1366 1367 if input == nil { 1368 input = &DescribeServicesInput{} 1369 } 1370 1371 output = &DescribeServicesOutput{} 1372 req = c.newRequest(op, input, output) 1373 return 1374} 1375 1376// DescribeServices API operation for Amazon EC2 Container Service. 1377// 1378// Describes the specified services running in your cluster. 1379// 1380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1381// with awserr.Error's Code and Message methods to get detailed information about 1382// the error. 1383// 1384// See the AWS API reference guide for Amazon EC2 Container Service's 1385// API operation DescribeServices for usage and error information. 1386// 1387// Returned Error Codes: 1388// * ErrCodeServerException "ServerException" 1389// These errors are usually caused by a server issue. 1390// 1391// * ErrCodeClientException "ClientException" 1392// These errors are usually caused by a client action, such as using an action 1393// or resource on behalf of a user that doesn't have permissions to use the 1394// action or resource, or specifying an identifier that is not valid. 1395// 1396// * ErrCodeInvalidParameterException "InvalidParameterException" 1397// The specified parameter is invalid. Review the available parameters for the 1398// API request. 1399// 1400// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1401// The specified cluster could not be found. You can view your available clusters 1402// with ListClusters. Amazon ECS clusters are Region-specific. 1403// 1404// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1405func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1406 req, out := c.DescribeServicesRequest(input) 1407 return out, req.Send() 1408} 1409 1410// DescribeServicesWithContext is the same as DescribeServices with the addition of 1411// the ability to pass a context and additional request options. 1412// 1413// See DescribeServices for details on how to use this API operation. 1414// 1415// The context must be non-nil and will be used for request cancellation. If 1416// the context is nil a panic will occur. In the future the SDK may create 1417// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1418// for more information on using Contexts. 1419func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1420 req, out := c.DescribeServicesRequest(input) 1421 req.SetContext(ctx) 1422 req.ApplyOptions(opts...) 1423 return out, req.Send() 1424} 1425 1426const opDescribeTaskDefinition = "DescribeTaskDefinition" 1427 1428// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1429// client's request for the DescribeTaskDefinition operation. The "output" return 1430// value will be populated with the request's response once the request completes 1431// successfully. 1432// 1433// Use "Send" method on the returned Request to send the API call to the service. 1434// the "output" return value is not valid until after Send returns without error. 1435// 1436// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1437// API call, and error handling. 1438// 1439// This method is useful when you want to inject custom logic or configuration 1440// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1441// 1442// 1443// // Example sending a request using the DescribeTaskDefinitionRequest method. 1444// req, resp := client.DescribeTaskDefinitionRequest(params) 1445// 1446// err := req.Send() 1447// if err == nil { // resp is now filled 1448// fmt.Println(resp) 1449// } 1450// 1451// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1452func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1453 op := &request.Operation{ 1454 Name: opDescribeTaskDefinition, 1455 HTTPMethod: "POST", 1456 HTTPPath: "/", 1457 } 1458 1459 if input == nil { 1460 input = &DescribeTaskDefinitionInput{} 1461 } 1462 1463 output = &DescribeTaskDefinitionOutput{} 1464 req = c.newRequest(op, input, output) 1465 return 1466} 1467 1468// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1469// 1470// Describes a task definition. You can specify a family and revision to find 1471// information about a specific task definition, or you can simply specify the 1472// family to find the latest ACTIVE revision in that family. 1473// 1474// You can only describe INACTIVE task definitions while an active task or service 1475// references them. 1476// 1477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1478// with awserr.Error's Code and Message methods to get detailed information about 1479// the error. 1480// 1481// See the AWS API reference guide for Amazon EC2 Container Service's 1482// API operation DescribeTaskDefinition for usage and error information. 1483// 1484// Returned Error Codes: 1485// * ErrCodeServerException "ServerException" 1486// These errors are usually caused by a server issue. 1487// 1488// * ErrCodeClientException "ClientException" 1489// These errors are usually caused by a client action, such as using an action 1490// or resource on behalf of a user that doesn't have permissions to use the 1491// action or resource, or specifying an identifier that is not valid. 1492// 1493// * ErrCodeInvalidParameterException "InvalidParameterException" 1494// The specified parameter is invalid. Review the available parameters for the 1495// API request. 1496// 1497// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1498func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1499 req, out := c.DescribeTaskDefinitionRequest(input) 1500 return out, req.Send() 1501} 1502 1503// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1504// the ability to pass a context and additional request options. 1505// 1506// See DescribeTaskDefinition for details on how to use this API operation. 1507// 1508// The context must be non-nil and will be used for request cancellation. If 1509// the context is nil a panic will occur. In the future the SDK may create 1510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1511// for more information on using Contexts. 1512func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1513 req, out := c.DescribeTaskDefinitionRequest(input) 1514 req.SetContext(ctx) 1515 req.ApplyOptions(opts...) 1516 return out, req.Send() 1517} 1518 1519const opDescribeTaskSets = "DescribeTaskSets" 1520 1521// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1522// client's request for the DescribeTaskSets operation. The "output" return 1523// value will be populated with the request's response once the request completes 1524// successfully. 1525// 1526// Use "Send" method on the returned Request to send the API call to the service. 1527// the "output" return value is not valid until after Send returns without error. 1528// 1529// See DescribeTaskSets for more information on using the DescribeTaskSets 1530// API call, and error handling. 1531// 1532// This method is useful when you want to inject custom logic or configuration 1533// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1534// 1535// 1536// // Example sending a request using the DescribeTaskSetsRequest method. 1537// req, resp := client.DescribeTaskSetsRequest(params) 1538// 1539// err := req.Send() 1540// if err == nil { // resp is now filled 1541// fmt.Println(resp) 1542// } 1543// 1544// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1545func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1546 op := &request.Operation{ 1547 Name: opDescribeTaskSets, 1548 HTTPMethod: "POST", 1549 HTTPPath: "/", 1550 } 1551 1552 if input == nil { 1553 input = &DescribeTaskSetsInput{} 1554 } 1555 1556 output = &DescribeTaskSetsOutput{} 1557 req = c.newRequest(op, input, output) 1558 return 1559} 1560 1561// DescribeTaskSets API operation for Amazon EC2 Container Service. 1562// 1563// Describes the task sets in the specified cluster and service. This is used 1564// when a service uses the EXTERNAL deployment controller type. For more information, 1565// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1566// in the Amazon Elastic Container Service Developer Guide. 1567// 1568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1569// with awserr.Error's Code and Message methods to get detailed information about 1570// the error. 1571// 1572// See the AWS API reference guide for Amazon EC2 Container Service's 1573// API operation DescribeTaskSets for usage and error information. 1574// 1575// Returned Error Codes: 1576// * ErrCodeServerException "ServerException" 1577// These errors are usually caused by a server issue. 1578// 1579// * ErrCodeClientException "ClientException" 1580// These errors are usually caused by a client action, such as using an action 1581// or resource on behalf of a user that doesn't have permissions to use the 1582// action or resource, or specifying an identifier that is not valid. 1583// 1584// * ErrCodeInvalidParameterException "InvalidParameterException" 1585// The specified parameter is invalid. Review the available parameters for the 1586// API request. 1587// 1588// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1589// The specified cluster could not be found. You can view your available clusters 1590// with ListClusters. Amazon ECS clusters are Region-specific. 1591// 1592// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 1593// The specified task is not supported in this Region. 1594// 1595// * ErrCodeAccessDeniedException "AccessDeniedException" 1596// You do not have authorization to perform the requested action. 1597// 1598// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 1599// The specified service could not be found. You can view your available services 1600// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1601// 1602// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 1603// The specified service is not active. You can't update a service that is inactive. 1604// If you have previously deleted a service, you can re-create it with CreateService. 1605// 1606// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1607func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1608 req, out := c.DescribeTaskSetsRequest(input) 1609 return out, req.Send() 1610} 1611 1612// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1613// the ability to pass a context and additional request options. 1614// 1615// See DescribeTaskSets for details on how to use this API operation. 1616// 1617// The context must be non-nil and will be used for request cancellation. If 1618// the context is nil a panic will occur. In the future the SDK may create 1619// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1620// for more information on using Contexts. 1621func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1622 req, out := c.DescribeTaskSetsRequest(input) 1623 req.SetContext(ctx) 1624 req.ApplyOptions(opts...) 1625 return out, req.Send() 1626} 1627 1628const opDescribeTasks = "DescribeTasks" 1629 1630// DescribeTasksRequest generates a "aws/request.Request" representing the 1631// client's request for the DescribeTasks operation. The "output" return 1632// value will be populated with the request's response once the request completes 1633// successfully. 1634// 1635// Use "Send" method on the returned Request to send the API call to the service. 1636// the "output" return value is not valid until after Send returns without error. 1637// 1638// See DescribeTasks for more information on using the DescribeTasks 1639// API call, and error handling. 1640// 1641// This method is useful when you want to inject custom logic or configuration 1642// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1643// 1644// 1645// // Example sending a request using the DescribeTasksRequest method. 1646// req, resp := client.DescribeTasksRequest(params) 1647// 1648// err := req.Send() 1649// if err == nil { // resp is now filled 1650// fmt.Println(resp) 1651// } 1652// 1653// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1654func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1655 op := &request.Operation{ 1656 Name: opDescribeTasks, 1657 HTTPMethod: "POST", 1658 HTTPPath: "/", 1659 } 1660 1661 if input == nil { 1662 input = &DescribeTasksInput{} 1663 } 1664 1665 output = &DescribeTasksOutput{} 1666 req = c.newRequest(op, input, output) 1667 return 1668} 1669 1670// DescribeTasks API operation for Amazon EC2 Container Service. 1671// 1672// Describes a specified task or tasks. 1673// 1674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1675// with awserr.Error's Code and Message methods to get detailed information about 1676// the error. 1677// 1678// See the AWS API reference guide for Amazon EC2 Container Service's 1679// API operation DescribeTasks for usage and error information. 1680// 1681// Returned Error Codes: 1682// * ErrCodeServerException "ServerException" 1683// These errors are usually caused by a server issue. 1684// 1685// * ErrCodeClientException "ClientException" 1686// These errors are usually caused by a client action, such as using an action 1687// or resource on behalf of a user that doesn't have permissions to use the 1688// action or resource, or specifying an identifier that is not valid. 1689// 1690// * ErrCodeInvalidParameterException "InvalidParameterException" 1691// The specified parameter is invalid. Review the available parameters for the 1692// API request. 1693// 1694// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1695// The specified cluster could not be found. You can view your available clusters 1696// with ListClusters. Amazon ECS clusters are Region-specific. 1697// 1698// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1699func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1700 req, out := c.DescribeTasksRequest(input) 1701 return out, req.Send() 1702} 1703 1704// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1705// the ability to pass a context and additional request options. 1706// 1707// See DescribeTasks for details on how to use this API operation. 1708// 1709// The context must be non-nil and will be used for request cancellation. If 1710// the context is nil a panic will occur. In the future the SDK may create 1711// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1712// for more information on using Contexts. 1713func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1714 req, out := c.DescribeTasksRequest(input) 1715 req.SetContext(ctx) 1716 req.ApplyOptions(opts...) 1717 return out, req.Send() 1718} 1719 1720const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1721 1722// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1723// client's request for the DiscoverPollEndpoint operation. The "output" return 1724// value will be populated with the request's response once the request completes 1725// successfully. 1726// 1727// Use "Send" method on the returned Request to send the API call to the service. 1728// the "output" return value is not valid until after Send returns without error. 1729// 1730// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1731// API call, and error handling. 1732// 1733// This method is useful when you want to inject custom logic or configuration 1734// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1735// 1736// 1737// // Example sending a request using the DiscoverPollEndpointRequest method. 1738// req, resp := client.DiscoverPollEndpointRequest(params) 1739// 1740// err := req.Send() 1741// if err == nil { // resp is now filled 1742// fmt.Println(resp) 1743// } 1744// 1745// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1746func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1747 op := &request.Operation{ 1748 Name: opDiscoverPollEndpoint, 1749 HTTPMethod: "POST", 1750 HTTPPath: "/", 1751 } 1752 1753 if input == nil { 1754 input = &DiscoverPollEndpointInput{} 1755 } 1756 1757 output = &DiscoverPollEndpointOutput{} 1758 req = c.newRequest(op, input, output) 1759 return 1760} 1761 1762// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1763// 1764// 1765// This action is only used by the Amazon ECS agent, and it is not intended 1766// for use outside of the agent. 1767// 1768// Returns an endpoint for the Amazon ECS agent to poll for updates. 1769// 1770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1771// with awserr.Error's Code and Message methods to get detailed information about 1772// the error. 1773// 1774// See the AWS API reference guide for Amazon EC2 Container Service's 1775// API operation DiscoverPollEndpoint for usage and error information. 1776// 1777// Returned Error Codes: 1778// * ErrCodeServerException "ServerException" 1779// These errors are usually caused by a server issue. 1780// 1781// * ErrCodeClientException "ClientException" 1782// These errors are usually caused by a client action, such as using an action 1783// or resource on behalf of a user that doesn't have permissions to use the 1784// action or resource, or specifying an identifier that is not valid. 1785// 1786// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1787func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1788 req, out := c.DiscoverPollEndpointRequest(input) 1789 return out, req.Send() 1790} 1791 1792// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1793// the ability to pass a context and additional request options. 1794// 1795// See DiscoverPollEndpoint for details on how to use this API operation. 1796// 1797// The context must be non-nil and will be used for request cancellation. If 1798// the context is nil a panic will occur. In the future the SDK may create 1799// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1800// for more information on using Contexts. 1801func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 1802 req, out := c.DiscoverPollEndpointRequest(input) 1803 req.SetContext(ctx) 1804 req.ApplyOptions(opts...) 1805 return out, req.Send() 1806} 1807 1808const opListAccountSettings = "ListAccountSettings" 1809 1810// ListAccountSettingsRequest generates a "aws/request.Request" representing the 1811// client's request for the ListAccountSettings operation. The "output" return 1812// value will be populated with the request's response once the request completes 1813// successfully. 1814// 1815// Use "Send" method on the returned Request to send the API call to the service. 1816// the "output" return value is not valid until after Send returns without error. 1817// 1818// See ListAccountSettings for more information on using the ListAccountSettings 1819// API call, and error handling. 1820// 1821// This method is useful when you want to inject custom logic or configuration 1822// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1823// 1824// 1825// // Example sending a request using the ListAccountSettingsRequest method. 1826// req, resp := client.ListAccountSettingsRequest(params) 1827// 1828// err := req.Send() 1829// if err == nil { // resp is now filled 1830// fmt.Println(resp) 1831// } 1832// 1833// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 1834func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 1835 op := &request.Operation{ 1836 Name: opListAccountSettings, 1837 HTTPMethod: "POST", 1838 HTTPPath: "/", 1839 } 1840 1841 if input == nil { 1842 input = &ListAccountSettingsInput{} 1843 } 1844 1845 output = &ListAccountSettingsOutput{} 1846 req = c.newRequest(op, input, output) 1847 return 1848} 1849 1850// ListAccountSettings API operation for Amazon EC2 Container Service. 1851// 1852// Lists the account settings for a specified principal. 1853// 1854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1855// with awserr.Error's Code and Message methods to get detailed information about 1856// the error. 1857// 1858// See the AWS API reference guide for Amazon EC2 Container Service's 1859// API operation ListAccountSettings for usage and error information. 1860// 1861// Returned Error Codes: 1862// * ErrCodeServerException "ServerException" 1863// These errors are usually caused by a server issue. 1864// 1865// * ErrCodeClientException "ClientException" 1866// These errors are usually caused by a client action, such as using an action 1867// or resource on behalf of a user that doesn't have permissions to use the 1868// action or resource, or specifying an identifier that is not valid. 1869// 1870// * ErrCodeInvalidParameterException "InvalidParameterException" 1871// The specified parameter is invalid. Review the available parameters for the 1872// API request. 1873// 1874// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 1875func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 1876 req, out := c.ListAccountSettingsRequest(input) 1877 return out, req.Send() 1878} 1879 1880// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 1881// the ability to pass a context and additional request options. 1882// 1883// See ListAccountSettings for details on how to use this API operation. 1884// 1885// The context must be non-nil and will be used for request cancellation. If 1886// the context is nil a panic will occur. In the future the SDK may create 1887// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1888// for more information on using Contexts. 1889func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 1890 req, out := c.ListAccountSettingsRequest(input) 1891 req.SetContext(ctx) 1892 req.ApplyOptions(opts...) 1893 return out, req.Send() 1894} 1895 1896const opListAttributes = "ListAttributes" 1897 1898// ListAttributesRequest generates a "aws/request.Request" representing the 1899// client's request for the ListAttributes operation. The "output" return 1900// value will be populated with the request's response once the request completes 1901// successfully. 1902// 1903// Use "Send" method on the returned Request to send the API call to the service. 1904// the "output" return value is not valid until after Send returns without error. 1905// 1906// See ListAttributes for more information on using the ListAttributes 1907// API call, and error handling. 1908// 1909// This method is useful when you want to inject custom logic or configuration 1910// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1911// 1912// 1913// // Example sending a request using the ListAttributesRequest method. 1914// req, resp := client.ListAttributesRequest(params) 1915// 1916// err := req.Send() 1917// if err == nil { // resp is now filled 1918// fmt.Println(resp) 1919// } 1920// 1921// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1922func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 1923 op := &request.Operation{ 1924 Name: opListAttributes, 1925 HTTPMethod: "POST", 1926 HTTPPath: "/", 1927 } 1928 1929 if input == nil { 1930 input = &ListAttributesInput{} 1931 } 1932 1933 output = &ListAttributesOutput{} 1934 req = c.newRequest(op, input, output) 1935 return 1936} 1937 1938// ListAttributes API operation for Amazon EC2 Container Service. 1939// 1940// Lists the attributes for Amazon ECS resources within a specified target type 1941// and cluster. When you specify a target type and cluster, ListAttributes returns 1942// a list of attribute objects, one for each attribute on each resource. You 1943// can filter the list of results to a single attribute name to only return 1944// results that have that name. You can also filter the results by attribute 1945// name and value, for example, to see which container instances in a cluster 1946// are running a Linux AMI (ecs.os-type=linux). 1947// 1948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1949// with awserr.Error's Code and Message methods to get detailed information about 1950// the error. 1951// 1952// See the AWS API reference guide for Amazon EC2 Container Service's 1953// API operation ListAttributes for usage and error information. 1954// 1955// Returned Error Codes: 1956// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1957// The specified cluster could not be found. You can view your available clusters 1958// with ListClusters. Amazon ECS clusters are Region-specific. 1959// 1960// * ErrCodeInvalidParameterException "InvalidParameterException" 1961// The specified parameter is invalid. Review the available parameters for the 1962// API request. 1963// 1964// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1965func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 1966 req, out := c.ListAttributesRequest(input) 1967 return out, req.Send() 1968} 1969 1970// ListAttributesWithContext is the same as ListAttributes with the addition of 1971// the ability to pass a context and additional request options. 1972// 1973// See ListAttributes for details on how to use this API operation. 1974// 1975// The context must be non-nil and will be used for request cancellation. If 1976// the context is nil a panic will occur. In the future the SDK may create 1977// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1978// for more information on using Contexts. 1979func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 1980 req, out := c.ListAttributesRequest(input) 1981 req.SetContext(ctx) 1982 req.ApplyOptions(opts...) 1983 return out, req.Send() 1984} 1985 1986const opListClusters = "ListClusters" 1987 1988// ListClustersRequest generates a "aws/request.Request" representing the 1989// client's request for the ListClusters operation. The "output" return 1990// value will be populated with the request's response once the request completes 1991// successfully. 1992// 1993// Use "Send" method on the returned Request to send the API call to the service. 1994// the "output" return value is not valid until after Send returns without error. 1995// 1996// See ListClusters for more information on using the ListClusters 1997// API call, and error handling. 1998// 1999// This method is useful when you want to inject custom logic or configuration 2000// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2001// 2002// 2003// // Example sending a request using the ListClustersRequest method. 2004// req, resp := client.ListClustersRequest(params) 2005// 2006// err := req.Send() 2007// if err == nil { // resp is now filled 2008// fmt.Println(resp) 2009// } 2010// 2011// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2012func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2013 op := &request.Operation{ 2014 Name: opListClusters, 2015 HTTPMethod: "POST", 2016 HTTPPath: "/", 2017 Paginator: &request.Paginator{ 2018 InputTokens: []string{"nextToken"}, 2019 OutputTokens: []string{"nextToken"}, 2020 LimitToken: "maxResults", 2021 TruncationToken: "", 2022 }, 2023 } 2024 2025 if input == nil { 2026 input = &ListClustersInput{} 2027 } 2028 2029 output = &ListClustersOutput{} 2030 req = c.newRequest(op, input, output) 2031 return 2032} 2033 2034// ListClusters API operation for Amazon EC2 Container Service. 2035// 2036// Returns a list of existing clusters. 2037// 2038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2039// with awserr.Error's Code and Message methods to get detailed information about 2040// the error. 2041// 2042// See the AWS API reference guide for Amazon EC2 Container Service's 2043// API operation ListClusters for usage and error information. 2044// 2045// Returned Error Codes: 2046// * ErrCodeServerException "ServerException" 2047// These errors are usually caused by a server issue. 2048// 2049// * ErrCodeClientException "ClientException" 2050// These errors are usually caused by a client action, such as using an action 2051// or resource on behalf of a user that doesn't have permissions to use the 2052// action or resource, or specifying an identifier that is not valid. 2053// 2054// * ErrCodeInvalidParameterException "InvalidParameterException" 2055// The specified parameter is invalid. Review the available parameters for the 2056// API request. 2057// 2058// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2059func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2060 req, out := c.ListClustersRequest(input) 2061 return out, req.Send() 2062} 2063 2064// ListClustersWithContext is the same as ListClusters with the addition of 2065// the ability to pass a context and additional request options. 2066// 2067// See ListClusters for details on how to use this API operation. 2068// 2069// The context must be non-nil and will be used for request cancellation. If 2070// the context is nil a panic will occur. In the future the SDK may create 2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2072// for more information on using Contexts. 2073func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2074 req, out := c.ListClustersRequest(input) 2075 req.SetContext(ctx) 2076 req.ApplyOptions(opts...) 2077 return out, req.Send() 2078} 2079 2080// ListClustersPages iterates over the pages of a ListClusters operation, 2081// calling the "fn" function with the response data for each page. To stop 2082// iterating, return false from the fn function. 2083// 2084// See ListClusters method for more information on how to use this operation. 2085// 2086// Note: This operation can generate multiple requests to a service. 2087// 2088// // Example iterating over at most 3 pages of a ListClusters operation. 2089// pageNum := 0 2090// err := client.ListClustersPages(params, 2091// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2092// pageNum++ 2093// fmt.Println(page) 2094// return pageNum <= 3 2095// }) 2096// 2097func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2098 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2099} 2100 2101// ListClustersPagesWithContext same as ListClustersPages except 2102// it takes a Context and allows setting request options on the pages. 2103// 2104// The context must be non-nil and will be used for request cancellation. If 2105// the context is nil a panic will occur. In the future the SDK may create 2106// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2107// for more information on using Contexts. 2108func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2109 p := request.Pagination{ 2110 NewRequest: func() (*request.Request, error) { 2111 var inCpy *ListClustersInput 2112 if input != nil { 2113 tmp := *input 2114 inCpy = &tmp 2115 } 2116 req, _ := c.ListClustersRequest(inCpy) 2117 req.SetContext(ctx) 2118 req.ApplyOptions(opts...) 2119 return req, nil 2120 }, 2121 } 2122 2123 cont := true 2124 for p.Next() && cont { 2125 cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) 2126 } 2127 return p.Err() 2128} 2129 2130const opListContainerInstances = "ListContainerInstances" 2131 2132// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2133// client's request for the ListContainerInstances operation. The "output" return 2134// value will be populated with the request's response once the request completes 2135// successfully. 2136// 2137// Use "Send" method on the returned Request to send the API call to the service. 2138// the "output" return value is not valid until after Send returns without error. 2139// 2140// See ListContainerInstances for more information on using the ListContainerInstances 2141// API call, and error handling. 2142// 2143// This method is useful when you want to inject custom logic or configuration 2144// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2145// 2146// 2147// // Example sending a request using the ListContainerInstancesRequest method. 2148// req, resp := client.ListContainerInstancesRequest(params) 2149// 2150// err := req.Send() 2151// if err == nil { // resp is now filled 2152// fmt.Println(resp) 2153// } 2154// 2155// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2156func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2157 op := &request.Operation{ 2158 Name: opListContainerInstances, 2159 HTTPMethod: "POST", 2160 HTTPPath: "/", 2161 Paginator: &request.Paginator{ 2162 InputTokens: []string{"nextToken"}, 2163 OutputTokens: []string{"nextToken"}, 2164 LimitToken: "maxResults", 2165 TruncationToken: "", 2166 }, 2167 } 2168 2169 if input == nil { 2170 input = &ListContainerInstancesInput{} 2171 } 2172 2173 output = &ListContainerInstancesOutput{} 2174 req = c.newRequest(op, input, output) 2175 return 2176} 2177 2178// ListContainerInstances API operation for Amazon EC2 Container Service. 2179// 2180// Returns a list of container instances in a specified cluster. You can filter 2181// the results of a ListContainerInstances operation with cluster query language 2182// statements inside the filter parameter. For more information, see Cluster 2183// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2184// in the Amazon Elastic Container Service Developer Guide. 2185// 2186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2187// with awserr.Error's Code and Message methods to get detailed information about 2188// the error. 2189// 2190// See the AWS API reference guide for Amazon EC2 Container Service's 2191// API operation ListContainerInstances for usage and error information. 2192// 2193// Returned Error Codes: 2194// * ErrCodeServerException "ServerException" 2195// These errors are usually caused by a server issue. 2196// 2197// * ErrCodeClientException "ClientException" 2198// These errors are usually caused by a client action, such as using an action 2199// or resource on behalf of a user that doesn't have permissions to use the 2200// action or resource, or specifying an identifier that is not valid. 2201// 2202// * ErrCodeInvalidParameterException "InvalidParameterException" 2203// The specified parameter is invalid. Review the available parameters for the 2204// API request. 2205// 2206// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2207// The specified cluster could not be found. You can view your available clusters 2208// with ListClusters. Amazon ECS clusters are Region-specific. 2209// 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2211func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2212 req, out := c.ListContainerInstancesRequest(input) 2213 return out, req.Send() 2214} 2215 2216// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2217// the ability to pass a context and additional request options. 2218// 2219// See ListContainerInstances for details on how to use this API operation. 2220// 2221// The context must be non-nil and will be used for request cancellation. If 2222// the context is nil a panic will occur. In the future the SDK may create 2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2224// for more information on using Contexts. 2225func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2226 req, out := c.ListContainerInstancesRequest(input) 2227 req.SetContext(ctx) 2228 req.ApplyOptions(opts...) 2229 return out, req.Send() 2230} 2231 2232// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2233// calling the "fn" function with the response data for each page. To stop 2234// iterating, return false from the fn function. 2235// 2236// See ListContainerInstances method for more information on how to use this operation. 2237// 2238// Note: This operation can generate multiple requests to a service. 2239// 2240// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2241// pageNum := 0 2242// err := client.ListContainerInstancesPages(params, 2243// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2244// pageNum++ 2245// fmt.Println(page) 2246// return pageNum <= 3 2247// }) 2248// 2249func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2250 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2251} 2252 2253// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2254// it takes a Context and allows setting request options on the pages. 2255// 2256// The context must be non-nil and will be used for request cancellation. If 2257// the context is nil a panic will occur. In the future the SDK may create 2258// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2259// for more information on using Contexts. 2260func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2261 p := request.Pagination{ 2262 NewRequest: func() (*request.Request, error) { 2263 var inCpy *ListContainerInstancesInput 2264 if input != nil { 2265 tmp := *input 2266 inCpy = &tmp 2267 } 2268 req, _ := c.ListContainerInstancesRequest(inCpy) 2269 req.SetContext(ctx) 2270 req.ApplyOptions(opts...) 2271 return req, nil 2272 }, 2273 } 2274 2275 cont := true 2276 for p.Next() && cont { 2277 cont = fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) 2278 } 2279 return p.Err() 2280} 2281 2282const opListServices = "ListServices" 2283 2284// ListServicesRequest generates a "aws/request.Request" representing the 2285// client's request for the ListServices operation. The "output" return 2286// value will be populated with the request's response once the request completes 2287// successfully. 2288// 2289// Use "Send" method on the returned Request to send the API call to the service. 2290// the "output" return value is not valid until after Send returns without error. 2291// 2292// See ListServices for more information on using the ListServices 2293// API call, and error handling. 2294// 2295// This method is useful when you want to inject custom logic or configuration 2296// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2297// 2298// 2299// // Example sending a request using the ListServicesRequest method. 2300// req, resp := client.ListServicesRequest(params) 2301// 2302// err := req.Send() 2303// if err == nil { // resp is now filled 2304// fmt.Println(resp) 2305// } 2306// 2307// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2308func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2309 op := &request.Operation{ 2310 Name: opListServices, 2311 HTTPMethod: "POST", 2312 HTTPPath: "/", 2313 Paginator: &request.Paginator{ 2314 InputTokens: []string{"nextToken"}, 2315 OutputTokens: []string{"nextToken"}, 2316 LimitToken: "maxResults", 2317 TruncationToken: "", 2318 }, 2319 } 2320 2321 if input == nil { 2322 input = &ListServicesInput{} 2323 } 2324 2325 output = &ListServicesOutput{} 2326 req = c.newRequest(op, input, output) 2327 return 2328} 2329 2330// ListServices API operation for Amazon EC2 Container Service. 2331// 2332// Lists the services that are running in a specified cluster. 2333// 2334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2335// with awserr.Error's Code and Message methods to get detailed information about 2336// the error. 2337// 2338// See the AWS API reference guide for Amazon EC2 Container Service's 2339// API operation ListServices for usage and error information. 2340// 2341// Returned Error Codes: 2342// * ErrCodeServerException "ServerException" 2343// These errors are usually caused by a server issue. 2344// 2345// * ErrCodeClientException "ClientException" 2346// These errors are usually caused by a client action, such as using an action 2347// or resource on behalf of a user that doesn't have permissions to use the 2348// action or resource, or specifying an identifier that is not valid. 2349// 2350// * ErrCodeInvalidParameterException "InvalidParameterException" 2351// The specified parameter is invalid. Review the available parameters for the 2352// API request. 2353// 2354// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2355// The specified cluster could not be found. You can view your available clusters 2356// with ListClusters. Amazon ECS clusters are Region-specific. 2357// 2358// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2359func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2360 req, out := c.ListServicesRequest(input) 2361 return out, req.Send() 2362} 2363 2364// ListServicesWithContext is the same as ListServices with the addition of 2365// the ability to pass a context and additional request options. 2366// 2367// See ListServices for details on how to use this API operation. 2368// 2369// The context must be non-nil and will be used for request cancellation. If 2370// the context is nil a panic will occur. In the future the SDK may create 2371// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2372// for more information on using Contexts. 2373func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2374 req, out := c.ListServicesRequest(input) 2375 req.SetContext(ctx) 2376 req.ApplyOptions(opts...) 2377 return out, req.Send() 2378} 2379 2380// ListServicesPages iterates over the pages of a ListServices operation, 2381// calling the "fn" function with the response data for each page. To stop 2382// iterating, return false from the fn function. 2383// 2384// See ListServices method for more information on how to use this operation. 2385// 2386// Note: This operation can generate multiple requests to a service. 2387// 2388// // Example iterating over at most 3 pages of a ListServices operation. 2389// pageNum := 0 2390// err := client.ListServicesPages(params, 2391// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2392// pageNum++ 2393// fmt.Println(page) 2394// return pageNum <= 3 2395// }) 2396// 2397func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2398 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2399} 2400 2401// ListServicesPagesWithContext same as ListServicesPages except 2402// it takes a Context and allows setting request options on the pages. 2403// 2404// The context must be non-nil and will be used for request cancellation. If 2405// the context is nil a panic will occur. In the future the SDK may create 2406// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2407// for more information on using Contexts. 2408func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2409 p := request.Pagination{ 2410 NewRequest: func() (*request.Request, error) { 2411 var inCpy *ListServicesInput 2412 if input != nil { 2413 tmp := *input 2414 inCpy = &tmp 2415 } 2416 req, _ := c.ListServicesRequest(inCpy) 2417 req.SetContext(ctx) 2418 req.ApplyOptions(opts...) 2419 return req, nil 2420 }, 2421 } 2422 2423 cont := true 2424 for p.Next() && cont { 2425 cont = fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) 2426 } 2427 return p.Err() 2428} 2429 2430const opListTagsForResource = "ListTagsForResource" 2431 2432// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2433// client's request for the ListTagsForResource operation. The "output" return 2434// value will be populated with the request's response once the request completes 2435// successfully. 2436// 2437// Use "Send" method on the returned Request to send the API call to the service. 2438// the "output" return value is not valid until after Send returns without error. 2439// 2440// See ListTagsForResource for more information on using the ListTagsForResource 2441// API call, and error handling. 2442// 2443// This method is useful when you want to inject custom logic or configuration 2444// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2445// 2446// 2447// // Example sending a request using the ListTagsForResourceRequest method. 2448// req, resp := client.ListTagsForResourceRequest(params) 2449// 2450// err := req.Send() 2451// if err == nil { // resp is now filled 2452// fmt.Println(resp) 2453// } 2454// 2455// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2456func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2457 op := &request.Operation{ 2458 Name: opListTagsForResource, 2459 HTTPMethod: "POST", 2460 HTTPPath: "/", 2461 } 2462 2463 if input == nil { 2464 input = &ListTagsForResourceInput{} 2465 } 2466 2467 output = &ListTagsForResourceOutput{} 2468 req = c.newRequest(op, input, output) 2469 return 2470} 2471 2472// ListTagsForResource API operation for Amazon EC2 Container Service. 2473// 2474// List the tags for an Amazon ECS resource. 2475// 2476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2477// with awserr.Error's Code and Message methods to get detailed information about 2478// the error. 2479// 2480// See the AWS API reference guide for Amazon EC2 Container Service's 2481// API operation ListTagsForResource for usage and error information. 2482// 2483// Returned Error Codes: 2484// * ErrCodeServerException "ServerException" 2485// These errors are usually caused by a server issue. 2486// 2487// * ErrCodeClientException "ClientException" 2488// These errors are usually caused by a client action, such as using an action 2489// or resource on behalf of a user that doesn't have permissions to use the 2490// action or resource, or specifying an identifier that is not valid. 2491// 2492// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2493// The specified cluster could not be found. You can view your available clusters 2494// with ListClusters. Amazon ECS clusters are Region-specific. 2495// 2496// * ErrCodeInvalidParameterException "InvalidParameterException" 2497// The specified parameter is invalid. Review the available parameters for the 2498// API request. 2499// 2500// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2501func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2502 req, out := c.ListTagsForResourceRequest(input) 2503 return out, req.Send() 2504} 2505 2506// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2507// the ability to pass a context and additional request options. 2508// 2509// See ListTagsForResource for details on how to use this API operation. 2510// 2511// The context must be non-nil and will be used for request cancellation. If 2512// the context is nil a panic will occur. In the future the SDK may create 2513// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2514// for more information on using Contexts. 2515func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2516 req, out := c.ListTagsForResourceRequest(input) 2517 req.SetContext(ctx) 2518 req.ApplyOptions(opts...) 2519 return out, req.Send() 2520} 2521 2522const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2523 2524// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2525// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2526// value will be populated with the request's response once the request completes 2527// successfully. 2528// 2529// Use "Send" method on the returned Request to send the API call to the service. 2530// the "output" return value is not valid until after Send returns without error. 2531// 2532// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2533// API call, and error handling. 2534// 2535// This method is useful when you want to inject custom logic or configuration 2536// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2537// 2538// 2539// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2540// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2541// 2542// err := req.Send() 2543// if err == nil { // resp is now filled 2544// fmt.Println(resp) 2545// } 2546// 2547// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2548func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2549 op := &request.Operation{ 2550 Name: opListTaskDefinitionFamilies, 2551 HTTPMethod: "POST", 2552 HTTPPath: "/", 2553 Paginator: &request.Paginator{ 2554 InputTokens: []string{"nextToken"}, 2555 OutputTokens: []string{"nextToken"}, 2556 LimitToken: "maxResults", 2557 TruncationToken: "", 2558 }, 2559 } 2560 2561 if input == nil { 2562 input = &ListTaskDefinitionFamiliesInput{} 2563 } 2564 2565 output = &ListTaskDefinitionFamiliesOutput{} 2566 req = c.newRequest(op, input, output) 2567 return 2568} 2569 2570// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 2571// 2572// Returns a list of task definition families that are registered to your account 2573// (which may include task definition families that no longer have any ACTIVE 2574// task definition revisions). 2575// 2576// You can filter out task definition families that do not contain any ACTIVE 2577// task definition revisions by setting the status parameter to ACTIVE. You 2578// can also filter the results with the familyPrefix parameter. 2579// 2580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2581// with awserr.Error's Code and Message methods to get detailed information about 2582// the error. 2583// 2584// See the AWS API reference guide for Amazon EC2 Container Service's 2585// API operation ListTaskDefinitionFamilies for usage and error information. 2586// 2587// Returned Error Codes: 2588// * ErrCodeServerException "ServerException" 2589// These errors are usually caused by a server issue. 2590// 2591// * ErrCodeClientException "ClientException" 2592// These errors are usually caused by a client action, such as using an action 2593// or resource on behalf of a user that doesn't have permissions to use the 2594// action or resource, or specifying an identifier that is not valid. 2595// 2596// * ErrCodeInvalidParameterException "InvalidParameterException" 2597// The specified parameter is invalid. Review the available parameters for the 2598// API request. 2599// 2600// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2601func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 2602 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2603 return out, req.Send() 2604} 2605 2606// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 2607// the ability to pass a context and additional request options. 2608// 2609// See ListTaskDefinitionFamilies for details on how to use this API operation. 2610// 2611// The context must be non-nil and will be used for request cancellation. If 2612// the context is nil a panic will occur. In the future the SDK may create 2613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2614// for more information on using Contexts. 2615func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 2616 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2617 req.SetContext(ctx) 2618 req.ApplyOptions(opts...) 2619 return out, req.Send() 2620} 2621 2622// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 2623// calling the "fn" function with the response data for each page. To stop 2624// iterating, return false from the fn function. 2625// 2626// See ListTaskDefinitionFamilies method for more information on how to use this operation. 2627// 2628// Note: This operation can generate multiple requests to a service. 2629// 2630// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 2631// pageNum := 0 2632// err := client.ListTaskDefinitionFamiliesPages(params, 2633// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 2634// pageNum++ 2635// fmt.Println(page) 2636// return pageNum <= 3 2637// }) 2638// 2639func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 2640 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 2641} 2642 2643// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 2644// it takes a Context and allows setting request options on the pages. 2645// 2646// The context must be non-nil and will be used for request cancellation. If 2647// the context is nil a panic will occur. In the future the SDK may create 2648// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2649// for more information on using Contexts. 2650func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 2651 p := request.Pagination{ 2652 NewRequest: func() (*request.Request, error) { 2653 var inCpy *ListTaskDefinitionFamiliesInput 2654 if input != nil { 2655 tmp := *input 2656 inCpy = &tmp 2657 } 2658 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 2659 req.SetContext(ctx) 2660 req.ApplyOptions(opts...) 2661 return req, nil 2662 }, 2663 } 2664 2665 cont := true 2666 for p.Next() && cont { 2667 cont = fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) 2668 } 2669 return p.Err() 2670} 2671 2672const opListTaskDefinitions = "ListTaskDefinitions" 2673 2674// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 2675// client's request for the ListTaskDefinitions operation. The "output" return 2676// value will be populated with the request's response once the request completes 2677// successfully. 2678// 2679// Use "Send" method on the returned Request to send the API call to the service. 2680// the "output" return value is not valid until after Send returns without error. 2681// 2682// See ListTaskDefinitions for more information on using the ListTaskDefinitions 2683// API call, and error handling. 2684// 2685// This method is useful when you want to inject custom logic or configuration 2686// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2687// 2688// 2689// // Example sending a request using the ListTaskDefinitionsRequest method. 2690// req, resp := client.ListTaskDefinitionsRequest(params) 2691// 2692// err := req.Send() 2693// if err == nil { // resp is now filled 2694// fmt.Println(resp) 2695// } 2696// 2697// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2698func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 2699 op := &request.Operation{ 2700 Name: opListTaskDefinitions, 2701 HTTPMethod: "POST", 2702 HTTPPath: "/", 2703 Paginator: &request.Paginator{ 2704 InputTokens: []string{"nextToken"}, 2705 OutputTokens: []string{"nextToken"}, 2706 LimitToken: "maxResults", 2707 TruncationToken: "", 2708 }, 2709 } 2710 2711 if input == nil { 2712 input = &ListTaskDefinitionsInput{} 2713 } 2714 2715 output = &ListTaskDefinitionsOutput{} 2716 req = c.newRequest(op, input, output) 2717 return 2718} 2719 2720// ListTaskDefinitions API operation for Amazon EC2 Container Service. 2721// 2722// Returns a list of task definitions that are registered to your account. You 2723// can filter the results by family name with the familyPrefix parameter or 2724// by status with the status parameter. 2725// 2726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2727// with awserr.Error's Code and Message methods to get detailed information about 2728// the error. 2729// 2730// See the AWS API reference guide for Amazon EC2 Container Service's 2731// API operation ListTaskDefinitions for usage and error information. 2732// 2733// Returned Error Codes: 2734// * ErrCodeServerException "ServerException" 2735// These errors are usually caused by a server issue. 2736// 2737// * ErrCodeClientException "ClientException" 2738// These errors are usually caused by a client action, such as using an action 2739// or resource on behalf of a user that doesn't have permissions to use the 2740// action or resource, or specifying an identifier that is not valid. 2741// 2742// * ErrCodeInvalidParameterException "InvalidParameterException" 2743// The specified parameter is invalid. Review the available parameters for the 2744// API request. 2745// 2746// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2747func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 2748 req, out := c.ListTaskDefinitionsRequest(input) 2749 return out, req.Send() 2750} 2751 2752// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 2753// the ability to pass a context and additional request options. 2754// 2755// See ListTaskDefinitions for details on how to use this API operation. 2756// 2757// The context must be non-nil and will be used for request cancellation. If 2758// the context is nil a panic will occur. In the future the SDK may create 2759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2760// for more information on using Contexts. 2761func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 2762 req, out := c.ListTaskDefinitionsRequest(input) 2763 req.SetContext(ctx) 2764 req.ApplyOptions(opts...) 2765 return out, req.Send() 2766} 2767 2768// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 2769// calling the "fn" function with the response data for each page. To stop 2770// iterating, return false from the fn function. 2771// 2772// See ListTaskDefinitions method for more information on how to use this operation. 2773// 2774// Note: This operation can generate multiple requests to a service. 2775// 2776// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 2777// pageNum := 0 2778// err := client.ListTaskDefinitionsPages(params, 2779// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 2780// pageNum++ 2781// fmt.Println(page) 2782// return pageNum <= 3 2783// }) 2784// 2785func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 2786 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 2787} 2788 2789// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 2790// it takes a Context and allows setting request options on the pages. 2791// 2792// The context must be non-nil and will be used for request cancellation. If 2793// the context is nil a panic will occur. In the future the SDK may create 2794// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2795// for more information on using Contexts. 2796func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 2797 p := request.Pagination{ 2798 NewRequest: func() (*request.Request, error) { 2799 var inCpy *ListTaskDefinitionsInput 2800 if input != nil { 2801 tmp := *input 2802 inCpy = &tmp 2803 } 2804 req, _ := c.ListTaskDefinitionsRequest(inCpy) 2805 req.SetContext(ctx) 2806 req.ApplyOptions(opts...) 2807 return req, nil 2808 }, 2809 } 2810 2811 cont := true 2812 for p.Next() && cont { 2813 cont = fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) 2814 } 2815 return p.Err() 2816} 2817 2818const opListTasks = "ListTasks" 2819 2820// ListTasksRequest generates a "aws/request.Request" representing the 2821// client's request for the ListTasks operation. The "output" return 2822// value will be populated with the request's response once the request completes 2823// successfully. 2824// 2825// Use "Send" method on the returned Request to send the API call to the service. 2826// the "output" return value is not valid until after Send returns without error. 2827// 2828// See ListTasks for more information on using the ListTasks 2829// API call, and error handling. 2830// 2831// This method is useful when you want to inject custom logic or configuration 2832// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2833// 2834// 2835// // Example sending a request using the ListTasksRequest method. 2836// req, resp := client.ListTasksRequest(params) 2837// 2838// err := req.Send() 2839// if err == nil { // resp is now filled 2840// fmt.Println(resp) 2841// } 2842// 2843// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2844func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 2845 op := &request.Operation{ 2846 Name: opListTasks, 2847 HTTPMethod: "POST", 2848 HTTPPath: "/", 2849 Paginator: &request.Paginator{ 2850 InputTokens: []string{"nextToken"}, 2851 OutputTokens: []string{"nextToken"}, 2852 LimitToken: "maxResults", 2853 TruncationToken: "", 2854 }, 2855 } 2856 2857 if input == nil { 2858 input = &ListTasksInput{} 2859 } 2860 2861 output = &ListTasksOutput{} 2862 req = c.newRequest(op, input, output) 2863 return 2864} 2865 2866// ListTasks API operation for Amazon EC2 Container Service. 2867// 2868// Returns a list of tasks for a specified cluster. You can filter the results 2869// by family name, by a particular container instance, or by the desired status 2870// of the task with the family, containerInstance, and desiredStatus parameters. 2871// 2872// Recently stopped tasks might appear in the returned results. Currently, stopped 2873// tasks appear in the returned results for at least one hour. 2874// 2875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2876// with awserr.Error's Code and Message methods to get detailed information about 2877// the error. 2878// 2879// See the AWS API reference guide for Amazon EC2 Container Service's 2880// API operation ListTasks for usage and error information. 2881// 2882// Returned Error Codes: 2883// * ErrCodeServerException "ServerException" 2884// These errors are usually caused by a server issue. 2885// 2886// * ErrCodeClientException "ClientException" 2887// These errors are usually caused by a client action, such as using an action 2888// or resource on behalf of a user that doesn't have permissions to use the 2889// action or resource, or specifying an identifier that is not valid. 2890// 2891// * ErrCodeInvalidParameterException "InvalidParameterException" 2892// The specified parameter is invalid. Review the available parameters for the 2893// API request. 2894// 2895// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2896// The specified cluster could not be found. You can view your available clusters 2897// with ListClusters. Amazon ECS clusters are Region-specific. 2898// 2899// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 2900// The specified service could not be found. You can view your available services 2901// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 2902// 2903// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2904func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 2905 req, out := c.ListTasksRequest(input) 2906 return out, req.Send() 2907} 2908 2909// ListTasksWithContext is the same as ListTasks with the addition of 2910// the ability to pass a context and additional request options. 2911// 2912// See ListTasks for details on how to use this API operation. 2913// 2914// The context must be non-nil and will be used for request cancellation. If 2915// the context is nil a panic will occur. In the future the SDK may create 2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2917// for more information on using Contexts. 2918func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 2919 req, out := c.ListTasksRequest(input) 2920 req.SetContext(ctx) 2921 req.ApplyOptions(opts...) 2922 return out, req.Send() 2923} 2924 2925// ListTasksPages iterates over the pages of a ListTasks operation, 2926// calling the "fn" function with the response data for each page. To stop 2927// iterating, return false from the fn function. 2928// 2929// See ListTasks method for more information on how to use this operation. 2930// 2931// Note: This operation can generate multiple requests to a service. 2932// 2933// // Example iterating over at most 3 pages of a ListTasks operation. 2934// pageNum := 0 2935// err := client.ListTasksPages(params, 2936// func(page *ecs.ListTasksOutput, lastPage bool) bool { 2937// pageNum++ 2938// fmt.Println(page) 2939// return pageNum <= 3 2940// }) 2941// 2942func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 2943 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 2944} 2945 2946// ListTasksPagesWithContext same as ListTasksPages except 2947// it takes a Context and allows setting request options on the pages. 2948// 2949// The context must be non-nil and will be used for request cancellation. If 2950// the context is nil a panic will occur. In the future the SDK may create 2951// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2952// for more information on using Contexts. 2953func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 2954 p := request.Pagination{ 2955 NewRequest: func() (*request.Request, error) { 2956 var inCpy *ListTasksInput 2957 if input != nil { 2958 tmp := *input 2959 inCpy = &tmp 2960 } 2961 req, _ := c.ListTasksRequest(inCpy) 2962 req.SetContext(ctx) 2963 req.ApplyOptions(opts...) 2964 return req, nil 2965 }, 2966 } 2967 2968 cont := true 2969 for p.Next() && cont { 2970 cont = fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) 2971 } 2972 return p.Err() 2973} 2974 2975const opPutAccountSetting = "PutAccountSetting" 2976 2977// PutAccountSettingRequest generates a "aws/request.Request" representing the 2978// client's request for the PutAccountSetting operation. The "output" return 2979// value will be populated with the request's response once the request completes 2980// successfully. 2981// 2982// Use "Send" method on the returned Request to send the API call to the service. 2983// the "output" return value is not valid until after Send returns without error. 2984// 2985// See PutAccountSetting for more information on using the PutAccountSetting 2986// API call, and error handling. 2987// 2988// This method is useful when you want to inject custom logic or configuration 2989// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2990// 2991// 2992// // Example sending a request using the PutAccountSettingRequest method. 2993// req, resp := client.PutAccountSettingRequest(params) 2994// 2995// err := req.Send() 2996// if err == nil { // resp is now filled 2997// fmt.Println(resp) 2998// } 2999// 3000// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3001func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3002 op := &request.Operation{ 3003 Name: opPutAccountSetting, 3004 HTTPMethod: "POST", 3005 HTTPPath: "/", 3006 } 3007 3008 if input == nil { 3009 input = &PutAccountSettingInput{} 3010 } 3011 3012 output = &PutAccountSettingOutput{} 3013 req = c.newRequest(op, input, output) 3014 return 3015} 3016 3017// PutAccountSetting API operation for Amazon EC2 Container Service. 3018// 3019// Modifies an account setting. If you change the account setting for the root 3020// user, the default settings for all of the IAM users and roles for which no 3021// individual account setting has been specified are reset. For more information, 3022// see Account Settings (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3023// in the Amazon Elastic Container Service Developer Guide. 3024// 3025// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3026// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3027// resource type for a specified IAM user, IAM role, or the root user for an 3028// account is affected. The opt-in and opt-out account setting must be set for 3029// each Amazon ECS resource separately. The ARN and resource ID format of a 3030// resource will be defined by the opt-in status of the IAM user or role that 3031// created the resource. You must enable this setting to use Amazon ECS features 3032// such as resource tagging. 3033// 3034// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3035// for any new container instances that support the feature is changed. If awsvpcTrunking 3036// is enabled, any new container instances that support the feature are launched 3037// have the increased ENI limits available to them. For more information, see 3038// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3039// in the Amazon Elastic Container Service Developer Guide. 3040// 3041// When containerInsights is specified, the default setting indicating whether 3042// CloudWatch Container Insights is enabled for your clusters is changed. If 3043// containerInsights is enabled, any new clusters that are created will have 3044// Container Insights enabled unless you disable it during cluster creation. 3045// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3046// in the Amazon Elastic Container Service Developer Guide. 3047// 3048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3049// with awserr.Error's Code and Message methods to get detailed information about 3050// the error. 3051// 3052// See the AWS API reference guide for Amazon EC2 Container Service's 3053// API operation PutAccountSetting for usage and error information. 3054// 3055// Returned Error Codes: 3056// * ErrCodeServerException "ServerException" 3057// These errors are usually caused by a server issue. 3058// 3059// * ErrCodeClientException "ClientException" 3060// These errors are usually caused by a client action, such as using an action 3061// or resource on behalf of a user that doesn't have permissions to use the 3062// action or resource, or specifying an identifier that is not valid. 3063// 3064// * ErrCodeInvalidParameterException "InvalidParameterException" 3065// The specified parameter is invalid. Review the available parameters for the 3066// API request. 3067// 3068// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3069func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3070 req, out := c.PutAccountSettingRequest(input) 3071 return out, req.Send() 3072} 3073 3074// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3075// the ability to pass a context and additional request options. 3076// 3077// See PutAccountSetting for details on how to use this API operation. 3078// 3079// The context must be non-nil and will be used for request cancellation. If 3080// the context is nil a panic will occur. In the future the SDK may create 3081// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3082// for more information on using Contexts. 3083func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3084 req, out := c.PutAccountSettingRequest(input) 3085 req.SetContext(ctx) 3086 req.ApplyOptions(opts...) 3087 return out, req.Send() 3088} 3089 3090const opPutAccountSettingDefault = "PutAccountSettingDefault" 3091 3092// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3093// client's request for the PutAccountSettingDefault operation. The "output" return 3094// value will be populated with the request's response once the request completes 3095// successfully. 3096// 3097// Use "Send" method on the returned Request to send the API call to the service. 3098// the "output" return value is not valid until after Send returns without error. 3099// 3100// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3101// API call, and error handling. 3102// 3103// This method is useful when you want to inject custom logic or configuration 3104// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3105// 3106// 3107// // Example sending a request using the PutAccountSettingDefaultRequest method. 3108// req, resp := client.PutAccountSettingDefaultRequest(params) 3109// 3110// err := req.Send() 3111// if err == nil { // resp is now filled 3112// fmt.Println(resp) 3113// } 3114// 3115// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3116func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3117 op := &request.Operation{ 3118 Name: opPutAccountSettingDefault, 3119 HTTPMethod: "POST", 3120 HTTPPath: "/", 3121 } 3122 3123 if input == nil { 3124 input = &PutAccountSettingDefaultInput{} 3125 } 3126 3127 output = &PutAccountSettingDefaultOutput{} 3128 req = c.newRequest(op, input, output) 3129 return 3130} 3131 3132// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3133// 3134// Modifies an account setting for all IAM users on an account for whom no individual 3135// account setting has been specified. 3136// 3137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3138// with awserr.Error's Code and Message methods to get detailed information about 3139// the error. 3140// 3141// See the AWS API reference guide for Amazon EC2 Container Service's 3142// API operation PutAccountSettingDefault for usage and error information. 3143// 3144// Returned Error Codes: 3145// * ErrCodeServerException "ServerException" 3146// These errors are usually caused by a server issue. 3147// 3148// * ErrCodeClientException "ClientException" 3149// These errors are usually caused by a client action, such as using an action 3150// or resource on behalf of a user that doesn't have permissions to use the 3151// action or resource, or specifying an identifier that is not valid. 3152// 3153// * ErrCodeInvalidParameterException "InvalidParameterException" 3154// The specified parameter is invalid. Review the available parameters for the 3155// API request. 3156// 3157// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3158func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3159 req, out := c.PutAccountSettingDefaultRequest(input) 3160 return out, req.Send() 3161} 3162 3163// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3164// the ability to pass a context and additional request options. 3165// 3166// See PutAccountSettingDefault for details on how to use this API operation. 3167// 3168// The context must be non-nil and will be used for request cancellation. If 3169// the context is nil a panic will occur. In the future the SDK may create 3170// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3171// for more information on using Contexts. 3172func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3173 req, out := c.PutAccountSettingDefaultRequest(input) 3174 req.SetContext(ctx) 3175 req.ApplyOptions(opts...) 3176 return out, req.Send() 3177} 3178 3179const opPutAttributes = "PutAttributes" 3180 3181// PutAttributesRequest generates a "aws/request.Request" representing the 3182// client's request for the PutAttributes operation. The "output" return 3183// value will be populated with the request's response once the request completes 3184// successfully. 3185// 3186// Use "Send" method on the returned Request to send the API call to the service. 3187// the "output" return value is not valid until after Send returns without error. 3188// 3189// See PutAttributes for more information on using the PutAttributes 3190// API call, and error handling. 3191// 3192// This method is useful when you want to inject custom logic or configuration 3193// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3194// 3195// 3196// // Example sending a request using the PutAttributesRequest method. 3197// req, resp := client.PutAttributesRequest(params) 3198// 3199// err := req.Send() 3200// if err == nil { // resp is now filled 3201// fmt.Println(resp) 3202// } 3203// 3204// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3205func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3206 op := &request.Operation{ 3207 Name: opPutAttributes, 3208 HTTPMethod: "POST", 3209 HTTPPath: "/", 3210 } 3211 3212 if input == nil { 3213 input = &PutAttributesInput{} 3214 } 3215 3216 output = &PutAttributesOutput{} 3217 req = c.newRequest(op, input, output) 3218 return 3219} 3220 3221// PutAttributes API operation for Amazon EC2 Container Service. 3222// 3223// Create or update an attribute on an Amazon ECS resource. If the attribute 3224// does not exist, it is created. If the attribute exists, its value is replaced 3225// with the specified value. To delete an attribute, use DeleteAttributes. For 3226// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3227// in the Amazon Elastic Container Service Developer Guide. 3228// 3229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3230// with awserr.Error's Code and Message methods to get detailed information about 3231// the error. 3232// 3233// See the AWS API reference guide for Amazon EC2 Container Service's 3234// API operation PutAttributes for usage and error information. 3235// 3236// Returned Error Codes: 3237// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3238// The specified cluster could not be found. You can view your available clusters 3239// with ListClusters. Amazon ECS clusters are Region-specific. 3240// 3241// * ErrCodeTargetNotFoundException "TargetNotFoundException" 3242// The specified target could not be found. You can view your available container 3243// instances with ListContainerInstances. Amazon ECS container instances are 3244// cluster-specific and Region-specific. 3245// 3246// * ErrCodeAttributeLimitExceededException "AttributeLimitExceededException" 3247// You can apply up to 10 custom attributes per resource. You can view the attributes 3248// of a resource with ListAttributes. You can remove existing attributes on 3249// a resource with DeleteAttributes. 3250// 3251// * ErrCodeInvalidParameterException "InvalidParameterException" 3252// The specified parameter is invalid. Review the available parameters for the 3253// API request. 3254// 3255// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3256func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3257 req, out := c.PutAttributesRequest(input) 3258 return out, req.Send() 3259} 3260 3261// PutAttributesWithContext is the same as PutAttributes with the addition of 3262// the ability to pass a context and additional request options. 3263// 3264// See PutAttributes for details on how to use this API operation. 3265// 3266// The context must be non-nil and will be used for request cancellation. If 3267// the context is nil a panic will occur. In the future the SDK may create 3268// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3269// for more information on using Contexts. 3270func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3271 req, out := c.PutAttributesRequest(input) 3272 req.SetContext(ctx) 3273 req.ApplyOptions(opts...) 3274 return out, req.Send() 3275} 3276 3277const opRegisterContainerInstance = "RegisterContainerInstance" 3278 3279// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3280// client's request for the RegisterContainerInstance operation. The "output" return 3281// value will be populated with the request's response once the request completes 3282// successfully. 3283// 3284// Use "Send" method on the returned Request to send the API call to the service. 3285// the "output" return value is not valid until after Send returns without error. 3286// 3287// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3288// API call, and error handling. 3289// 3290// This method is useful when you want to inject custom logic or configuration 3291// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3292// 3293// 3294// // Example sending a request using the RegisterContainerInstanceRequest method. 3295// req, resp := client.RegisterContainerInstanceRequest(params) 3296// 3297// err := req.Send() 3298// if err == nil { // resp is now filled 3299// fmt.Println(resp) 3300// } 3301// 3302// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3303func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3304 op := &request.Operation{ 3305 Name: opRegisterContainerInstance, 3306 HTTPMethod: "POST", 3307 HTTPPath: "/", 3308 } 3309 3310 if input == nil { 3311 input = &RegisterContainerInstanceInput{} 3312 } 3313 3314 output = &RegisterContainerInstanceOutput{} 3315 req = c.newRequest(op, input, output) 3316 return 3317} 3318 3319// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3320// 3321// 3322// This action is only used by the Amazon ECS agent, and it is not intended 3323// for use outside of the agent. 3324// 3325// Registers an EC2 instance into the specified cluster. This instance becomes 3326// available to place containers on. 3327// 3328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3329// with awserr.Error's Code and Message methods to get detailed information about 3330// the error. 3331// 3332// See the AWS API reference guide for Amazon EC2 Container Service's 3333// API operation RegisterContainerInstance for usage and error information. 3334// 3335// Returned Error Codes: 3336// * ErrCodeServerException "ServerException" 3337// These errors are usually caused by a server issue. 3338// 3339// * ErrCodeClientException "ClientException" 3340// These errors are usually caused by a client action, such as using an action 3341// or resource on behalf of a user that doesn't have permissions to use the 3342// action or resource, or specifying an identifier that is not valid. 3343// 3344// * ErrCodeInvalidParameterException "InvalidParameterException" 3345// The specified parameter is invalid. Review the available parameters for the 3346// API request. 3347// 3348// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3349func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3350 req, out := c.RegisterContainerInstanceRequest(input) 3351 return out, req.Send() 3352} 3353 3354// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3355// the ability to pass a context and additional request options. 3356// 3357// See RegisterContainerInstance for details on how to use this API operation. 3358// 3359// The context must be non-nil and will be used for request cancellation. If 3360// the context is nil a panic will occur. In the future the SDK may create 3361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3362// for more information on using Contexts. 3363func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3364 req, out := c.RegisterContainerInstanceRequest(input) 3365 req.SetContext(ctx) 3366 req.ApplyOptions(opts...) 3367 return out, req.Send() 3368} 3369 3370const opRegisterTaskDefinition = "RegisterTaskDefinition" 3371 3372// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3373// client's request for the RegisterTaskDefinition operation. The "output" return 3374// value will be populated with the request's response once the request completes 3375// successfully. 3376// 3377// Use "Send" method on the returned Request to send the API call to the service. 3378// the "output" return value is not valid until after Send returns without error. 3379// 3380// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3381// API call, and error handling. 3382// 3383// This method is useful when you want to inject custom logic or configuration 3384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3385// 3386// 3387// // Example sending a request using the RegisterTaskDefinitionRequest method. 3388// req, resp := client.RegisterTaskDefinitionRequest(params) 3389// 3390// err := req.Send() 3391// if err == nil { // resp is now filled 3392// fmt.Println(resp) 3393// } 3394// 3395// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3396func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3397 op := &request.Operation{ 3398 Name: opRegisterTaskDefinition, 3399 HTTPMethod: "POST", 3400 HTTPPath: "/", 3401 } 3402 3403 if input == nil { 3404 input = &RegisterTaskDefinitionInput{} 3405 } 3406 3407 output = &RegisterTaskDefinitionOutput{} 3408 req = c.newRequest(op, input, output) 3409 return 3410} 3411 3412// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3413// 3414// Registers a new task definition from the supplied family and containerDefinitions. 3415// Optionally, you can add data volumes to your containers with the volumes 3416// parameter. For more information about task definition parameters and defaults, 3417// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3418// in the Amazon Elastic Container Service Developer Guide. 3419// 3420// You can specify an IAM role for your task with the taskRoleArn parameter. 3421// When you specify an IAM role for a task, its containers can then use the 3422// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3423// that are specified in the IAM policy associated with the role. For more information, 3424// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3425// in the Amazon Elastic Container Service Developer Guide. 3426// 3427// You can specify a Docker networking mode for the containers in your task 3428// definition with the networkMode parameter. The available network modes correspond 3429// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3430// in the Docker run reference. If you specify the awsvpc network mode, the 3431// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3432// when you create a service or run a task with the task definition. For more 3433// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3434// in the Amazon Elastic Container Service Developer Guide. 3435// 3436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3437// with awserr.Error's Code and Message methods to get detailed information about 3438// the error. 3439// 3440// See the AWS API reference guide for Amazon EC2 Container Service's 3441// API operation RegisterTaskDefinition for usage and error information. 3442// 3443// Returned Error Codes: 3444// * ErrCodeServerException "ServerException" 3445// These errors are usually caused by a server issue. 3446// 3447// * ErrCodeClientException "ClientException" 3448// These errors are usually caused by a client action, such as using an action 3449// or resource on behalf of a user that doesn't have permissions to use the 3450// action or resource, or specifying an identifier that is not valid. 3451// 3452// * ErrCodeInvalidParameterException "InvalidParameterException" 3453// The specified parameter is invalid. Review the available parameters for the 3454// API request. 3455// 3456// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3457func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 3458 req, out := c.RegisterTaskDefinitionRequest(input) 3459 return out, req.Send() 3460} 3461 3462// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 3463// the ability to pass a context and additional request options. 3464// 3465// See RegisterTaskDefinition for details on how to use this API operation. 3466// 3467// The context must be non-nil and will be used for request cancellation. If 3468// the context is nil a panic will occur. In the future the SDK may create 3469// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3470// for more information on using Contexts. 3471func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 3472 req, out := c.RegisterTaskDefinitionRequest(input) 3473 req.SetContext(ctx) 3474 req.ApplyOptions(opts...) 3475 return out, req.Send() 3476} 3477 3478const opRunTask = "RunTask" 3479 3480// RunTaskRequest generates a "aws/request.Request" representing the 3481// client's request for the RunTask operation. The "output" return 3482// value will be populated with the request's response once the request completes 3483// successfully. 3484// 3485// Use "Send" method on the returned Request to send the API call to the service. 3486// the "output" return value is not valid until after Send returns without error. 3487// 3488// See RunTask for more information on using the RunTask 3489// API call, and error handling. 3490// 3491// This method is useful when you want to inject custom logic or configuration 3492// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3493// 3494// 3495// // Example sending a request using the RunTaskRequest method. 3496// req, resp := client.RunTaskRequest(params) 3497// 3498// err := req.Send() 3499// if err == nil { // resp is now filled 3500// fmt.Println(resp) 3501// } 3502// 3503// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3504func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 3505 op := &request.Operation{ 3506 Name: opRunTask, 3507 HTTPMethod: "POST", 3508 HTTPPath: "/", 3509 } 3510 3511 if input == nil { 3512 input = &RunTaskInput{} 3513 } 3514 3515 output = &RunTaskOutput{} 3516 req = c.newRequest(op, input, output) 3517 return 3518} 3519 3520// RunTask API operation for Amazon EC2 Container Service. 3521// 3522// Starts a new task using the specified task definition. 3523// 3524// You can allow Amazon ECS to place tasks for you, or you can customize how 3525// Amazon ECS places tasks using placement constraints and placement strategies. 3526// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3527// in the Amazon Elastic Container Service Developer Guide. 3528// 3529// Alternatively, you can use StartTask to use your own scheduler or place tasks 3530// manually on specific container instances. 3531// 3532// The Amazon ECS API follows an eventual consistency model, due to the distributed 3533// nature of the system supporting the API. This means that the result of an 3534// API command you run that affects your Amazon ECS resources might not be immediately 3535// visible to all subsequent commands you run. Keep this in mind when you carry 3536// out an API command that immediately follows a previous API command. 3537// 3538// To manage eventual consistency, you can do the following: 3539// 3540// * Confirm the state of the resource before you run a command to modify 3541// it. Run the DescribeTasks command using an exponential backoff algorithm 3542// to ensure that you allow enough time for the previous command to propagate 3543// through the system. To do this, run the DescribeTasks command repeatedly, 3544// starting with a couple of seconds of wait time and increasing gradually 3545// up to five minutes of wait time. 3546// 3547// * Add wait time between subsequent commands, even if the DescribeTasks 3548// command returns an accurate response. Apply an exponential backoff algorithm 3549// starting with a couple of seconds of wait time, and increase gradually 3550// up to about five minutes of wait time. 3551// 3552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3553// with awserr.Error's Code and Message methods to get detailed information about 3554// the error. 3555// 3556// See the AWS API reference guide for Amazon EC2 Container Service's 3557// API operation RunTask for usage and error information. 3558// 3559// Returned Error Codes: 3560// * ErrCodeServerException "ServerException" 3561// These errors are usually caused by a server issue. 3562// 3563// * ErrCodeClientException "ClientException" 3564// These errors are usually caused by a client action, such as using an action 3565// or resource on behalf of a user that doesn't have permissions to use the 3566// action or resource, or specifying an identifier that is not valid. 3567// 3568// * ErrCodeInvalidParameterException "InvalidParameterException" 3569// The specified parameter is invalid. Review the available parameters for the 3570// API request. 3571// 3572// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3573// The specified cluster could not be found. You can view your available clusters 3574// with ListClusters. Amazon ECS clusters are Region-specific. 3575// 3576// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 3577// The specified task is not supported in this Region. 3578// 3579// * ErrCodePlatformUnknownException "PlatformUnknownException" 3580// The specified platform version does not exist. 3581// 3582// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 3583// The specified platform version does not satisfy the task definition's required 3584// capabilities. 3585// 3586// * ErrCodeAccessDeniedException "AccessDeniedException" 3587// You do not have authorization to perform the requested action. 3588// 3589// * ErrCodeBlockedException "BlockedException" 3590// Your AWS account has been blocked. For more information, contact AWS Support 3591// (http://aws.amazon.com/contact-us/). 3592// 3593// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3594func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 3595 req, out := c.RunTaskRequest(input) 3596 return out, req.Send() 3597} 3598 3599// RunTaskWithContext is the same as RunTask with the addition of 3600// the ability to pass a context and additional request options. 3601// 3602// See RunTask for details on how to use this API operation. 3603// 3604// The context must be non-nil and will be used for request cancellation. If 3605// the context is nil a panic will occur. In the future the SDK may create 3606// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3607// for more information on using Contexts. 3608func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 3609 req, out := c.RunTaskRequest(input) 3610 req.SetContext(ctx) 3611 req.ApplyOptions(opts...) 3612 return out, req.Send() 3613} 3614 3615const opStartTask = "StartTask" 3616 3617// StartTaskRequest generates a "aws/request.Request" representing the 3618// client's request for the StartTask operation. The "output" return 3619// value will be populated with the request's response once the request completes 3620// successfully. 3621// 3622// Use "Send" method on the returned Request to send the API call to the service. 3623// the "output" return value is not valid until after Send returns without error. 3624// 3625// See StartTask for more information on using the StartTask 3626// API call, and error handling. 3627// 3628// This method is useful when you want to inject custom logic or configuration 3629// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3630// 3631// 3632// // Example sending a request using the StartTaskRequest method. 3633// req, resp := client.StartTaskRequest(params) 3634// 3635// err := req.Send() 3636// if err == nil { // resp is now filled 3637// fmt.Println(resp) 3638// } 3639// 3640// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 3641func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 3642 op := &request.Operation{ 3643 Name: opStartTask, 3644 HTTPMethod: "POST", 3645 HTTPPath: "/", 3646 } 3647 3648 if input == nil { 3649 input = &StartTaskInput{} 3650 } 3651 3652 output = &StartTaskOutput{} 3653 req = c.newRequest(op, input, output) 3654 return 3655} 3656 3657// StartTask API operation for Amazon EC2 Container Service. 3658// 3659// Starts a new task from the specified task definition on the specified container 3660// instance or instances. 3661// 3662// Alternatively, you can use RunTask to place tasks for you. For more information, 3663// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3664// in the Amazon Elastic Container Service Developer Guide. 3665// 3666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3667// with awserr.Error's Code and Message methods to get detailed information about 3668// the error. 3669// 3670// See the AWS API reference guide for Amazon EC2 Container Service's 3671// API operation StartTask for usage and error information. 3672// 3673// Returned Error Codes: 3674// * ErrCodeServerException "ServerException" 3675// These errors are usually caused by a server issue. 3676// 3677// * ErrCodeClientException "ClientException" 3678// These errors are usually caused by a client action, such as using an action 3679// or resource on behalf of a user that doesn't have permissions to use the 3680// action or resource, or specifying an identifier that is not valid. 3681// 3682// * ErrCodeInvalidParameterException "InvalidParameterException" 3683// The specified parameter is invalid. Review the available parameters for the 3684// API request. 3685// 3686// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3687// The specified cluster could not be found. You can view your available clusters 3688// with ListClusters. Amazon ECS clusters are Region-specific. 3689// 3690// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 3691func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 3692 req, out := c.StartTaskRequest(input) 3693 return out, req.Send() 3694} 3695 3696// StartTaskWithContext is the same as StartTask with the addition of 3697// the ability to pass a context and additional request options. 3698// 3699// See StartTask for details on how to use this API operation. 3700// 3701// The context must be non-nil and will be used for request cancellation. If 3702// the context is nil a panic will occur. In the future the SDK may create 3703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3704// for more information on using Contexts. 3705func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 3706 req, out := c.StartTaskRequest(input) 3707 req.SetContext(ctx) 3708 req.ApplyOptions(opts...) 3709 return out, req.Send() 3710} 3711 3712const opStopTask = "StopTask" 3713 3714// StopTaskRequest generates a "aws/request.Request" representing the 3715// client's request for the StopTask operation. The "output" return 3716// value will be populated with the request's response once the request completes 3717// successfully. 3718// 3719// Use "Send" method on the returned Request to send the API call to the service. 3720// the "output" return value is not valid until after Send returns without error. 3721// 3722// See StopTask for more information on using the StopTask 3723// API call, and error handling. 3724// 3725// This method is useful when you want to inject custom logic or configuration 3726// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3727// 3728// 3729// // Example sending a request using the StopTaskRequest method. 3730// req, resp := client.StopTaskRequest(params) 3731// 3732// err := req.Send() 3733// if err == nil { // resp is now filled 3734// fmt.Println(resp) 3735// } 3736// 3737// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 3738func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 3739 op := &request.Operation{ 3740 Name: opStopTask, 3741 HTTPMethod: "POST", 3742 HTTPPath: "/", 3743 } 3744 3745 if input == nil { 3746 input = &StopTaskInput{} 3747 } 3748 3749 output = &StopTaskOutput{} 3750 req = c.newRequest(op, input, output) 3751 return 3752} 3753 3754// StopTask API operation for Amazon EC2 Container Service. 3755// 3756// Stops a running task. Any tags associated with the task will be deleted. 3757// 3758// When StopTask is called on a task, the equivalent of docker stop is issued 3759// to the containers running in the task. This results in a SIGTERM value and 3760// a default 30-second timeout, after which the SIGKILL value is sent and the 3761// containers are forcibly stopped. If the container handles the SIGTERM value 3762// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 3763// is sent. 3764// 3765// The default 30-second timeout can be configured on the Amazon ECS container 3766// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 3767// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3768// in the Amazon Elastic Container Service Developer Guide. 3769// 3770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3771// with awserr.Error's Code and Message methods to get detailed information about 3772// the error. 3773// 3774// See the AWS API reference guide for Amazon EC2 Container Service's 3775// API operation StopTask for usage and error information. 3776// 3777// Returned Error Codes: 3778// * ErrCodeServerException "ServerException" 3779// These errors are usually caused by a server issue. 3780// 3781// * ErrCodeClientException "ClientException" 3782// These errors are usually caused by a client action, such as using an action 3783// or resource on behalf of a user that doesn't have permissions to use the 3784// action or resource, or specifying an identifier that is not valid. 3785// 3786// * ErrCodeInvalidParameterException "InvalidParameterException" 3787// The specified parameter is invalid. Review the available parameters for the 3788// API request. 3789// 3790// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3791// The specified cluster could not be found. You can view your available clusters 3792// with ListClusters. Amazon ECS clusters are Region-specific. 3793// 3794// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 3795func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 3796 req, out := c.StopTaskRequest(input) 3797 return out, req.Send() 3798} 3799 3800// StopTaskWithContext is the same as StopTask with the addition of 3801// the ability to pass a context and additional request options. 3802// 3803// See StopTask for details on how to use this API operation. 3804// 3805// The context must be non-nil and will be used for request cancellation. If 3806// the context is nil a panic will occur. In the future the SDK may create 3807// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3808// for more information on using Contexts. 3809func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 3810 req, out := c.StopTaskRequest(input) 3811 req.SetContext(ctx) 3812 req.ApplyOptions(opts...) 3813 return out, req.Send() 3814} 3815 3816const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 3817 3818// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 3819// client's request for the SubmitAttachmentStateChanges operation. The "output" return 3820// value will be populated with the request's response once the request completes 3821// successfully. 3822// 3823// Use "Send" method on the returned Request to send the API call to the service. 3824// the "output" return value is not valid until after Send returns without error. 3825// 3826// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 3827// API call, and error handling. 3828// 3829// This method is useful when you want to inject custom logic or configuration 3830// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3831// 3832// 3833// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 3834// req, resp := client.SubmitAttachmentStateChangesRequest(params) 3835// 3836// err := req.Send() 3837// if err == nil { // resp is now filled 3838// fmt.Println(resp) 3839// } 3840// 3841// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 3842func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 3843 op := &request.Operation{ 3844 Name: opSubmitAttachmentStateChanges, 3845 HTTPMethod: "POST", 3846 HTTPPath: "/", 3847 } 3848 3849 if input == nil { 3850 input = &SubmitAttachmentStateChangesInput{} 3851 } 3852 3853 output = &SubmitAttachmentStateChangesOutput{} 3854 req = c.newRequest(op, input, output) 3855 return 3856} 3857 3858// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 3859// 3860// 3861// This action is only used by the Amazon ECS agent, and it is not intended 3862// for use outside of the agent. 3863// 3864// Sent to acknowledge that an attachment changed states. 3865// 3866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3867// with awserr.Error's Code and Message methods to get detailed information about 3868// the error. 3869// 3870// See the AWS API reference guide for Amazon EC2 Container Service's 3871// API operation SubmitAttachmentStateChanges for usage and error information. 3872// 3873// Returned Error Codes: 3874// * ErrCodeServerException "ServerException" 3875// These errors are usually caused by a server issue. 3876// 3877// * ErrCodeClientException "ClientException" 3878// These errors are usually caused by a client action, such as using an action 3879// or resource on behalf of a user that doesn't have permissions to use the 3880// action or resource, or specifying an identifier that is not valid. 3881// 3882// * ErrCodeAccessDeniedException "AccessDeniedException" 3883// You do not have authorization to perform the requested action. 3884// 3885// * ErrCodeInvalidParameterException "InvalidParameterException" 3886// The specified parameter is invalid. Review the available parameters for the 3887// API request. 3888// 3889// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 3890func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 3891 req, out := c.SubmitAttachmentStateChangesRequest(input) 3892 return out, req.Send() 3893} 3894 3895// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 3896// the ability to pass a context and additional request options. 3897// 3898// See SubmitAttachmentStateChanges for details on how to use this API operation. 3899// 3900// The context must be non-nil and will be used for request cancellation. If 3901// the context is nil a panic will occur. In the future the SDK may create 3902// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3903// for more information on using Contexts. 3904func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 3905 req, out := c.SubmitAttachmentStateChangesRequest(input) 3906 req.SetContext(ctx) 3907 req.ApplyOptions(opts...) 3908 return out, req.Send() 3909} 3910 3911const opSubmitContainerStateChange = "SubmitContainerStateChange" 3912 3913// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 3914// client's request for the SubmitContainerStateChange operation. The "output" return 3915// value will be populated with the request's response once the request completes 3916// successfully. 3917// 3918// Use "Send" method on the returned Request to send the API call to the service. 3919// the "output" return value is not valid until after Send returns without error. 3920// 3921// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 3922// API call, and error handling. 3923// 3924// This method is useful when you want to inject custom logic or configuration 3925// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3926// 3927// 3928// // Example sending a request using the SubmitContainerStateChangeRequest method. 3929// req, resp := client.SubmitContainerStateChangeRequest(params) 3930// 3931// err := req.Send() 3932// if err == nil { // resp is now filled 3933// fmt.Println(resp) 3934// } 3935// 3936// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 3937func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 3938 op := &request.Operation{ 3939 Name: opSubmitContainerStateChange, 3940 HTTPMethod: "POST", 3941 HTTPPath: "/", 3942 } 3943 3944 if input == nil { 3945 input = &SubmitContainerStateChangeInput{} 3946 } 3947 3948 output = &SubmitContainerStateChangeOutput{} 3949 req = c.newRequest(op, input, output) 3950 return 3951} 3952 3953// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 3954// 3955// 3956// This action is only used by the Amazon ECS agent, and it is not intended 3957// for use outside of the agent. 3958// 3959// Sent to acknowledge that a container changed states. 3960// 3961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3962// with awserr.Error's Code and Message methods to get detailed information about 3963// the error. 3964// 3965// See the AWS API reference guide for Amazon EC2 Container Service's 3966// API operation SubmitContainerStateChange for usage and error information. 3967// 3968// Returned Error Codes: 3969// * ErrCodeServerException "ServerException" 3970// These errors are usually caused by a server issue. 3971// 3972// * ErrCodeClientException "ClientException" 3973// These errors are usually caused by a client action, such as using an action 3974// or resource on behalf of a user that doesn't have permissions to use the 3975// action or resource, or specifying an identifier that is not valid. 3976// 3977// * ErrCodeAccessDeniedException "AccessDeniedException" 3978// You do not have authorization to perform the requested action. 3979// 3980// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 3981func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 3982 req, out := c.SubmitContainerStateChangeRequest(input) 3983 return out, req.Send() 3984} 3985 3986// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 3987// the ability to pass a context and additional request options. 3988// 3989// See SubmitContainerStateChange for details on how to use this API operation. 3990// 3991// The context must be non-nil and will be used for request cancellation. If 3992// the context is nil a panic will occur. In the future the SDK may create 3993// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3994// for more information on using Contexts. 3995func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 3996 req, out := c.SubmitContainerStateChangeRequest(input) 3997 req.SetContext(ctx) 3998 req.ApplyOptions(opts...) 3999 return out, req.Send() 4000} 4001 4002const opSubmitTaskStateChange = "SubmitTaskStateChange" 4003 4004// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4005// client's request for the SubmitTaskStateChange operation. The "output" return 4006// value will be populated with the request's response once the request completes 4007// successfully. 4008// 4009// Use "Send" method on the returned Request to send the API call to the service. 4010// the "output" return value is not valid until after Send returns without error. 4011// 4012// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4013// API call, and error handling. 4014// 4015// This method is useful when you want to inject custom logic or configuration 4016// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4017// 4018// 4019// // Example sending a request using the SubmitTaskStateChangeRequest method. 4020// req, resp := client.SubmitTaskStateChangeRequest(params) 4021// 4022// err := req.Send() 4023// if err == nil { // resp is now filled 4024// fmt.Println(resp) 4025// } 4026// 4027// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4028func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4029 op := &request.Operation{ 4030 Name: opSubmitTaskStateChange, 4031 HTTPMethod: "POST", 4032 HTTPPath: "/", 4033 } 4034 4035 if input == nil { 4036 input = &SubmitTaskStateChangeInput{} 4037 } 4038 4039 output = &SubmitTaskStateChangeOutput{} 4040 req = c.newRequest(op, input, output) 4041 return 4042} 4043 4044// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4045// 4046// 4047// This action is only used by the Amazon ECS agent, and it is not intended 4048// for use outside of the agent. 4049// 4050// Sent to acknowledge that a task changed states. 4051// 4052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4053// with awserr.Error's Code and Message methods to get detailed information about 4054// the error. 4055// 4056// See the AWS API reference guide for Amazon EC2 Container Service's 4057// API operation SubmitTaskStateChange for usage and error information. 4058// 4059// Returned Error Codes: 4060// * ErrCodeServerException "ServerException" 4061// These errors are usually caused by a server issue. 4062// 4063// * ErrCodeClientException "ClientException" 4064// These errors are usually caused by a client action, such as using an action 4065// or resource on behalf of a user that doesn't have permissions to use the 4066// action or resource, or specifying an identifier that is not valid. 4067// 4068// * ErrCodeAccessDeniedException "AccessDeniedException" 4069// You do not have authorization to perform the requested action. 4070// 4071// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4072func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4073 req, out := c.SubmitTaskStateChangeRequest(input) 4074 return out, req.Send() 4075} 4076 4077// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4078// the ability to pass a context and additional request options. 4079// 4080// See SubmitTaskStateChange for details on how to use this API operation. 4081// 4082// The context must be non-nil and will be used for request cancellation. If 4083// the context is nil a panic will occur. In the future the SDK may create 4084// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4085// for more information on using Contexts. 4086func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4087 req, out := c.SubmitTaskStateChangeRequest(input) 4088 req.SetContext(ctx) 4089 req.ApplyOptions(opts...) 4090 return out, req.Send() 4091} 4092 4093const opTagResource = "TagResource" 4094 4095// TagResourceRequest generates a "aws/request.Request" representing the 4096// client's request for the TagResource operation. The "output" return 4097// value will be populated with the request's response once the request completes 4098// successfully. 4099// 4100// Use "Send" method on the returned Request to send the API call to the service. 4101// the "output" return value is not valid until after Send returns without error. 4102// 4103// See TagResource for more information on using the TagResource 4104// API call, and error handling. 4105// 4106// This method is useful when you want to inject custom logic or configuration 4107// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4108// 4109// 4110// // Example sending a request using the TagResourceRequest method. 4111// req, resp := client.TagResourceRequest(params) 4112// 4113// err := req.Send() 4114// if err == nil { // resp is now filled 4115// fmt.Println(resp) 4116// } 4117// 4118// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4119func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4120 op := &request.Operation{ 4121 Name: opTagResource, 4122 HTTPMethod: "POST", 4123 HTTPPath: "/", 4124 } 4125 4126 if input == nil { 4127 input = &TagResourceInput{} 4128 } 4129 4130 output = &TagResourceOutput{} 4131 req = c.newRequest(op, input, output) 4132 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4133 return 4134} 4135 4136// TagResource API operation for Amazon EC2 Container Service. 4137// 4138// Associates the specified tags to a resource with the specified resourceArn. 4139// If existing tags on a resource are not specified in the request parameters, 4140// they are not changed. When a resource is deleted, the tags associated with 4141// that resource are deleted as well. 4142// 4143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4144// with awserr.Error's Code and Message methods to get detailed information about 4145// the error. 4146// 4147// See the AWS API reference guide for Amazon EC2 Container Service's 4148// API operation TagResource for usage and error information. 4149// 4150// Returned Error Codes: 4151// * ErrCodeServerException "ServerException" 4152// These errors are usually caused by a server issue. 4153// 4154// * ErrCodeClientException "ClientException" 4155// These errors are usually caused by a client action, such as using an action 4156// or resource on behalf of a user that doesn't have permissions to use the 4157// action or resource, or specifying an identifier that is not valid. 4158// 4159// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4160// The specified cluster could not be found. You can view your available clusters 4161// with ListClusters. Amazon ECS clusters are Region-specific. 4162// 4163// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4164// The specified resource could not be found. 4165// 4166// * ErrCodeInvalidParameterException "InvalidParameterException" 4167// The specified parameter is invalid. Review the available parameters for the 4168// API request. 4169// 4170// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4171func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4172 req, out := c.TagResourceRequest(input) 4173 return out, req.Send() 4174} 4175 4176// TagResourceWithContext is the same as TagResource with the addition of 4177// the ability to pass a context and additional request options. 4178// 4179// See TagResource for details on how to use this API operation. 4180// 4181// The context must be non-nil and will be used for request cancellation. If 4182// the context is nil a panic will occur. In the future the SDK may create 4183// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4184// for more information on using Contexts. 4185func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4186 req, out := c.TagResourceRequest(input) 4187 req.SetContext(ctx) 4188 req.ApplyOptions(opts...) 4189 return out, req.Send() 4190} 4191 4192const opUntagResource = "UntagResource" 4193 4194// UntagResourceRequest generates a "aws/request.Request" representing the 4195// client's request for the UntagResource operation. The "output" return 4196// value will be populated with the request's response once the request completes 4197// successfully. 4198// 4199// Use "Send" method on the returned Request to send the API call to the service. 4200// the "output" return value is not valid until after Send returns without error. 4201// 4202// See UntagResource for more information on using the UntagResource 4203// API call, and error handling. 4204// 4205// This method is useful when you want to inject custom logic or configuration 4206// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4207// 4208// 4209// // Example sending a request using the UntagResourceRequest method. 4210// req, resp := client.UntagResourceRequest(params) 4211// 4212// err := req.Send() 4213// if err == nil { // resp is now filled 4214// fmt.Println(resp) 4215// } 4216// 4217// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4218func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4219 op := &request.Operation{ 4220 Name: opUntagResource, 4221 HTTPMethod: "POST", 4222 HTTPPath: "/", 4223 } 4224 4225 if input == nil { 4226 input = &UntagResourceInput{} 4227 } 4228 4229 output = &UntagResourceOutput{} 4230 req = c.newRequest(op, input, output) 4231 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4232 return 4233} 4234 4235// UntagResource API operation for Amazon EC2 Container Service. 4236// 4237// Deletes specified tags from a resource. 4238// 4239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4240// with awserr.Error's Code and Message methods to get detailed information about 4241// the error. 4242// 4243// See the AWS API reference guide for Amazon EC2 Container Service's 4244// API operation UntagResource for usage and error information. 4245// 4246// Returned Error Codes: 4247// * ErrCodeServerException "ServerException" 4248// These errors are usually caused by a server issue. 4249// 4250// * ErrCodeClientException "ClientException" 4251// These errors are usually caused by a client action, such as using an action 4252// or resource on behalf of a user that doesn't have permissions to use the 4253// action or resource, or specifying an identifier that is not valid. 4254// 4255// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4256// The specified cluster could not be found. You can view your available clusters 4257// with ListClusters. Amazon ECS clusters are Region-specific. 4258// 4259// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4260// The specified resource could not be found. 4261// 4262// * ErrCodeInvalidParameterException "InvalidParameterException" 4263// The specified parameter is invalid. Review the available parameters for the 4264// API request. 4265// 4266// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4267func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4268 req, out := c.UntagResourceRequest(input) 4269 return out, req.Send() 4270} 4271 4272// UntagResourceWithContext is the same as UntagResource with the addition of 4273// the ability to pass a context and additional request options. 4274// 4275// See UntagResource for details on how to use this API operation. 4276// 4277// The context must be non-nil and will be used for request cancellation. If 4278// the context is nil a panic will occur. In the future the SDK may create 4279// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4280// for more information on using Contexts. 4281func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4282 req, out := c.UntagResourceRequest(input) 4283 req.SetContext(ctx) 4284 req.ApplyOptions(opts...) 4285 return out, req.Send() 4286} 4287 4288const opUpdateContainerAgent = "UpdateContainerAgent" 4289 4290// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4291// client's request for the UpdateContainerAgent operation. The "output" return 4292// value will be populated with the request's response once the request completes 4293// successfully. 4294// 4295// Use "Send" method on the returned Request to send the API call to the service. 4296// the "output" return value is not valid until after Send returns without error. 4297// 4298// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4299// API call, and error handling. 4300// 4301// This method is useful when you want to inject custom logic or configuration 4302// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4303// 4304// 4305// // Example sending a request using the UpdateContainerAgentRequest method. 4306// req, resp := client.UpdateContainerAgentRequest(params) 4307// 4308// err := req.Send() 4309// if err == nil { // resp is now filled 4310// fmt.Println(resp) 4311// } 4312// 4313// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4314func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4315 op := &request.Operation{ 4316 Name: opUpdateContainerAgent, 4317 HTTPMethod: "POST", 4318 HTTPPath: "/", 4319 } 4320 4321 if input == nil { 4322 input = &UpdateContainerAgentInput{} 4323 } 4324 4325 output = &UpdateContainerAgentOutput{} 4326 req = c.newRequest(op, input, output) 4327 return 4328} 4329 4330// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4331// 4332// Updates the Amazon ECS container agent on a specified container instance. 4333// Updating the Amazon ECS container agent does not interrupt running tasks 4334// or services on the container instance. The process for updating the agent 4335// differs depending on whether your container instance was launched with the 4336// Amazon ECS-optimized AMI or another operating system. 4337// 4338// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4339// with the ecs-init service installed and running. For help updating the Amazon 4340// ECS container agent on other operating systems, see Manually Updating the 4341// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4342// in the Amazon Elastic Container Service Developer Guide. 4343// 4344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4345// with awserr.Error's Code and Message methods to get detailed information about 4346// the error. 4347// 4348// See the AWS API reference guide for Amazon EC2 Container Service's 4349// API operation UpdateContainerAgent for usage and error information. 4350// 4351// Returned Error Codes: 4352// * ErrCodeServerException "ServerException" 4353// These errors are usually caused by a server issue. 4354// 4355// * ErrCodeClientException "ClientException" 4356// These errors are usually caused by a client action, such as using an action 4357// or resource on behalf of a user that doesn't have permissions to use the 4358// action or resource, or specifying an identifier that is not valid. 4359// 4360// * ErrCodeInvalidParameterException "InvalidParameterException" 4361// The specified parameter is invalid. Review the available parameters for the 4362// API request. 4363// 4364// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4365// The specified cluster could not be found. You can view your available clusters 4366// with ListClusters. Amazon ECS clusters are Region-specific. 4367// 4368// * ErrCodeUpdateInProgressException "UpdateInProgressException" 4369// There is already a current Amazon ECS container agent update in progress 4370// on the specified container instance. If the container agent becomes disconnected 4371// while it is in a transitional stage, such as PENDING or STAGING, the update 4372// process can get stuck in that state. However, when the agent reconnects, 4373// it resumes where it stopped previously. 4374// 4375// * ErrCodeNoUpdateAvailableException "NoUpdateAvailableException" 4376// There is no update available for this Amazon ECS container agent. This could 4377// be because the agent is already running the latest version, or it is so old 4378// that there is no update path to the current version. 4379// 4380// * ErrCodeMissingVersionException "MissingVersionException" 4381// Amazon ECS is unable to determine the current version of the Amazon ECS container 4382// agent on the container instance and does not have enough information to proceed 4383// with an update. This could be because the agent running on the container 4384// instance is an older or custom version that does not use our version information. 4385// 4386// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4387func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 4388 req, out := c.UpdateContainerAgentRequest(input) 4389 return out, req.Send() 4390} 4391 4392// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 4393// the ability to pass a context and additional request options. 4394// 4395// See UpdateContainerAgent for details on how to use this API operation. 4396// 4397// The context must be non-nil and will be used for request cancellation. If 4398// the context is nil a panic will occur. In the future the SDK may create 4399// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4400// for more information on using Contexts. 4401func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 4402 req, out := c.UpdateContainerAgentRequest(input) 4403 req.SetContext(ctx) 4404 req.ApplyOptions(opts...) 4405 return out, req.Send() 4406} 4407 4408const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 4409 4410// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 4411// client's request for the UpdateContainerInstancesState operation. The "output" return 4412// value will be populated with the request's response once the request completes 4413// successfully. 4414// 4415// Use "Send" method on the returned Request to send the API call to the service. 4416// the "output" return value is not valid until after Send returns without error. 4417// 4418// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 4419// API call, and error handling. 4420// 4421// This method is useful when you want to inject custom logic or configuration 4422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4423// 4424// 4425// // Example sending a request using the UpdateContainerInstancesStateRequest method. 4426// req, resp := client.UpdateContainerInstancesStateRequest(params) 4427// 4428// err := req.Send() 4429// if err == nil { // resp is now filled 4430// fmt.Println(resp) 4431// } 4432// 4433// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4434func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 4435 op := &request.Operation{ 4436 Name: opUpdateContainerInstancesState, 4437 HTTPMethod: "POST", 4438 HTTPPath: "/", 4439 } 4440 4441 if input == nil { 4442 input = &UpdateContainerInstancesStateInput{} 4443 } 4444 4445 output = &UpdateContainerInstancesStateOutput{} 4446 req = c.newRequest(op, input, output) 4447 return 4448} 4449 4450// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 4451// 4452// Modifies the status of an Amazon ECS container instance. 4453// 4454// Once a container instance has reached an ACTIVE state, you can change the 4455// status of a container instance to DRAINING to manually remove an instance 4456// from a cluster, for example to perform system updates, update the Docker 4457// daemon, or scale down the cluster size. 4458// 4459// A container instance cannot be changed to DRAINING until it has reached an 4460// ACTIVE status. If the instance is in any other status, an error will be received. 4461// 4462// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 4463// from being scheduled for placement on the container instance and replacement 4464// service tasks are started on other container instances in the cluster if 4465// the resources are available. Service tasks on the container instance that 4466// are in the PENDING state are stopped immediately. 4467// 4468// Service tasks on the container instance that are in the RUNNING state are 4469// stopped and replaced according to the service's deployment configuration 4470// parameters, minimumHealthyPercent and maximumPercent. You can change the 4471// deployment configuration of your service using UpdateService. 4472// 4473// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 4474// temporarily during task replacement. For example, desiredCount is four 4475// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 4476// before starting two new tasks. If the minimum is 100%, the service scheduler 4477// can't remove existing tasks until the replacement tasks are considered 4478// healthy. Tasks for services that do not use a load balancer are considered 4479// healthy if they are in the RUNNING state. Tasks for services that use 4480// a load balancer are considered healthy if they are in the RUNNING state 4481// and the container instance they are hosted on is reported as healthy by 4482// the load balancer. 4483// 4484// * The maximumPercent parameter represents an upper limit on the number 4485// of running tasks during task replacement, which enables you to define 4486// the replacement batch size. For example, if desiredCount is four tasks, 4487// a maximum of 200% starts four new tasks before stopping the four tasks 4488// to be drained, provided that the cluster resources required to do this 4489// are available. If the maximum is 100%, then replacement tasks can't start 4490// until the draining tasks have stopped. 4491// 4492// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 4493// You must wait for them to finish or stop them manually. 4494// 4495// A container instance has completed draining when it has no more RUNNING tasks. 4496// You can verify this using ListTasks. 4497// 4498// When a container instance has been drained, you can set a container instance 4499// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 4500// can begin scheduling tasks on the instance again. 4501// 4502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4503// with awserr.Error's Code and Message methods to get detailed information about 4504// the error. 4505// 4506// See the AWS API reference guide for Amazon EC2 Container Service's 4507// API operation UpdateContainerInstancesState for usage and error information. 4508// 4509// Returned Error Codes: 4510// * ErrCodeServerException "ServerException" 4511// These errors are usually caused by a server issue. 4512// 4513// * ErrCodeClientException "ClientException" 4514// These errors are usually caused by a client action, such as using an action 4515// or resource on behalf of a user that doesn't have permissions to use the 4516// action or resource, or specifying an identifier that is not valid. 4517// 4518// * ErrCodeInvalidParameterException "InvalidParameterException" 4519// The specified parameter is invalid. Review the available parameters for the 4520// API request. 4521// 4522// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4523// The specified cluster could not be found. You can view your available clusters 4524// with ListClusters. Amazon ECS clusters are Region-specific. 4525// 4526// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4527func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 4528 req, out := c.UpdateContainerInstancesStateRequest(input) 4529 return out, req.Send() 4530} 4531 4532// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 4533// the ability to pass a context and additional request options. 4534// 4535// See UpdateContainerInstancesState for details on how to use this API operation. 4536// 4537// The context must be non-nil and will be used for request cancellation. If 4538// the context is nil a panic will occur. In the future the SDK may create 4539// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4540// for more information on using Contexts. 4541func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 4542 req, out := c.UpdateContainerInstancesStateRequest(input) 4543 req.SetContext(ctx) 4544 req.ApplyOptions(opts...) 4545 return out, req.Send() 4546} 4547 4548const opUpdateService = "UpdateService" 4549 4550// UpdateServiceRequest generates a "aws/request.Request" representing the 4551// client's request for the UpdateService operation. The "output" return 4552// value will be populated with the request's response once the request completes 4553// successfully. 4554// 4555// Use "Send" method on the returned Request to send the API call to the service. 4556// the "output" return value is not valid until after Send returns without error. 4557// 4558// See UpdateService for more information on using the UpdateService 4559// API call, and error handling. 4560// 4561// This method is useful when you want to inject custom logic or configuration 4562// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4563// 4564// 4565// // Example sending a request using the UpdateServiceRequest method. 4566// req, resp := client.UpdateServiceRequest(params) 4567// 4568// err := req.Send() 4569// if err == nil { // resp is now filled 4570// fmt.Println(resp) 4571// } 4572// 4573// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 4574func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 4575 op := &request.Operation{ 4576 Name: opUpdateService, 4577 HTTPMethod: "POST", 4578 HTTPPath: "/", 4579 } 4580 4581 if input == nil { 4582 input = &UpdateServiceInput{} 4583 } 4584 4585 output = &UpdateServiceOutput{} 4586 req = c.newRequest(op, input, output) 4587 return 4588} 4589 4590// UpdateService API operation for Amazon EC2 Container Service. 4591// 4592// Modifies the parameters of a service. 4593// 4594// For services using the rolling update (ECS) deployment controller, the desired 4595// count, deployment configuration, network configuration, or task definition 4596// used can be updated. 4597// 4598// For services using the blue/green (CODE_DEPLOY) deployment controller, only 4599// the desired count, deployment configuration, and health check grace period 4600// can be updated using this API. If the network configuration, platform version, 4601// or task definition need to be updated, a new AWS CodeDeploy deployment should 4602// be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 4603// in the AWS CodeDeploy API Reference. 4604// 4605// For services using an external deployment controller, you can update only 4606// the desired count and health check grace period using this API. If the launch 4607// type, load balancer, network configuration, platform version, or task definition 4608// need to be updated, you should create a new task set. For more information, 4609// see CreateTaskSet. 4610// 4611// You can add to or subtract from the number of instantiations of a task definition 4612// in a service by specifying the cluster that the service is running in and 4613// a new desiredCount parameter. 4614// 4615// If you have updated the Docker image of your application, you can create 4616// a new task definition with that image and deploy it to your service. The 4617// service scheduler uses the minimum healthy percent and maximum percent parameters 4618// (in the service's deployment configuration) to determine the deployment strategy. 4619// 4620// If your updated Docker image uses the same tag as what is in the existing 4621// task definition for your service (for example, my_image:latest), you do not 4622// need to create a new revision of your task definition. You can update the 4623// service using the forceNewDeployment option. The new tasks launched by the 4624// deployment pull the current image/tag combination from your repository when 4625// they start. 4626// 4627// You can also update the deployment configuration of a service. When a deployment 4628// is triggered by updating the task definition of a service, the service scheduler 4629// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 4630// to determine the deployment strategy. 4631// 4632// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 4633// temporarily during a deployment. For example, if desiredCount is four 4634// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 4635// before starting two new tasks. Tasks for services that do not use a load 4636// balancer are considered healthy if they are in the RUNNING state. Tasks 4637// for services that use a load balancer are considered healthy if they are 4638// in the RUNNING state and the container instance they are hosted on is 4639// reported as healthy by the load balancer. 4640// 4641// * The maximumPercent parameter represents an upper limit on the number 4642// of running tasks during a deployment, which enables you to define the 4643// deployment batch size. For example, if desiredCount is four tasks, a maximum 4644// of 200% starts four new tasks before stopping the four older tasks (provided 4645// that the cluster resources required to do this are available). 4646// 4647// When UpdateService stops a task during a deployment, the equivalent of docker 4648// stop is issued to the containers running in the task. This results in a SIGTERM 4649// and a 30-second timeout, after which SIGKILL is sent and the containers are 4650// forcibly stopped. If the container handles the SIGTERM gracefully and exits 4651// within 30 seconds from receiving it, no SIGKILL is sent. 4652// 4653// When the service scheduler launches new tasks, it determines task placement 4654// in your cluster with the following logic: 4655// 4656// * Determine which of the container instances in your cluster can support 4657// your service's task definition (for example, they have the required CPU, 4658// memory, ports, and container instance attributes). 4659// 4660// * By default, the service scheduler attempts to balance tasks across Availability 4661// Zones in this manner (although you can choose a different placement strategy): 4662// Sort the valid container instances by the fewest number of running tasks 4663// for this service in the same Availability Zone as the instance. For example, 4664// if zone A has one running service task and zones B and C each have zero, 4665// valid container instances in either zone B or C are considered optimal 4666// for placement. Place the new service task on a valid container instance 4667// in an optimal Availability Zone (based on the previous steps), favoring 4668// container instances with the fewest number of running tasks for this service. 4669// 4670// When the service scheduler stops running tasks, it attempts to maintain balance 4671// across the Availability Zones in your cluster using the following logic: 4672// 4673// * Sort the container instances by the largest number of running tasks 4674// for this service in the same Availability Zone as the instance. For example, 4675// if zone A has one running service task and zones B and C each have two, 4676// container instances in either zone B or C are considered optimal for termination. 4677// 4678// * Stop the task on a container instance in an optimal Availability Zone 4679// (based on the previous steps), favoring container instances with the largest 4680// number of running tasks for this service. 4681// 4682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4683// with awserr.Error's Code and Message methods to get detailed information about 4684// the error. 4685// 4686// See the AWS API reference guide for Amazon EC2 Container Service's 4687// API operation UpdateService for usage and error information. 4688// 4689// Returned Error Codes: 4690// * ErrCodeServerException "ServerException" 4691// These errors are usually caused by a server issue. 4692// 4693// * ErrCodeClientException "ClientException" 4694// These errors are usually caused by a client action, such as using an action 4695// or resource on behalf of a user that doesn't have permissions to use the 4696// action or resource, or specifying an identifier that is not valid. 4697// 4698// * ErrCodeInvalidParameterException "InvalidParameterException" 4699// The specified parameter is invalid. Review the available parameters for the 4700// API request. 4701// 4702// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4703// The specified cluster could not be found. You can view your available clusters 4704// with ListClusters. Amazon ECS clusters are Region-specific. 4705// 4706// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 4707// The specified service could not be found. You can view your available services 4708// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 4709// 4710// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 4711// The specified service is not active. You can't update a service that is inactive. 4712// If you have previously deleted a service, you can re-create it with CreateService. 4713// 4714// * ErrCodePlatformUnknownException "PlatformUnknownException" 4715// The specified platform version does not exist. 4716// 4717// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 4718// The specified platform version does not satisfy the task definition's required 4719// capabilities. 4720// 4721// * ErrCodeAccessDeniedException "AccessDeniedException" 4722// You do not have authorization to perform the requested action. 4723// 4724// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 4725func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 4726 req, out := c.UpdateServiceRequest(input) 4727 return out, req.Send() 4728} 4729 4730// UpdateServiceWithContext is the same as UpdateService with the addition of 4731// the ability to pass a context and additional request options. 4732// 4733// See UpdateService for details on how to use this API operation. 4734// 4735// The context must be non-nil and will be used for request cancellation. If 4736// the context is nil a panic will occur. In the future the SDK may create 4737// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4738// for more information on using Contexts. 4739func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 4740 req, out := c.UpdateServiceRequest(input) 4741 req.SetContext(ctx) 4742 req.ApplyOptions(opts...) 4743 return out, req.Send() 4744} 4745 4746const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 4747 4748// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 4749// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 4750// value will be populated with the request's response once the request completes 4751// successfully. 4752// 4753// Use "Send" method on the returned Request to send the API call to the service. 4754// the "output" return value is not valid until after Send returns without error. 4755// 4756// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 4757// API call, and error handling. 4758// 4759// This method is useful when you want to inject custom logic or configuration 4760// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4761// 4762// 4763// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 4764// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 4765// 4766// err := req.Send() 4767// if err == nil { // resp is now filled 4768// fmt.Println(resp) 4769// } 4770// 4771// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 4772func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 4773 op := &request.Operation{ 4774 Name: opUpdateServicePrimaryTaskSet, 4775 HTTPMethod: "POST", 4776 HTTPPath: "/", 4777 } 4778 4779 if input == nil { 4780 input = &UpdateServicePrimaryTaskSetInput{} 4781 } 4782 4783 output = &UpdateServicePrimaryTaskSetOutput{} 4784 req = c.newRequest(op, input, output) 4785 return 4786} 4787 4788// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 4789// 4790// Modifies which task set in a service is the primary task set. Any parameters 4791// that are updated on the primary task set in a service will transition to 4792// the service. This is used when a service uses the EXTERNAL deployment controller 4793// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 4794// in the Amazon Elastic Container Service Developer Guide. 4795// 4796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4797// with awserr.Error's Code and Message methods to get detailed information about 4798// the error. 4799// 4800// See the AWS API reference guide for Amazon EC2 Container Service's 4801// API operation UpdateServicePrimaryTaskSet for usage and error information. 4802// 4803// Returned Error Codes: 4804// * ErrCodeServerException "ServerException" 4805// These errors are usually caused by a server issue. 4806// 4807// * ErrCodeClientException "ClientException" 4808// These errors are usually caused by a client action, such as using an action 4809// or resource on behalf of a user that doesn't have permissions to use the 4810// action or resource, or specifying an identifier that is not valid. 4811// 4812// * ErrCodeInvalidParameterException "InvalidParameterException" 4813// The specified parameter is invalid. Review the available parameters for the 4814// API request. 4815// 4816// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4817// The specified cluster could not be found. You can view your available clusters 4818// with ListClusters. Amazon ECS clusters are Region-specific. 4819// 4820// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 4821// The specified task is not supported in this Region. 4822// 4823// * ErrCodeAccessDeniedException "AccessDeniedException" 4824// You do not have authorization to perform the requested action. 4825// 4826// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 4827// The specified service could not be found. You can view your available services 4828// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 4829// 4830// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 4831// The specified service is not active. You can't update a service that is inactive. 4832// If you have previously deleted a service, you can re-create it with CreateService. 4833// 4834// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 4835// The specified task set could not be found. You can view your available container 4836// instances with DescribeTaskSets. Task sets are specific to each cluster, 4837// service and Region. 4838// 4839// * ErrCodeAccessDeniedException "AccessDeniedException" 4840// You do not have authorization to perform the requested action. 4841// 4842// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 4843func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 4844 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 4845 return out, req.Send() 4846} 4847 4848// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 4849// the ability to pass a context and additional request options. 4850// 4851// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 4852// 4853// The context must be non-nil and will be used for request cancellation. If 4854// the context is nil a panic will occur. In the future the SDK may create 4855// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4856// for more information on using Contexts. 4857func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 4858 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 4859 req.SetContext(ctx) 4860 req.ApplyOptions(opts...) 4861 return out, req.Send() 4862} 4863 4864const opUpdateTaskSet = "UpdateTaskSet" 4865 4866// UpdateTaskSetRequest generates a "aws/request.Request" representing the 4867// client's request for the UpdateTaskSet operation. The "output" return 4868// value will be populated with the request's response once the request completes 4869// successfully. 4870// 4871// Use "Send" method on the returned Request to send the API call to the service. 4872// the "output" return value is not valid until after Send returns without error. 4873// 4874// See UpdateTaskSet for more information on using the UpdateTaskSet 4875// API call, and error handling. 4876// 4877// This method is useful when you want to inject custom logic or configuration 4878// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4879// 4880// 4881// // Example sending a request using the UpdateTaskSetRequest method. 4882// req, resp := client.UpdateTaskSetRequest(params) 4883// 4884// err := req.Send() 4885// if err == nil { // resp is now filled 4886// fmt.Println(resp) 4887// } 4888// 4889// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 4890func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 4891 op := &request.Operation{ 4892 Name: opUpdateTaskSet, 4893 HTTPMethod: "POST", 4894 HTTPPath: "/", 4895 } 4896 4897 if input == nil { 4898 input = &UpdateTaskSetInput{} 4899 } 4900 4901 output = &UpdateTaskSetOutput{} 4902 req = c.newRequest(op, input, output) 4903 return 4904} 4905 4906// UpdateTaskSet API operation for Amazon EC2 Container Service. 4907// 4908// Modifies a task set. This is used when a service uses the EXTERNAL deployment 4909// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 4910// in the Amazon Elastic Container Service Developer Guide. 4911// 4912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4913// with awserr.Error's Code and Message methods to get detailed information about 4914// the error. 4915// 4916// See the AWS API reference guide for Amazon EC2 Container Service's 4917// API operation UpdateTaskSet for usage and error information. 4918// 4919// Returned Error Codes: 4920// * ErrCodeServerException "ServerException" 4921// These errors are usually caused by a server issue. 4922// 4923// * ErrCodeClientException "ClientException" 4924// These errors are usually caused by a client action, such as using an action 4925// or resource on behalf of a user that doesn't have permissions to use the 4926// action or resource, or specifying an identifier that is not valid. 4927// 4928// * ErrCodeInvalidParameterException "InvalidParameterException" 4929// The specified parameter is invalid. Review the available parameters for the 4930// API request. 4931// 4932// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4933// The specified cluster could not be found. You can view your available clusters 4934// with ListClusters. Amazon ECS clusters are Region-specific. 4935// 4936// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 4937// The specified task is not supported in this Region. 4938// 4939// * ErrCodeAccessDeniedException "AccessDeniedException" 4940// You do not have authorization to perform the requested action. 4941// 4942// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 4943// The specified service could not be found. You can view your available services 4944// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 4945// 4946// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 4947// The specified service is not active. You can't update a service that is inactive. 4948// If you have previously deleted a service, you can re-create it with CreateService. 4949// 4950// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 4951// The specified task set could not be found. You can view your available container 4952// instances with DescribeTaskSets. Task sets are specific to each cluster, 4953// service and Region. 4954// 4955// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 4956func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 4957 req, out := c.UpdateTaskSetRequest(input) 4958 return out, req.Send() 4959} 4960 4961// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 4962// the ability to pass a context and additional request options. 4963// 4964// See UpdateTaskSet for details on how to use this API operation. 4965// 4966// The context must be non-nil and will be used for request cancellation. If 4967// the context is nil a panic will occur. In the future the SDK may create 4968// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4969// for more information on using Contexts. 4970func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 4971 req, out := c.UpdateTaskSetRequest(input) 4972 req.SetContext(ctx) 4973 req.ApplyOptions(opts...) 4974 return out, req.Send() 4975} 4976 4977// An object representing a container instance or task attachment. 4978type Attachment struct { 4979 _ struct{} `type:"structure"` 4980 4981 // Details of the attachment. For elastic network interfaces, this includes 4982 // the network interface ID, the MAC address, the subnet ID, and the private 4983 // IPv4 address. 4984 Details []*KeyValuePair `locationName:"details" type:"list"` 4985 4986 // The unique identifier for the attachment. 4987 Id *string `locationName:"id" type:"string"` 4988 4989 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 4990 // ATTACHED, DETACHING, DETACHED, and DELETED. 4991 Status *string `locationName:"status" type:"string"` 4992 4993 // The type of the attachment, such as ElasticNetworkInterface. 4994 Type *string `locationName:"type" type:"string"` 4995} 4996 4997// String returns the string representation 4998func (s Attachment) String() string { 4999 return awsutil.Prettify(s) 5000} 5001 5002// GoString returns the string representation 5003func (s Attachment) GoString() string { 5004 return s.String() 5005} 5006 5007// SetDetails sets the Details field's value. 5008func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5009 s.Details = v 5010 return s 5011} 5012 5013// SetId sets the Id field's value. 5014func (s *Attachment) SetId(v string) *Attachment { 5015 s.Id = &v 5016 return s 5017} 5018 5019// SetStatus sets the Status field's value. 5020func (s *Attachment) SetStatus(v string) *Attachment { 5021 s.Status = &v 5022 return s 5023} 5024 5025// SetType sets the Type field's value. 5026func (s *Attachment) SetType(v string) *Attachment { 5027 s.Type = &v 5028 return s 5029} 5030 5031// An object representing a change in state for a task attachment. 5032type AttachmentStateChange struct { 5033 _ struct{} `type:"structure"` 5034 5035 // The Amazon Resource Name (ARN) of the attachment. 5036 // 5037 // AttachmentArn is a required field 5038 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5039 5040 // The status of the attachment. 5041 // 5042 // Status is a required field 5043 Status *string `locationName:"status" type:"string" required:"true"` 5044} 5045 5046// String returns the string representation 5047func (s AttachmentStateChange) String() string { 5048 return awsutil.Prettify(s) 5049} 5050 5051// GoString returns the string representation 5052func (s AttachmentStateChange) GoString() string { 5053 return s.String() 5054} 5055 5056// Validate inspects the fields of the type to determine if they are valid. 5057func (s *AttachmentStateChange) Validate() error { 5058 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5059 if s.AttachmentArn == nil { 5060 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5061 } 5062 if s.Status == nil { 5063 invalidParams.Add(request.NewErrParamRequired("Status")) 5064 } 5065 5066 if invalidParams.Len() > 0 { 5067 return invalidParams 5068 } 5069 return nil 5070} 5071 5072// SetAttachmentArn sets the AttachmentArn field's value. 5073func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5074 s.AttachmentArn = &v 5075 return s 5076} 5077 5078// SetStatus sets the Status field's value. 5079func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5080 s.Status = &v 5081 return s 5082} 5083 5084// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5085// enable you to extend the Amazon ECS data model by adding custom metadata 5086// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5087// in the Amazon Elastic Container Service Developer Guide. 5088type Attribute struct { 5089 _ struct{} `type:"structure"` 5090 5091 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5092 // hyphens, underscores, and periods are allowed. 5093 // 5094 // Name is a required field 5095 Name *string `locationName:"name" type:"string" required:"true"` 5096 5097 // The ID of the target. You can specify the short form ID for a resource or 5098 // the full Amazon Resource Name (ARN). 5099 TargetId *string `locationName:"targetId" type:"string"` 5100 5101 // The type of the target with which to attach the attribute. This parameter 5102 // is required if you use the short form ID for a resource instead of the full 5103 // ARN. 5104 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5105 5106 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5107 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5108 // and spaces are allowed. 5109 Value *string `locationName:"value" type:"string"` 5110} 5111 5112// String returns the string representation 5113func (s Attribute) String() string { 5114 return awsutil.Prettify(s) 5115} 5116 5117// GoString returns the string representation 5118func (s Attribute) GoString() string { 5119 return s.String() 5120} 5121 5122// Validate inspects the fields of the type to determine if they are valid. 5123func (s *Attribute) Validate() error { 5124 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5125 if s.Name == nil { 5126 invalidParams.Add(request.NewErrParamRequired("Name")) 5127 } 5128 5129 if invalidParams.Len() > 0 { 5130 return invalidParams 5131 } 5132 return nil 5133} 5134 5135// SetName sets the Name field's value. 5136func (s *Attribute) SetName(v string) *Attribute { 5137 s.Name = &v 5138 return s 5139} 5140 5141// SetTargetId sets the TargetId field's value. 5142func (s *Attribute) SetTargetId(v string) *Attribute { 5143 s.TargetId = &v 5144 return s 5145} 5146 5147// SetTargetType sets the TargetType field's value. 5148func (s *Attribute) SetTargetType(v string) *Attribute { 5149 s.TargetType = &v 5150 return s 5151} 5152 5153// SetValue sets the Value field's value. 5154func (s *Attribute) SetValue(v string) *Attribute { 5155 s.Value = &v 5156 return s 5157} 5158 5159// An object representing the networking details for a task or service. 5160type AwsVpcConfiguration struct { 5161 _ struct{} `type:"structure"` 5162 5163 // Whether the task's elastic network interface receives a public IP address. 5164 // The default value is DISABLED. 5165 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 5166 5167 // The security groups associated with the task or service. If you do not specify 5168 // a security group, the default security group for the VPC is used. There is 5169 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 5170 // 5171 // All specified security groups must be from the same VPC. 5172 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 5173 5174 // The subnets associated with the task or service. There is a limit of 16 subnets 5175 // that can be specified per AwsVpcConfiguration. 5176 // 5177 // All specified subnets must be from the same VPC. 5178 // 5179 // Subnets is a required field 5180 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5181} 5182 5183// String returns the string representation 5184func (s AwsVpcConfiguration) String() string { 5185 return awsutil.Prettify(s) 5186} 5187 5188// GoString returns the string representation 5189func (s AwsVpcConfiguration) GoString() string { 5190 return s.String() 5191} 5192 5193// Validate inspects the fields of the type to determine if they are valid. 5194func (s *AwsVpcConfiguration) Validate() error { 5195 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 5196 if s.Subnets == nil { 5197 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5198 } 5199 5200 if invalidParams.Len() > 0 { 5201 return invalidParams 5202 } 5203 return nil 5204} 5205 5206// SetAssignPublicIp sets the AssignPublicIp field's value. 5207func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 5208 s.AssignPublicIp = &v 5209 return s 5210} 5211 5212// SetSecurityGroups sets the SecurityGroups field's value. 5213func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 5214 s.SecurityGroups = v 5215 return s 5216} 5217 5218// SetSubnets sets the Subnets field's value. 5219func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 5220 s.Subnets = v 5221 return s 5222} 5223 5224// A regional grouping of one or more container instances on which you can run 5225// task requests. Each account receives a default cluster the first time you 5226// use the Amazon ECS service, but you may also create other clusters. Clusters 5227// may contain more than one instance type simultaneously. 5228type Cluster struct { 5229 _ struct{} `type:"structure"` 5230 5231 // The number of services that are running on the cluster in an ACTIVE state. 5232 // You can view these services with ListServices. 5233 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 5234 5235 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 5236 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 5237 // account ID of the cluster owner, the cluster namespace, and then the cluster 5238 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 5239 ClusterArn *string `locationName:"clusterArn" type:"string"` 5240 5241 // A user-generated string that you use to identify your cluster. 5242 ClusterName *string `locationName:"clusterName" type:"string"` 5243 5244 // The number of tasks in the cluster that are in the PENDING state. 5245 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 5246 5247 // The number of container instances registered into the cluster. This includes 5248 // container instances in both ACTIVE and DRAINING status. 5249 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 5250 5251 // The number of tasks in the cluster that are in the RUNNING state. 5252 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 5253 5254 // The settings for the cluster. This parameter indicates whether CloudWatch 5255 // Container Insights is enabled or disabled for a cluster. 5256 Settings []*ClusterSetting `locationName:"settings" type:"list"` 5257 5258 // Additional information about your clusters that are separated by launch type, 5259 // including: 5260 // 5261 // * runningEC2TasksCount 5262 // 5263 // * RunningFargateTasksCount 5264 // 5265 // * pendingEC2TasksCount 5266 // 5267 // * pendingFargateTasksCount 5268 // 5269 // * activeEC2ServiceCount 5270 // 5271 // * activeFargateServiceCount 5272 // 5273 // * drainingEC2ServiceCount 5274 // 5275 // * drainingFargateServiceCount 5276 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 5277 5278 // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE 5279 // indicates that you can register container instances with the cluster and 5280 // the associated instances can accept tasks. 5281 Status *string `locationName:"status" type:"string"` 5282 5283 // The metadata that you apply to the cluster to help you categorize and organize 5284 // them. Each tag consists of a key and an optional value, both of which you 5285 // define. Tag keys can have a maximum character length of 128 characters, and 5286 // tag values can have a maximum length of 256 characters. 5287 Tags []*Tag `locationName:"tags" type:"list"` 5288} 5289 5290// String returns the string representation 5291func (s Cluster) String() string { 5292 return awsutil.Prettify(s) 5293} 5294 5295// GoString returns the string representation 5296func (s Cluster) GoString() string { 5297 return s.String() 5298} 5299 5300// SetActiveServicesCount sets the ActiveServicesCount field's value. 5301func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 5302 s.ActiveServicesCount = &v 5303 return s 5304} 5305 5306// SetClusterArn sets the ClusterArn field's value. 5307func (s *Cluster) SetClusterArn(v string) *Cluster { 5308 s.ClusterArn = &v 5309 return s 5310} 5311 5312// SetClusterName sets the ClusterName field's value. 5313func (s *Cluster) SetClusterName(v string) *Cluster { 5314 s.ClusterName = &v 5315 return s 5316} 5317 5318// SetPendingTasksCount sets the PendingTasksCount field's value. 5319func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 5320 s.PendingTasksCount = &v 5321 return s 5322} 5323 5324// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 5325func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 5326 s.RegisteredContainerInstancesCount = &v 5327 return s 5328} 5329 5330// SetRunningTasksCount sets the RunningTasksCount field's value. 5331func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 5332 s.RunningTasksCount = &v 5333 return s 5334} 5335 5336// SetSettings sets the Settings field's value. 5337func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 5338 s.Settings = v 5339 return s 5340} 5341 5342// SetStatistics sets the Statistics field's value. 5343func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 5344 s.Statistics = v 5345 return s 5346} 5347 5348// SetStatus sets the Status field's value. 5349func (s *Cluster) SetStatus(v string) *Cluster { 5350 s.Status = &v 5351 return s 5352} 5353 5354// SetTags sets the Tags field's value. 5355func (s *Cluster) SetTags(v []*Tag) *Cluster { 5356 s.Tags = v 5357 return s 5358} 5359 5360// The settings to use when creating a cluster. This parameter is used to enable 5361// CloudWatch Container Insights for a cluster. 5362type ClusterSetting struct { 5363 _ struct{} `type:"structure"` 5364 5365 // The name of the cluster setting. The only supported value is containerInsights. 5366 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 5367 5368 // The value to set for the cluster setting. The supported values are enabled 5369 // and disabled. If enabled is specified, CloudWatch Container Insights will 5370 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 5371 // account setting is enabled. If a cluster value is specified, it will override 5372 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 5373 Value *string `locationName:"value" type:"string"` 5374} 5375 5376// String returns the string representation 5377func (s ClusterSetting) String() string { 5378 return awsutil.Prettify(s) 5379} 5380 5381// GoString returns the string representation 5382func (s ClusterSetting) GoString() string { 5383 return s.String() 5384} 5385 5386// SetName sets the Name field's value. 5387func (s *ClusterSetting) SetName(v string) *ClusterSetting { 5388 s.Name = &v 5389 return s 5390} 5391 5392// SetValue sets the Value field's value. 5393func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 5394 s.Value = &v 5395 return s 5396} 5397 5398// A Docker container that is part of a task. 5399type Container struct { 5400 _ struct{} `type:"structure"` 5401 5402 // The Amazon Resource Name (ARN) of the container. 5403 ContainerArn *string `locationName:"containerArn" type:"string"` 5404 5405 // The number of CPU units set for the container. The value will be 0 if no 5406 // value was specified in the container definition when the task definition 5407 // was registered. 5408 Cpu *string `locationName:"cpu" type:"string"` 5409 5410 // The exit code returned from the container. 5411 ExitCode *int64 `locationName:"exitCode" type:"integer"` 5412 5413 // The IDs of each GPU assigned to the container. 5414 GpuIds []*string `locationName:"gpuIds" type:"list"` 5415 5416 // The health status of the container. If health checks are not configured for 5417 // this container in its task definition, then it reports the health status 5418 // as UNKNOWN. 5419 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 5420 5421 // The last known status of the container. 5422 LastStatus *string `locationName:"lastStatus" type:"string"` 5423 5424 // The hard limit (in MiB) of memory set for the container. 5425 Memory *string `locationName:"memory" type:"string"` 5426 5427 // The soft limit (in MiB) of memory set for the container. 5428 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 5429 5430 // The name of the container. 5431 Name *string `locationName:"name" type:"string"` 5432 5433 // The network bindings associated with the container. 5434 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 5435 5436 // The network interfaces associated with the container. 5437 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 5438 5439 // A short (255 max characters) human-readable string to provide additional 5440 // details about a running or stopped container. 5441 Reason *string `locationName:"reason" type:"string"` 5442 5443 // The ARN of the task. 5444 TaskArn *string `locationName:"taskArn" type:"string"` 5445} 5446 5447// String returns the string representation 5448func (s Container) String() string { 5449 return awsutil.Prettify(s) 5450} 5451 5452// GoString returns the string representation 5453func (s Container) GoString() string { 5454 return s.String() 5455} 5456 5457// SetContainerArn sets the ContainerArn field's value. 5458func (s *Container) SetContainerArn(v string) *Container { 5459 s.ContainerArn = &v 5460 return s 5461} 5462 5463// SetCpu sets the Cpu field's value. 5464func (s *Container) SetCpu(v string) *Container { 5465 s.Cpu = &v 5466 return s 5467} 5468 5469// SetExitCode sets the ExitCode field's value. 5470func (s *Container) SetExitCode(v int64) *Container { 5471 s.ExitCode = &v 5472 return s 5473} 5474 5475// SetGpuIds sets the GpuIds field's value. 5476func (s *Container) SetGpuIds(v []*string) *Container { 5477 s.GpuIds = v 5478 return s 5479} 5480 5481// SetHealthStatus sets the HealthStatus field's value. 5482func (s *Container) SetHealthStatus(v string) *Container { 5483 s.HealthStatus = &v 5484 return s 5485} 5486 5487// SetLastStatus sets the LastStatus field's value. 5488func (s *Container) SetLastStatus(v string) *Container { 5489 s.LastStatus = &v 5490 return s 5491} 5492 5493// SetMemory sets the Memory field's value. 5494func (s *Container) SetMemory(v string) *Container { 5495 s.Memory = &v 5496 return s 5497} 5498 5499// SetMemoryReservation sets the MemoryReservation field's value. 5500func (s *Container) SetMemoryReservation(v string) *Container { 5501 s.MemoryReservation = &v 5502 return s 5503} 5504 5505// SetName sets the Name field's value. 5506func (s *Container) SetName(v string) *Container { 5507 s.Name = &v 5508 return s 5509} 5510 5511// SetNetworkBindings sets the NetworkBindings field's value. 5512func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 5513 s.NetworkBindings = v 5514 return s 5515} 5516 5517// SetNetworkInterfaces sets the NetworkInterfaces field's value. 5518func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 5519 s.NetworkInterfaces = v 5520 return s 5521} 5522 5523// SetReason sets the Reason field's value. 5524func (s *Container) SetReason(v string) *Container { 5525 s.Reason = &v 5526 return s 5527} 5528 5529// SetTaskArn sets the TaskArn field's value. 5530func (s *Container) SetTaskArn(v string) *Container { 5531 s.TaskArn = &v 5532 return s 5533} 5534 5535// Container definitions are used in task definitions to describe the different 5536// containers that are launched as part of a task. 5537type ContainerDefinition struct { 5538 _ struct{} `type:"structure"` 5539 5540 // The command that is passed to the container. This parameter maps to Cmd in 5541 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5542 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5543 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 5544 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 5545 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 5546 // arguments, each argument should be a separated string in the array. 5547 Command []*string `locationName:"command" type:"list"` 5548 5549 // The number of cpu units reserved for the container. This parameter maps to 5550 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5551 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5552 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 5553 // 5554 // This field is optional for tasks using the Fargate launch type, and the only 5555 // requirement is that the total amount of CPU reserved for all containers within 5556 // a task be lower than the task-level cpu value. 5557 // 5558 // You can determine the number of CPU units that are available per EC2 instance 5559 // type by multiplying the vCPUs listed for that instance type on the Amazon 5560 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 5561 // 1,024. 5562 // 5563 // For example, if you run a single-container task on a single-core instance 5564 // type with 512 CPU units specified for that container, and that is the only 5565 // task running on the container instance, that container could use the full 5566 // 1,024 CPU unit share at any given time. However, if you launched another 5567 // copy of the same task on that container instance, each task would be guaranteed 5568 // a minimum of 512 CPU units when needed, and each container could float to 5569 // higher CPU usage if the other container was not using it, but if both tasks 5570 // were 100% active all of the time, they would be limited to 512 CPU units. 5571 // 5572 // Linux containers share unallocated CPU units with other containers on the 5573 // container instance with the same ratio as their allocated amount. For example, 5574 // if you run a single-container task on a single-core instance type with 512 5575 // CPU units specified for that container, and that is the only task running 5576 // on the container instance, that container could use the full 1,024 CPU unit 5577 // share at any given time. However, if you launched another copy of the same 5578 // task on that container instance, each task would be guaranteed a minimum 5579 // of 512 CPU units when needed, and each container could float to higher CPU 5580 // usage if the other container was not using it, but if both tasks were 100% 5581 // active all of the time, they would be limited to 512 CPU units. 5582 // 5583 // On Linux container instances, the Docker daemon on the container instance 5584 // uses the CPU value to calculate the relative CPU share ratios for running 5585 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 5586 // in the Docker documentation. The minimum valid CPU share value that the Linux 5587 // kernel allows is 2. However, the CPU parameter is not required, and you can 5588 // use CPU values below 2 in your container definitions. For CPU values below 5589 // 2 (including null), the behavior varies based on your Amazon ECS container 5590 // agent version: 5591 // 5592 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 5593 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 5594 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 5595 // to two CPU shares. 5596 // 5597 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 5598 // of 1 are passed to Docker as 2. 5599 // 5600 // On Windows container instances, the CPU limit is enforced as an absolute 5601 // limit, or a quota. Windows containers only have access to the specified amount 5602 // of CPU that is described in the task definition. 5603 Cpu *int64 `locationName:"cpu" type:"integer"` 5604 5605 // The dependencies defined for container startup and shutdown. A container 5606 // can contain multiple dependencies. When a dependency is defined for container 5607 // startup, for container shutdown it is reversed. 5608 // 5609 // For tasks using the EC2 launch type, the container instances require at least 5610 // version 1.26.0 of the container agent to enable container dependencies. However, 5611 // we recommend using the latest container agent version. For information about 5612 // checking your agent version and updating to the latest version, see Updating 5613 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 5614 // in the Amazon Elastic Container Service Developer Guide. If you are using 5615 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 5616 // of the ecs-init package. If your container instances are launched from version 5617 // 20190301 or later, then they contain the required versions of the container 5618 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 5619 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 5620 // in the Amazon Elastic Container Service Developer Guide. 5621 // 5622 // This parameter is available for tasks using the Fargate launch type in the 5623 // Ohio (us-east-2) region only and the task or service requires platform version 5624 // 1.3.0 or later. 5625 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 5626 5627 // When this parameter is true, networking is disabled within the container. 5628 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5629 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 5630 // 5631 // This parameter is not supported for Windows containers. 5632 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 5633 5634 // A list of DNS search domains that are presented to the container. This parameter 5635 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5636 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5637 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 5638 // 5639 // This parameter is not supported for Windows containers. 5640 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 5641 5642 // A list of DNS servers that are presented to the container. This parameter 5643 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5644 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5645 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 5646 // 5647 // This parameter is not supported for Windows containers. 5648 DnsServers []*string `locationName:"dnsServers" type:"list"` 5649 5650 // A key/value map of labels to add to the container. This parameter maps to 5651 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5652 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5653 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 5654 // This parameter requires version 1.18 of the Docker Remote API or greater 5655 // on your container instance. To check the Docker Remote API version on your 5656 // container instance, log in to your container instance and run the following 5657 // command: sudo docker version --format '{{.Server.APIVersion}}' 5658 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 5659 5660 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 5661 // security systems. This field is not valid for containers in tasks using the 5662 // Fargate launch type. 5663 // 5664 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5665 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5666 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 5667 // 5668 // The Amazon ECS container agent running on a container instance must register 5669 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 5670 // variables before containers placed on that instance can use these security 5671 // options. For more information, see Amazon ECS Container Agent Configuration 5672 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 5673 // in the Amazon Elastic Container Service Developer Guide. 5674 // 5675 // This parameter is not supported for Windows containers. 5676 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 5677 5678 // 5679 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 5680 // parameters. If you have problems using entryPoint, update your container 5681 // agent or enter your commands and arguments as command array items instead. 5682 // 5683 // The entry point that is passed to the container. This parameter maps to Entrypoint 5684 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5685 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5686 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 5687 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 5688 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 5689 EntryPoint []*string `locationName:"entryPoint" type:"list"` 5690 5691 // The environment variables to pass to a container. This parameter maps to 5692 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5693 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5694 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 5695 // 5696 // We do not recommend using plaintext environment variables for sensitive information, 5697 // such as credential data. 5698 Environment []*KeyValuePair `locationName:"environment" type:"list"` 5699 5700 // If the essential parameter of a container is marked as true, and that container 5701 // fails or stops for any reason, all other containers that are part of the 5702 // task are stopped. If the essential parameter of a container is marked as 5703 // false, then its failure does not affect the rest of the containers in a task. 5704 // If this parameter is omitted, a container is assumed to be essential. 5705 // 5706 // All tasks must have at least one essential container. If you have an application 5707 // that is composed of multiple containers, you should group containers that 5708 // are used for a common purpose into components, and separate the different 5709 // components into multiple task definitions. For more information, see Application 5710 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 5711 // in the Amazon Elastic Container Service Developer Guide. 5712 Essential *bool `locationName:"essential" type:"boolean"` 5713 5714 // A list of hostnames and IP address mappings to append to the /etc/hosts file 5715 // on the container. This parameter maps to ExtraHosts in the Create a container 5716 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 5717 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 5718 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 5719 // 5720 // This parameter is not supported for Windows containers or tasks that use 5721 // the awsvpc network mode. 5722 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 5723 5724 // The health check command and associated configuration parameters for the 5725 // container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5726 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5727 // and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 5728 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 5729 5730 // The hostname to use for your container. This parameter maps to Hostname in 5731 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5732 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5733 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 5734 // 5735 // The hostname parameter is not supported if you are using the awsvpc network 5736 // mode. 5737 Hostname *string `locationName:"hostname" type:"string"` 5738 5739 // The image used to start a container. This string is passed directly to the 5740 // Docker daemon. Images in the Docker Hub registry are available by default. 5741 // Other repositories are specified with either repository-url/image:tag or 5742 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 5743 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 5744 // signs are allowed. This parameter maps to Image in the Create a container 5745 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 5746 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 5747 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 5748 // 5749 // * When a new task starts, the Amazon ECS container agent pulls the latest 5750 // version of the specified image and tag for the container to use. However, 5751 // subsequent updates to a repository image are not propagated to already 5752 // running tasks. 5753 // 5754 // * Images in Amazon ECR repositories can be specified by either using the 5755 // full registry/repository:tag or registry/repository@digest. For example, 5756 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 5757 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 5758 // 5759 // * Images in official repositories on Docker Hub use a single name (for 5760 // example, ubuntu or mongo). 5761 // 5762 // * Images in other repositories on Docker Hub are qualified with an organization 5763 // name (for example, amazon/amazon-ecs-agent). 5764 // 5765 // * Images in other online repositories are qualified further by a domain 5766 // name (for example, quay.io/assemblyline/ubuntu). 5767 Image *string `locationName:"image" type:"string"` 5768 5769 // When this parameter is true, this allows you to deploy containerized applications 5770 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 5771 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5772 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5773 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 5774 Interactive *bool `locationName:"interactive" type:"boolean"` 5775 5776 // The links parameter allows containers to communicate with each other without 5777 // the need for port mappings. This parameter is only supported if the network 5778 // mode of a task definition is bridge. The name:internalName construct is analogous 5779 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 5780 // numbers, and hyphens are allowed. For more information about linking Docker 5781 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 5782 // in the Docker documentation. This parameter maps to Links in the Create a 5783 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5784 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5785 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 5786 // 5787 // This parameter is not supported for Windows containers. 5788 // 5789 // Containers that are collocated on a single container instance may be able 5790 // to communicate with each other without requiring links or host port mappings. 5791 // Network isolation is achieved on the container instance using security groups 5792 // and VPC settings. 5793 Links []*string `locationName:"links" type:"list"` 5794 5795 // Linux-specific modifications that are applied to the container, such as Linux 5796 // kernel capabilities. For more information see KernelCapabilities. 5797 // 5798 // This parameter is not supported for Windows containers. 5799 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 5800 5801 // The log configuration specification for the container. 5802 // 5803 // For tasks using the Fargate launch type, the supported log drivers are awslogs 5804 // and splunk. 5805 // 5806 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 5807 // syslog, gelf, fluentd, splunk, journald, and json-file. 5808 // 5809 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5810 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5811 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 5812 // By default, containers use the same logging driver that the Docker daemon 5813 // uses. However the container may use a different logging driver than the Docker 5814 // daemon by specifying a log driver with this parameter in the container definition. 5815 // To use a different logging driver for a container, the log system must be 5816 // configured properly on the container instance (or on a different log server 5817 // for remote logging options). For more information on the options for different 5818 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 5819 // in the Docker documentation. 5820 // 5821 // Amazon ECS currently supports a subset of the logging drivers available to 5822 // the Docker daemon (shown in the LogConfiguration data type). Additional log 5823 // drivers may be available in future releases of the Amazon ECS container agent. 5824 // 5825 // This parameter requires version 1.18 of the Docker Remote API or greater 5826 // on your container instance. To check the Docker Remote API version on your 5827 // container instance, log in to your container instance and run the following 5828 // command: sudo docker version --format '{{.Server.APIVersion}}' 5829 // 5830 // The Amazon ECS container agent running on a container instance must register 5831 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 5832 // environment variable before containers placed on that instance can use these 5833 // log configuration options. For more information, see Amazon ECS Container 5834 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 5835 // in the Amazon Elastic Container Service Developer Guide. 5836 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 5837 5838 // The amount (in MiB) of memory to present to the container. If your container 5839 // attempts to exceed the memory specified here, the container is killed. The 5840 // total amount of memory reserved for all containers within a task must be 5841 // lower than the task memory value, if one is specified. This parameter maps 5842 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5843 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5844 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 5845 // 5846 // If your containers are part of a task using the Fargate launch type, this 5847 // field is optional. 5848 // 5849 // For containers that are part of a task using the EC2 launch type, you must 5850 // specify a non-zero integer for one or both of memory or memoryReservation 5851 // in container definitions. If you specify both, memory must be greater than 5852 // memoryReservation. If you specify memoryReservation, then that value is subtracted 5853 // from the available memory resources for the container instance on which the 5854 // container is placed. Otherwise, the value of memory is used. 5855 // 5856 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 5857 // so you should not specify fewer than 4 MiB of memory for your containers. 5858 Memory *int64 `locationName:"memory" type:"integer"` 5859 5860 // The soft limit (in MiB) of memory to reserve for the container. When system 5861 // memory is under heavy contention, Docker attempts to keep the container memory 5862 // to this soft limit. However, your container can consume more memory when 5863 // it needs to, up to either the hard limit specified with the memory parameter 5864 // (if applicable), or all of the available memory on the container instance, 5865 // whichever comes first. This parameter maps to MemoryReservation in the Create 5866 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5867 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5868 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 5869 // 5870 // You must specify a non-zero integer for one or both of memory or memoryReservation 5871 // in container definitions. If you specify both, memory must be greater than 5872 // memoryReservation. If you specify memoryReservation, then that value is subtracted 5873 // from the available memory resources for the container instance on which the 5874 // container is placed. Otherwise, the value of memory is used. 5875 // 5876 // For example, if your container normally uses 128 MiB of memory, but occasionally 5877 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 5878 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 5879 // allow the container to only reserve 128 MiB of memory from the remaining 5880 // resources on the container instance, but also allow the container to consume 5881 // more memory resources when needed. 5882 // 5883 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 5884 // so you should not specify fewer than 4 MiB of memory for your containers. 5885 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 5886 5887 // The mount points for data volumes in your container. 5888 // 5889 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5890 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5891 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 5892 // 5893 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 5894 // Windows containers cannot mount directories on a different drive, and mount 5895 // point cannot be across drives. 5896 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 5897 5898 // The name of a container. If you are linking multiple containers together 5899 // in a task definition, the name of one container can be entered in the links 5900 // of another container to connect the containers. Up to 255 letters (uppercase 5901 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 5902 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5903 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5904 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 5905 Name *string `locationName:"name" type:"string"` 5906 5907 // The list of port mappings for the container. Port mappings allow containers 5908 // to access ports on the host container instance to send or receive traffic. 5909 // 5910 // For task definitions that use the awsvpc network mode, you should only specify 5911 // the containerPort. The hostPort can be left blank or it must be the same 5912 // value as the containerPort. 5913 // 5914 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 5915 // There is no loopback for port mappings on Windows, so you cannot access a 5916 // container's mapped port from the host itself. 5917 // 5918 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5919 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5920 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 5921 // If the network mode of a task definition is set to none, then you can't specify 5922 // port mappings. If the network mode of a task definition is set to host, then 5923 // host ports must either be undefined or they must match the container port 5924 // in the port mapping. 5925 // 5926 // After a task reaches the RUNNING status, manual and automatic host and container 5927 // port assignments are visible in the Network Bindings section of a container 5928 // description for a selected task in the Amazon ECS console. The assignments 5929 // are also visible in the networkBindings section DescribeTasks responses. 5930 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 5931 5932 // When this parameter is true, the container is given elevated privileges on 5933 // the host container instance (similar to the root user). This parameter maps 5934 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5935 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5936 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 5937 // 5938 // This parameter is not supported for Windows containers or tasks using the 5939 // Fargate launch type. 5940 Privileged *bool `locationName:"privileged" type:"boolean"` 5941 5942 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 5943 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5944 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5945 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 5946 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 5947 5948 // When this parameter is true, the container is given read-only access to its 5949 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 5950 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 5951 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 5952 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 5953 // 5954 // This parameter is not supported for Windows containers. 5955 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 5956 5957 // The private repository authentication credentials to use. 5958 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 5959 5960 // The type and amount of a resource to assign to a container. The only supported 5961 // resource is a GPU. 5962 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 5963 5964 // The secrets to pass to the container. For more information, see Specifying 5965 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 5966 // in the Amazon Elastic Container Service Developer Guide. 5967 Secrets []*Secret `locationName:"secrets" type:"list"` 5968 5969 // Time duration to wait before giving up on resolving dependencies for a container. 5970 // For example, you specify two containers in a task definition with containerA 5971 // having a dependency on containerB reaching a COMPLETE, SUCCESS, or HEALTHY 5972 // status. If a startTimeout value is specified for containerB and it does not 5973 // reach the desired status within that time then containerA will give up and 5974 // not start. This results in the task transitioning to a STOPPED state. 5975 // 5976 // For tasks using the EC2 launch type, the container instances require at least 5977 // version 1.26.0 of the container agent to enable a container start timeout 5978 // value. However, we recommend using the latest container agent version. For 5979 // information about checking your agent version and updating to the latest 5980 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 5981 // in the Amazon Elastic Container Service Developer Guide. If you are using 5982 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 5983 // of the ecs-init package. If your container instances are launched from version 5984 // 20190301 or later, then they contain the required versions of the container 5985 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 5986 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 5987 // in the Amazon Elastic Container Service Developer Guide. 5988 // 5989 // This parameter is available for tasks using the Fargate launch type in the 5990 // Ohio (us-east-2) region only and the task or service requires platform version 5991 // 1.3.0 or later. 5992 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 5993 5994 // Time duration to wait before the container is forcefully killed if it doesn't 5995 // exit normally on its own. For tasks using the Fargate launch type, the max 5996 // stopTimeout value is 2 minutes. This parameter is available for tasks using 5997 // the Fargate launch type in the Ohio (us-east-2) region only and the task 5998 // or service requires platform version 1.3.0 or later. 5999 // 6000 // For tasks using the EC2 launch type, the stop timeout value for the container 6001 // takes precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration 6002 // parameter, if used. Container instances require at least version 1.26.0 of 6003 // the container agent to enable a container stop timeout value. However, we 6004 // recommend using the latest container agent version. For information about 6005 // checking your agent version and updating to the latest version, see Updating 6006 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6007 // in the Amazon Elastic Container Service Developer Guide. If you are using 6008 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6009 // of the ecs-init package. If your container instances are launched from version 6010 // 20190301 or later, then they contain the required versions of the container 6011 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6012 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6013 // in the Amazon Elastic Container Service Developer Guide. 6014 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 6015 6016 // A list of namespaced kernel parameters to set in the container. This parameter 6017 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6018 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6019 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 6020 // 6021 // It is not recommended that you specify network-related systemControls parameters 6022 // for multiple containers in a single task that also uses either the awsvpc 6023 // or host network modes. For tasks that use the awsvpc network mode, the container 6024 // that is started last determines which systemControls parameters take effect. 6025 // For tasks that use the host network mode, it changes the container instance's 6026 // namespaced kernel parameters as well as the containers. 6027 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 6028 6029 // A list of ulimits to set in the container. This parameter maps to Ulimits 6030 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6031 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6032 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 6033 // Valid naming values are displayed in the Ulimit data type. This parameter 6034 // requires version 1.18 of the Docker Remote API or greater on your container 6035 // instance. To check the Docker Remote API version on your container instance, 6036 // log in to your container instance and run the following command: sudo docker 6037 // version --format '{{.Server.APIVersion}}' 6038 // 6039 // This parameter is not supported for Windows containers. 6040 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 6041 6042 // The user name to use inside the container. This parameter maps to User in 6043 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6044 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6045 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 6046 // 6047 // You can use the following formats. If specifying a UID or GID, you must specify 6048 // it as a positive integer. 6049 // 6050 // * user 6051 // 6052 // * user:group 6053 // 6054 // * uid 6055 // 6056 // * uid:gid 6057 // 6058 // * user:gid 6059 // 6060 // * uid:group 6061 // 6062 // This parameter is not supported for Windows containers. 6063 User *string `locationName:"user" type:"string"` 6064 6065 // Data volumes to mount from another container. This parameter maps to VolumesFrom 6066 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6067 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6068 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 6069 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 6070 6071 // The working directory in which to run commands inside the container. This 6072 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6073 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6074 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 6075 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 6076} 6077 6078// String returns the string representation 6079func (s ContainerDefinition) String() string { 6080 return awsutil.Prettify(s) 6081} 6082 6083// GoString returns the string representation 6084func (s ContainerDefinition) GoString() string { 6085 return s.String() 6086} 6087 6088// Validate inspects the fields of the type to determine if they are valid. 6089func (s *ContainerDefinition) Validate() error { 6090 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 6091 if s.DependsOn != nil { 6092 for i, v := range s.DependsOn { 6093 if v == nil { 6094 continue 6095 } 6096 if err := v.Validate(); err != nil { 6097 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 6098 } 6099 } 6100 } 6101 if s.ExtraHosts != nil { 6102 for i, v := range s.ExtraHosts { 6103 if v == nil { 6104 continue 6105 } 6106 if err := v.Validate(); err != nil { 6107 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 6108 } 6109 } 6110 } 6111 if s.HealthCheck != nil { 6112 if err := s.HealthCheck.Validate(); err != nil { 6113 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 6114 } 6115 } 6116 if s.LinuxParameters != nil { 6117 if err := s.LinuxParameters.Validate(); err != nil { 6118 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 6119 } 6120 } 6121 if s.LogConfiguration != nil { 6122 if err := s.LogConfiguration.Validate(); err != nil { 6123 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 6124 } 6125 } 6126 if s.RepositoryCredentials != nil { 6127 if err := s.RepositoryCredentials.Validate(); err != nil { 6128 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 6129 } 6130 } 6131 if s.ResourceRequirements != nil { 6132 for i, v := range s.ResourceRequirements { 6133 if v == nil { 6134 continue 6135 } 6136 if err := v.Validate(); err != nil { 6137 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 6138 } 6139 } 6140 } 6141 if s.Secrets != nil { 6142 for i, v := range s.Secrets { 6143 if v == nil { 6144 continue 6145 } 6146 if err := v.Validate(); err != nil { 6147 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 6148 } 6149 } 6150 } 6151 if s.Ulimits != nil { 6152 for i, v := range s.Ulimits { 6153 if v == nil { 6154 continue 6155 } 6156 if err := v.Validate(); err != nil { 6157 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 6158 } 6159 } 6160 } 6161 6162 if invalidParams.Len() > 0 { 6163 return invalidParams 6164 } 6165 return nil 6166} 6167 6168// SetCommand sets the Command field's value. 6169func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 6170 s.Command = v 6171 return s 6172} 6173 6174// SetCpu sets the Cpu field's value. 6175func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 6176 s.Cpu = &v 6177 return s 6178} 6179 6180// SetDependsOn sets the DependsOn field's value. 6181func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 6182 s.DependsOn = v 6183 return s 6184} 6185 6186// SetDisableNetworking sets the DisableNetworking field's value. 6187func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 6188 s.DisableNetworking = &v 6189 return s 6190} 6191 6192// SetDnsSearchDomains sets the DnsSearchDomains field's value. 6193func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 6194 s.DnsSearchDomains = v 6195 return s 6196} 6197 6198// SetDnsServers sets the DnsServers field's value. 6199func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 6200 s.DnsServers = v 6201 return s 6202} 6203 6204// SetDockerLabels sets the DockerLabels field's value. 6205func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 6206 s.DockerLabels = v 6207 return s 6208} 6209 6210// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 6211func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 6212 s.DockerSecurityOptions = v 6213 return s 6214} 6215 6216// SetEntryPoint sets the EntryPoint field's value. 6217func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 6218 s.EntryPoint = v 6219 return s 6220} 6221 6222// SetEnvironment sets the Environment field's value. 6223func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 6224 s.Environment = v 6225 return s 6226} 6227 6228// SetEssential sets the Essential field's value. 6229func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 6230 s.Essential = &v 6231 return s 6232} 6233 6234// SetExtraHosts sets the ExtraHosts field's value. 6235func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 6236 s.ExtraHosts = v 6237 return s 6238} 6239 6240// SetHealthCheck sets the HealthCheck field's value. 6241func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 6242 s.HealthCheck = v 6243 return s 6244} 6245 6246// SetHostname sets the Hostname field's value. 6247func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 6248 s.Hostname = &v 6249 return s 6250} 6251 6252// SetImage sets the Image field's value. 6253func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 6254 s.Image = &v 6255 return s 6256} 6257 6258// SetInteractive sets the Interactive field's value. 6259func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 6260 s.Interactive = &v 6261 return s 6262} 6263 6264// SetLinks sets the Links field's value. 6265func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 6266 s.Links = v 6267 return s 6268} 6269 6270// SetLinuxParameters sets the LinuxParameters field's value. 6271func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 6272 s.LinuxParameters = v 6273 return s 6274} 6275 6276// SetLogConfiguration sets the LogConfiguration field's value. 6277func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 6278 s.LogConfiguration = v 6279 return s 6280} 6281 6282// SetMemory sets the Memory field's value. 6283func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 6284 s.Memory = &v 6285 return s 6286} 6287 6288// SetMemoryReservation sets the MemoryReservation field's value. 6289func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 6290 s.MemoryReservation = &v 6291 return s 6292} 6293 6294// SetMountPoints sets the MountPoints field's value. 6295func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 6296 s.MountPoints = v 6297 return s 6298} 6299 6300// SetName sets the Name field's value. 6301func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 6302 s.Name = &v 6303 return s 6304} 6305 6306// SetPortMappings sets the PortMappings field's value. 6307func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 6308 s.PortMappings = v 6309 return s 6310} 6311 6312// SetPrivileged sets the Privileged field's value. 6313func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 6314 s.Privileged = &v 6315 return s 6316} 6317 6318// SetPseudoTerminal sets the PseudoTerminal field's value. 6319func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 6320 s.PseudoTerminal = &v 6321 return s 6322} 6323 6324// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 6325func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 6326 s.ReadonlyRootFilesystem = &v 6327 return s 6328} 6329 6330// SetRepositoryCredentials sets the RepositoryCredentials field's value. 6331func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 6332 s.RepositoryCredentials = v 6333 return s 6334} 6335 6336// SetResourceRequirements sets the ResourceRequirements field's value. 6337func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 6338 s.ResourceRequirements = v 6339 return s 6340} 6341 6342// SetSecrets sets the Secrets field's value. 6343func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 6344 s.Secrets = v 6345 return s 6346} 6347 6348// SetStartTimeout sets the StartTimeout field's value. 6349func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 6350 s.StartTimeout = &v 6351 return s 6352} 6353 6354// SetStopTimeout sets the StopTimeout field's value. 6355func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 6356 s.StopTimeout = &v 6357 return s 6358} 6359 6360// SetSystemControls sets the SystemControls field's value. 6361func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 6362 s.SystemControls = v 6363 return s 6364} 6365 6366// SetUlimits sets the Ulimits field's value. 6367func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 6368 s.Ulimits = v 6369 return s 6370} 6371 6372// SetUser sets the User field's value. 6373func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 6374 s.User = &v 6375 return s 6376} 6377 6378// SetVolumesFrom sets the VolumesFrom field's value. 6379func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 6380 s.VolumesFrom = v 6381 return s 6382} 6383 6384// SetWorkingDirectory sets the WorkingDirectory field's value. 6385func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 6386 s.WorkingDirectory = &v 6387 return s 6388} 6389 6390// The dependencies defined for container startup and shutdown. A container 6391// can contain multiple dependencies. When a dependency is defined for container 6392// startup, for container shutdown it is reversed. 6393// 6394// Your Amazon ECS container instances require at least version 1.26.0 of the 6395// container agent to enable container dependencies. However, we recommend using 6396// the latest container agent version. For information about checking your agent 6397// version and updating to the latest version, see Updating the Amazon ECS Container 6398// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6399// in the Amazon Elastic Container Service Developer Guide. If you are using 6400// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6401// of the ecs-init package. If your container instances are launched from version 6402// 20190301 or later, then they contain the required versions of the container 6403// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6404// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6405// in the Amazon Elastic Container Service Developer Guide. 6406// 6407// If you are using tasks that use the Fargate launch type, container dependency 6408// parameters are not supported. 6409type ContainerDependency struct { 6410 _ struct{} `type:"structure"` 6411 6412 // The dependency condition of the container. The following are the available 6413 // conditions and their behavior: 6414 // 6415 // * START - This condition emulates the behavior of links and volumes today. 6416 // It validates that a dependent container is started before permitting other 6417 // containers to start. 6418 // 6419 // * COMPLETE - This condition validates that a dependent container runs 6420 // to completion (exits) before permitting other containers to start. This 6421 // can be useful for nonessential containers that run a script and then exit. 6422 // 6423 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 6424 // that the container exits with a zero status. 6425 // 6426 // * HEALTHY - This condition validates that the dependent container passes 6427 // its Docker health check before permitting other containers to start. This 6428 // requires that the dependent container has health checks configured. This 6429 // condition is confirmed only at task startup. 6430 // 6431 // Condition is a required field 6432 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 6433 6434 // The name of a container. 6435 // 6436 // ContainerName is a required field 6437 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 6438} 6439 6440// String returns the string representation 6441func (s ContainerDependency) String() string { 6442 return awsutil.Prettify(s) 6443} 6444 6445// GoString returns the string representation 6446func (s ContainerDependency) GoString() string { 6447 return s.String() 6448} 6449 6450// Validate inspects the fields of the type to determine if they are valid. 6451func (s *ContainerDependency) Validate() error { 6452 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 6453 if s.Condition == nil { 6454 invalidParams.Add(request.NewErrParamRequired("Condition")) 6455 } 6456 if s.ContainerName == nil { 6457 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 6458 } 6459 6460 if invalidParams.Len() > 0 { 6461 return invalidParams 6462 } 6463 return nil 6464} 6465 6466// SetCondition sets the Condition field's value. 6467func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 6468 s.Condition = &v 6469 return s 6470} 6471 6472// SetContainerName sets the ContainerName field's value. 6473func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 6474 s.ContainerName = &v 6475 return s 6476} 6477 6478// An EC2 instance that is running the Amazon ECS agent and has been registered 6479// with a cluster. 6480type ContainerInstance struct { 6481 _ struct{} `type:"structure"` 6482 6483 // This parameter returns true if the agent is connected to Amazon ECS. Registered 6484 // instances with an agent that may be unhealthy or stopped return false. Only 6485 // instances connected to an agent can accept placement requests. 6486 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 6487 6488 // The status of the most recent agent update. If an update has never been requested, 6489 // this value is NULL. 6490 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 6491 6492 // The resources attached to a container instance, such as elastic network interfaces. 6493 Attachments []*Attachment `locationName:"attachments" type:"list"` 6494 6495 // The attributes set for the container instance, either by the Amazon ECS container 6496 // agent at instance registration or manually with the PutAttributes operation. 6497 Attributes []*Attribute `locationName:"attributes" type:"list"` 6498 6499 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 6500 // the arn:aws:ecs namespace, followed by the Region of the container instance, 6501 // the AWS account ID of the container instance owner, the container-instance 6502 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 6503 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 6504 6505 // The EC2 instance ID of the container instance. 6506 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 6507 6508 // The number of tasks on the container instance that are in the PENDING status. 6509 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6510 6511 // The Unix timestamp for when the container instance was registered. 6512 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 6513 6514 // For CPU and memory resource types, this parameter describes the amount of 6515 // each resource that was available on the container instance when the container 6516 // agent registered it with Amazon ECS. This value represents the total amount 6517 // of CPU and memory that can be allocated on this container instance to tasks. 6518 // For port resource types, this parameter describes the ports that were reserved 6519 // by the Amazon ECS container agent when it registered the container instance 6520 // with Amazon ECS. 6521 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 6522 6523 // For CPU and memory resource types, this parameter describes the remaining 6524 // CPU and memory that has not already been allocated to tasks and is therefore 6525 // available for new tasks. For port resource types, this parameter describes 6526 // the ports that were reserved by the Amazon ECS container agent (at instance 6527 // registration time) and any task containers that have reserved port mappings 6528 // on the host (with the host or bridge network mode). Any port that is not 6529 // specified here is available for new tasks. 6530 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 6531 6532 // The number of tasks on the container instance that are in the RUNNING status. 6533 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6534 6535 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 6536 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 6537 // 6538 // If your account has opted in to the awsvpcTrunking account setting, then 6539 // any newly registered container instance will transition to a REGISTERING 6540 // status while the trunk elastic network interface is provisioned for the instance. 6541 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 6542 // status. You can describe the container instance and see the reason for failure 6543 // in the statusReason parameter. Once the container instance is terminated, 6544 // the instance transitions to a DEREGISTERING status while the trunk elastic 6545 // network interface is deprovisioned. The instance then transitions to an INACTIVE 6546 // status. 6547 // 6548 // The ACTIVE status indicates that the container instance can accept tasks. 6549 // The DRAINING indicates that new tasks are not placed on the container instance 6550 // and any service tasks running on the container instance are removed if possible. 6551 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 6552 // in the Amazon Elastic Container Service Developer Guide. 6553 Status *string `locationName:"status" type:"string"` 6554 6555 // The reason that the container instance reached its current status. 6556 StatusReason *string `locationName:"statusReason" type:"string"` 6557 6558 // The metadata that you apply to the container instance to help you categorize 6559 // and organize them. Each tag consists of a key and an optional value, both 6560 // of which you define. Tag keys can have a maximum character length of 128 6561 // characters, and tag values can have a maximum length of 256 characters. 6562 Tags []*Tag `locationName:"tags" type:"list"` 6563 6564 // The version counter for the container instance. Every time a container instance 6565 // experiences a change that triggers a CloudWatch event, the version counter 6566 // is incremented. If you are replicating your Amazon ECS container instance 6567 // state with CloudWatch Events, you can compare the version of a container 6568 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 6569 // Events for the container instance (inside the detail object) to verify that 6570 // the version in your event stream is current. 6571 Version *int64 `locationName:"version" type:"long"` 6572 6573 // The version information for the Amazon ECS container agent and Docker daemon 6574 // running on the container instance. 6575 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 6576} 6577 6578// String returns the string representation 6579func (s ContainerInstance) String() string { 6580 return awsutil.Prettify(s) 6581} 6582 6583// GoString returns the string representation 6584func (s ContainerInstance) GoString() string { 6585 return s.String() 6586} 6587 6588// SetAgentConnected sets the AgentConnected field's value. 6589func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 6590 s.AgentConnected = &v 6591 return s 6592} 6593 6594// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 6595func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 6596 s.AgentUpdateStatus = &v 6597 return s 6598} 6599 6600// SetAttachments sets the Attachments field's value. 6601func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 6602 s.Attachments = v 6603 return s 6604} 6605 6606// SetAttributes sets the Attributes field's value. 6607func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 6608 s.Attributes = v 6609 return s 6610} 6611 6612// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 6613func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 6614 s.ContainerInstanceArn = &v 6615 return s 6616} 6617 6618// SetEc2InstanceId sets the Ec2InstanceId field's value. 6619func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 6620 s.Ec2InstanceId = &v 6621 return s 6622} 6623 6624// SetPendingTasksCount sets the PendingTasksCount field's value. 6625func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 6626 s.PendingTasksCount = &v 6627 return s 6628} 6629 6630// SetRegisteredAt sets the RegisteredAt field's value. 6631func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 6632 s.RegisteredAt = &v 6633 return s 6634} 6635 6636// SetRegisteredResources sets the RegisteredResources field's value. 6637func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 6638 s.RegisteredResources = v 6639 return s 6640} 6641 6642// SetRemainingResources sets the RemainingResources field's value. 6643func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 6644 s.RemainingResources = v 6645 return s 6646} 6647 6648// SetRunningTasksCount sets the RunningTasksCount field's value. 6649func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 6650 s.RunningTasksCount = &v 6651 return s 6652} 6653 6654// SetStatus sets the Status field's value. 6655func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 6656 s.Status = &v 6657 return s 6658} 6659 6660// SetStatusReason sets the StatusReason field's value. 6661func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 6662 s.StatusReason = &v 6663 return s 6664} 6665 6666// SetTags sets the Tags field's value. 6667func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 6668 s.Tags = v 6669 return s 6670} 6671 6672// SetVersion sets the Version field's value. 6673func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 6674 s.Version = &v 6675 return s 6676} 6677 6678// SetVersionInfo sets the VersionInfo field's value. 6679func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 6680 s.VersionInfo = v 6681 return s 6682} 6683 6684// The overrides that should be sent to a container. An empty container override 6685// can be passed in. An example of an empty container override would be {"containerOverrides": 6686// [ ] }. If a non-empty container override is specified, the name parameter 6687// must be included. 6688type ContainerOverride struct { 6689 _ struct{} `type:"structure"` 6690 6691 // The command to send to the container that overrides the default command from 6692 // the Docker image or the task definition. You must also specify a container 6693 // name. 6694 Command []*string `locationName:"command" type:"list"` 6695 6696 // The number of cpu units reserved for the container, instead of the default 6697 // value from the task definition. You must also specify a container name. 6698 Cpu *int64 `locationName:"cpu" type:"integer"` 6699 6700 // The environment variables to send to the container. You can add new environment 6701 // variables, which are added to the container at launch, or you can override 6702 // the existing environment variables from the Docker image or the task definition. 6703 // You must also specify a container name. 6704 Environment []*KeyValuePair `locationName:"environment" type:"list"` 6705 6706 // The hard limit (in MiB) of memory to present to the container, instead of 6707 // the default value from the task definition. If your container attempts to 6708 // exceed the memory specified here, the container is killed. You must also 6709 // specify a container name. 6710 Memory *int64 `locationName:"memory" type:"integer"` 6711 6712 // The soft limit (in MiB) of memory to reserve for the container, instead of 6713 // the default value from the task definition. You must also specify a container 6714 // name. 6715 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 6716 6717 // The name of the container that receives the override. This parameter is required 6718 // if any override is specified. 6719 Name *string `locationName:"name" type:"string"` 6720 6721 // The type and amount of a resource to assign to a container, instead of the 6722 // default value from the task definition. The only supported resource is a 6723 // GPU. 6724 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 6725} 6726 6727// String returns the string representation 6728func (s ContainerOverride) String() string { 6729 return awsutil.Prettify(s) 6730} 6731 6732// GoString returns the string representation 6733func (s ContainerOverride) GoString() string { 6734 return s.String() 6735} 6736 6737// Validate inspects the fields of the type to determine if they are valid. 6738func (s *ContainerOverride) Validate() error { 6739 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 6740 if s.ResourceRequirements != nil { 6741 for i, v := range s.ResourceRequirements { 6742 if v == nil { 6743 continue 6744 } 6745 if err := v.Validate(); err != nil { 6746 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 6747 } 6748 } 6749 } 6750 6751 if invalidParams.Len() > 0 { 6752 return invalidParams 6753 } 6754 return nil 6755} 6756 6757// SetCommand sets the Command field's value. 6758func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 6759 s.Command = v 6760 return s 6761} 6762 6763// SetCpu sets the Cpu field's value. 6764func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 6765 s.Cpu = &v 6766 return s 6767} 6768 6769// SetEnvironment sets the Environment field's value. 6770func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 6771 s.Environment = v 6772 return s 6773} 6774 6775// SetMemory sets the Memory field's value. 6776func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 6777 s.Memory = &v 6778 return s 6779} 6780 6781// SetMemoryReservation sets the MemoryReservation field's value. 6782func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 6783 s.MemoryReservation = &v 6784 return s 6785} 6786 6787// SetName sets the Name field's value. 6788func (s *ContainerOverride) SetName(v string) *ContainerOverride { 6789 s.Name = &v 6790 return s 6791} 6792 6793// SetResourceRequirements sets the ResourceRequirements field's value. 6794func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 6795 s.ResourceRequirements = v 6796 return s 6797} 6798 6799// An object representing a change in state for a container. 6800type ContainerStateChange struct { 6801 _ struct{} `type:"structure"` 6802 6803 // The name of the container. 6804 ContainerName *string `locationName:"containerName" type:"string"` 6805 6806 // The exit code for the container, if the state change is a result of the container 6807 // exiting. 6808 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6809 6810 // Any network bindings associated with the container. 6811 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6812 6813 // The reason for the state change. 6814 Reason *string `locationName:"reason" type:"string"` 6815 6816 // The status of the container. 6817 Status *string `locationName:"status" type:"string"` 6818} 6819 6820// String returns the string representation 6821func (s ContainerStateChange) String() string { 6822 return awsutil.Prettify(s) 6823} 6824 6825// GoString returns the string representation 6826func (s ContainerStateChange) GoString() string { 6827 return s.String() 6828} 6829 6830// SetContainerName sets the ContainerName field's value. 6831func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 6832 s.ContainerName = &v 6833 return s 6834} 6835 6836// SetExitCode sets the ExitCode field's value. 6837func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 6838 s.ExitCode = &v 6839 return s 6840} 6841 6842// SetNetworkBindings sets the NetworkBindings field's value. 6843func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 6844 s.NetworkBindings = v 6845 return s 6846} 6847 6848// SetReason sets the Reason field's value. 6849func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 6850 s.Reason = &v 6851 return s 6852} 6853 6854// SetStatus sets the Status field's value. 6855func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 6856 s.Status = &v 6857 return s 6858} 6859 6860type CreateClusterInput struct { 6861 _ struct{} `type:"structure"` 6862 6863 // The name of your cluster. If you do not specify a name for your cluster, 6864 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 6865 // numbers, and hyphens are allowed. 6866 ClusterName *string `locationName:"clusterName" type:"string"` 6867 6868 // The setting to use when creating a cluster. This parameter is used to enable 6869 // CloudWatch Container Insights for a cluster. If this value is specified, 6870 // it will override the containerInsights value set with PutAccountSetting or 6871 // PutAccountSettingDefault. 6872 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6873 6874 // The metadata that you apply to the cluster to help you categorize and organize 6875 // them. Each tag consists of a key and an optional value, both of which you 6876 // define. Tag keys can have a maximum character length of 128 characters, and 6877 // tag values can have a maximum length of 256 characters. 6878 Tags []*Tag `locationName:"tags" type:"list"` 6879} 6880 6881// String returns the string representation 6882func (s CreateClusterInput) String() string { 6883 return awsutil.Prettify(s) 6884} 6885 6886// GoString returns the string representation 6887func (s CreateClusterInput) GoString() string { 6888 return s.String() 6889} 6890 6891// Validate inspects the fields of the type to determine if they are valid. 6892func (s *CreateClusterInput) Validate() error { 6893 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 6894 if s.Tags != nil { 6895 for i, v := range s.Tags { 6896 if v == nil { 6897 continue 6898 } 6899 if err := v.Validate(); err != nil { 6900 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 6901 } 6902 } 6903 } 6904 6905 if invalidParams.Len() > 0 { 6906 return invalidParams 6907 } 6908 return nil 6909} 6910 6911// SetClusterName sets the ClusterName field's value. 6912func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 6913 s.ClusterName = &v 6914 return s 6915} 6916 6917// SetSettings sets the Settings field's value. 6918func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 6919 s.Settings = v 6920 return s 6921} 6922 6923// SetTags sets the Tags field's value. 6924func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 6925 s.Tags = v 6926 return s 6927} 6928 6929type CreateClusterOutput struct { 6930 _ struct{} `type:"structure"` 6931 6932 // The full description of your new cluster. 6933 Cluster *Cluster `locationName:"cluster" type:"structure"` 6934} 6935 6936// String returns the string representation 6937func (s CreateClusterOutput) String() string { 6938 return awsutil.Prettify(s) 6939} 6940 6941// GoString returns the string representation 6942func (s CreateClusterOutput) GoString() string { 6943 return s.String() 6944} 6945 6946// SetCluster sets the Cluster field's value. 6947func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 6948 s.Cluster = v 6949 return s 6950} 6951 6952type CreateServiceInput struct { 6953 _ struct{} `type:"structure"` 6954 6955 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6956 // of the request. Up to 32 ASCII characters are allowed. 6957 ClientToken *string `locationName:"clientToken" type:"string"` 6958 6959 // The short name or full Amazon Resource Name (ARN) of the cluster on which 6960 // to run your service. If you do not specify a cluster, the default cluster 6961 // is assumed. 6962 Cluster *string `locationName:"cluster" type:"string"` 6963 6964 // Optional deployment parameters that control how many tasks run during the 6965 // deployment and the ordering of stopping and starting tasks. 6966 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 6967 6968 // The deployment controller to use for the service. 6969 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 6970 6971 // The number of instantiations of the specified task definition to place and 6972 // keep running on your cluster. 6973 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 6974 6975 // Specifies whether to enable Amazon ECS managed tags for the tasks within 6976 // the service. For more information, see Tagging Your Amazon ECS Resources 6977 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 6978 // in the Amazon Elastic Container Service Developer Guide. 6979 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 6980 6981 // The period of time, in seconds, that the Amazon ECS service scheduler should 6982 // ignore unhealthy Elastic Load Balancing target health checks after a task 6983 // has first started. This is only valid if your service is configured to use 6984 // a load balancer. If your service's tasks take a while to start and respond 6985 // to Elastic Load Balancing health checks, you can specify a health check grace 6986 // period of up to 2,147,483,647 seconds. During that time, the ECS service 6987 // scheduler ignores health check status. This grace period can prevent the 6988 // ECS service scheduler from marking tasks as unhealthy and stopping them before 6989 // they have time to come up. 6990 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 6991 6992 // The launch type on which to run your service. For more information, see Amazon 6993 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 6994 // in the Amazon Elastic Container Service Developer Guide. 6995 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 6996 6997 // A load balancer object representing the load balancer to use with your service. 6998 // 6999 // If the service is using the ECS deployment controller, you are limited to 7000 // one load balancer or target group. 7001 // 7002 // If the service is using the CODE_DEPLOY deployment controller, the service 7003 // is required to use either an Application Load Balancer or Network Load Balancer. 7004 // When creating an AWS CodeDeploy deployment group, you specify two target 7005 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 7006 // determines which task set in your service has the status PRIMARY and associates 7007 // one target group with it, and then associates the other target group with 7008 // the replacement task set. The load balancer can also have up to two listeners: 7009 // a required listener for production traffic and an optional listener that 7010 // allows you perform validation tests with Lambda functions before routing 7011 // production traffic to it. 7012 // 7013 // After you create a service using the ECS deployment controller, the load 7014 // balancer name or target group ARN, container name, and container port specified 7015 // in the service definition are immutable. If you are using the CODE_DEPLOY 7016 // deployment controller, these values can be changed when updating the service. 7017 // 7018 // For Classic Load Balancers, this object must contain the load balancer name, 7019 // the container name (as it appears in a container definition), and the container 7020 // port to access from the load balancer. When a task from this service is placed 7021 // on a container instance, the container instance is registered with the load 7022 // balancer specified here. 7023 // 7024 // For Application Load Balancers and Network Load Balancers, this object must 7025 // contain the load balancer target group ARN, the container name (as it appears 7026 // in a container definition), and the container port to access from the load 7027 // balancer. When a task from this service is placed on a container instance, 7028 // the container instance and port combination is registered as a target in 7029 // the target group specified here. 7030 // 7031 // Services with tasks that use the awsvpc network mode (for example, those 7032 // with the Fargate launch type) only support Application Load Balancers and 7033 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 7034 // you create any target groups for these services, you must choose ip as the 7035 // target type, not instance, because tasks that use the awsvpc network mode 7036 // are associated with an elastic network interface, not an Amazon EC2 instance. 7037 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 7038 7039 // The network configuration for the service. This parameter is required for 7040 // task definitions that use the awsvpc network mode to receive their own elastic 7041 // network interface, and it is not supported for other network modes. For more 7042 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 7043 // in the Amazon Elastic Container Service Developer Guide. 7044 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 7045 7046 // An array of placement constraint objects to use for tasks in your service. 7047 // You can specify a maximum of 10 constraints per task (this limit includes 7048 // constraints in the task definition and those specified at runtime). 7049 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 7050 7051 // The placement strategy objects to use for tasks in your service. You can 7052 // specify a maximum of five strategy rules per service. 7053 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 7054 7055 // The platform version that your tasks in the service are running on. A platform 7056 // version is specified only for tasks using the Fargate launch type. If one 7057 // isn't specified, the LATEST platform version is used by default. For more 7058 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 7059 // in the Amazon Elastic Container Service Developer Guide. 7060 PlatformVersion *string `locationName:"platformVersion" type:"string"` 7061 7062 // Specifies whether to propagate the tags from the task definition or the service 7063 // to the tasks in the service. If no value is specified, the tags are not propagated. 7064 // Tags can only be propagated to the tasks within the service during service 7065 // creation. To add tags to a task after service creation, use the TagResource 7066 // API action. 7067 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 7068 7069 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 7070 // ECS to make calls to your load balancer on your behalf. This parameter is 7071 // only permitted if you are using a load balancer with your service and your 7072 // task definition does not use the awsvpc network mode. If you specify the 7073 // role parameter, you must also specify a load balancer object with the loadBalancers 7074 // parameter. 7075 // 7076 // If your account has already created the Amazon ECS service-linked role, that 7077 // role is used by default for your service unless you specify a role here. 7078 // The service-linked role is required if your task definition uses the awsvpc 7079 // network mode, in which case you should not specify a role here. For more 7080 // information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 7081 // in the Amazon Elastic Container Service Developer Guide. 7082 // 7083 // If your specified role has a path other than /, then you must either specify 7084 // the full role ARN (this is recommended) or prefix the role name with the 7085 // path. For example, if a role with the name bar has a path of /foo/ then you 7086 // would specify /foo/bar as the role name. For more information, see Friendly 7087 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 7088 // in the IAM User Guide. 7089 Role *string `locationName:"role" type:"string"` 7090 7091 // The scheduling strategy to use for the service. For more information, see 7092 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 7093 // 7094 // There are two service scheduler strategies available: 7095 // 7096 // * REPLICA-The replica scheduling strategy places and maintains the desired 7097 // number of tasks across your cluster. By default, the service scheduler 7098 // spreads tasks across Availability Zones. You can use task placement strategies 7099 // and constraints to customize task placement decisions. This scheduler 7100 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 7101 // deployment controller types. 7102 // 7103 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 7104 // active container instance that meets all of the task placement constraints 7105 // that you specify in your cluster. When you're using this strategy, you 7106 // don't need to specify a desired number of tasks, a task placement strategy, 7107 // or use Service Auto Scaling policies. Tasks using the Fargate launch type 7108 // or the CODE_DEPLOY or EXTERNAL deployment controller types don't support 7109 // the DAEMON scheduling strategy. 7110 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 7111 7112 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 7113 // and hyphens are allowed. Service names must be unique within a cluster, but 7114 // you can have similarly named services in multiple clusters within a Region 7115 // or across multiple Regions. 7116 // 7117 // ServiceName is a required field 7118 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 7119 7120 // The details of the service discovery registries to assign to this service. 7121 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 7122 // 7123 // Service discovery is supported for Fargate tasks if you are using platform 7124 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 7125 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 7126 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 7127 7128 // The metadata that you apply to the service to help you categorize and organize 7129 // them. Each tag consists of a key and an optional value, both of which you 7130 // define. When a service is deleted, the tags are deleted as well. Tag keys 7131 // can have a maximum character length of 128 characters, and tag values can 7132 // have a maximum length of 256 characters. 7133 Tags []*Tag `locationName:"tags" type:"list"` 7134 7135 // The family and revision (family:revision) or full ARN of the task definition 7136 // to run in your service. If a revision is not specified, the latest ACTIVE 7137 // revision is used. 7138 // 7139 // A task definition must be specified if the service is using the ECS deployment 7140 // controller. 7141 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 7142} 7143 7144// String returns the string representation 7145func (s CreateServiceInput) String() string { 7146 return awsutil.Prettify(s) 7147} 7148 7149// GoString returns the string representation 7150func (s CreateServiceInput) GoString() string { 7151 return s.String() 7152} 7153 7154// Validate inspects the fields of the type to determine if they are valid. 7155func (s *CreateServiceInput) Validate() error { 7156 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 7157 if s.ServiceName == nil { 7158 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 7159 } 7160 if s.DeploymentController != nil { 7161 if err := s.DeploymentController.Validate(); err != nil { 7162 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 7163 } 7164 } 7165 if s.NetworkConfiguration != nil { 7166 if err := s.NetworkConfiguration.Validate(); err != nil { 7167 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 7168 } 7169 } 7170 if s.Tags != nil { 7171 for i, v := range s.Tags { 7172 if v == nil { 7173 continue 7174 } 7175 if err := v.Validate(); err != nil { 7176 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7177 } 7178 } 7179 } 7180 7181 if invalidParams.Len() > 0 { 7182 return invalidParams 7183 } 7184 return nil 7185} 7186 7187// SetClientToken sets the ClientToken field's value. 7188func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 7189 s.ClientToken = &v 7190 return s 7191} 7192 7193// SetCluster sets the Cluster field's value. 7194func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 7195 s.Cluster = &v 7196 return s 7197} 7198 7199// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 7200func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 7201 s.DeploymentConfiguration = v 7202 return s 7203} 7204 7205// SetDeploymentController sets the DeploymentController field's value. 7206func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 7207 s.DeploymentController = v 7208 return s 7209} 7210 7211// SetDesiredCount sets the DesiredCount field's value. 7212func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 7213 s.DesiredCount = &v 7214 return s 7215} 7216 7217// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 7218func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 7219 s.EnableECSManagedTags = &v 7220 return s 7221} 7222 7223// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 7224func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 7225 s.HealthCheckGracePeriodSeconds = &v 7226 return s 7227} 7228 7229// SetLaunchType sets the LaunchType field's value. 7230func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 7231 s.LaunchType = &v 7232 return s 7233} 7234 7235// SetLoadBalancers sets the LoadBalancers field's value. 7236func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 7237 s.LoadBalancers = v 7238 return s 7239} 7240 7241// SetNetworkConfiguration sets the NetworkConfiguration field's value. 7242func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 7243 s.NetworkConfiguration = v 7244 return s 7245} 7246 7247// SetPlacementConstraints sets the PlacementConstraints field's value. 7248func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 7249 s.PlacementConstraints = v 7250 return s 7251} 7252 7253// SetPlacementStrategy sets the PlacementStrategy field's value. 7254func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 7255 s.PlacementStrategy = v 7256 return s 7257} 7258 7259// SetPlatformVersion sets the PlatformVersion field's value. 7260func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 7261 s.PlatformVersion = &v 7262 return s 7263} 7264 7265// SetPropagateTags sets the PropagateTags field's value. 7266func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 7267 s.PropagateTags = &v 7268 return s 7269} 7270 7271// SetRole sets the Role field's value. 7272func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 7273 s.Role = &v 7274 return s 7275} 7276 7277// SetSchedulingStrategy sets the SchedulingStrategy field's value. 7278func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 7279 s.SchedulingStrategy = &v 7280 return s 7281} 7282 7283// SetServiceName sets the ServiceName field's value. 7284func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 7285 s.ServiceName = &v 7286 return s 7287} 7288 7289// SetServiceRegistries sets the ServiceRegistries field's value. 7290func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 7291 s.ServiceRegistries = v 7292 return s 7293} 7294 7295// SetTags sets the Tags field's value. 7296func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 7297 s.Tags = v 7298 return s 7299} 7300 7301// SetTaskDefinition sets the TaskDefinition field's value. 7302func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 7303 s.TaskDefinition = &v 7304 return s 7305} 7306 7307type CreateServiceOutput struct { 7308 _ struct{} `type:"structure"` 7309 7310 // The full description of your service following the create call. 7311 // 7312 // If a service is using the ECS deployment controller, the deploymentController 7313 // and taskSets parameters will not be returned. 7314 // 7315 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 7316 // taskSets and deployments parameters will be returned, however the deployments 7317 // parameter will be an empty list. 7318 Service *Service `locationName:"service" type:"structure"` 7319} 7320 7321// String returns the string representation 7322func (s CreateServiceOutput) String() string { 7323 return awsutil.Prettify(s) 7324} 7325 7326// GoString returns the string representation 7327func (s CreateServiceOutput) GoString() string { 7328 return s.String() 7329} 7330 7331// SetService sets the Service field's value. 7332func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 7333 s.Service = v 7334 return s 7335} 7336 7337type CreateTaskSetInput struct { 7338 _ struct{} `type:"structure"` 7339 7340 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7341 // of the request. Up to 32 ASCII characters are allowed. 7342 ClientToken *string `locationName:"clientToken" type:"string"` 7343 7344 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 7345 // the service to create the task set in. 7346 // 7347 // Cluster is a required field 7348 Cluster *string `locationName:"cluster" type:"string" required:"true"` 7349 7350 // An optional non-unique tag that identifies this task set in external systems. 7351 // If the task set is associated with a service discovery registry, the tasks 7352 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 7353 // set to the provided value. 7354 ExternalId *string `locationName:"externalId" type:"string"` 7355 7356 // The launch type that new tasks in the task set will use. For more information, 7357 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 7358 // in the Amazon Elastic Container Service Developer Guide. 7359 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 7360 7361 // A load balancer object representing the load balancer to use with the task 7362 // set. The supported load balancer types are either an Application Load Balancer 7363 // or a Network Load Balancer. 7364 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 7365 7366 // An object representing the network configuration for a task or service. 7367 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 7368 7369 // The platform version that the tasks in the task set should use. A platform 7370 // version is specified only for tasks using the Fargate launch type. If one 7371 // isn't specified, the LATEST platform version is used by default. 7372 PlatformVersion *string `locationName:"platformVersion" type:"string"` 7373 7374 // A floating-point percentage of the desired number of tasks to place and keep 7375 // running in the task set. 7376 Scale *Scale `locationName:"scale" type:"structure"` 7377 7378 // The short name or full Amazon Resource Name (ARN) of the service to create 7379 // the task set in. 7380 // 7381 // Service is a required field 7382 Service *string `locationName:"service" type:"string" required:"true"` 7383 7384 // The details of the service discovery registries to assign to this task set. 7385 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 7386 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 7387 7388 // The task definition for the tasks in the task set to use. 7389 // 7390 // TaskDefinition is a required field 7391 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 7392} 7393 7394// String returns the string representation 7395func (s CreateTaskSetInput) String() string { 7396 return awsutil.Prettify(s) 7397} 7398 7399// GoString returns the string representation 7400func (s CreateTaskSetInput) GoString() string { 7401 return s.String() 7402} 7403 7404// Validate inspects the fields of the type to determine if they are valid. 7405func (s *CreateTaskSetInput) Validate() error { 7406 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 7407 if s.Cluster == nil { 7408 invalidParams.Add(request.NewErrParamRequired("Cluster")) 7409 } 7410 if s.Service == nil { 7411 invalidParams.Add(request.NewErrParamRequired("Service")) 7412 } 7413 if s.TaskDefinition == nil { 7414 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 7415 } 7416 if s.NetworkConfiguration != nil { 7417 if err := s.NetworkConfiguration.Validate(); err != nil { 7418 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 7419 } 7420 } 7421 7422 if invalidParams.Len() > 0 { 7423 return invalidParams 7424 } 7425 return nil 7426} 7427 7428// SetClientToken sets the ClientToken field's value. 7429func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 7430 s.ClientToken = &v 7431 return s 7432} 7433 7434// SetCluster sets the Cluster field's value. 7435func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 7436 s.Cluster = &v 7437 return s 7438} 7439 7440// SetExternalId sets the ExternalId field's value. 7441func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 7442 s.ExternalId = &v 7443 return s 7444} 7445 7446// SetLaunchType sets the LaunchType field's value. 7447func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 7448 s.LaunchType = &v 7449 return s 7450} 7451 7452// SetLoadBalancers sets the LoadBalancers field's value. 7453func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 7454 s.LoadBalancers = v 7455 return s 7456} 7457 7458// SetNetworkConfiguration sets the NetworkConfiguration field's value. 7459func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 7460 s.NetworkConfiguration = v 7461 return s 7462} 7463 7464// SetPlatformVersion sets the PlatformVersion field's value. 7465func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 7466 s.PlatformVersion = &v 7467 return s 7468} 7469 7470// SetScale sets the Scale field's value. 7471func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 7472 s.Scale = v 7473 return s 7474} 7475 7476// SetService sets the Service field's value. 7477func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 7478 s.Service = &v 7479 return s 7480} 7481 7482// SetServiceRegistries sets the ServiceRegistries field's value. 7483func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 7484 s.ServiceRegistries = v 7485 return s 7486} 7487 7488// SetTaskDefinition sets the TaskDefinition field's value. 7489func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 7490 s.TaskDefinition = &v 7491 return s 7492} 7493 7494type CreateTaskSetOutput struct { 7495 _ struct{} `type:"structure"` 7496 7497 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 7498 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 7499 // desired number of tasks, how many tasks are running, and whether the task 7500 // set serves production traffic. 7501 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 7502} 7503 7504// String returns the string representation 7505func (s CreateTaskSetOutput) String() string { 7506 return awsutil.Prettify(s) 7507} 7508 7509// GoString returns the string representation 7510func (s CreateTaskSetOutput) GoString() string { 7511 return s.String() 7512} 7513 7514// SetTaskSet sets the TaskSet field's value. 7515func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 7516 s.TaskSet = v 7517 return s 7518} 7519 7520type DeleteAccountSettingInput struct { 7521 _ struct{} `type:"structure"` 7522 7523 // The resource name for which to disable the account setting. If serviceLongArnFormat 7524 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 7525 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 7526 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 7527 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 7528 // the ENI limit for your Amazon ECS container instances is affected. 7529 // 7530 // Name is a required field 7531 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 7532 7533 // The ARN of the principal, which can be an IAM user, IAM role, or the root 7534 // user. If you specify the root user, it disables the account setting for all 7535 // IAM users, IAM roles, and the root user of the account unless an IAM user 7536 // or role explicitly overrides these settings. If this field is omitted, the 7537 // setting is changed only for the authenticated user. 7538 PrincipalArn *string `locationName:"principalArn" type:"string"` 7539} 7540 7541// String returns the string representation 7542func (s DeleteAccountSettingInput) String() string { 7543 return awsutil.Prettify(s) 7544} 7545 7546// GoString returns the string representation 7547func (s DeleteAccountSettingInput) GoString() string { 7548 return s.String() 7549} 7550 7551// Validate inspects the fields of the type to determine if they are valid. 7552func (s *DeleteAccountSettingInput) Validate() error { 7553 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 7554 if s.Name == nil { 7555 invalidParams.Add(request.NewErrParamRequired("Name")) 7556 } 7557 7558 if invalidParams.Len() > 0 { 7559 return invalidParams 7560 } 7561 return nil 7562} 7563 7564// SetName sets the Name field's value. 7565func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 7566 s.Name = &v 7567 return s 7568} 7569 7570// SetPrincipalArn sets the PrincipalArn field's value. 7571func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 7572 s.PrincipalArn = &v 7573 return s 7574} 7575 7576type DeleteAccountSettingOutput struct { 7577 _ struct{} `type:"structure"` 7578 7579 // The account setting for the specified principal ARN. 7580 Setting *Setting `locationName:"setting" type:"structure"` 7581} 7582 7583// String returns the string representation 7584func (s DeleteAccountSettingOutput) String() string { 7585 return awsutil.Prettify(s) 7586} 7587 7588// GoString returns the string representation 7589func (s DeleteAccountSettingOutput) GoString() string { 7590 return s.String() 7591} 7592 7593// SetSetting sets the Setting field's value. 7594func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 7595 s.Setting = v 7596 return s 7597} 7598 7599type DeleteAttributesInput struct { 7600 _ struct{} `type:"structure"` 7601 7602 // The attributes to delete from your resource. You can specify up to 10 attributes 7603 // per request. For custom attributes, specify the attribute name and target 7604 // ID, but do not specify the value. If you specify the target ID using the 7605 // short form, you must also specify the target type. 7606 // 7607 // Attributes is a required field 7608 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 7609 7610 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 7611 // the resource to delete attributes. If you do not specify a cluster, the default 7612 // cluster is assumed. 7613 Cluster *string `locationName:"cluster" type:"string"` 7614} 7615 7616// String returns the string representation 7617func (s DeleteAttributesInput) String() string { 7618 return awsutil.Prettify(s) 7619} 7620 7621// GoString returns the string representation 7622func (s DeleteAttributesInput) GoString() string { 7623 return s.String() 7624} 7625 7626// Validate inspects the fields of the type to determine if they are valid. 7627func (s *DeleteAttributesInput) Validate() error { 7628 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 7629 if s.Attributes == nil { 7630 invalidParams.Add(request.NewErrParamRequired("Attributes")) 7631 } 7632 if s.Attributes != nil { 7633 for i, v := range s.Attributes { 7634 if v == nil { 7635 continue 7636 } 7637 if err := v.Validate(); err != nil { 7638 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 7639 } 7640 } 7641 } 7642 7643 if invalidParams.Len() > 0 { 7644 return invalidParams 7645 } 7646 return nil 7647} 7648 7649// SetAttributes sets the Attributes field's value. 7650func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 7651 s.Attributes = v 7652 return s 7653} 7654 7655// SetCluster sets the Cluster field's value. 7656func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 7657 s.Cluster = &v 7658 return s 7659} 7660 7661type DeleteAttributesOutput struct { 7662 _ struct{} `type:"structure"` 7663 7664 // A list of attribute objects that were successfully deleted from your resource. 7665 Attributes []*Attribute `locationName:"attributes" type:"list"` 7666} 7667 7668// String returns the string representation 7669func (s DeleteAttributesOutput) String() string { 7670 return awsutil.Prettify(s) 7671} 7672 7673// GoString returns the string representation 7674func (s DeleteAttributesOutput) GoString() string { 7675 return s.String() 7676} 7677 7678// SetAttributes sets the Attributes field's value. 7679func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 7680 s.Attributes = v 7681 return s 7682} 7683 7684type DeleteClusterInput struct { 7685 _ struct{} `type:"structure"` 7686 7687 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 7688 // 7689 // Cluster is a required field 7690 Cluster *string `locationName:"cluster" type:"string" required:"true"` 7691} 7692 7693// String returns the string representation 7694func (s DeleteClusterInput) String() string { 7695 return awsutil.Prettify(s) 7696} 7697 7698// GoString returns the string representation 7699func (s DeleteClusterInput) GoString() string { 7700 return s.String() 7701} 7702 7703// Validate inspects the fields of the type to determine if they are valid. 7704func (s *DeleteClusterInput) Validate() error { 7705 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 7706 if s.Cluster == nil { 7707 invalidParams.Add(request.NewErrParamRequired("Cluster")) 7708 } 7709 7710 if invalidParams.Len() > 0 { 7711 return invalidParams 7712 } 7713 return nil 7714} 7715 7716// SetCluster sets the Cluster field's value. 7717func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 7718 s.Cluster = &v 7719 return s 7720} 7721 7722type DeleteClusterOutput struct { 7723 _ struct{} `type:"structure"` 7724 7725 // The full description of the deleted cluster. 7726 Cluster *Cluster `locationName:"cluster" type:"structure"` 7727} 7728 7729// String returns the string representation 7730func (s DeleteClusterOutput) String() string { 7731 return awsutil.Prettify(s) 7732} 7733 7734// GoString returns the string representation 7735func (s DeleteClusterOutput) GoString() string { 7736 return s.String() 7737} 7738 7739// SetCluster sets the Cluster field's value. 7740func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 7741 s.Cluster = v 7742 return s 7743} 7744 7745type DeleteServiceInput struct { 7746 _ struct{} `type:"structure"` 7747 7748 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 7749 // the service to delete. If you do not specify a cluster, the default cluster 7750 // is assumed. 7751 Cluster *string `locationName:"cluster" type:"string"` 7752 7753 // If true, allows you to delete a service even if it has not been scaled down 7754 // to zero tasks. It is only necessary to use this if the service is using the 7755 // REPLICA scheduling strategy. 7756 Force *bool `locationName:"force" type:"boolean"` 7757 7758 // The name of the service to delete. 7759 // 7760 // Service is a required field 7761 Service *string `locationName:"service" type:"string" required:"true"` 7762} 7763 7764// String returns the string representation 7765func (s DeleteServiceInput) String() string { 7766 return awsutil.Prettify(s) 7767} 7768 7769// GoString returns the string representation 7770func (s DeleteServiceInput) GoString() string { 7771 return s.String() 7772} 7773 7774// Validate inspects the fields of the type to determine if they are valid. 7775func (s *DeleteServiceInput) Validate() error { 7776 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 7777 if s.Service == nil { 7778 invalidParams.Add(request.NewErrParamRequired("Service")) 7779 } 7780 7781 if invalidParams.Len() > 0 { 7782 return invalidParams 7783 } 7784 return nil 7785} 7786 7787// SetCluster sets the Cluster field's value. 7788func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 7789 s.Cluster = &v 7790 return s 7791} 7792 7793// SetForce sets the Force field's value. 7794func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 7795 s.Force = &v 7796 return s 7797} 7798 7799// SetService sets the Service field's value. 7800func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 7801 s.Service = &v 7802 return s 7803} 7804 7805type DeleteServiceOutput struct { 7806 _ struct{} `type:"structure"` 7807 7808 // The full description of the deleted service. 7809 Service *Service `locationName:"service" type:"structure"` 7810} 7811 7812// String returns the string representation 7813func (s DeleteServiceOutput) String() string { 7814 return awsutil.Prettify(s) 7815} 7816 7817// GoString returns the string representation 7818func (s DeleteServiceOutput) GoString() string { 7819 return s.String() 7820} 7821 7822// SetService sets the Service field's value. 7823func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 7824 s.Service = v 7825 return s 7826} 7827 7828type DeleteTaskSetInput struct { 7829 _ struct{} `type:"structure"` 7830 7831 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 7832 // the service that the task set exists in to delete. 7833 // 7834 // Cluster is a required field 7835 Cluster *string `locationName:"cluster" type:"string" required:"true"` 7836 7837 // If true, this allows you to delete a task set even if it hasn't been scaled 7838 // down to zero. 7839 Force *bool `locationName:"force" type:"boolean"` 7840 7841 // The short name or full Amazon Resource Name (ARN) of the service that hosts 7842 // the task set to delete. 7843 // 7844 // Service is a required field 7845 Service *string `locationName:"service" type:"string" required:"true"` 7846 7847 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 7848 // 7849 // TaskSet is a required field 7850 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 7851} 7852 7853// String returns the string representation 7854func (s DeleteTaskSetInput) String() string { 7855 return awsutil.Prettify(s) 7856} 7857 7858// GoString returns the string representation 7859func (s DeleteTaskSetInput) GoString() string { 7860 return s.String() 7861} 7862 7863// Validate inspects the fields of the type to determine if they are valid. 7864func (s *DeleteTaskSetInput) Validate() error { 7865 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 7866 if s.Cluster == nil { 7867 invalidParams.Add(request.NewErrParamRequired("Cluster")) 7868 } 7869 if s.Service == nil { 7870 invalidParams.Add(request.NewErrParamRequired("Service")) 7871 } 7872 if s.TaskSet == nil { 7873 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 7874 } 7875 7876 if invalidParams.Len() > 0 { 7877 return invalidParams 7878 } 7879 return nil 7880} 7881 7882// SetCluster sets the Cluster field's value. 7883func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 7884 s.Cluster = &v 7885 return s 7886} 7887 7888// SetForce sets the Force field's value. 7889func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 7890 s.Force = &v 7891 return s 7892} 7893 7894// SetService sets the Service field's value. 7895func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 7896 s.Service = &v 7897 return s 7898} 7899 7900// SetTaskSet sets the TaskSet field's value. 7901func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 7902 s.TaskSet = &v 7903 return s 7904} 7905 7906type DeleteTaskSetOutput struct { 7907 _ struct{} `type:"structure"` 7908 7909 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 7910 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 7911 // desired number of tasks, how many tasks are running, and whether the task 7912 // set serves production traffic. 7913 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 7914} 7915 7916// String returns the string representation 7917func (s DeleteTaskSetOutput) String() string { 7918 return awsutil.Prettify(s) 7919} 7920 7921// GoString returns the string representation 7922func (s DeleteTaskSetOutput) GoString() string { 7923 return s.String() 7924} 7925 7926// SetTaskSet sets the TaskSet field's value. 7927func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 7928 s.TaskSet = v 7929 return s 7930} 7931 7932// The details of an Amazon ECS service deployment. This is used only when a 7933// service uses the ECS deployment controller type. 7934type Deployment struct { 7935 _ struct{} `type:"structure"` 7936 7937 // The Unix timestamp for when the service deployment was created. 7938 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 7939 7940 // The most recent desired count of tasks that was specified for the service 7941 // to deploy or maintain. 7942 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 7943 7944 // The ID of the deployment. 7945 Id *string `locationName:"id" type:"string"` 7946 7947 // The launch type the tasks in the service are using. For more information, 7948 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 7949 // in the Amazon Elastic Container Service Developer Guide. 7950 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 7951 7952 // The VPC subnet and security group configuration for tasks that receive their 7953 // own elastic network interface by using the awsvpc networking mode. 7954 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 7955 7956 // The number of tasks in the deployment that are in the PENDING status. 7957 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 7958 7959 // The platform version on which your tasks in the service are running. A platform 7960 // version is only specified for tasks using the Fargate launch type. If one 7961 // is not specified, the LATEST platform version is used by default. For more 7962 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 7963 // in the Amazon Elastic Container Service Developer Guide. 7964 PlatformVersion *string `locationName:"platformVersion" type:"string"` 7965 7966 // The number of tasks in the deployment that are in the RUNNING status. 7967 RunningCount *int64 `locationName:"runningCount" type:"integer"` 7968 7969 // The status of the deployment. The following describes each state: 7970 // 7971 // PRIMARY 7972 // 7973 // The most recent deployment of a service. 7974 // 7975 // ACTIVE 7976 // 7977 // A service deployment that still has running tasks, but are in the process 7978 // of being replaced with a new PRIMARY deployment. 7979 // 7980 // INACTIVE 7981 // 7982 // A deployment that has been completely replaced. 7983 Status *string `locationName:"status" type:"string"` 7984 7985 // The most recent task definition that was specified for the tasks in the service 7986 // to use. 7987 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 7988 7989 // The Unix timestamp for when the service deployment was last updated. 7990 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 7991} 7992 7993// String returns the string representation 7994func (s Deployment) String() string { 7995 return awsutil.Prettify(s) 7996} 7997 7998// GoString returns the string representation 7999func (s Deployment) GoString() string { 8000 return s.String() 8001} 8002 8003// SetCreatedAt sets the CreatedAt field's value. 8004func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 8005 s.CreatedAt = &v 8006 return s 8007} 8008 8009// SetDesiredCount sets the DesiredCount field's value. 8010func (s *Deployment) SetDesiredCount(v int64) *Deployment { 8011 s.DesiredCount = &v 8012 return s 8013} 8014 8015// SetId sets the Id field's value. 8016func (s *Deployment) SetId(v string) *Deployment { 8017 s.Id = &v 8018 return s 8019} 8020 8021// SetLaunchType sets the LaunchType field's value. 8022func (s *Deployment) SetLaunchType(v string) *Deployment { 8023 s.LaunchType = &v 8024 return s 8025} 8026 8027// SetNetworkConfiguration sets the NetworkConfiguration field's value. 8028func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 8029 s.NetworkConfiguration = v 8030 return s 8031} 8032 8033// SetPendingCount sets the PendingCount field's value. 8034func (s *Deployment) SetPendingCount(v int64) *Deployment { 8035 s.PendingCount = &v 8036 return s 8037} 8038 8039// SetPlatformVersion sets the PlatformVersion field's value. 8040func (s *Deployment) SetPlatformVersion(v string) *Deployment { 8041 s.PlatformVersion = &v 8042 return s 8043} 8044 8045// SetRunningCount sets the RunningCount field's value. 8046func (s *Deployment) SetRunningCount(v int64) *Deployment { 8047 s.RunningCount = &v 8048 return s 8049} 8050 8051// SetStatus sets the Status field's value. 8052func (s *Deployment) SetStatus(v string) *Deployment { 8053 s.Status = &v 8054 return s 8055} 8056 8057// SetTaskDefinition sets the TaskDefinition field's value. 8058func (s *Deployment) SetTaskDefinition(v string) *Deployment { 8059 s.TaskDefinition = &v 8060 return s 8061} 8062 8063// SetUpdatedAt sets the UpdatedAt field's value. 8064func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 8065 s.UpdatedAt = &v 8066 return s 8067} 8068 8069// Optional deployment parameters that control how many tasks run during a deployment 8070// and the ordering of stopping and starting tasks. 8071type DeploymentConfiguration struct { 8072 _ struct{} `type:"structure"` 8073 8074 // If a service is using the rolling update (ECS) deployment type, the maximum 8075 // percent parameter represents an upper limit on the number of tasks in a service 8076 // that are allowed in the RUNNING or PENDING state during a deployment, as 8077 // a percentage of the desired number of tasks (rounded down to the nearest 8078 // integer), and while any container instances are in the DRAINING state if 8079 // the service contains tasks using the EC2 launch type. This parameter enables 8080 // you to define the deployment batch size. For example, if your service has 8081 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 8082 // may start four new tasks before stopping the four older tasks (provided that 8083 // the cluster resources required to do this are available). The default value 8084 // for maximum percent is 200%. 8085 // 8086 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 8087 // types and tasks that use the EC2 launch type, the maximum percent value is 8088 // set to the default value and is used to define the upper limit on the number 8089 // of the tasks in the service that remain in the RUNNING state while the container 8090 // instances are in the DRAINING state. If the tasks in the service use the 8091 // Fargate launch type, the maximum percent value is not used, although it is 8092 // returned when describing your service. 8093 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 8094 8095 // If a service is using the rolling update (ECS) deployment type, the minimum 8096 // healthy percent represents a lower limit on the number of tasks in a service 8097 // that must remain in the RUNNING state during a deployment, as a percentage 8098 // of the desired number of tasks (rounded up to the nearest integer), and while 8099 // any container instances are in the DRAINING state if the service contains 8100 // tasks using the EC2 launch type. This parameter enables you to deploy without 8101 // using additional cluster capacity. For example, if your service has a desired 8102 // number of four tasks and a minimum healthy percent of 50%, the scheduler 8103 // may stop two existing tasks to free up cluster capacity before starting two 8104 // new tasks. Tasks for services that do not use a load balancer are considered 8105 // healthy if they are in the RUNNING state; tasks for services that do use 8106 // a load balancer are considered healthy if they are in the RUNNING state and 8107 // they are reported as healthy by the load balancer. The default value for 8108 // minimum healthy percent is 100%. 8109 // 8110 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 8111 // types and tasks that use the EC2 launch type, the minimum healthy percent 8112 // value is set to the default value and is used to define the lower limit on 8113 // the number of the tasks in the service that remain in the RUNNING state while 8114 // the container instances are in the DRAINING state. If the tasks in the service 8115 // use the Fargate launch type, the minimum healthy percent value is not used, 8116 // although it is returned when describing your service. 8117 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 8118} 8119 8120// String returns the string representation 8121func (s DeploymentConfiguration) String() string { 8122 return awsutil.Prettify(s) 8123} 8124 8125// GoString returns the string representation 8126func (s DeploymentConfiguration) GoString() string { 8127 return s.String() 8128} 8129 8130// SetMaximumPercent sets the MaximumPercent field's value. 8131func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 8132 s.MaximumPercent = &v 8133 return s 8134} 8135 8136// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 8137func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 8138 s.MinimumHealthyPercent = &v 8139 return s 8140} 8141 8142// The deployment controller to use for the service. For more information, see 8143// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 8144// in the Amazon Elastic Container Service Developer Guide. 8145type DeploymentController struct { 8146 _ struct{} `type:"structure"` 8147 8148 // The deployment controller type to use. 8149 // 8150 // There are three deployment controller types available: 8151 // 8152 // ECS 8153 // 8154 // The rolling update (ECS) deployment type involves replacing the current running 8155 // version of the container with the latest version. The number of containers 8156 // Amazon ECS adds or removes from the service during a rolling update is controlled 8157 // by adjusting the minimum and maximum number of healthy tasks allowed during 8158 // a service deployment, as specified in the DeploymentConfiguration. 8159 // 8160 // CODE_DEPLOY 8161 // 8162 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 8163 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 8164 // of a service before sending production traffic to it. 8165 // 8166 // EXTERNAL 8167 // 8168 // The external (EXTERNAL) deployment type enables you to use any third-party 8169 // deployment controller for full control over the deployment process for an 8170 // Amazon ECS service. 8171 // 8172 // Type is a required field 8173 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 8174} 8175 8176// String returns the string representation 8177func (s DeploymentController) String() string { 8178 return awsutil.Prettify(s) 8179} 8180 8181// GoString returns the string representation 8182func (s DeploymentController) GoString() string { 8183 return s.String() 8184} 8185 8186// Validate inspects the fields of the type to determine if they are valid. 8187func (s *DeploymentController) Validate() error { 8188 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 8189 if s.Type == nil { 8190 invalidParams.Add(request.NewErrParamRequired("Type")) 8191 } 8192 8193 if invalidParams.Len() > 0 { 8194 return invalidParams 8195 } 8196 return nil 8197} 8198 8199// SetType sets the Type field's value. 8200func (s *DeploymentController) SetType(v string) *DeploymentController { 8201 s.Type = &v 8202 return s 8203} 8204 8205type DeregisterContainerInstanceInput struct { 8206 _ struct{} `type:"structure"` 8207 8208 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8209 // the container instance to deregister. If you do not specify a cluster, the 8210 // default cluster is assumed. 8211 Cluster *string `locationName:"cluster" type:"string"` 8212 8213 // The container instance ID or full ARN of the container instance to deregister. 8214 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 8215 // container instance, the AWS account ID of the container instance owner, the 8216 // container-instance namespace, and then the container instance ID. For example, 8217 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8218 // 8219 // ContainerInstance is a required field 8220 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 8221 8222 // Forces the deregistration of the container instance. If you have tasks running 8223 // on the container instance when you deregister it with the force option, these 8224 // tasks remain running until you terminate the instance or the tasks stop through 8225 // some other means, but they are orphaned (no longer monitored or accounted 8226 // for by Amazon ECS). If an orphaned task on your container instance is part 8227 // of an Amazon ECS service, then the service scheduler starts another copy 8228 // of that task, on a different container instance if possible. 8229 // 8230 // Any containers in orphaned service tasks that are registered with a Classic 8231 // Load Balancer or an Application Load Balancer target group are deregistered. 8232 // They begin connection draining according to the settings on the load balancer 8233 // or target group. 8234 Force *bool `locationName:"force" type:"boolean"` 8235} 8236 8237// String returns the string representation 8238func (s DeregisterContainerInstanceInput) String() string { 8239 return awsutil.Prettify(s) 8240} 8241 8242// GoString returns the string representation 8243func (s DeregisterContainerInstanceInput) GoString() string { 8244 return s.String() 8245} 8246 8247// Validate inspects the fields of the type to determine if they are valid. 8248func (s *DeregisterContainerInstanceInput) Validate() error { 8249 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 8250 if s.ContainerInstance == nil { 8251 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 8252 } 8253 8254 if invalidParams.Len() > 0 { 8255 return invalidParams 8256 } 8257 return nil 8258} 8259 8260// SetCluster sets the Cluster field's value. 8261func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 8262 s.Cluster = &v 8263 return s 8264} 8265 8266// SetContainerInstance sets the ContainerInstance field's value. 8267func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 8268 s.ContainerInstance = &v 8269 return s 8270} 8271 8272// SetForce sets the Force field's value. 8273func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 8274 s.Force = &v 8275 return s 8276} 8277 8278type DeregisterContainerInstanceOutput struct { 8279 _ struct{} `type:"structure"` 8280 8281 // The container instance that was deregistered. 8282 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 8283} 8284 8285// String returns the string representation 8286func (s DeregisterContainerInstanceOutput) String() string { 8287 return awsutil.Prettify(s) 8288} 8289 8290// GoString returns the string representation 8291func (s DeregisterContainerInstanceOutput) GoString() string { 8292 return s.String() 8293} 8294 8295// SetContainerInstance sets the ContainerInstance field's value. 8296func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 8297 s.ContainerInstance = v 8298 return s 8299} 8300 8301type DeregisterTaskDefinitionInput struct { 8302 _ struct{} `type:"structure"` 8303 8304 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 8305 // of the task definition to deregister. You must specify a revision. 8306 // 8307 // TaskDefinition is a required field 8308 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8309} 8310 8311// String returns the string representation 8312func (s DeregisterTaskDefinitionInput) String() string { 8313 return awsutil.Prettify(s) 8314} 8315 8316// GoString returns the string representation 8317func (s DeregisterTaskDefinitionInput) GoString() string { 8318 return s.String() 8319} 8320 8321// Validate inspects the fields of the type to determine if they are valid. 8322func (s *DeregisterTaskDefinitionInput) Validate() error { 8323 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 8324 if s.TaskDefinition == nil { 8325 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8326 } 8327 8328 if invalidParams.Len() > 0 { 8329 return invalidParams 8330 } 8331 return nil 8332} 8333 8334// SetTaskDefinition sets the TaskDefinition field's value. 8335func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 8336 s.TaskDefinition = &v 8337 return s 8338} 8339 8340type DeregisterTaskDefinitionOutput struct { 8341 _ struct{} `type:"structure"` 8342 8343 // The full description of the deregistered task. 8344 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 8345} 8346 8347// String returns the string representation 8348func (s DeregisterTaskDefinitionOutput) String() string { 8349 return awsutil.Prettify(s) 8350} 8351 8352// GoString returns the string representation 8353func (s DeregisterTaskDefinitionOutput) GoString() string { 8354 return s.String() 8355} 8356 8357// SetTaskDefinition sets the TaskDefinition field's value. 8358func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 8359 s.TaskDefinition = v 8360 return s 8361} 8362 8363type DescribeClustersInput struct { 8364 _ struct{} `type:"structure"` 8365 8366 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 8367 // entries. If you do not specify a cluster, the default cluster is assumed. 8368 Clusters []*string `locationName:"clusters" type:"list"` 8369 8370 // Additional information about your clusters to be separated by launch type, 8371 // including: 8372 // 8373 // * runningEC2TasksCount 8374 // 8375 // * runningFargateTasksCount 8376 // 8377 // * pendingEC2TasksCount 8378 // 8379 // * pendingFargateTasksCount 8380 // 8381 // * activeEC2ServiceCount 8382 // 8383 // * activeFargateServiceCount 8384 // 8385 // * drainingEC2ServiceCount 8386 // 8387 // * drainingFargateServiceCount 8388 Include []*string `locationName:"include" type:"list"` 8389} 8390 8391// String returns the string representation 8392func (s DescribeClustersInput) String() string { 8393 return awsutil.Prettify(s) 8394} 8395 8396// GoString returns the string representation 8397func (s DescribeClustersInput) GoString() string { 8398 return s.String() 8399} 8400 8401// SetClusters sets the Clusters field's value. 8402func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 8403 s.Clusters = v 8404 return s 8405} 8406 8407// SetInclude sets the Include field's value. 8408func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 8409 s.Include = v 8410 return s 8411} 8412 8413type DescribeClustersOutput struct { 8414 _ struct{} `type:"structure"` 8415 8416 // The list of clusters. 8417 Clusters []*Cluster `locationName:"clusters" type:"list"` 8418 8419 // Any failures associated with the call. 8420 Failures []*Failure `locationName:"failures" type:"list"` 8421} 8422 8423// String returns the string representation 8424func (s DescribeClustersOutput) String() string { 8425 return awsutil.Prettify(s) 8426} 8427 8428// GoString returns the string representation 8429func (s DescribeClustersOutput) GoString() string { 8430 return s.String() 8431} 8432 8433// SetClusters sets the Clusters field's value. 8434func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 8435 s.Clusters = v 8436 return s 8437} 8438 8439// SetFailures sets the Failures field's value. 8440func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 8441 s.Failures = v 8442 return s 8443} 8444 8445type DescribeContainerInstancesInput struct { 8446 _ struct{} `type:"structure"` 8447 8448 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8449 // the container instances to describe. If you do not specify a cluster, the 8450 // default cluster is assumed. This parameter is required if the container instance 8451 // or container instances you are describing were launched in any cluster other 8452 // than the default cluster. 8453 Cluster *string `locationName:"cluster" type:"string"` 8454 8455 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 8456 // entries. 8457 // 8458 // ContainerInstances is a required field 8459 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 8460 8461 // Specifies whether you want to see the resource tags for the container instance. 8462 // If TAGS is specified, the tags are included in the response. If this field 8463 // is omitted, tags are not included in the response. 8464 Include []*string `locationName:"include" type:"list"` 8465} 8466 8467// String returns the string representation 8468func (s DescribeContainerInstancesInput) String() string { 8469 return awsutil.Prettify(s) 8470} 8471 8472// GoString returns the string representation 8473func (s DescribeContainerInstancesInput) GoString() string { 8474 return s.String() 8475} 8476 8477// Validate inspects the fields of the type to determine if they are valid. 8478func (s *DescribeContainerInstancesInput) Validate() error { 8479 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 8480 if s.ContainerInstances == nil { 8481 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 8482 } 8483 8484 if invalidParams.Len() > 0 { 8485 return invalidParams 8486 } 8487 return nil 8488} 8489 8490// SetCluster sets the Cluster field's value. 8491func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 8492 s.Cluster = &v 8493 return s 8494} 8495 8496// SetContainerInstances sets the ContainerInstances field's value. 8497func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 8498 s.ContainerInstances = v 8499 return s 8500} 8501 8502// SetInclude sets the Include field's value. 8503func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 8504 s.Include = v 8505 return s 8506} 8507 8508type DescribeContainerInstancesOutput struct { 8509 _ struct{} `type:"structure"` 8510 8511 // The list of container instances. 8512 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 8513 8514 // Any failures associated with the call. 8515 Failures []*Failure `locationName:"failures" type:"list"` 8516} 8517 8518// String returns the string representation 8519func (s DescribeContainerInstancesOutput) String() string { 8520 return awsutil.Prettify(s) 8521} 8522 8523// GoString returns the string representation 8524func (s DescribeContainerInstancesOutput) GoString() string { 8525 return s.String() 8526} 8527 8528// SetContainerInstances sets the ContainerInstances field's value. 8529func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 8530 s.ContainerInstances = v 8531 return s 8532} 8533 8534// SetFailures sets the Failures field's value. 8535func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 8536 s.Failures = v 8537 return s 8538} 8539 8540type DescribeServicesInput struct { 8541 _ struct{} `type:"structure"` 8542 8543 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 8544 // service to describe. If you do not specify a cluster, the default cluster 8545 // is assumed. This parameter is required if the service or services you are 8546 // describing were launched in any cluster other than the default cluster. 8547 Cluster *string `locationName:"cluster" type:"string"` 8548 8549 // Specifies whether you want to see the resource tags for the service. If TAGS 8550 // is specified, the tags are included in the response. If this field is omitted, 8551 // tags are not included in the response. 8552 Include []*string `locationName:"include" type:"list"` 8553 8554 // A list of services to describe. You may specify up to 10 services to describe 8555 // in a single operation. 8556 // 8557 // Services is a required field 8558 Services []*string `locationName:"services" type:"list" required:"true"` 8559} 8560 8561// String returns the string representation 8562func (s DescribeServicesInput) String() string { 8563 return awsutil.Prettify(s) 8564} 8565 8566// GoString returns the string representation 8567func (s DescribeServicesInput) GoString() string { 8568 return s.String() 8569} 8570 8571// Validate inspects the fields of the type to determine if they are valid. 8572func (s *DescribeServicesInput) Validate() error { 8573 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 8574 if s.Services == nil { 8575 invalidParams.Add(request.NewErrParamRequired("Services")) 8576 } 8577 8578 if invalidParams.Len() > 0 { 8579 return invalidParams 8580 } 8581 return nil 8582} 8583 8584// SetCluster sets the Cluster field's value. 8585func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 8586 s.Cluster = &v 8587 return s 8588} 8589 8590// SetInclude sets the Include field's value. 8591func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 8592 s.Include = v 8593 return s 8594} 8595 8596// SetServices sets the Services field's value. 8597func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 8598 s.Services = v 8599 return s 8600} 8601 8602type DescribeServicesOutput struct { 8603 _ struct{} `type:"structure"` 8604 8605 // Any failures associated with the call. 8606 Failures []*Failure `locationName:"failures" type:"list"` 8607 8608 // The list of services described. 8609 Services []*Service `locationName:"services" type:"list"` 8610} 8611 8612// String returns the string representation 8613func (s DescribeServicesOutput) String() string { 8614 return awsutil.Prettify(s) 8615} 8616 8617// GoString returns the string representation 8618func (s DescribeServicesOutput) GoString() string { 8619 return s.String() 8620} 8621 8622// SetFailures sets the Failures field's value. 8623func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 8624 s.Failures = v 8625 return s 8626} 8627 8628// SetServices sets the Services field's value. 8629func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 8630 s.Services = v 8631 return s 8632} 8633 8634type DescribeTaskDefinitionInput struct { 8635 _ struct{} `type:"structure"` 8636 8637 // Specifies whether to see the resource tags for the task definition. If TAGS 8638 // is specified, the tags are included in the response. If this field is omitted, 8639 // tags are not included in the response. 8640 Include []*string `locationName:"include" type:"list"` 8641 8642 // The family for the latest ACTIVE revision, family and revision (family:revision) 8643 // for a specific revision in the family, or full Amazon Resource Name (ARN) 8644 // of the task definition to describe. 8645 // 8646 // TaskDefinition is a required field 8647 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8648} 8649 8650// String returns the string representation 8651func (s DescribeTaskDefinitionInput) String() string { 8652 return awsutil.Prettify(s) 8653} 8654 8655// GoString returns the string representation 8656func (s DescribeTaskDefinitionInput) GoString() string { 8657 return s.String() 8658} 8659 8660// Validate inspects the fields of the type to determine if they are valid. 8661func (s *DescribeTaskDefinitionInput) Validate() error { 8662 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 8663 if s.TaskDefinition == nil { 8664 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8665 } 8666 8667 if invalidParams.Len() > 0 { 8668 return invalidParams 8669 } 8670 return nil 8671} 8672 8673// SetInclude sets the Include field's value. 8674func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 8675 s.Include = v 8676 return s 8677} 8678 8679// SetTaskDefinition sets the TaskDefinition field's value. 8680func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 8681 s.TaskDefinition = &v 8682 return s 8683} 8684 8685type DescribeTaskDefinitionOutput struct { 8686 _ struct{} `type:"structure"` 8687 8688 // The metadata that is applied to the task definition to help you categorize 8689 // and organize them. Each tag consists of a key and an optional value, both 8690 // of which you define. Tag keys can have a maximum character length of 128 8691 // characters, and tag values can have a maximum length of 256 characters. 8692 Tags []*Tag `locationName:"tags" type:"list"` 8693 8694 // The full task definition description. 8695 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 8696} 8697 8698// String returns the string representation 8699func (s DescribeTaskDefinitionOutput) String() string { 8700 return awsutil.Prettify(s) 8701} 8702 8703// GoString returns the string representation 8704func (s DescribeTaskDefinitionOutput) GoString() string { 8705 return s.String() 8706} 8707 8708// SetTags sets the Tags field's value. 8709func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 8710 s.Tags = v 8711 return s 8712} 8713 8714// SetTaskDefinition sets the TaskDefinition field's value. 8715func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 8716 s.TaskDefinition = v 8717 return s 8718} 8719 8720type DescribeTaskSetsInput struct { 8721 _ struct{} `type:"structure"` 8722 8723 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8724 // the service that the task sets exist in. 8725 // 8726 // Cluster is a required field 8727 Cluster *string `locationName:"cluster" type:"string" required:"true"` 8728 8729 // The short name or full Amazon Resource Name (ARN) of the service that the 8730 // task sets exist in. 8731 // 8732 // Service is a required field 8733 Service *string `locationName:"service" type:"string" required:"true"` 8734 8735 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 8736 TaskSets []*string `locationName:"taskSets" type:"list"` 8737} 8738 8739// String returns the string representation 8740func (s DescribeTaskSetsInput) String() string { 8741 return awsutil.Prettify(s) 8742} 8743 8744// GoString returns the string representation 8745func (s DescribeTaskSetsInput) GoString() string { 8746 return s.String() 8747} 8748 8749// Validate inspects the fields of the type to determine if they are valid. 8750func (s *DescribeTaskSetsInput) Validate() error { 8751 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 8752 if s.Cluster == nil { 8753 invalidParams.Add(request.NewErrParamRequired("Cluster")) 8754 } 8755 if s.Service == nil { 8756 invalidParams.Add(request.NewErrParamRequired("Service")) 8757 } 8758 8759 if invalidParams.Len() > 0 { 8760 return invalidParams 8761 } 8762 return nil 8763} 8764 8765// SetCluster sets the Cluster field's value. 8766func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 8767 s.Cluster = &v 8768 return s 8769} 8770 8771// SetService sets the Service field's value. 8772func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 8773 s.Service = &v 8774 return s 8775} 8776 8777// SetTaskSets sets the TaskSets field's value. 8778func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 8779 s.TaskSets = v 8780 return s 8781} 8782 8783type DescribeTaskSetsOutput struct { 8784 _ struct{} `type:"structure"` 8785 8786 // Any failures associated with the call. 8787 Failures []*Failure `locationName:"failures" type:"list"` 8788 8789 // The list of task sets described. 8790 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 8791} 8792 8793// String returns the string representation 8794func (s DescribeTaskSetsOutput) String() string { 8795 return awsutil.Prettify(s) 8796} 8797 8798// GoString returns the string representation 8799func (s DescribeTaskSetsOutput) GoString() string { 8800 return s.String() 8801} 8802 8803// SetFailures sets the Failures field's value. 8804func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 8805 s.Failures = v 8806 return s 8807} 8808 8809// SetTaskSets sets the TaskSets field's value. 8810func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 8811 s.TaskSets = v 8812 return s 8813} 8814 8815type DescribeTasksInput struct { 8816 _ struct{} `type:"structure"` 8817 8818 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8819 // the task or tasks to describe. If you do not specify a cluster, the default 8820 // cluster is assumed. This parameter is required if the task or tasks you are 8821 // describing were launched in any cluster other than the default cluster. 8822 Cluster *string `locationName:"cluster" type:"string"` 8823 8824 // Specifies whether you want to see the resource tags for the task. If TAGS 8825 // is specified, the tags are included in the response. If this field is omitted, 8826 // tags are not included in the response. 8827 Include []*string `locationName:"include" type:"list"` 8828 8829 // A list of up to 100 task IDs or full ARN entries. 8830 // 8831 // Tasks is a required field 8832 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 8833} 8834 8835// String returns the string representation 8836func (s DescribeTasksInput) String() string { 8837 return awsutil.Prettify(s) 8838} 8839 8840// GoString returns the string representation 8841func (s DescribeTasksInput) GoString() string { 8842 return s.String() 8843} 8844 8845// Validate inspects the fields of the type to determine if they are valid. 8846func (s *DescribeTasksInput) Validate() error { 8847 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 8848 if s.Tasks == nil { 8849 invalidParams.Add(request.NewErrParamRequired("Tasks")) 8850 } 8851 8852 if invalidParams.Len() > 0 { 8853 return invalidParams 8854 } 8855 return nil 8856} 8857 8858// SetCluster sets the Cluster field's value. 8859func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 8860 s.Cluster = &v 8861 return s 8862} 8863 8864// SetInclude sets the Include field's value. 8865func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 8866 s.Include = v 8867 return s 8868} 8869 8870// SetTasks sets the Tasks field's value. 8871func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 8872 s.Tasks = v 8873 return s 8874} 8875 8876type DescribeTasksOutput struct { 8877 _ struct{} `type:"structure"` 8878 8879 // Any failures associated with the call. 8880 Failures []*Failure `locationName:"failures" type:"list"` 8881 8882 // The list of tasks. 8883 Tasks []*Task `locationName:"tasks" type:"list"` 8884} 8885 8886// String returns the string representation 8887func (s DescribeTasksOutput) String() string { 8888 return awsutil.Prettify(s) 8889} 8890 8891// GoString returns the string representation 8892func (s DescribeTasksOutput) GoString() string { 8893 return s.String() 8894} 8895 8896// SetFailures sets the Failures field's value. 8897func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 8898 s.Failures = v 8899 return s 8900} 8901 8902// SetTasks sets the Tasks field's value. 8903func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 8904 s.Tasks = v 8905 return s 8906} 8907 8908// An object representing a container instance host device. 8909type Device struct { 8910 _ struct{} `type:"structure"` 8911 8912 // The path inside the container at which to expose the host device. 8913 ContainerPath *string `locationName:"containerPath" type:"string"` 8914 8915 // The path for the device on the host container instance. 8916 // 8917 // HostPath is a required field 8918 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 8919 8920 // The explicit permissions to provide to the container for the device. By default, 8921 // the container has permissions for read, write, and mknod for the device. 8922 Permissions []*string `locationName:"permissions" type:"list"` 8923} 8924 8925// String returns the string representation 8926func (s Device) String() string { 8927 return awsutil.Prettify(s) 8928} 8929 8930// GoString returns the string representation 8931func (s Device) GoString() string { 8932 return s.String() 8933} 8934 8935// Validate inspects the fields of the type to determine if they are valid. 8936func (s *Device) Validate() error { 8937 invalidParams := request.ErrInvalidParams{Context: "Device"} 8938 if s.HostPath == nil { 8939 invalidParams.Add(request.NewErrParamRequired("HostPath")) 8940 } 8941 8942 if invalidParams.Len() > 0 { 8943 return invalidParams 8944 } 8945 return nil 8946} 8947 8948// SetContainerPath sets the ContainerPath field's value. 8949func (s *Device) SetContainerPath(v string) *Device { 8950 s.ContainerPath = &v 8951 return s 8952} 8953 8954// SetHostPath sets the HostPath field's value. 8955func (s *Device) SetHostPath(v string) *Device { 8956 s.HostPath = &v 8957 return s 8958} 8959 8960// SetPermissions sets the Permissions field's value. 8961func (s *Device) SetPermissions(v []*string) *Device { 8962 s.Permissions = v 8963 return s 8964} 8965 8966type DiscoverPollEndpointInput struct { 8967 _ struct{} `type:"structure"` 8968 8969 // The short name or full Amazon Resource Name (ARN) of the cluster to which 8970 // the container instance belongs. 8971 Cluster *string `locationName:"cluster" type:"string"` 8972 8973 // The container instance ID or full ARN of the container instance. The ARN 8974 // contains the arn:aws:ecs namespace, followed by the Region of the container 8975 // instance, the AWS account ID of the container instance owner, the container-instance 8976 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8977 ContainerInstance *string `locationName:"containerInstance" type:"string"` 8978} 8979 8980// String returns the string representation 8981func (s DiscoverPollEndpointInput) String() string { 8982 return awsutil.Prettify(s) 8983} 8984 8985// GoString returns the string representation 8986func (s DiscoverPollEndpointInput) GoString() string { 8987 return s.String() 8988} 8989 8990// SetCluster sets the Cluster field's value. 8991func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 8992 s.Cluster = &v 8993 return s 8994} 8995 8996// SetContainerInstance sets the ContainerInstance field's value. 8997func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 8998 s.ContainerInstance = &v 8999 return s 9000} 9001 9002type DiscoverPollEndpointOutput struct { 9003 _ struct{} `type:"structure"` 9004 9005 // The endpoint for the Amazon ECS agent to poll. 9006 Endpoint *string `locationName:"endpoint" type:"string"` 9007 9008 // The telemetry endpoint for the Amazon ECS agent. 9009 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 9010} 9011 9012// String returns the string representation 9013func (s DiscoverPollEndpointOutput) String() string { 9014 return awsutil.Prettify(s) 9015} 9016 9017// GoString returns the string representation 9018func (s DiscoverPollEndpointOutput) GoString() string { 9019 return s.String() 9020} 9021 9022// SetEndpoint sets the Endpoint field's value. 9023func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 9024 s.Endpoint = &v 9025 return s 9026} 9027 9028// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 9029func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 9030 s.TelemetryEndpoint = &v 9031 return s 9032} 9033 9034// This parameter is specified when you are using Docker volumes. Docker volumes 9035// are only supported when you are using the EC2 launch type. Windows containers 9036// only support the use of the local driver. To use bind mounts, specify a host 9037// instead. 9038type DockerVolumeConfiguration struct { 9039 _ struct{} `type:"structure"` 9040 9041 // If this value is true, the Docker volume is created if it does not already 9042 // exist. 9043 // 9044 // This field is only used if the scope is shared. 9045 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 9046 9047 // The Docker volume driver to use. The driver value must match the driver name 9048 // provided by Docker because it is used for task placement. If the driver was 9049 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 9050 // driver name from your container instance. If the driver was installed using 9051 // another method, use Docker plugin discovery to retrieve the driver name. 9052 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 9053 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9054 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9055 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9056 Driver *string `locationName:"driver" type:"string"` 9057 9058 // A map of Docker driver-specific options passed through. This parameter maps 9059 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9060 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9061 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9062 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 9063 9064 // Custom metadata to add to your Docker volume. This parameter maps to Labels 9065 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9066 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9067 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9068 Labels map[string]*string `locationName:"labels" type:"map"` 9069 9070 // The scope for the Docker volume that determines its lifecycle. Docker volumes 9071 // that are scoped to a task are automatically provisioned when the task starts 9072 // and destroyed when the task stops. Docker volumes that are scoped as shared 9073 // persist after the task stops. 9074 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 9075} 9076 9077// String returns the string representation 9078func (s DockerVolumeConfiguration) String() string { 9079 return awsutil.Prettify(s) 9080} 9081 9082// GoString returns the string representation 9083func (s DockerVolumeConfiguration) GoString() string { 9084 return s.String() 9085} 9086 9087// SetAutoprovision sets the Autoprovision field's value. 9088func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 9089 s.Autoprovision = &v 9090 return s 9091} 9092 9093// SetDriver sets the Driver field's value. 9094func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 9095 s.Driver = &v 9096 return s 9097} 9098 9099// SetDriverOpts sets the DriverOpts field's value. 9100func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 9101 s.DriverOpts = v 9102 return s 9103} 9104 9105// SetLabels sets the Labels field's value. 9106func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 9107 s.Labels = v 9108 return s 9109} 9110 9111// SetScope sets the Scope field's value. 9112func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 9113 s.Scope = &v 9114 return s 9115} 9116 9117// A failed resource. 9118type Failure struct { 9119 _ struct{} `type:"structure"` 9120 9121 // The Amazon Resource Name (ARN) of the failed resource. 9122 Arn *string `locationName:"arn" type:"string"` 9123 9124 // The reason for the failure. 9125 Reason *string `locationName:"reason" type:"string"` 9126} 9127 9128// String returns the string representation 9129func (s Failure) String() string { 9130 return awsutil.Prettify(s) 9131} 9132 9133// GoString returns the string representation 9134func (s Failure) GoString() string { 9135 return s.String() 9136} 9137 9138// SetArn sets the Arn field's value. 9139func (s *Failure) SetArn(v string) *Failure { 9140 s.Arn = &v 9141 return s 9142} 9143 9144// SetReason sets the Reason field's value. 9145func (s *Failure) SetReason(v string) *Failure { 9146 s.Reason = &v 9147 return s 9148} 9149 9150// An object representing a container health check. Health check parameters 9151// that are specified in a container definition override any Docker health checks 9152// that exist in the container image (such as those specified in a parent image 9153// or from the image's Dockerfile). 9154// 9155// The following are notes about container health check support: 9156// 9157// * Container health checks require version 1.17.0 or greater of the Amazon 9158// ECS container agent. For more information, see Updating the Amazon ECS 9159// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 9160// 9161// * Container health checks are supported for Fargate tasks if you are using 9162// platform version 1.1.0 or greater. For more information, see AWS Fargate 9163// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 9164// 9165// * Container health checks are not supported for tasks that are part of 9166// a service that is configured to use a Classic Load Balancer. 9167type HealthCheck struct { 9168 _ struct{} `type:"structure"` 9169 9170 // A string array representing the command that the container runs to determine 9171 // if it is healthy. The string array must start with CMD to execute the command 9172 // arguments directly, or CMD-SHELL to run the command with the container's 9173 // default shell. For example: 9174 // 9175 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 9176 // 9177 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 9178 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9179 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 9180 // 9181 // Command is a required field 9182 Command []*string `locationName:"command" type:"list" required:"true"` 9183 9184 // The time period in seconds between each health check execution. You may specify 9185 // between 5 and 300 seconds. The default value is 30 seconds. 9186 Interval *int64 `locationName:"interval" type:"integer"` 9187 9188 // The number of times to retry a failed health check before the container is 9189 // considered unhealthy. You may specify between 1 and 10 retries. The default 9190 // value is 3. 9191 Retries *int64 `locationName:"retries" type:"integer"` 9192 9193 // The optional grace period within which to provide containers time to bootstrap 9194 // before failed health checks count towards the maximum number of retries. 9195 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 9196 // default. 9197 // 9198 // If a health check succeeds within the startPeriod, then the container is 9199 // considered healthy and any subsequent failures count toward the maximum number 9200 // of retries. 9201 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 9202 9203 // The time period in seconds to wait for a health check to succeed before it 9204 // is considered a failure. You may specify between 2 and 60 seconds. The default 9205 // value is 5. 9206 Timeout *int64 `locationName:"timeout" type:"integer"` 9207} 9208 9209// String returns the string representation 9210func (s HealthCheck) String() string { 9211 return awsutil.Prettify(s) 9212} 9213 9214// GoString returns the string representation 9215func (s HealthCheck) GoString() string { 9216 return s.String() 9217} 9218 9219// Validate inspects the fields of the type to determine if they are valid. 9220func (s *HealthCheck) Validate() error { 9221 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 9222 if s.Command == nil { 9223 invalidParams.Add(request.NewErrParamRequired("Command")) 9224 } 9225 9226 if invalidParams.Len() > 0 { 9227 return invalidParams 9228 } 9229 return nil 9230} 9231 9232// SetCommand sets the Command field's value. 9233func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 9234 s.Command = v 9235 return s 9236} 9237 9238// SetInterval sets the Interval field's value. 9239func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 9240 s.Interval = &v 9241 return s 9242} 9243 9244// SetRetries sets the Retries field's value. 9245func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 9246 s.Retries = &v 9247 return s 9248} 9249 9250// SetStartPeriod sets the StartPeriod field's value. 9251func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 9252 s.StartPeriod = &v 9253 return s 9254} 9255 9256// SetTimeout sets the Timeout field's value. 9257func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 9258 s.Timeout = &v 9259 return s 9260} 9261 9262// Hostnames and IP address entries that are added to the /etc/hosts file of 9263// a container via the extraHosts parameter of its ContainerDefinition. 9264type HostEntry struct { 9265 _ struct{} `type:"structure"` 9266 9267 // The hostname to use in the /etc/hosts entry. 9268 // 9269 // Hostname is a required field 9270 Hostname *string `locationName:"hostname" type:"string" required:"true"` 9271 9272 // The IP address to use in the /etc/hosts entry. 9273 // 9274 // IpAddress is a required field 9275 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 9276} 9277 9278// String returns the string representation 9279func (s HostEntry) String() string { 9280 return awsutil.Prettify(s) 9281} 9282 9283// GoString returns the string representation 9284func (s HostEntry) GoString() string { 9285 return s.String() 9286} 9287 9288// Validate inspects the fields of the type to determine if they are valid. 9289func (s *HostEntry) Validate() error { 9290 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 9291 if s.Hostname == nil { 9292 invalidParams.Add(request.NewErrParamRequired("Hostname")) 9293 } 9294 if s.IpAddress == nil { 9295 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 9296 } 9297 9298 if invalidParams.Len() > 0 { 9299 return invalidParams 9300 } 9301 return nil 9302} 9303 9304// SetHostname sets the Hostname field's value. 9305func (s *HostEntry) SetHostname(v string) *HostEntry { 9306 s.Hostname = &v 9307 return s 9308} 9309 9310// SetIpAddress sets the IpAddress field's value. 9311func (s *HostEntry) SetIpAddress(v string) *HostEntry { 9312 s.IpAddress = &v 9313 return s 9314} 9315 9316// Details on a container instance bind mount host volume. 9317type HostVolumeProperties struct { 9318 _ struct{} `type:"structure"` 9319 9320 // When the host parameter is used, specify a sourcePath to declare the path 9321 // on the host container instance that is presented to the container. If this 9322 // parameter is empty, then the Docker daemon has assigned a host path for you. 9323 // If the host parameter contains a sourcePath file location, then the data 9324 // volume persists at the specified location on the host container instance 9325 // until you delete it manually. If the sourcePath value does not exist on the 9326 // host container instance, the Docker daemon creates it. If the location does 9327 // exist, the contents of the source path folder are exported. 9328 // 9329 // If you are using the Fargate launch type, the sourcePath parameter is not 9330 // supported. 9331 SourcePath *string `locationName:"sourcePath" type:"string"` 9332} 9333 9334// String returns the string representation 9335func (s HostVolumeProperties) String() string { 9336 return awsutil.Prettify(s) 9337} 9338 9339// GoString returns the string representation 9340func (s HostVolumeProperties) GoString() string { 9341 return s.String() 9342} 9343 9344// SetSourcePath sets the SourcePath field's value. 9345func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 9346 s.SourcePath = &v 9347 return s 9348} 9349 9350// The Linux capabilities for the container that are added to or dropped from 9351// the default configuration provided by Docker. For more information on the 9352// default capabilities and the non-default available capabilities, see Runtime 9353// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 9354// in the Docker run reference. For more detailed information on these Linux 9355// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 9356// Linux manual page. 9357type KernelCapabilities struct { 9358 _ struct{} `type:"structure"` 9359 9360 // The Linux capabilities for the container that have been added to the default 9361 // configuration provided by Docker. This parameter maps to CapAdd in the Create 9362 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9363 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9364 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 9365 // 9366 // If you are using tasks that use the Fargate launch type, the add parameter 9367 // is not supported. 9368 // 9369 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 9370 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 9371 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 9372 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 9373 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 9374 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 9375 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 9376 // "WAKE_ALARM" 9377 Add []*string `locationName:"add" type:"list"` 9378 9379 // The Linux capabilities for the container that have been removed from the 9380 // default configuration provided by Docker. This parameter maps to CapDrop 9381 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9382 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9383 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 9384 // 9385 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 9386 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 9387 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 9388 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 9389 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 9390 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 9391 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 9392 // "WAKE_ALARM" 9393 Drop []*string `locationName:"drop" type:"list"` 9394} 9395 9396// String returns the string representation 9397func (s KernelCapabilities) String() string { 9398 return awsutil.Prettify(s) 9399} 9400 9401// GoString returns the string representation 9402func (s KernelCapabilities) GoString() string { 9403 return s.String() 9404} 9405 9406// SetAdd sets the Add field's value. 9407func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 9408 s.Add = v 9409 return s 9410} 9411 9412// SetDrop sets the Drop field's value. 9413func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 9414 s.Drop = v 9415 return s 9416} 9417 9418// A key-value pair object. 9419type KeyValuePair struct { 9420 _ struct{} `type:"structure"` 9421 9422 // The name of the key-value pair. For environment variables, this is the name 9423 // of the environment variable. 9424 Name *string `locationName:"name" type:"string"` 9425 9426 // The value of the key-value pair. For environment variables, this is the value 9427 // of the environment variable. 9428 Value *string `locationName:"value" type:"string"` 9429} 9430 9431// String returns the string representation 9432func (s KeyValuePair) String() string { 9433 return awsutil.Prettify(s) 9434} 9435 9436// GoString returns the string representation 9437func (s KeyValuePair) GoString() string { 9438 return s.String() 9439} 9440 9441// SetName sets the Name field's value. 9442func (s *KeyValuePair) SetName(v string) *KeyValuePair { 9443 s.Name = &v 9444 return s 9445} 9446 9447// SetValue sets the Value field's value. 9448func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 9449 s.Value = &v 9450 return s 9451} 9452 9453// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 9454type LinuxParameters struct { 9455 _ struct{} `type:"structure"` 9456 9457 // The Linux capabilities for the container that are added to or dropped from 9458 // the default configuration provided by Docker. 9459 // 9460 // If you are using tasks that use the Fargate launch type, capabilities is 9461 // supported but the add parameter is not supported. 9462 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 9463 9464 // Any host devices to expose to the container. This parameter maps to Devices 9465 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9466 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9467 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 9468 // 9469 // If you are using tasks that use the Fargate launch type, the devices parameter 9470 // is not supported. 9471 Devices []*Device `locationName:"devices" type:"list"` 9472 9473 // Run an init process inside the container that forwards signals and reaps 9474 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 9475 // This parameter requires version 1.25 of the Docker Remote API or greater 9476 // on your container instance. To check the Docker Remote API version on your 9477 // container instance, log in to your container instance and run the following 9478 // command: sudo docker version --format '{{.Server.APIVersion}}' 9479 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 9480 9481 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 9482 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 9483 // 9484 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 9485 // parameter is not supported. 9486 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 9487 9488 // The container path, mount options, and size (in MiB) of the tmpfs mount. 9489 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 9490 // 9491 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 9492 // is not supported. 9493 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 9494} 9495 9496// String returns the string representation 9497func (s LinuxParameters) String() string { 9498 return awsutil.Prettify(s) 9499} 9500 9501// GoString returns the string representation 9502func (s LinuxParameters) GoString() string { 9503 return s.String() 9504} 9505 9506// Validate inspects the fields of the type to determine if they are valid. 9507func (s *LinuxParameters) Validate() error { 9508 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 9509 if s.Devices != nil { 9510 for i, v := range s.Devices { 9511 if v == nil { 9512 continue 9513 } 9514 if err := v.Validate(); err != nil { 9515 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 9516 } 9517 } 9518 } 9519 if s.Tmpfs != nil { 9520 for i, v := range s.Tmpfs { 9521 if v == nil { 9522 continue 9523 } 9524 if err := v.Validate(); err != nil { 9525 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 9526 } 9527 } 9528 } 9529 9530 if invalidParams.Len() > 0 { 9531 return invalidParams 9532 } 9533 return nil 9534} 9535 9536// SetCapabilities sets the Capabilities field's value. 9537func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 9538 s.Capabilities = v 9539 return s 9540} 9541 9542// SetDevices sets the Devices field's value. 9543func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 9544 s.Devices = v 9545 return s 9546} 9547 9548// SetInitProcessEnabled sets the InitProcessEnabled field's value. 9549func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 9550 s.InitProcessEnabled = &v 9551 return s 9552} 9553 9554// SetSharedMemorySize sets the SharedMemorySize field's value. 9555func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 9556 s.SharedMemorySize = &v 9557 return s 9558} 9559 9560// SetTmpfs sets the Tmpfs field's value. 9561func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 9562 s.Tmpfs = v 9563 return s 9564} 9565 9566type ListAccountSettingsInput struct { 9567 _ struct{} `type:"structure"` 9568 9569 // Specifies whether to return the effective settings. If true, the account 9570 // settings for the root user or the default setting for the principalArn are 9571 // returned. If false, the account settings for the principalArn are returned 9572 // if they are set. Otherwise, no account settings are returned. 9573 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 9574 9575 // The maximum number of account setting results returned by ListAccountSettings 9576 // in paginated output. When this parameter is used, ListAccountSettings only 9577 // returns maxResults results in a single page along with a nextToken response 9578 // element. The remaining results of the initial request can be seen by sending 9579 // another ListAccountSettings request with the returned nextToken value. This 9580 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 9581 // returns up to 10 results and a nextToken value if applicable. 9582 MaxResults *int64 `locationName:"maxResults" type:"integer"` 9583 9584 // The resource name you want to list the account settings for. 9585 Name *string `locationName:"name" type:"string" enum:"SettingName"` 9586 9587 // The nextToken value returned from a previous paginated ListAccountSettings 9588 // request where maxResults was used and the results exceeded the value of that 9589 // parameter. Pagination continues from the end of the previous results that 9590 // returned the nextToken value. 9591 // 9592 // This token should be treated as an opaque identifier that is only used to 9593 // retrieve the next items in a list and not for other programmatic purposes. 9594 NextToken *string `locationName:"nextToken" type:"string"` 9595 9596 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9597 // user. If this field is omitted, the account settings are listed only for 9598 // the authenticated user. 9599 PrincipalArn *string `locationName:"principalArn" type:"string"` 9600 9601 // The value of the account settings with which to filter results. You must 9602 // also specify an account setting name to use this parameter. 9603 Value *string `locationName:"value" type:"string"` 9604} 9605 9606// String returns the string representation 9607func (s ListAccountSettingsInput) String() string { 9608 return awsutil.Prettify(s) 9609} 9610 9611// GoString returns the string representation 9612func (s ListAccountSettingsInput) GoString() string { 9613 return s.String() 9614} 9615 9616// SetEffectiveSettings sets the EffectiveSettings field's value. 9617func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 9618 s.EffectiveSettings = &v 9619 return s 9620} 9621 9622// SetMaxResults sets the MaxResults field's value. 9623func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 9624 s.MaxResults = &v 9625 return s 9626} 9627 9628// SetName sets the Name field's value. 9629func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 9630 s.Name = &v 9631 return s 9632} 9633 9634// SetNextToken sets the NextToken field's value. 9635func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 9636 s.NextToken = &v 9637 return s 9638} 9639 9640// SetPrincipalArn sets the PrincipalArn field's value. 9641func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 9642 s.PrincipalArn = &v 9643 return s 9644} 9645 9646// SetValue sets the Value field's value. 9647func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 9648 s.Value = &v 9649 return s 9650} 9651 9652type ListAccountSettingsOutput struct { 9653 _ struct{} `type:"structure"` 9654 9655 // The nextToken value to include in a future ListAccountSettings request. When 9656 // the results of a ListAccountSettings request exceed maxResults, this value 9657 // can be used to retrieve the next page of results. This value is null when 9658 // there are no more results to return. 9659 NextToken *string `locationName:"nextToken" type:"string"` 9660 9661 // The account settings for the resource. 9662 Settings []*Setting `locationName:"settings" type:"list"` 9663} 9664 9665// String returns the string representation 9666func (s ListAccountSettingsOutput) String() string { 9667 return awsutil.Prettify(s) 9668} 9669 9670// GoString returns the string representation 9671func (s ListAccountSettingsOutput) GoString() string { 9672 return s.String() 9673} 9674 9675// SetNextToken sets the NextToken field's value. 9676func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 9677 s.NextToken = &v 9678 return s 9679} 9680 9681// SetSettings sets the Settings field's value. 9682func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 9683 s.Settings = v 9684 return s 9685} 9686 9687type ListAttributesInput struct { 9688 _ struct{} `type:"structure"` 9689 9690 // The name of the attribute with which to filter the results. 9691 AttributeName *string `locationName:"attributeName" type:"string"` 9692 9693 // The value of the attribute with which to filter results. You must also specify 9694 // an attribute name to use this parameter. 9695 AttributeValue *string `locationName:"attributeValue" type:"string"` 9696 9697 // The short name or full Amazon Resource Name (ARN) of the cluster to list 9698 // attributes. If you do not specify a cluster, the default cluster is assumed. 9699 Cluster *string `locationName:"cluster" type:"string"` 9700 9701 // The maximum number of cluster results returned by ListAttributes in paginated 9702 // output. When this parameter is used, ListAttributes only returns maxResults 9703 // results in a single page along with a nextToken response element. The remaining 9704 // results of the initial request can be seen by sending another ListAttributes 9705 // request with the returned nextToken value. This value can be between 1 and 9706 // 100. If this parameter is not used, then ListAttributes returns up to 100 9707 // results and a nextToken value if applicable. 9708 MaxResults *int64 `locationName:"maxResults" type:"integer"` 9709 9710 // The nextToken value returned from a previous paginated ListAttributes request 9711 // where maxResults was used and the results exceeded the value of that parameter. 9712 // Pagination continues from the end of the previous results that returned the 9713 // nextToken value. 9714 // 9715 // This token should be treated as an opaque identifier that is only used to 9716 // retrieve the next items in a list and not for other programmatic purposes. 9717 NextToken *string `locationName:"nextToken" type:"string"` 9718 9719 // The type of the target with which to list attributes. 9720 // 9721 // TargetType is a required field 9722 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 9723} 9724 9725// String returns the string representation 9726func (s ListAttributesInput) String() string { 9727 return awsutil.Prettify(s) 9728} 9729 9730// GoString returns the string representation 9731func (s ListAttributesInput) GoString() string { 9732 return s.String() 9733} 9734 9735// Validate inspects the fields of the type to determine if they are valid. 9736func (s *ListAttributesInput) Validate() error { 9737 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 9738 if s.TargetType == nil { 9739 invalidParams.Add(request.NewErrParamRequired("TargetType")) 9740 } 9741 9742 if invalidParams.Len() > 0 { 9743 return invalidParams 9744 } 9745 return nil 9746} 9747 9748// SetAttributeName sets the AttributeName field's value. 9749func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 9750 s.AttributeName = &v 9751 return s 9752} 9753 9754// SetAttributeValue sets the AttributeValue field's value. 9755func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 9756 s.AttributeValue = &v 9757 return s 9758} 9759 9760// SetCluster sets the Cluster field's value. 9761func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 9762 s.Cluster = &v 9763 return s 9764} 9765 9766// SetMaxResults sets the MaxResults field's value. 9767func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 9768 s.MaxResults = &v 9769 return s 9770} 9771 9772// SetNextToken sets the NextToken field's value. 9773func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 9774 s.NextToken = &v 9775 return s 9776} 9777 9778// SetTargetType sets the TargetType field's value. 9779func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 9780 s.TargetType = &v 9781 return s 9782} 9783 9784type ListAttributesOutput struct { 9785 _ struct{} `type:"structure"` 9786 9787 // A list of attribute objects that meet the criteria of the request. 9788 Attributes []*Attribute `locationName:"attributes" type:"list"` 9789 9790 // The nextToken value to include in a future ListAttributes request. When the 9791 // results of a ListAttributes request exceed maxResults, this value can be 9792 // used to retrieve the next page of results. This value is null when there 9793 // are no more results to return. 9794 NextToken *string `locationName:"nextToken" type:"string"` 9795} 9796 9797// String returns the string representation 9798func (s ListAttributesOutput) String() string { 9799 return awsutil.Prettify(s) 9800} 9801 9802// GoString returns the string representation 9803func (s ListAttributesOutput) GoString() string { 9804 return s.String() 9805} 9806 9807// SetAttributes sets the Attributes field's value. 9808func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 9809 s.Attributes = v 9810 return s 9811} 9812 9813// SetNextToken sets the NextToken field's value. 9814func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 9815 s.NextToken = &v 9816 return s 9817} 9818 9819type ListClustersInput struct { 9820 _ struct{} `type:"structure"` 9821 9822 // The maximum number of cluster results returned by ListClusters in paginated 9823 // output. When this parameter is used, ListClusters only returns maxResults 9824 // results in a single page along with a nextToken response element. The remaining 9825 // results of the initial request can be seen by sending another ListClusters 9826 // request with the returned nextToken value. This value can be between 1 and 9827 // 100. If this parameter is not used, then ListClusters returns up to 100 results 9828 // and a nextToken value if applicable. 9829 MaxResults *int64 `locationName:"maxResults" type:"integer"` 9830 9831 // The nextToken value returned from a previous paginated ListClusters request 9832 // where maxResults was used and the results exceeded the value of that parameter. 9833 // Pagination continues from the end of the previous results that returned the 9834 // nextToken value. 9835 // 9836 // This token should be treated as an opaque identifier that is only used to 9837 // retrieve the next items in a list and not for other programmatic purposes. 9838 NextToken *string `locationName:"nextToken" type:"string"` 9839} 9840 9841// String returns the string representation 9842func (s ListClustersInput) String() string { 9843 return awsutil.Prettify(s) 9844} 9845 9846// GoString returns the string representation 9847func (s ListClustersInput) GoString() string { 9848 return s.String() 9849} 9850 9851// SetMaxResults sets the MaxResults field's value. 9852func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 9853 s.MaxResults = &v 9854 return s 9855} 9856 9857// SetNextToken sets the NextToken field's value. 9858func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 9859 s.NextToken = &v 9860 return s 9861} 9862 9863type ListClustersOutput struct { 9864 _ struct{} `type:"structure"` 9865 9866 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 9867 // with your account. 9868 ClusterArns []*string `locationName:"clusterArns" type:"list"` 9869 9870 // The nextToken value to include in a future ListClusters request. When the 9871 // results of a ListClusters request exceed maxResults, this value can be used 9872 // to retrieve the next page of results. This value is null when there are no 9873 // more results to return. 9874 NextToken *string `locationName:"nextToken" type:"string"` 9875} 9876 9877// String returns the string representation 9878func (s ListClustersOutput) String() string { 9879 return awsutil.Prettify(s) 9880} 9881 9882// GoString returns the string representation 9883func (s ListClustersOutput) GoString() string { 9884 return s.String() 9885} 9886 9887// SetClusterArns sets the ClusterArns field's value. 9888func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 9889 s.ClusterArns = v 9890 return s 9891} 9892 9893// SetNextToken sets the NextToken field's value. 9894func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 9895 s.NextToken = &v 9896 return s 9897} 9898 9899type ListContainerInstancesInput struct { 9900 _ struct{} `type:"structure"` 9901 9902 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9903 // the container instances to list. If you do not specify a cluster, the default 9904 // cluster is assumed. 9905 Cluster *string `locationName:"cluster" type:"string"` 9906 9907 // You can filter the results of a ListContainerInstances operation with cluster 9908 // query language statements. For more information, see Cluster Query Language 9909 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 9910 // in the Amazon Elastic Container Service Developer Guide. 9911 Filter *string `locationName:"filter" type:"string"` 9912 9913 // The maximum number of container instance results returned by ListContainerInstances 9914 // in paginated output. When this parameter is used, ListContainerInstances 9915 // only returns maxResults results in a single page along with a nextToken response 9916 // element. The remaining results of the initial request can be seen by sending 9917 // another ListContainerInstances request with the returned nextToken value. 9918 // This value can be between 1 and 100. If this parameter is not used, then 9919 // ListContainerInstances returns up to 100 results and a nextToken value if 9920 // applicable. 9921 MaxResults *int64 `locationName:"maxResults" type:"integer"` 9922 9923 // The nextToken value returned from a previous paginated ListContainerInstances 9924 // request where maxResults was used and the results exceeded the value of that 9925 // parameter. Pagination continues from the end of the previous results that 9926 // returned the nextToken value. 9927 // 9928 // This token should be treated as an opaque identifier that is only used to 9929 // retrieve the next items in a list and not for other programmatic purposes. 9930 NextToken *string `locationName:"nextToken" type:"string"` 9931 9932 // Filters the container instances by status. For example, if you specify the 9933 // DRAINING status, the results include only container instances that have been 9934 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 9935 // this parameter, the default is to include container instances set to all 9936 // states other than INACTIVE. 9937 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 9938} 9939 9940// String returns the string representation 9941func (s ListContainerInstancesInput) String() string { 9942 return awsutil.Prettify(s) 9943} 9944 9945// GoString returns the string representation 9946func (s ListContainerInstancesInput) GoString() string { 9947 return s.String() 9948} 9949 9950// SetCluster sets the Cluster field's value. 9951func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 9952 s.Cluster = &v 9953 return s 9954} 9955 9956// SetFilter sets the Filter field's value. 9957func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 9958 s.Filter = &v 9959 return s 9960} 9961 9962// SetMaxResults sets the MaxResults field's value. 9963func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 9964 s.MaxResults = &v 9965 return s 9966} 9967 9968// SetNextToken sets the NextToken field's value. 9969func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 9970 s.NextToken = &v 9971 return s 9972} 9973 9974// SetStatus sets the Status field's value. 9975func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 9976 s.Status = &v 9977 return s 9978} 9979 9980type ListContainerInstancesOutput struct { 9981 _ struct{} `type:"structure"` 9982 9983 // The list of container instances with full ARN entries for each container 9984 // instance associated with the specified cluster. 9985 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 9986 9987 // The nextToken value to include in a future ListContainerInstances request. 9988 // When the results of a ListContainerInstances request exceed maxResults, this 9989 // value can be used to retrieve the next page of results. This value is null 9990 // when there are no more results to return. 9991 NextToken *string `locationName:"nextToken" type:"string"` 9992} 9993 9994// String returns the string representation 9995func (s ListContainerInstancesOutput) String() string { 9996 return awsutil.Prettify(s) 9997} 9998 9999// GoString returns the string representation 10000func (s ListContainerInstancesOutput) GoString() string { 10001 return s.String() 10002} 10003 10004// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 10005func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 10006 s.ContainerInstanceArns = v 10007 return s 10008} 10009 10010// SetNextToken sets the NextToken field's value. 10011func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 10012 s.NextToken = &v 10013 return s 10014} 10015 10016type ListServicesInput struct { 10017 _ struct{} `type:"structure"` 10018 10019 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10020 // the services to list. If you do not specify a cluster, the default cluster 10021 // is assumed. 10022 Cluster *string `locationName:"cluster" type:"string"` 10023 10024 // The launch type for the services to list. 10025 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10026 10027 // The maximum number of service results returned by ListServices in paginated 10028 // output. When this parameter is used, ListServices only returns maxResults 10029 // results in a single page along with a nextToken response element. The remaining 10030 // results of the initial request can be seen by sending another ListServices 10031 // request with the returned nextToken value. This value can be between 1 and 10032 // 100. If this parameter is not used, then ListServices returns up to 10 results 10033 // and a nextToken value if applicable. 10034 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10035 10036 // The nextToken value returned from a previous paginated ListServices request 10037 // where maxResults was used and the results exceeded the value of that parameter. 10038 // Pagination continues from the end of the previous results that returned the 10039 // nextToken value. 10040 // 10041 // This token should be treated as an opaque identifier that is only used to 10042 // retrieve the next items in a list and not for other programmatic purposes. 10043 NextToken *string `locationName:"nextToken" type:"string"` 10044 10045 // The scheduling strategy for services to list. 10046 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 10047} 10048 10049// String returns the string representation 10050func (s ListServicesInput) String() string { 10051 return awsutil.Prettify(s) 10052} 10053 10054// GoString returns the string representation 10055func (s ListServicesInput) GoString() string { 10056 return s.String() 10057} 10058 10059// SetCluster sets the Cluster field's value. 10060func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 10061 s.Cluster = &v 10062 return s 10063} 10064 10065// SetLaunchType sets the LaunchType field's value. 10066func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 10067 s.LaunchType = &v 10068 return s 10069} 10070 10071// SetMaxResults sets the MaxResults field's value. 10072func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 10073 s.MaxResults = &v 10074 return s 10075} 10076 10077// SetNextToken sets the NextToken field's value. 10078func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 10079 s.NextToken = &v 10080 return s 10081} 10082 10083// SetSchedulingStrategy sets the SchedulingStrategy field's value. 10084func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 10085 s.SchedulingStrategy = &v 10086 return s 10087} 10088 10089type ListServicesOutput struct { 10090 _ struct{} `type:"structure"` 10091 10092 // The nextToken value to include in a future ListServices request. When the 10093 // results of a ListServices request exceed maxResults, this value can be used 10094 // to retrieve the next page of results. This value is null when there are no 10095 // more results to return. 10096 NextToken *string `locationName:"nextToken" type:"string"` 10097 10098 // The list of full ARN entries for each service associated with the specified 10099 // cluster. 10100 ServiceArns []*string `locationName:"serviceArns" type:"list"` 10101} 10102 10103// String returns the string representation 10104func (s ListServicesOutput) String() string { 10105 return awsutil.Prettify(s) 10106} 10107 10108// GoString returns the string representation 10109func (s ListServicesOutput) GoString() string { 10110 return s.String() 10111} 10112 10113// SetNextToken sets the NextToken field's value. 10114func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 10115 s.NextToken = &v 10116 return s 10117} 10118 10119// SetServiceArns sets the ServiceArns field's value. 10120func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 10121 s.ServiceArns = v 10122 return s 10123} 10124 10125type ListTagsForResourceInput struct { 10126 _ struct{} `type:"structure"` 10127 10128 // The Amazon Resource Name (ARN) that identifies the resource for which to 10129 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 10130 // task definitions, clusters, and container instances. 10131 // 10132 // ResourceArn is a required field 10133 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 10134} 10135 10136// String returns the string representation 10137func (s ListTagsForResourceInput) String() string { 10138 return awsutil.Prettify(s) 10139} 10140 10141// GoString returns the string representation 10142func (s ListTagsForResourceInput) GoString() string { 10143 return s.String() 10144} 10145 10146// Validate inspects the fields of the type to determine if they are valid. 10147func (s *ListTagsForResourceInput) Validate() error { 10148 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 10149 if s.ResourceArn == nil { 10150 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 10151 } 10152 10153 if invalidParams.Len() > 0 { 10154 return invalidParams 10155 } 10156 return nil 10157} 10158 10159// SetResourceArn sets the ResourceArn field's value. 10160func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 10161 s.ResourceArn = &v 10162 return s 10163} 10164 10165type ListTagsForResourceOutput struct { 10166 _ struct{} `type:"structure"` 10167 10168 // The tags for the resource. 10169 Tags []*Tag `locationName:"tags" type:"list"` 10170} 10171 10172// String returns the string representation 10173func (s ListTagsForResourceOutput) String() string { 10174 return awsutil.Prettify(s) 10175} 10176 10177// GoString returns the string representation 10178func (s ListTagsForResourceOutput) GoString() string { 10179 return s.String() 10180} 10181 10182// SetTags sets the Tags field's value. 10183func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 10184 s.Tags = v 10185 return s 10186} 10187 10188type ListTaskDefinitionFamiliesInput struct { 10189 _ struct{} `type:"structure"` 10190 10191 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 10192 // If you specify a familyPrefix, only task definition family names that begin 10193 // with the familyPrefix string are returned. 10194 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 10195 10196 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 10197 // in paginated output. When this parameter is used, ListTaskDefinitions only 10198 // returns maxResults results in a single page along with a nextToken response 10199 // element. The remaining results of the initial request can be seen by sending 10200 // another ListTaskDefinitionFamilies request with the returned nextToken value. 10201 // This value can be between 1 and 100. If this parameter is not used, then 10202 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 10203 // if applicable. 10204 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10205 10206 // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies 10207 // request where maxResults was used and the results exceeded the value of that 10208 // parameter. Pagination continues from the end of the previous results that 10209 // returned the nextToken value. 10210 // 10211 // This token should be treated as an opaque identifier that is only used to 10212 // retrieve the next items in a list and not for other programmatic purposes. 10213 NextToken *string `locationName:"nextToken" type:"string"` 10214 10215 // The task definition family status with which to filter the ListTaskDefinitionFamilies 10216 // results. By default, both ACTIVE and INACTIVE task definition families are 10217 // listed. If this parameter is set to ACTIVE, only task definition families 10218 // that have an ACTIVE task definition revision are returned. If this parameter 10219 // is set to INACTIVE, only task definition families that do not have any ACTIVE 10220 // task definition revisions are returned. If you paginate the resulting output, 10221 // be sure to keep the status value constant in each subsequent request. 10222 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 10223} 10224 10225// String returns the string representation 10226func (s ListTaskDefinitionFamiliesInput) String() string { 10227 return awsutil.Prettify(s) 10228} 10229 10230// GoString returns the string representation 10231func (s ListTaskDefinitionFamiliesInput) GoString() string { 10232 return s.String() 10233} 10234 10235// SetFamilyPrefix sets the FamilyPrefix field's value. 10236func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 10237 s.FamilyPrefix = &v 10238 return s 10239} 10240 10241// SetMaxResults sets the MaxResults field's value. 10242func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 10243 s.MaxResults = &v 10244 return s 10245} 10246 10247// SetNextToken sets the NextToken field's value. 10248func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 10249 s.NextToken = &v 10250 return s 10251} 10252 10253// SetStatus sets the Status field's value. 10254func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 10255 s.Status = &v 10256 return s 10257} 10258 10259type ListTaskDefinitionFamiliesOutput struct { 10260 _ struct{} `type:"structure"` 10261 10262 // The list of task definition family names that match the ListTaskDefinitionFamilies 10263 // request. 10264 Families []*string `locationName:"families" type:"list"` 10265 10266 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 10267 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 10268 // this value can be used to retrieve the next page of results. This value is 10269 // null when there are no more results to return. 10270 NextToken *string `locationName:"nextToken" type:"string"` 10271} 10272 10273// String returns the string representation 10274func (s ListTaskDefinitionFamiliesOutput) String() string { 10275 return awsutil.Prettify(s) 10276} 10277 10278// GoString returns the string representation 10279func (s ListTaskDefinitionFamiliesOutput) GoString() string { 10280 return s.String() 10281} 10282 10283// SetFamilies sets the Families field's value. 10284func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 10285 s.Families = v 10286 return s 10287} 10288 10289// SetNextToken sets the NextToken field's value. 10290func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 10291 s.NextToken = &v 10292 return s 10293} 10294 10295type ListTaskDefinitionsInput struct { 10296 _ struct{} `type:"structure"` 10297 10298 // The full family name with which to filter the ListTaskDefinitions results. 10299 // Specifying a familyPrefix limits the listed task definitions to task definition 10300 // revisions that belong to that family. 10301 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 10302 10303 // The maximum number of task definition results returned by ListTaskDefinitions 10304 // in paginated output. When this parameter is used, ListTaskDefinitions only 10305 // returns maxResults results in a single page along with a nextToken response 10306 // element. The remaining results of the initial request can be seen by sending 10307 // another ListTaskDefinitions request with the returned nextToken value. This 10308 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 10309 // returns up to 100 results and a nextToken value if applicable. 10310 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10311 10312 // The nextToken value returned from a previous paginated ListTaskDefinitions 10313 // request where maxResults was used and the results exceeded the value of that 10314 // parameter. Pagination continues from the end of the previous results that 10315 // returned the nextToken value. 10316 // 10317 // This token should be treated as an opaque identifier that is only used to 10318 // retrieve the next items in a list and not for other programmatic purposes. 10319 NextToken *string `locationName:"nextToken" type:"string"` 10320 10321 // The order in which to sort the results. Valid values are ASC and DESC. By 10322 // default (ASC), task definitions are listed lexicographically by family name 10323 // and in ascending numerical order by revision so that the newest task definitions 10324 // in a family are listed last. Setting this parameter to DESC reverses the 10325 // sort order on family name and revision so that the newest task definitions 10326 // in a family are listed first. 10327 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 10328 10329 // The task definition status with which to filter the ListTaskDefinitions results. 10330 // By default, only ACTIVE task definitions are listed. By setting this parameter 10331 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 10332 // active task or service still references them. If you paginate the resulting 10333 // output, be sure to keep the status value constant in each subsequent request. 10334 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 10335} 10336 10337// String returns the string representation 10338func (s ListTaskDefinitionsInput) String() string { 10339 return awsutil.Prettify(s) 10340} 10341 10342// GoString returns the string representation 10343func (s ListTaskDefinitionsInput) GoString() string { 10344 return s.String() 10345} 10346 10347// SetFamilyPrefix sets the FamilyPrefix field's value. 10348func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 10349 s.FamilyPrefix = &v 10350 return s 10351} 10352 10353// SetMaxResults sets the MaxResults field's value. 10354func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 10355 s.MaxResults = &v 10356 return s 10357} 10358 10359// SetNextToken sets the NextToken field's value. 10360func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 10361 s.NextToken = &v 10362 return s 10363} 10364 10365// SetSort sets the Sort field's value. 10366func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 10367 s.Sort = &v 10368 return s 10369} 10370 10371// SetStatus sets the Status field's value. 10372func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 10373 s.Status = &v 10374 return s 10375} 10376 10377type ListTaskDefinitionsOutput struct { 10378 _ struct{} `type:"structure"` 10379 10380 // The nextToken value to include in a future ListTaskDefinitions request. When 10381 // the results of a ListTaskDefinitions request exceed maxResults, this value 10382 // can be used to retrieve the next page of results. This value is null when 10383 // there are no more results to return. 10384 NextToken *string `locationName:"nextToken" type:"string"` 10385 10386 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 10387 // request. 10388 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 10389} 10390 10391// String returns the string representation 10392func (s ListTaskDefinitionsOutput) String() string { 10393 return awsutil.Prettify(s) 10394} 10395 10396// GoString returns the string representation 10397func (s ListTaskDefinitionsOutput) GoString() string { 10398 return s.String() 10399} 10400 10401// SetNextToken sets the NextToken field's value. 10402func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 10403 s.NextToken = &v 10404 return s 10405} 10406 10407// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 10408func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 10409 s.TaskDefinitionArns = v 10410 return s 10411} 10412 10413type ListTasksInput struct { 10414 _ struct{} `type:"structure"` 10415 10416 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10417 // the tasks to list. If you do not specify a cluster, the default cluster is 10418 // assumed. 10419 Cluster *string `locationName:"cluster" type:"string"` 10420 10421 // The container instance ID or full ARN of the container instance with which 10422 // to filter the ListTasks results. Specifying a containerInstance limits the 10423 // results to tasks that belong to that container instance. 10424 ContainerInstance *string `locationName:"containerInstance" type:"string"` 10425 10426 // The task desired status with which to filter the ListTasks results. Specifying 10427 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 10428 // set the desired status to STOPPED. This can be useful for debugging tasks 10429 // that are not starting properly or have died or finished. The default status 10430 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 10431 // status to RUNNING. 10432 // 10433 // Although you can filter results based on a desired status of PENDING, this 10434 // does not return any results. Amazon ECS never sets the desired status of 10435 // a task to that value (only a task's lastStatus may have a value of PENDING). 10436 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 10437 10438 // The name of the family with which to filter the ListTasks results. Specifying 10439 // a family limits the results to tasks that belong to that family. 10440 Family *string `locationName:"family" type:"string"` 10441 10442 // The launch type for services to list. 10443 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10444 10445 // The maximum number of task results returned by ListTasks in paginated output. 10446 // When this parameter is used, ListTasks only returns maxResults results in 10447 // a single page along with a nextToken response element. The remaining results 10448 // of the initial request can be seen by sending another ListTasks request with 10449 // the returned nextToken value. This value can be between 1 and 100. If this 10450 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 10451 // value if applicable. 10452 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10453 10454 // The nextToken value returned from a previous paginated ListTasks request 10455 // where maxResults was used and the results exceeded the value of that parameter. 10456 // Pagination continues from the end of the previous results that returned the 10457 // nextToken value. 10458 // 10459 // This token should be treated as an opaque identifier that is only used to 10460 // retrieve the next items in a list and not for other programmatic purposes. 10461 NextToken *string `locationName:"nextToken" type:"string"` 10462 10463 // The name of the service with which to filter the ListTasks results. Specifying 10464 // a serviceName limits the results to tasks that belong to that service. 10465 ServiceName *string `locationName:"serviceName" type:"string"` 10466 10467 // The startedBy value with which to filter the task results. Specifying a startedBy 10468 // value limits the results to tasks that were started with that value. 10469 StartedBy *string `locationName:"startedBy" type:"string"` 10470} 10471 10472// String returns the string representation 10473func (s ListTasksInput) String() string { 10474 return awsutil.Prettify(s) 10475} 10476 10477// GoString returns the string representation 10478func (s ListTasksInput) GoString() string { 10479 return s.String() 10480} 10481 10482// SetCluster sets the Cluster field's value. 10483func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 10484 s.Cluster = &v 10485 return s 10486} 10487 10488// SetContainerInstance sets the ContainerInstance field's value. 10489func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 10490 s.ContainerInstance = &v 10491 return s 10492} 10493 10494// SetDesiredStatus sets the DesiredStatus field's value. 10495func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 10496 s.DesiredStatus = &v 10497 return s 10498} 10499 10500// SetFamily sets the Family field's value. 10501func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 10502 s.Family = &v 10503 return s 10504} 10505 10506// SetLaunchType sets the LaunchType field's value. 10507func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 10508 s.LaunchType = &v 10509 return s 10510} 10511 10512// SetMaxResults sets the MaxResults field's value. 10513func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 10514 s.MaxResults = &v 10515 return s 10516} 10517 10518// SetNextToken sets the NextToken field's value. 10519func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 10520 s.NextToken = &v 10521 return s 10522} 10523 10524// SetServiceName sets the ServiceName field's value. 10525func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 10526 s.ServiceName = &v 10527 return s 10528} 10529 10530// SetStartedBy sets the StartedBy field's value. 10531func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 10532 s.StartedBy = &v 10533 return s 10534} 10535 10536type ListTasksOutput struct { 10537 _ struct{} `type:"structure"` 10538 10539 // The nextToken value to include in a future ListTasks request. When the results 10540 // of a ListTasks request exceed maxResults, this value can be used to retrieve 10541 // the next page of results. This value is null when there are no more results 10542 // to return. 10543 NextToken *string `locationName:"nextToken" type:"string"` 10544 10545 // The list of task ARN entries for the ListTasks request. 10546 TaskArns []*string `locationName:"taskArns" type:"list"` 10547} 10548 10549// String returns the string representation 10550func (s ListTasksOutput) String() string { 10551 return awsutil.Prettify(s) 10552} 10553 10554// GoString returns the string representation 10555func (s ListTasksOutput) GoString() string { 10556 return s.String() 10557} 10558 10559// SetNextToken sets the NextToken field's value. 10560func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 10561 s.NextToken = &v 10562 return s 10563} 10564 10565// SetTaskArns sets the TaskArns field's value. 10566func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 10567 s.TaskArns = v 10568 return s 10569} 10570 10571// Details on a load balancer to be used with a service or task set. 10572// 10573// If the service is using the ECS deployment controller, you are limited to 10574// one load balancer or target group. 10575// 10576// If the service is using the CODE_DEPLOY deployment controller, the service 10577// is required to use either an Application Load Balancer or Network Load Balancer. 10578// When you are creating an AWS CodeDeploy deployment group, you specify two 10579// target groups (referred to as a targetGroupPair). Each target group binds 10580// to a separate task set in the deployment. The load balancer can also have 10581// up to two listeners, a required listener for production traffic and an optional 10582// listener that allows you to test new revisions of the service before routing 10583// production traffic to it. 10584// 10585// Services with tasks that use the awsvpc network mode (for example, those 10586// with the Fargate launch type) only support Application Load Balancers and 10587// Network Load Balancers. Classic Load Balancers are not supported. Also, when 10588// you create any target groups for these services, you must choose ip as the 10589// target type, not instance. Tasks that use the awsvpc network mode are associated 10590// with an elastic network interface, not an Amazon EC2 instance. 10591type LoadBalancer struct { 10592 _ struct{} `type:"structure"` 10593 10594 // The name of the container (as it appears in a container definition) to associate 10595 // with the load balancer. 10596 ContainerName *string `locationName:"containerName" type:"string"` 10597 10598 // The port on the container to associate with the load balancer. This port 10599 // must correspond to a containerPort in the service's task definition. Your 10600 // container instances must allow ingress traffic on the hostPort of the port 10601 // mapping. 10602 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 10603 10604 // The name of the load balancer to associate with the Amazon ECS service or 10605 // task set. 10606 // 10607 // A load balancer name is only specified when using a classic load balancer. 10608 // If you are using an application load balancer or a network load balancer 10609 // this should be omitted. 10610 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 10611 10612 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 10613 // group or groups associated with a service or task set. 10614 // 10615 // A target group ARN is only specified when using an application load balancer 10616 // or a network load balancer. If you are using a classic load balancer this 10617 // should be omitted. 10618 // 10619 // For services using the ECS deployment controller, you are limited to one 10620 // target group. For services using the CODE_DEPLOY deployment controller, you 10621 // are required to define two target groups for the load balancer. 10622 // 10623 // If your service's task definition uses the awsvpc network mode (which is 10624 // required for the Fargate launch type), you must choose ip as the target type, 10625 // not instance, because tasks that use the awsvpc network mode are associated 10626 // with an elastic network interface, not an Amazon EC2 instance. 10627 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 10628} 10629 10630// String returns the string representation 10631func (s LoadBalancer) String() string { 10632 return awsutil.Prettify(s) 10633} 10634 10635// GoString returns the string representation 10636func (s LoadBalancer) GoString() string { 10637 return s.String() 10638} 10639 10640// SetContainerName sets the ContainerName field's value. 10641func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 10642 s.ContainerName = &v 10643 return s 10644} 10645 10646// SetContainerPort sets the ContainerPort field's value. 10647func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 10648 s.ContainerPort = &v 10649 return s 10650} 10651 10652// SetLoadBalancerName sets the LoadBalancerName field's value. 10653func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 10654 s.LoadBalancerName = &v 10655 return s 10656} 10657 10658// SetTargetGroupArn sets the TargetGroupArn field's value. 10659func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 10660 s.TargetGroupArn = &v 10661 return s 10662} 10663 10664// Log configuration options to send to a custom log driver for the container. 10665type LogConfiguration struct { 10666 _ struct{} `type:"structure"` 10667 10668 // The log driver to use for the container. The valid values listed for this 10669 // parameter are log drivers that the Amazon ECS container agent can communicate 10670 // with by default. 10671 // 10672 // For tasks using the Fargate launch type, the supported log drivers are awslogs 10673 // and splunk. 10674 // 10675 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 10676 // syslog, gelf, fluentd, splunk, journald, and json-file. 10677 // 10678 // For more information about using the awslogs log driver, see Using the awslogs 10679 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 10680 // in the Amazon Elastic Container Service Developer Guide. 10681 // 10682 // If you have a custom driver that is not listed above that you would like 10683 // to work with the Amazon ECS container agent, you can fork the Amazon ECS 10684 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 10685 // and customize it to work with that driver. We encourage you to submit pull 10686 // requests for changes that you would like to have included. However, Amazon 10687 // Web Services does not currently support running modified copies of this software. 10688 // 10689 // This parameter requires version 1.18 of the Docker Remote API or greater 10690 // on your container instance. To check the Docker Remote API version on your 10691 // container instance, log in to your container instance and run the following 10692 // command: sudo docker version --format '{{.Server.APIVersion}}' 10693 // 10694 // LogDriver is a required field 10695 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 10696 10697 // The configuration options to send to the log driver. This parameter requires 10698 // version 1.19 of the Docker Remote API or greater on your container instance. 10699 // To check the Docker Remote API version on your container instance, log in 10700 // to your container instance and run the following command: sudo docker version 10701 // --format '{{.Server.APIVersion}}' 10702 Options map[string]*string `locationName:"options" type:"map"` 10703 10704 // The secrets to pass to the log configuration. 10705 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 10706} 10707 10708// String returns the string representation 10709func (s LogConfiguration) String() string { 10710 return awsutil.Prettify(s) 10711} 10712 10713// GoString returns the string representation 10714func (s LogConfiguration) GoString() string { 10715 return s.String() 10716} 10717 10718// Validate inspects the fields of the type to determine if they are valid. 10719func (s *LogConfiguration) Validate() error { 10720 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 10721 if s.LogDriver == nil { 10722 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 10723 } 10724 if s.SecretOptions != nil { 10725 for i, v := range s.SecretOptions { 10726 if v == nil { 10727 continue 10728 } 10729 if err := v.Validate(); err != nil { 10730 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 10731 } 10732 } 10733 } 10734 10735 if invalidParams.Len() > 0 { 10736 return invalidParams 10737 } 10738 return nil 10739} 10740 10741// SetLogDriver sets the LogDriver field's value. 10742func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 10743 s.LogDriver = &v 10744 return s 10745} 10746 10747// SetOptions sets the Options field's value. 10748func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 10749 s.Options = v 10750 return s 10751} 10752 10753// SetSecretOptions sets the SecretOptions field's value. 10754func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 10755 s.SecretOptions = v 10756 return s 10757} 10758 10759// Details on a volume mount point that is used in a container definition. 10760type MountPoint struct { 10761 _ struct{} `type:"structure"` 10762 10763 // The path on the container to mount the host volume at. 10764 ContainerPath *string `locationName:"containerPath" type:"string"` 10765 10766 // If this value is true, the container has read-only access to the volume. 10767 // If this value is false, then the container can write to the volume. The default 10768 // value is false. 10769 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 10770 10771 // The name of the volume to mount. Must be a volume name referenced in the 10772 // name parameter of task definition volume. 10773 SourceVolume *string `locationName:"sourceVolume" type:"string"` 10774} 10775 10776// String returns the string representation 10777func (s MountPoint) String() string { 10778 return awsutil.Prettify(s) 10779} 10780 10781// GoString returns the string representation 10782func (s MountPoint) GoString() string { 10783 return s.String() 10784} 10785 10786// SetContainerPath sets the ContainerPath field's value. 10787func (s *MountPoint) SetContainerPath(v string) *MountPoint { 10788 s.ContainerPath = &v 10789 return s 10790} 10791 10792// SetReadOnly sets the ReadOnly field's value. 10793func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 10794 s.ReadOnly = &v 10795 return s 10796} 10797 10798// SetSourceVolume sets the SourceVolume field's value. 10799func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 10800 s.SourceVolume = &v 10801 return s 10802} 10803 10804// Details on the network bindings between a container and its host container 10805// instance. After a task reaches the RUNNING status, manual and automatic host 10806// and container port assignments are visible in the networkBindings section 10807// of DescribeTasks API responses. 10808type NetworkBinding struct { 10809 _ struct{} `type:"structure"` 10810 10811 // The IP address that the container is bound to on the container instance. 10812 BindIP *string `locationName:"bindIP" type:"string"` 10813 10814 // The port number on the container that is used with the network binding. 10815 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 10816 10817 // The port number on the host that is used with the network binding. 10818 HostPort *int64 `locationName:"hostPort" type:"integer"` 10819 10820 // The protocol used for the network binding. 10821 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 10822} 10823 10824// String returns the string representation 10825func (s NetworkBinding) String() string { 10826 return awsutil.Prettify(s) 10827} 10828 10829// GoString returns the string representation 10830func (s NetworkBinding) GoString() string { 10831 return s.String() 10832} 10833 10834// SetBindIP sets the BindIP field's value. 10835func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 10836 s.BindIP = &v 10837 return s 10838} 10839 10840// SetContainerPort sets the ContainerPort field's value. 10841func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 10842 s.ContainerPort = &v 10843 return s 10844} 10845 10846// SetHostPort sets the HostPort field's value. 10847func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 10848 s.HostPort = &v 10849 return s 10850} 10851 10852// SetProtocol sets the Protocol field's value. 10853func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 10854 s.Protocol = &v 10855 return s 10856} 10857 10858// An object representing the network configuration for a task or service. 10859type NetworkConfiguration struct { 10860 _ struct{} `type:"structure"` 10861 10862 // The VPC subnets and security groups associated with a task. 10863 // 10864 // All specified subnets and security groups must be from the same VPC. 10865 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 10866} 10867 10868// String returns the string representation 10869func (s NetworkConfiguration) String() string { 10870 return awsutil.Prettify(s) 10871} 10872 10873// GoString returns the string representation 10874func (s NetworkConfiguration) GoString() string { 10875 return s.String() 10876} 10877 10878// Validate inspects the fields of the type to determine if they are valid. 10879func (s *NetworkConfiguration) Validate() error { 10880 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 10881 if s.AwsvpcConfiguration != nil { 10882 if err := s.AwsvpcConfiguration.Validate(); err != nil { 10883 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 10884 } 10885 } 10886 10887 if invalidParams.Len() > 0 { 10888 return invalidParams 10889 } 10890 return nil 10891} 10892 10893// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 10894func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 10895 s.AwsvpcConfiguration = v 10896 return s 10897} 10898 10899// An object representing the elastic network interface for tasks that use the 10900// awsvpc network mode. 10901type NetworkInterface struct { 10902 _ struct{} `type:"structure"` 10903 10904 // The attachment ID for the network interface. 10905 AttachmentId *string `locationName:"attachmentId" type:"string"` 10906 10907 // The private IPv6 address for the network interface. 10908 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 10909 10910 // The private IPv4 address for the network interface. 10911 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 10912} 10913 10914// String returns the string representation 10915func (s NetworkInterface) String() string { 10916 return awsutil.Prettify(s) 10917} 10918 10919// GoString returns the string representation 10920func (s NetworkInterface) GoString() string { 10921 return s.String() 10922} 10923 10924// SetAttachmentId sets the AttachmentId field's value. 10925func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 10926 s.AttachmentId = &v 10927 return s 10928} 10929 10930// SetIpv6Address sets the Ipv6Address field's value. 10931func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 10932 s.Ipv6Address = &v 10933 return s 10934} 10935 10936// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 10937func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 10938 s.PrivateIpv4Address = &v 10939 return s 10940} 10941 10942// An object representing a constraint on task placement. For more information, 10943// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 10944// in the Amazon Elastic Container Service Developer Guide. 10945type PlacementConstraint struct { 10946 _ struct{} `type:"structure"` 10947 10948 // A cluster query language expression to apply to the constraint. You cannot 10949 // specify an expression if the constraint type is distinctInstance. For more 10950 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 10951 // in the Amazon Elastic Container Service Developer Guide. 10952 Expression *string `locationName:"expression" type:"string"` 10953 10954 // The type of constraint. Use distinctInstance to ensure that each task in 10955 // a particular group is running on a different container instance. Use memberOf 10956 // to restrict the selection to a group of valid candidates. The value distinctInstance 10957 // is not supported in task definitions. 10958 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 10959} 10960 10961// String returns the string representation 10962func (s PlacementConstraint) String() string { 10963 return awsutil.Prettify(s) 10964} 10965 10966// GoString returns the string representation 10967func (s PlacementConstraint) GoString() string { 10968 return s.String() 10969} 10970 10971// SetExpression sets the Expression field's value. 10972func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 10973 s.Expression = &v 10974 return s 10975} 10976 10977// SetType sets the Type field's value. 10978func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 10979 s.Type = &v 10980 return s 10981} 10982 10983// The task placement strategy for a task or service. For more information, 10984// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 10985// in the Amazon Elastic Container Service Developer Guide. 10986type PlacementStrategy struct { 10987 _ struct{} `type:"structure"` 10988 10989 // The field to apply the placement strategy against. For the spread placement 10990 // strategy, valid values are instanceId (or host, which has the same effect), 10991 // or any platform or custom attribute that is applied to a container instance, 10992 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 10993 // valid values are cpu and memory. For the random placement strategy, this 10994 // field is not used. 10995 Field *string `locationName:"field" type:"string"` 10996 10997 // The type of placement strategy. The random placement strategy randomly places 10998 // tasks on available candidates. The spread placement strategy spreads placement 10999 // across available candidates evenly based on the field parameter. The binpack 11000 // strategy places tasks on available candidates that have the least available 11001 // amount of the resource that is specified with the field parameter. For example, 11002 // if you binpack on memory, a task is placed on the instance with the least 11003 // amount of remaining memory (but still enough to run the task). 11004 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 11005} 11006 11007// String returns the string representation 11008func (s PlacementStrategy) String() string { 11009 return awsutil.Prettify(s) 11010} 11011 11012// GoString returns the string representation 11013func (s PlacementStrategy) GoString() string { 11014 return s.String() 11015} 11016 11017// SetField sets the Field field's value. 11018func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 11019 s.Field = &v 11020 return s 11021} 11022 11023// SetType sets the Type field's value. 11024func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 11025 s.Type = &v 11026 return s 11027} 11028 11029// The devices that are available on the container instance. The only supported 11030// device type is a GPU. 11031type PlatformDevice struct { 11032 _ struct{} `type:"structure"` 11033 11034 // The ID for the GPU(s) on the container instance. The available GPU IDs can 11035 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 11036 // file. 11037 // 11038 // Id is a required field 11039 Id *string `locationName:"id" type:"string" required:"true"` 11040 11041 // The type of device that is available on the container instance. The only 11042 // supported value is GPU. 11043 // 11044 // Type is a required field 11045 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 11046} 11047 11048// String returns the string representation 11049func (s PlatformDevice) String() string { 11050 return awsutil.Prettify(s) 11051} 11052 11053// GoString returns the string representation 11054func (s PlatformDevice) GoString() string { 11055 return s.String() 11056} 11057 11058// Validate inspects the fields of the type to determine if they are valid. 11059func (s *PlatformDevice) Validate() error { 11060 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 11061 if s.Id == nil { 11062 invalidParams.Add(request.NewErrParamRequired("Id")) 11063 } 11064 if s.Type == nil { 11065 invalidParams.Add(request.NewErrParamRequired("Type")) 11066 } 11067 11068 if invalidParams.Len() > 0 { 11069 return invalidParams 11070 } 11071 return nil 11072} 11073 11074// SetId sets the Id field's value. 11075func (s *PlatformDevice) SetId(v string) *PlatformDevice { 11076 s.Id = &v 11077 return s 11078} 11079 11080// SetType sets the Type field's value. 11081func (s *PlatformDevice) SetType(v string) *PlatformDevice { 11082 s.Type = &v 11083 return s 11084} 11085 11086// Port mappings allow containers to access ports on the host container instance 11087// to send or receive traffic. Port mappings are specified as part of the container 11088// definition. 11089// 11090// If you are using containers in a task with the awsvpc or host network mode, 11091// exposed ports should be specified using containerPort. The hostPort can be 11092// left blank or it must be the same value as the containerPort. 11093// 11094// After a task reaches the RUNNING status, manual and automatic host and container 11095// port assignments are visible in the networkBindings section of DescribeTasks 11096// API responses. 11097type PortMapping struct { 11098 _ struct{} `type:"structure"` 11099 11100 // The port number on the container that is bound to the user-specified or automatically 11101 // assigned host port. 11102 // 11103 // If you are using containers in a task with the awsvpc or host network mode, 11104 // exposed ports should be specified using containerPort. 11105 // 11106 // If you are using containers in a task with the bridge network mode and you 11107 // specify a container port and not a host port, your container automatically 11108 // receives a host port in the ephemeral port range. For more information, see 11109 // hostPort. Port mappings that are automatically assigned in this way do not 11110 // count toward the 100 reserved ports limit of a container instance. 11111 // 11112 // You cannot expose the same container port for multiple protocols. An error 11113 // will be returned if this is attempted. 11114 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 11115 11116 // The port number on the container instance to reserve for your container. 11117 // 11118 // If you are using containers in a task with the awsvpc or host network mode, 11119 // the hostPort can either be left blank or set to the same value as the containerPort. 11120 // 11121 // If you are using containers in a task with the bridge network mode, you can 11122 // specify a non-reserved host port for your container port mapping, or you 11123 // can omit the hostPort (or set it to 0) while specifying a containerPort and 11124 // your container automatically receives a port in the ephemeral port range 11125 // for your container instance operating system and Docker version. 11126 // 11127 // The default ephemeral port range for Docker version 1.6.0 and later is listed 11128 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 11129 // parameter is unavailable, the default ephemeral port range from 49153 through 11130 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 11131 // range as these are reserved for automatic assignment. In general, ports below 11132 // 32768 are outside of the ephemeral port range. 11133 // 11134 // The default ephemeral port range from 49153 through 65535 is always used 11135 // for Docker versions before 1.6.0. 11136 // 11137 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 11138 // and the Amazon ECS container agent ports 51678-51680. Any host port that 11139 // was previously specified in a running task is also reserved while the task 11140 // is running (after a task stops, the host port is released). The current reserved 11141 // ports are displayed in the remainingResources of DescribeContainerInstances 11142 // output. A container instance can have up to 100 reserved ports at a time, 11143 // including the default reserved ports. Automatically assigned ports don't 11144 // count toward the 100 reserved ports limit. 11145 HostPort *int64 `locationName:"hostPort" type:"integer"` 11146 11147 // The protocol used for the port mapping. Valid values are tcp and udp. The 11148 // default is tcp. 11149 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 11150} 11151 11152// String returns the string representation 11153func (s PortMapping) String() string { 11154 return awsutil.Prettify(s) 11155} 11156 11157// GoString returns the string representation 11158func (s PortMapping) GoString() string { 11159 return s.String() 11160} 11161 11162// SetContainerPort sets the ContainerPort field's value. 11163func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 11164 s.ContainerPort = &v 11165 return s 11166} 11167 11168// SetHostPort sets the HostPort field's value. 11169func (s *PortMapping) SetHostPort(v int64) *PortMapping { 11170 s.HostPort = &v 11171 return s 11172} 11173 11174// SetProtocol sets the Protocol field's value. 11175func (s *PortMapping) SetProtocol(v string) *PortMapping { 11176 s.Protocol = &v 11177 return s 11178} 11179 11180// The configuration details for the App Mesh proxy. 11181// 11182// For tasks using the EC2 launch type, the container instances require at least 11183// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 11184// ecs-init package to enable a proxy configuration. If your container instances 11185// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 11186// then they contain the required versions of the container agent and ecs-init. 11187// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 11188// in the Amazon Elastic Container Service Developer Guide. 11189// 11190// For tasks using the Fargate launch type, the task or service requires platform 11191// version 1.3.0 or later. 11192type ProxyConfiguration struct { 11193 _ struct{} `type:"structure"` 11194 11195 // The name of the container that will serve as the App Mesh proxy. 11196 // 11197 // ContainerName is a required field 11198 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 11199 11200 // The set of network configuration parameters to provide the Container Network 11201 // Interface (CNI) plugin, specified as key-value pairs. 11202 // 11203 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 11204 // defined by the user parameter in a container definition. This is used 11205 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 11206 // this field can be empty. 11207 // 11208 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 11209 // defined by the user parameter in a container definition. This is used 11210 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 11211 // this field can be empty. 11212 // 11213 // * AppPorts - (Required) The list of ports that the application uses. Network 11214 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 11215 // 11216 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 11217 // to the AppPorts is directed to. 11218 // 11219 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 11220 // from the AppPorts is directed to. 11221 // 11222 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 11223 // ports is ignored and not redirected to the ProxyEgressPort. It can be 11224 // an empty list. 11225 // 11226 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 11227 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 11228 // can be an empty list. 11229 Properties []*KeyValuePair `locationName:"properties" type:"list"` 11230 11231 // The proxy type. The only supported value is APPMESH. 11232 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 11233} 11234 11235// String returns the string representation 11236func (s ProxyConfiguration) String() string { 11237 return awsutil.Prettify(s) 11238} 11239 11240// GoString returns the string representation 11241func (s ProxyConfiguration) GoString() string { 11242 return s.String() 11243} 11244 11245// Validate inspects the fields of the type to determine if they are valid. 11246func (s *ProxyConfiguration) Validate() error { 11247 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 11248 if s.ContainerName == nil { 11249 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 11250 } 11251 11252 if invalidParams.Len() > 0 { 11253 return invalidParams 11254 } 11255 return nil 11256} 11257 11258// SetContainerName sets the ContainerName field's value. 11259func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 11260 s.ContainerName = &v 11261 return s 11262} 11263 11264// SetProperties sets the Properties field's value. 11265func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 11266 s.Properties = v 11267 return s 11268} 11269 11270// SetType sets the Type field's value. 11271func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 11272 s.Type = &v 11273 return s 11274} 11275 11276type PutAccountSettingDefaultInput struct { 11277 _ struct{} `type:"structure"` 11278 11279 // The resource name for which to modify the account setting. If serviceLongArnFormat 11280 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 11281 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 11282 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 11283 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 11284 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 11285 // is specified, the default setting for CloudWatch Container Insights for your 11286 // clusters is affected. 11287 // 11288 // Name is a required field 11289 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 11290 11291 // The account setting value for the specified principal ARN. Accepted values 11292 // are enabled and disabled. 11293 // 11294 // Value is a required field 11295 Value *string `locationName:"value" type:"string" required:"true"` 11296} 11297 11298// String returns the string representation 11299func (s PutAccountSettingDefaultInput) String() string { 11300 return awsutil.Prettify(s) 11301} 11302 11303// GoString returns the string representation 11304func (s PutAccountSettingDefaultInput) GoString() string { 11305 return s.String() 11306} 11307 11308// Validate inspects the fields of the type to determine if they are valid. 11309func (s *PutAccountSettingDefaultInput) Validate() error { 11310 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 11311 if s.Name == nil { 11312 invalidParams.Add(request.NewErrParamRequired("Name")) 11313 } 11314 if s.Value == nil { 11315 invalidParams.Add(request.NewErrParamRequired("Value")) 11316 } 11317 11318 if invalidParams.Len() > 0 { 11319 return invalidParams 11320 } 11321 return nil 11322} 11323 11324// SetName sets the Name field's value. 11325func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 11326 s.Name = &v 11327 return s 11328} 11329 11330// SetValue sets the Value field's value. 11331func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 11332 s.Value = &v 11333 return s 11334} 11335 11336type PutAccountSettingDefaultOutput struct { 11337 _ struct{} `type:"structure"` 11338 11339 // The current account setting for a resource. 11340 Setting *Setting `locationName:"setting" type:"structure"` 11341} 11342 11343// String returns the string representation 11344func (s PutAccountSettingDefaultOutput) String() string { 11345 return awsutil.Prettify(s) 11346} 11347 11348// GoString returns the string representation 11349func (s PutAccountSettingDefaultOutput) GoString() string { 11350 return s.String() 11351} 11352 11353// SetSetting sets the Setting field's value. 11354func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 11355 s.Setting = v 11356 return s 11357} 11358 11359type PutAccountSettingInput struct { 11360 _ struct{} `type:"structure"` 11361 11362 // The Amazon ECS resource name for which to modify the account setting. If 11363 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 11364 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 11365 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 11366 // the ARN and resource ID for your Amazon ECS container instances is affected. 11367 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 11368 // for your Amazon ECS container instances is affected. If containerInsights 11369 // is specified, the default setting for CloudWatch Container Insights for your 11370 // clusters is affected. 11371 // 11372 // Name is a required field 11373 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 11374 11375 // The ARN of the principal, which can be an IAM user, IAM role, or the root 11376 // user. If you specify the root user, it modifies the account setting for all 11377 // IAM users, IAM roles, and the root user of the account unless an IAM user 11378 // or role explicitly overrides these settings. If this field is omitted, the 11379 // setting is changed only for the authenticated user. 11380 PrincipalArn *string `locationName:"principalArn" type:"string"` 11381 11382 // The account setting value for the specified principal ARN. Accepted values 11383 // are enabled and disabled. 11384 // 11385 // Value is a required field 11386 Value *string `locationName:"value" type:"string" required:"true"` 11387} 11388 11389// String returns the string representation 11390func (s PutAccountSettingInput) String() string { 11391 return awsutil.Prettify(s) 11392} 11393 11394// GoString returns the string representation 11395func (s PutAccountSettingInput) GoString() string { 11396 return s.String() 11397} 11398 11399// Validate inspects the fields of the type to determine if they are valid. 11400func (s *PutAccountSettingInput) Validate() error { 11401 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 11402 if s.Name == nil { 11403 invalidParams.Add(request.NewErrParamRequired("Name")) 11404 } 11405 if s.Value == nil { 11406 invalidParams.Add(request.NewErrParamRequired("Value")) 11407 } 11408 11409 if invalidParams.Len() > 0 { 11410 return invalidParams 11411 } 11412 return nil 11413} 11414 11415// SetName sets the Name field's value. 11416func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 11417 s.Name = &v 11418 return s 11419} 11420 11421// SetPrincipalArn sets the PrincipalArn field's value. 11422func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 11423 s.PrincipalArn = &v 11424 return s 11425} 11426 11427// SetValue sets the Value field's value. 11428func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 11429 s.Value = &v 11430 return s 11431} 11432 11433type PutAccountSettingOutput struct { 11434 _ struct{} `type:"structure"` 11435 11436 // The current account setting for a resource. 11437 Setting *Setting `locationName:"setting" type:"structure"` 11438} 11439 11440// String returns the string representation 11441func (s PutAccountSettingOutput) String() string { 11442 return awsutil.Prettify(s) 11443} 11444 11445// GoString returns the string representation 11446func (s PutAccountSettingOutput) GoString() string { 11447 return s.String() 11448} 11449 11450// SetSetting sets the Setting field's value. 11451func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 11452 s.Setting = v 11453 return s 11454} 11455 11456type PutAttributesInput struct { 11457 _ struct{} `type:"structure"` 11458 11459 // The attributes to apply to your resource. You can specify up to 10 custom 11460 // attributes per resource. You can specify up to 10 attributes in a single 11461 // call. 11462 // 11463 // Attributes is a required field 11464 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 11465 11466 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 11467 // the resource to apply attributes. If you do not specify a cluster, the default 11468 // cluster is assumed. 11469 Cluster *string `locationName:"cluster" type:"string"` 11470} 11471 11472// String returns the string representation 11473func (s PutAttributesInput) String() string { 11474 return awsutil.Prettify(s) 11475} 11476 11477// GoString returns the string representation 11478func (s PutAttributesInput) GoString() string { 11479 return s.String() 11480} 11481 11482// Validate inspects the fields of the type to determine if they are valid. 11483func (s *PutAttributesInput) Validate() error { 11484 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 11485 if s.Attributes == nil { 11486 invalidParams.Add(request.NewErrParamRequired("Attributes")) 11487 } 11488 if s.Attributes != nil { 11489 for i, v := range s.Attributes { 11490 if v == nil { 11491 continue 11492 } 11493 if err := v.Validate(); err != nil { 11494 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 11495 } 11496 } 11497 } 11498 11499 if invalidParams.Len() > 0 { 11500 return invalidParams 11501 } 11502 return nil 11503} 11504 11505// SetAttributes sets the Attributes field's value. 11506func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 11507 s.Attributes = v 11508 return s 11509} 11510 11511// SetCluster sets the Cluster field's value. 11512func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 11513 s.Cluster = &v 11514 return s 11515} 11516 11517type PutAttributesOutput struct { 11518 _ struct{} `type:"structure"` 11519 11520 // The attributes applied to your resource. 11521 Attributes []*Attribute `locationName:"attributes" type:"list"` 11522} 11523 11524// String returns the string representation 11525func (s PutAttributesOutput) String() string { 11526 return awsutil.Prettify(s) 11527} 11528 11529// GoString returns the string representation 11530func (s PutAttributesOutput) GoString() string { 11531 return s.String() 11532} 11533 11534// SetAttributes sets the Attributes field's value. 11535func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 11536 s.Attributes = v 11537 return s 11538} 11539 11540type RegisterContainerInstanceInput struct { 11541 _ struct{} `type:"structure"` 11542 11543 // The container instance attributes that this container instance supports. 11544 Attributes []*Attribute `locationName:"attributes" type:"list"` 11545 11546 // The short name or full Amazon Resource Name (ARN) of the cluster with which 11547 // to register your container instance. If you do not specify a cluster, the 11548 // default cluster is assumed. 11549 Cluster *string `locationName:"cluster" type:"string"` 11550 11551 // The ARN of the container instance (if it was previously registered). 11552 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 11553 11554 // The instance identity document for the EC2 instance to register. This document 11555 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 11556 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 11557 11558 // The instance identity document signature for the EC2 instance to register. 11559 // This signature can be found by running the following command from the instance: 11560 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 11561 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 11562 11563 // The devices that are available on the container instance. The only supported 11564 // device type is a GPU. 11565 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 11566 11567 // The metadata that you apply to the container instance to help you categorize 11568 // and organize them. Each tag consists of a key and an optional value, both 11569 // of which you define. Tag keys can have a maximum character length of 128 11570 // characters, and tag values can have a maximum length of 256 characters. 11571 Tags []*Tag `locationName:"tags" type:"list"` 11572 11573 // The resources available on the instance. 11574 TotalResources []*Resource `locationName:"totalResources" type:"list"` 11575 11576 // The version information for the Amazon ECS container agent and Docker daemon 11577 // running on the container instance. 11578 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 11579} 11580 11581// String returns the string representation 11582func (s RegisterContainerInstanceInput) String() string { 11583 return awsutil.Prettify(s) 11584} 11585 11586// GoString returns the string representation 11587func (s RegisterContainerInstanceInput) GoString() string { 11588 return s.String() 11589} 11590 11591// Validate inspects the fields of the type to determine if they are valid. 11592func (s *RegisterContainerInstanceInput) Validate() error { 11593 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 11594 if s.Attributes != nil { 11595 for i, v := range s.Attributes { 11596 if v == nil { 11597 continue 11598 } 11599 if err := v.Validate(); err != nil { 11600 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 11601 } 11602 } 11603 } 11604 if s.PlatformDevices != nil { 11605 for i, v := range s.PlatformDevices { 11606 if v == nil { 11607 continue 11608 } 11609 if err := v.Validate(); err != nil { 11610 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 11611 } 11612 } 11613 } 11614 if s.Tags != nil { 11615 for i, v := range s.Tags { 11616 if v == nil { 11617 continue 11618 } 11619 if err := v.Validate(); err != nil { 11620 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 11621 } 11622 } 11623 } 11624 11625 if invalidParams.Len() > 0 { 11626 return invalidParams 11627 } 11628 return nil 11629} 11630 11631// SetAttributes sets the Attributes field's value. 11632func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 11633 s.Attributes = v 11634 return s 11635} 11636 11637// SetCluster sets the Cluster field's value. 11638func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 11639 s.Cluster = &v 11640 return s 11641} 11642 11643// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 11644func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 11645 s.ContainerInstanceArn = &v 11646 return s 11647} 11648 11649// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 11650func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 11651 s.InstanceIdentityDocument = &v 11652 return s 11653} 11654 11655// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 11656func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 11657 s.InstanceIdentityDocumentSignature = &v 11658 return s 11659} 11660 11661// SetPlatformDevices sets the PlatformDevices field's value. 11662func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 11663 s.PlatformDevices = v 11664 return s 11665} 11666 11667// SetTags sets the Tags field's value. 11668func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 11669 s.Tags = v 11670 return s 11671} 11672 11673// SetTotalResources sets the TotalResources field's value. 11674func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 11675 s.TotalResources = v 11676 return s 11677} 11678 11679// SetVersionInfo sets the VersionInfo field's value. 11680func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 11681 s.VersionInfo = v 11682 return s 11683} 11684 11685type RegisterContainerInstanceOutput struct { 11686 _ struct{} `type:"structure"` 11687 11688 // The container instance that was registered. 11689 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 11690} 11691 11692// String returns the string representation 11693func (s RegisterContainerInstanceOutput) String() string { 11694 return awsutil.Prettify(s) 11695} 11696 11697// GoString returns the string representation 11698func (s RegisterContainerInstanceOutput) GoString() string { 11699 return s.String() 11700} 11701 11702// SetContainerInstance sets the ContainerInstance field's value. 11703func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 11704 s.ContainerInstance = v 11705 return s 11706} 11707 11708type RegisterTaskDefinitionInput struct { 11709 _ struct{} `type:"structure"` 11710 11711 // A list of container definitions in JSON format that describe the different 11712 // containers that make up your task. 11713 // 11714 // ContainerDefinitions is a required field 11715 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 11716 11717 // The number of CPU units used by the task. It can be expressed as an integer 11718 // using CPU units, for example 1024, or as a string using vCPUs, for example 11719 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 11720 // integer indicating the CPU units when the task definition is registered. 11721 // 11722 // Task-level CPU and memory parameters are ignored for Windows containers. 11723 // We recommend specifying container-level resources for Windows containers. 11724 // 11725 // If you are using the EC2 launch type, this field is optional. Supported values 11726 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 11727 // 11728 // If you are using the Fargate launch type, this field is required and you 11729 // must use one of the following values, which determines your range of supported 11730 // values for the memory parameter: 11731 // 11732 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 11733 // 2048 (2 GB) 11734 // 11735 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 11736 // (3 GB), 4096 (4 GB) 11737 // 11738 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 11739 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 11740 // 11741 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 11742 // (16 GB) in increments of 1024 (1 GB) 11743 // 11744 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 11745 // (30 GB) in increments of 1024 (1 GB) 11746 Cpu *string `locationName:"cpu" type:"string"` 11747 11748 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 11749 // ECS container agent and the Docker daemon can assume. 11750 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 11751 11752 // You must specify a family for a task definition, which allows you to track 11753 // multiple versions of the same task definition. The family is used as a name 11754 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 11755 // and hyphens are allowed. 11756 // 11757 // Family is a required field 11758 Family *string `locationName:"family" type:"string" required:"true"` 11759 11760 // The IPC resource namespace to use for the containers in the task. The valid 11761 // values are host, task, or none. If host is specified, then all containers 11762 // within the tasks that specified the host IPC mode on the same container instance 11763 // share the same IPC resources with the host Amazon EC2 instance. If task is 11764 // specified, all containers within the specified task share the same IPC resources. 11765 // If none is specified, then IPC resources within the containers of a task 11766 // are private and not shared with other containers in a task or on the container 11767 // instance. If no value is specified, then the IPC resource namespace sharing 11768 // depends on the Docker daemon setting on the container instance. For more 11769 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 11770 // in the Docker run reference. 11771 // 11772 // If the host IPC mode is used, be aware that there is a heightened risk of 11773 // undesired IPC namespace expose. For more information, see Docker security 11774 // (https://docs.docker.com/engine/security/security/). 11775 // 11776 // If you are setting namespaced kernel parameters using systemControls for 11777 // the containers in the task, the following will apply to your IPC resource 11778 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 11779 // in the Amazon Elastic Container Service Developer Guide. 11780 // 11781 // * For tasks that use the host IPC mode, IPC namespace related systemControls 11782 // are not supported. 11783 // 11784 // * For tasks that use the task IPC mode, IPC namespace related systemControls 11785 // will apply to all containers within a task. 11786 // 11787 // This parameter is not supported for Windows containers or tasks using the 11788 // Fargate launch type. 11789 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 11790 11791 // The amount of memory (in MiB) used by the task. It can be expressed as an 11792 // integer using MiB, for example 1024, or as a string using GB, for example 11793 // 1GB or 1 GB, in a task definition. String values are converted to an integer 11794 // indicating the MiB when the task definition is registered. 11795 // 11796 // Task-level CPU and memory parameters are ignored for Windows containers. 11797 // We recommend specifying container-level resources for Windows containers. 11798 // 11799 // If using the EC2 launch type, this field is optional. 11800 // 11801 // If using the Fargate launch type, this field is required and you must use 11802 // one of the following values, which determines your range of supported values 11803 // for the cpu parameter: 11804 // 11805 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 11806 // vCPU) 11807 // 11808 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 11809 // 512 (.5 vCPU) 11810 // 11811 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 11812 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 11813 // 11814 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 11815 // Available cpu values: 2048 (2 vCPU) 11816 // 11817 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 11818 // Available cpu values: 4096 (4 vCPU) 11819 Memory *string `locationName:"memory" type:"string"` 11820 11821 // The Docker networking mode to use for the containers in the task. The valid 11822 // values are none, bridge, awsvpc, and host. The default Docker network mode 11823 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 11824 // is required. If you are using the EC2 launch type, any network mode can be 11825 // used. If the network mode is set to none, you cannot specify port mappings 11826 // in your container definitions, and the tasks containers do not have external 11827 // connectivity. The host and awsvpc network modes offer the highest networking 11828 // performance for containers because they use the EC2 network stack instead 11829 // of the virtualized network stack provided by the bridge mode. 11830 // 11831 // With the host and awsvpc network modes, exposed container ports are mapped 11832 // directly to the corresponding host port (for the host network mode) or the 11833 // attached elastic network interface port (for the awsvpc network mode), so 11834 // you cannot take advantage of dynamic host port mappings. 11835 // 11836 // If the network mode is awsvpc, the task is allocated an elastic network interface, 11837 // and you must specify a NetworkConfiguration value when you create a service 11838 // or run a task with the task definition. For more information, see Task Networking 11839 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 11840 // in the Amazon Elastic Container Service Developer Guide. 11841 // 11842 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 11843 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 11844 // mode. 11845 // 11846 // If the network mode is host, you cannot run multiple instantiations of the 11847 // same task on a single container instance when port mappings are used. 11848 // 11849 // Docker for Windows uses different network modes than Docker for Linux. When 11850 // you register a task definition with Windows containers, you must not specify 11851 // a network mode. If you use the console to register a task definition with 11852 // Windows containers, you must choose the <default> network mode object. 11853 // 11854 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 11855 // in the Docker run reference. 11856 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 11857 11858 // The process namespace to use for the containers in the task. The valid values 11859 // are host or task. If host is specified, then all containers within the tasks 11860 // that specified the host PID mode on the same container instance share the 11861 // same IPC resources with the host Amazon EC2 instance. If task is specified, 11862 // all containers within the specified task share the same process namespace. 11863 // If no value is specified, the default is a private namespace. For more information, 11864 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 11865 // in the Docker run reference. 11866 // 11867 // If the host PID mode is used, be aware that there is a heightened risk of 11868 // undesired process namespace expose. For more information, see Docker security 11869 // (https://docs.docker.com/engine/security/security/). 11870 // 11871 // This parameter is not supported for Windows containers or tasks using the 11872 // Fargate launch type. 11873 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 11874 11875 // An array of placement constraint objects to use for the task. You can specify 11876 // a maximum of 10 constraints per task (this limit includes constraints in 11877 // the task definition and those specified at runtime). 11878 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 11879 11880 // The configuration details for the App Mesh proxy. 11881 // 11882 // For tasks using the EC2 launch type, the container instances require at least 11883 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 11884 // ecs-init package to enable a proxy configuration. If your container instances 11885 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 11886 // then they contain the required versions of the container agent and ecs-init. 11887 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 11888 // in the Amazon Elastic Container Service Developer Guide. 11889 // 11890 // For tasks using the Fargate launch type, the task or service requires platform 11891 // version 1.3.0 or later. 11892 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 11893 11894 // The launch type required by the task. If no value is specified, it defaults 11895 // to EC2. 11896 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 11897 11898 // The metadata that you apply to the task definition to help you categorize 11899 // and organize them. Each tag consists of a key and an optional value, both 11900 // of which you define. Tag keys can have a maximum character length of 128 11901 // characters, and tag values can have a maximum length of 256 characters. 11902 Tags []*Tag `locationName:"tags" type:"list"` 11903 11904 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 11905 // in this task can assume. All containers in this task are granted the permissions 11906 // that are specified in this role. For more information, see IAM Roles for 11907 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 11908 // in the Amazon Elastic Container Service Developer Guide. 11909 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 11910 11911 // A list of volume definitions in JSON format that containers in your task 11912 // may use. 11913 Volumes []*Volume `locationName:"volumes" type:"list"` 11914} 11915 11916// String returns the string representation 11917func (s RegisterTaskDefinitionInput) String() string { 11918 return awsutil.Prettify(s) 11919} 11920 11921// GoString returns the string representation 11922func (s RegisterTaskDefinitionInput) GoString() string { 11923 return s.String() 11924} 11925 11926// Validate inspects the fields of the type to determine if they are valid. 11927func (s *RegisterTaskDefinitionInput) Validate() error { 11928 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 11929 if s.ContainerDefinitions == nil { 11930 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 11931 } 11932 if s.Family == nil { 11933 invalidParams.Add(request.NewErrParamRequired("Family")) 11934 } 11935 if s.ContainerDefinitions != nil { 11936 for i, v := range s.ContainerDefinitions { 11937 if v == nil { 11938 continue 11939 } 11940 if err := v.Validate(); err != nil { 11941 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 11942 } 11943 } 11944 } 11945 if s.ProxyConfiguration != nil { 11946 if err := s.ProxyConfiguration.Validate(); err != nil { 11947 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 11948 } 11949 } 11950 if s.Tags != nil { 11951 for i, v := range s.Tags { 11952 if v == nil { 11953 continue 11954 } 11955 if err := v.Validate(); err != nil { 11956 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 11957 } 11958 } 11959 } 11960 11961 if invalidParams.Len() > 0 { 11962 return invalidParams 11963 } 11964 return nil 11965} 11966 11967// SetContainerDefinitions sets the ContainerDefinitions field's value. 11968func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 11969 s.ContainerDefinitions = v 11970 return s 11971} 11972 11973// SetCpu sets the Cpu field's value. 11974func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 11975 s.Cpu = &v 11976 return s 11977} 11978 11979// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 11980func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 11981 s.ExecutionRoleArn = &v 11982 return s 11983} 11984 11985// SetFamily sets the Family field's value. 11986func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 11987 s.Family = &v 11988 return s 11989} 11990 11991// SetIpcMode sets the IpcMode field's value. 11992func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 11993 s.IpcMode = &v 11994 return s 11995} 11996 11997// SetMemory sets the Memory field's value. 11998func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 11999 s.Memory = &v 12000 return s 12001} 12002 12003// SetNetworkMode sets the NetworkMode field's value. 12004func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 12005 s.NetworkMode = &v 12006 return s 12007} 12008 12009// SetPidMode sets the PidMode field's value. 12010func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 12011 s.PidMode = &v 12012 return s 12013} 12014 12015// SetPlacementConstraints sets the PlacementConstraints field's value. 12016func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 12017 s.PlacementConstraints = v 12018 return s 12019} 12020 12021// SetProxyConfiguration sets the ProxyConfiguration field's value. 12022func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 12023 s.ProxyConfiguration = v 12024 return s 12025} 12026 12027// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 12028func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 12029 s.RequiresCompatibilities = v 12030 return s 12031} 12032 12033// SetTags sets the Tags field's value. 12034func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 12035 s.Tags = v 12036 return s 12037} 12038 12039// SetTaskRoleArn sets the TaskRoleArn field's value. 12040func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 12041 s.TaskRoleArn = &v 12042 return s 12043} 12044 12045// SetVolumes sets the Volumes field's value. 12046func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 12047 s.Volumes = v 12048 return s 12049} 12050 12051type RegisterTaskDefinitionOutput struct { 12052 _ struct{} `type:"structure"` 12053 12054 // The list of tags associated with the task definition. 12055 Tags []*Tag `locationName:"tags" type:"list"` 12056 12057 // The full description of the registered task definition. 12058 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 12059} 12060 12061// String returns the string representation 12062func (s RegisterTaskDefinitionOutput) String() string { 12063 return awsutil.Prettify(s) 12064} 12065 12066// GoString returns the string representation 12067func (s RegisterTaskDefinitionOutput) GoString() string { 12068 return s.String() 12069} 12070 12071// SetTags sets the Tags field's value. 12072func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 12073 s.Tags = v 12074 return s 12075} 12076 12077// SetTaskDefinition sets the TaskDefinition field's value. 12078func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 12079 s.TaskDefinition = v 12080 return s 12081} 12082 12083// The repository credentials for private registry authentication. 12084type RepositoryCredentials struct { 12085 _ struct{} `type:"structure"` 12086 12087 // The Amazon Resource Name (ARN) of the secret containing the private repository 12088 // credentials. 12089 // 12090 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 12091 // exists in the same Region as the task that you are launching then you can 12092 // use either the full ARN or the name of the secret. When you are using the 12093 // AWS Management Console, you must specify the full ARN of the secret. 12094 // 12095 // CredentialsParameter is a required field 12096 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 12097} 12098 12099// String returns the string representation 12100func (s RepositoryCredentials) String() string { 12101 return awsutil.Prettify(s) 12102} 12103 12104// GoString returns the string representation 12105func (s RepositoryCredentials) GoString() string { 12106 return s.String() 12107} 12108 12109// Validate inspects the fields of the type to determine if they are valid. 12110func (s *RepositoryCredentials) Validate() error { 12111 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 12112 if s.CredentialsParameter == nil { 12113 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 12114 } 12115 12116 if invalidParams.Len() > 0 { 12117 return invalidParams 12118 } 12119 return nil 12120} 12121 12122// SetCredentialsParameter sets the CredentialsParameter field's value. 12123func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 12124 s.CredentialsParameter = &v 12125 return s 12126} 12127 12128// Describes the resources available for a container instance. 12129type Resource struct { 12130 _ struct{} `type:"structure"` 12131 12132 // When the doubleValue type is set, the value of the resource must be a double 12133 // precision floating-point type. 12134 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 12135 12136 // When the integerValue type is set, the value of the resource must be an integer. 12137 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 12138 12139 // When the longValue type is set, the value of the resource must be an extended 12140 // precision floating-point type. 12141 LongValue *int64 `locationName:"longValue" type:"long"` 12142 12143 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 12144 // resource. 12145 Name *string `locationName:"name" type:"string"` 12146 12147 // When the stringSetValue type is set, the value of the resource must be a 12148 // string type. 12149 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 12150 12151 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 12152 Type *string `locationName:"type" type:"string"` 12153} 12154 12155// String returns the string representation 12156func (s Resource) String() string { 12157 return awsutil.Prettify(s) 12158} 12159 12160// GoString returns the string representation 12161func (s Resource) GoString() string { 12162 return s.String() 12163} 12164 12165// SetDoubleValue sets the DoubleValue field's value. 12166func (s *Resource) SetDoubleValue(v float64) *Resource { 12167 s.DoubleValue = &v 12168 return s 12169} 12170 12171// SetIntegerValue sets the IntegerValue field's value. 12172func (s *Resource) SetIntegerValue(v int64) *Resource { 12173 s.IntegerValue = &v 12174 return s 12175} 12176 12177// SetLongValue sets the LongValue field's value. 12178func (s *Resource) SetLongValue(v int64) *Resource { 12179 s.LongValue = &v 12180 return s 12181} 12182 12183// SetName sets the Name field's value. 12184func (s *Resource) SetName(v string) *Resource { 12185 s.Name = &v 12186 return s 12187} 12188 12189// SetStringSetValue sets the StringSetValue field's value. 12190func (s *Resource) SetStringSetValue(v []*string) *Resource { 12191 s.StringSetValue = v 12192 return s 12193} 12194 12195// SetType sets the Type field's value. 12196func (s *Resource) SetType(v string) *Resource { 12197 s.Type = &v 12198 return s 12199} 12200 12201// The type and amount of a resource to assign to a container. The only supported 12202// resource is a GPU. For more information, see Working with GPUs on Amazon 12203// ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 12204// in the Amazon Elastic Container Service Developer Guide 12205type ResourceRequirement struct { 12206 _ struct{} `type:"structure"` 12207 12208 // The type of resource to assign to a container. The only supported value is 12209 // GPU. 12210 // 12211 // Type is a required field 12212 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 12213 12214 // The number of physical GPUs the Amazon ECS container agent will reserve for 12215 // the container. The number of GPUs reserved for all containers in a task should 12216 // not exceed the number of available GPUs on the container instance the task 12217 // is launched on. 12218 // 12219 // Value is a required field 12220 Value *string `locationName:"value" type:"string" required:"true"` 12221} 12222 12223// String returns the string representation 12224func (s ResourceRequirement) String() string { 12225 return awsutil.Prettify(s) 12226} 12227 12228// GoString returns the string representation 12229func (s ResourceRequirement) GoString() string { 12230 return s.String() 12231} 12232 12233// Validate inspects the fields of the type to determine if they are valid. 12234func (s *ResourceRequirement) Validate() error { 12235 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 12236 if s.Type == nil { 12237 invalidParams.Add(request.NewErrParamRequired("Type")) 12238 } 12239 if s.Value == nil { 12240 invalidParams.Add(request.NewErrParamRequired("Value")) 12241 } 12242 12243 if invalidParams.Len() > 0 { 12244 return invalidParams 12245 } 12246 return nil 12247} 12248 12249// SetType sets the Type field's value. 12250func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 12251 s.Type = &v 12252 return s 12253} 12254 12255// SetValue sets the Value field's value. 12256func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 12257 s.Value = &v 12258 return s 12259} 12260 12261type RunTaskInput struct { 12262 _ struct{} `type:"structure"` 12263 12264 // The short name or full Amazon Resource Name (ARN) of the cluster on which 12265 // to run your task. If you do not specify a cluster, the default cluster is 12266 // assumed. 12267 Cluster *string `locationName:"cluster" type:"string"` 12268 12269 // The number of instantiations of the specified task to place on your cluster. 12270 // You can specify up to 10 tasks per call. 12271 Count *int64 `locationName:"count" type:"integer"` 12272 12273 // Specifies whether to enable Amazon ECS managed tags for the task. For more 12274 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 12275 // in the Amazon Elastic Container Service Developer Guide. 12276 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 12277 12278 // The name of the task group to associate with the task. The default value 12279 // is the family name of the task definition (for example, family:my-family-name). 12280 Group *string `locationName:"group" type:"string"` 12281 12282 // The launch type on which to run your task. For more information, see Amazon 12283 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 12284 // in the Amazon Elastic Container Service Developer Guide. 12285 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12286 12287 // The network configuration for the task. This parameter is required for task 12288 // definitions that use the awsvpc network mode to receive their own elastic 12289 // network interface, and it is not supported for other network modes. For more 12290 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 12291 // in the Amazon Elastic Container Service Developer Guide. 12292 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 12293 12294 // A list of container overrides in JSON format that specify the name of a container 12295 // in the specified task definition and the overrides it should receive. You 12296 // can override the default command for a container (that is specified in the 12297 // task definition or Docker image) with a command override. You can also override 12298 // existing environment variables (that are specified in the task definition 12299 // or Docker image) on a container or add new environment variables to it with 12300 // an environment override. 12301 // 12302 // A total of 8192 characters are allowed for overrides. This limit includes 12303 // the JSON formatting characters of the override structure. 12304 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 12305 12306 // An array of placement constraint objects to use for the task. You can specify 12307 // up to 10 constraints per task (including constraints in the task definition 12308 // and those specified at runtime). 12309 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 12310 12311 // The placement strategy objects to use for the task. You can specify a maximum 12312 // of five strategy rules per task. 12313 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 12314 12315 // The platform version the task should run. A platform version is only specified 12316 // for tasks using the Fargate launch type. If one is not specified, the LATEST 12317 // platform version is used by default. For more information, see AWS Fargate 12318 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 12319 // in the Amazon Elastic Container Service Developer Guide. 12320 PlatformVersion *string `locationName:"platformVersion" type:"string"` 12321 12322 // Specifies whether to propagate the tags from the task definition to the task. 12323 // If no value is specified, the tags are not propagated. Tags can only be propagated 12324 // to the task during task creation. To add tags to a task after task creation, 12325 // use the TagResource API action. 12326 // 12327 // An error will be received if you specify the SERVICE option when running 12328 // a task. 12329 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 12330 12331 // An optional tag specified when a task is started. For example, if you automatically 12332 // trigger a task to run a batch process job, you could apply a unique identifier 12333 // for that job to your task with the startedBy parameter. You can then identify 12334 // which tasks belong to that job by filtering the results of a ListTasks call 12335 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 12336 // hyphens, and underscores are allowed. 12337 // 12338 // If a task is started by an Amazon ECS service, then the startedBy parameter 12339 // contains the deployment ID of the service that starts it. 12340 StartedBy *string `locationName:"startedBy" type:"string"` 12341 12342 // The metadata that you apply to the task to help you categorize and organize 12343 // them. Each tag consists of a key and an optional value, both of which you 12344 // define. Tag keys can have a maximum character length of 128 characters, and 12345 // tag values can have a maximum length of 256 characters. 12346 Tags []*Tag `locationName:"tags" type:"list"` 12347 12348 // The family and revision (family:revision) or full ARN of the task definition 12349 // to run. If a revision is not specified, the latest ACTIVE revision is used. 12350 // 12351 // TaskDefinition is a required field 12352 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 12353} 12354 12355// String returns the string representation 12356func (s RunTaskInput) String() string { 12357 return awsutil.Prettify(s) 12358} 12359 12360// GoString returns the string representation 12361func (s RunTaskInput) GoString() string { 12362 return s.String() 12363} 12364 12365// Validate inspects the fields of the type to determine if they are valid. 12366func (s *RunTaskInput) Validate() error { 12367 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 12368 if s.TaskDefinition == nil { 12369 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 12370 } 12371 if s.NetworkConfiguration != nil { 12372 if err := s.NetworkConfiguration.Validate(); err != nil { 12373 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 12374 } 12375 } 12376 if s.Overrides != nil { 12377 if err := s.Overrides.Validate(); err != nil { 12378 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 12379 } 12380 } 12381 if s.Tags != nil { 12382 for i, v := range s.Tags { 12383 if v == nil { 12384 continue 12385 } 12386 if err := v.Validate(); err != nil { 12387 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12388 } 12389 } 12390 } 12391 12392 if invalidParams.Len() > 0 { 12393 return invalidParams 12394 } 12395 return nil 12396} 12397 12398// SetCluster sets the Cluster field's value. 12399func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 12400 s.Cluster = &v 12401 return s 12402} 12403 12404// SetCount sets the Count field's value. 12405func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 12406 s.Count = &v 12407 return s 12408} 12409 12410// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 12411func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 12412 s.EnableECSManagedTags = &v 12413 return s 12414} 12415 12416// SetGroup sets the Group field's value. 12417func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 12418 s.Group = &v 12419 return s 12420} 12421 12422// SetLaunchType sets the LaunchType field's value. 12423func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 12424 s.LaunchType = &v 12425 return s 12426} 12427 12428// SetNetworkConfiguration sets the NetworkConfiguration field's value. 12429func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 12430 s.NetworkConfiguration = v 12431 return s 12432} 12433 12434// SetOverrides sets the Overrides field's value. 12435func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 12436 s.Overrides = v 12437 return s 12438} 12439 12440// SetPlacementConstraints sets the PlacementConstraints field's value. 12441func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 12442 s.PlacementConstraints = v 12443 return s 12444} 12445 12446// SetPlacementStrategy sets the PlacementStrategy field's value. 12447func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 12448 s.PlacementStrategy = v 12449 return s 12450} 12451 12452// SetPlatformVersion sets the PlatformVersion field's value. 12453func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 12454 s.PlatformVersion = &v 12455 return s 12456} 12457 12458// SetPropagateTags sets the PropagateTags field's value. 12459func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 12460 s.PropagateTags = &v 12461 return s 12462} 12463 12464// SetStartedBy sets the StartedBy field's value. 12465func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 12466 s.StartedBy = &v 12467 return s 12468} 12469 12470// SetTags sets the Tags field's value. 12471func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 12472 s.Tags = v 12473 return s 12474} 12475 12476// SetTaskDefinition sets the TaskDefinition field's value. 12477func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 12478 s.TaskDefinition = &v 12479 return s 12480} 12481 12482type RunTaskOutput struct { 12483 _ struct{} `type:"structure"` 12484 12485 // Any failures associated with the call. 12486 Failures []*Failure `locationName:"failures" type:"list"` 12487 12488 // A full description of the tasks that were run. The tasks that were successfully 12489 // placed on your cluster are described here. 12490 Tasks []*Task `locationName:"tasks" type:"list"` 12491} 12492 12493// String returns the string representation 12494func (s RunTaskOutput) String() string { 12495 return awsutil.Prettify(s) 12496} 12497 12498// GoString returns the string representation 12499func (s RunTaskOutput) GoString() string { 12500 return s.String() 12501} 12502 12503// SetFailures sets the Failures field's value. 12504func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 12505 s.Failures = v 12506 return s 12507} 12508 12509// SetTasks sets the Tasks field's value. 12510func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 12511 s.Tasks = v 12512 return s 12513} 12514 12515// A floating-point percentage of the desired number of tasks to place and keep 12516// running in the task set. 12517type Scale struct { 12518 _ struct{} `type:"structure"` 12519 12520 // The unit of measure for the scale value. 12521 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 12522 12523 // The value, specified as a percent total of a service's desiredCount, to scale 12524 // the task set. Accepted values are numbers between 0 and 100. 12525 Value *float64 `locationName:"value" type:"double"` 12526} 12527 12528// String returns the string representation 12529func (s Scale) String() string { 12530 return awsutil.Prettify(s) 12531} 12532 12533// GoString returns the string representation 12534func (s Scale) GoString() string { 12535 return s.String() 12536} 12537 12538// SetUnit sets the Unit field's value. 12539func (s *Scale) SetUnit(v string) *Scale { 12540 s.Unit = &v 12541 return s 12542} 12543 12544// SetValue sets the Value field's value. 12545func (s *Scale) SetValue(v float64) *Scale { 12546 s.Value = &v 12547 return s 12548} 12549 12550// An object representing the secret to expose to your container. Secrets can 12551// be exposed to a container in the following ways: 12552// 12553// * To inject sensitive data into your containers as environment variables, 12554// use the secrets container definition parameter. 12555// 12556// * To reference sensitive information in the log configuration of a container, 12557// use the secretOptions container definition parameter. 12558// 12559// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 12560// in the Amazon Elastic Container Service Developer Guide. 12561type Secret struct { 12562 _ struct{} `type:"structure"` 12563 12564 // The name of the secret. 12565 // 12566 // Name is a required field 12567 Name *string `locationName:"name" type:"string" required:"true"` 12568 12569 // The secret to expose to the container. The supported values are either the 12570 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 12571 // in the AWS Systems Manager Parameter Store. 12572 // 12573 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 12574 // as the task you are launching, then you can use either the full ARN or name 12575 // of the parameter. If the parameter exists in a different Region, then the 12576 // full ARN must be specified. 12577 // 12578 // ValueFrom is a required field 12579 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 12580} 12581 12582// String returns the string representation 12583func (s Secret) String() string { 12584 return awsutil.Prettify(s) 12585} 12586 12587// GoString returns the string representation 12588func (s Secret) GoString() string { 12589 return s.String() 12590} 12591 12592// Validate inspects the fields of the type to determine if they are valid. 12593func (s *Secret) Validate() error { 12594 invalidParams := request.ErrInvalidParams{Context: "Secret"} 12595 if s.Name == nil { 12596 invalidParams.Add(request.NewErrParamRequired("Name")) 12597 } 12598 if s.ValueFrom == nil { 12599 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 12600 } 12601 12602 if invalidParams.Len() > 0 { 12603 return invalidParams 12604 } 12605 return nil 12606} 12607 12608// SetName sets the Name field's value. 12609func (s *Secret) SetName(v string) *Secret { 12610 s.Name = &v 12611 return s 12612} 12613 12614// SetValueFrom sets the ValueFrom field's value. 12615func (s *Secret) SetValueFrom(v string) *Secret { 12616 s.ValueFrom = &v 12617 return s 12618} 12619 12620// Details on a service within a cluster 12621type Service struct { 12622 _ struct{} `type:"structure"` 12623 12624 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 12625 ClusterArn *string `locationName:"clusterArn" type:"string"` 12626 12627 // The Unix timestamp for when the service was created. 12628 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 12629 12630 // The principal that created the service. 12631 CreatedBy *string `locationName:"createdBy" type:"string"` 12632 12633 // Optional deployment parameters that control how many tasks run during the 12634 // deployment and the ordering of stopping and starting tasks. 12635 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 12636 12637 // The deployment controller type the service is using. 12638 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 12639 12640 // The current state of deployments for the service. 12641 Deployments []*Deployment `locationName:"deployments" type:"list"` 12642 12643 // The desired number of instantiations of the task definition to keep running 12644 // on the service. This value is specified when the service is created with 12645 // CreateService, and it can be modified with UpdateService. 12646 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 12647 12648 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 12649 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 12650 // in the Amazon Elastic Container Service Developer Guide. 12651 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 12652 12653 // The event stream for your service. A maximum of 100 of the latest events 12654 // are displayed. 12655 Events []*ServiceEvent `locationName:"events" type:"list"` 12656 12657 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 12658 // unhealthy Elastic Load Balancing target health checks after a task has first 12659 // started. 12660 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 12661 12662 // The launch type on which your service is running. If no value is specified, 12663 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 12664 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 12665 // in the Amazon Elastic Container Service Developer Guide. 12666 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12667 12668 // A list of Elastic Load Balancing load balancer objects, containing the load 12669 // balancer name, the container name (as it appears in a container definition), 12670 // and the container port to access from the load balancer. 12671 // 12672 // Services with tasks that use the awsvpc network mode (for example, those 12673 // with the Fargate launch type) only support Application Load Balancers and 12674 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 12675 // you create any target groups for these services, you must choose ip as the 12676 // target type, not instance. Tasks that use the awsvpc network mode are associated 12677 // with an elastic network interface, not an Amazon EC2 instance. 12678 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 12679 12680 // The VPC subnet and security group configuration for tasks that receive their 12681 // own elastic network interface by using the awsvpc networking mode. 12682 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 12683 12684 // The number of tasks in the cluster that are in the PENDING state. 12685 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 12686 12687 // The placement constraints for the tasks in the service. 12688 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 12689 12690 // The placement strategy that determines how tasks for the service are placed. 12691 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 12692 12693 // The platform version on which to run your service. A platform version is 12694 // only specified for tasks using the Fargate launch type. If one is not specified, 12695 // the LATEST platform version is used by default. For more information, see 12696 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 12697 // in the Amazon Elastic Container Service Developer Guide. 12698 PlatformVersion *string `locationName:"platformVersion" type:"string"` 12699 12700 // Specifies whether to propagate the tags from the task definition or the service 12701 // to the task. If no value is specified, the tags are not propagated. 12702 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 12703 12704 // The ARN of the IAM role associated with the service that allows the Amazon 12705 // ECS container agent to register container instances with an Elastic Load 12706 // Balancing load balancer. 12707 RoleArn *string `locationName:"roleArn" type:"string"` 12708 12709 // The number of tasks in the cluster that are in the RUNNING state. 12710 RunningCount *int64 `locationName:"runningCount" type:"integer"` 12711 12712 // The scheduling strategy to use for the service. For more information, see 12713 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 12714 // 12715 // There are two service scheduler strategies available: 12716 // 12717 // * REPLICA-The replica scheduling strategy places and maintains the desired 12718 // number of tasks across your cluster. By default, the service scheduler 12719 // spreads tasks across Availability Zones. You can use task placement strategies 12720 // and constraints to customize task placement decisions. 12721 // 12722 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 12723 // container instance in your cluster. When you are using this strategy, 12724 // do not specify a desired number of tasks or any task placement strategies. 12725 // Fargate tasks do not support the DAEMON scheduling strategy. 12726 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 12727 12728 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 12729 // followed by the Region of the service, the AWS account ID of the service 12730 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 12731 ServiceArn *string `locationName:"serviceArn" type:"string"` 12732 12733 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 12734 // and hyphens are allowed. Service names must be unique within a cluster, but 12735 // you can have similarly named services in multiple clusters within a Region 12736 // or across multiple Regions. 12737 ServiceName *string `locationName:"serviceName" type:"string"` 12738 12739 // The details of the service discovery registries to assign to this service. 12740 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 12741 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 12742 12743 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 12744 Status *string `locationName:"status" type:"string"` 12745 12746 // The metadata that you apply to the service to help you categorize and organize 12747 // them. Each tag consists of a key and an optional value, both of which you 12748 // define. Tag keys can have a maximum character length of 128 characters, and 12749 // tag values can have a maximum length of 256 characters. 12750 Tags []*Tag `locationName:"tags" type:"list"` 12751 12752 // The task definition to use for tasks in the service. This value is specified 12753 // when the service is created with CreateService, and it can be modified with 12754 // UpdateService. 12755 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 12756 12757 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 12758 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 12759 // desired number of tasks, how many tasks are running, and whether the task 12760 // set serves production traffic. 12761 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 12762} 12763 12764// String returns the string representation 12765func (s Service) String() string { 12766 return awsutil.Prettify(s) 12767} 12768 12769// GoString returns the string representation 12770func (s Service) GoString() string { 12771 return s.String() 12772} 12773 12774// SetClusterArn sets the ClusterArn field's value. 12775func (s *Service) SetClusterArn(v string) *Service { 12776 s.ClusterArn = &v 12777 return s 12778} 12779 12780// SetCreatedAt sets the CreatedAt field's value. 12781func (s *Service) SetCreatedAt(v time.Time) *Service { 12782 s.CreatedAt = &v 12783 return s 12784} 12785 12786// SetCreatedBy sets the CreatedBy field's value. 12787func (s *Service) SetCreatedBy(v string) *Service { 12788 s.CreatedBy = &v 12789 return s 12790} 12791 12792// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 12793func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 12794 s.DeploymentConfiguration = v 12795 return s 12796} 12797 12798// SetDeploymentController sets the DeploymentController field's value. 12799func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 12800 s.DeploymentController = v 12801 return s 12802} 12803 12804// SetDeployments sets the Deployments field's value. 12805func (s *Service) SetDeployments(v []*Deployment) *Service { 12806 s.Deployments = v 12807 return s 12808} 12809 12810// SetDesiredCount sets the DesiredCount field's value. 12811func (s *Service) SetDesiredCount(v int64) *Service { 12812 s.DesiredCount = &v 12813 return s 12814} 12815 12816// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 12817func (s *Service) SetEnableECSManagedTags(v bool) *Service { 12818 s.EnableECSManagedTags = &v 12819 return s 12820} 12821 12822// SetEvents sets the Events field's value. 12823func (s *Service) SetEvents(v []*ServiceEvent) *Service { 12824 s.Events = v 12825 return s 12826} 12827 12828// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 12829func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 12830 s.HealthCheckGracePeriodSeconds = &v 12831 return s 12832} 12833 12834// SetLaunchType sets the LaunchType field's value. 12835func (s *Service) SetLaunchType(v string) *Service { 12836 s.LaunchType = &v 12837 return s 12838} 12839 12840// SetLoadBalancers sets the LoadBalancers field's value. 12841func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 12842 s.LoadBalancers = v 12843 return s 12844} 12845 12846// SetNetworkConfiguration sets the NetworkConfiguration field's value. 12847func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 12848 s.NetworkConfiguration = v 12849 return s 12850} 12851 12852// SetPendingCount sets the PendingCount field's value. 12853func (s *Service) SetPendingCount(v int64) *Service { 12854 s.PendingCount = &v 12855 return s 12856} 12857 12858// SetPlacementConstraints sets the PlacementConstraints field's value. 12859func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 12860 s.PlacementConstraints = v 12861 return s 12862} 12863 12864// SetPlacementStrategy sets the PlacementStrategy field's value. 12865func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 12866 s.PlacementStrategy = v 12867 return s 12868} 12869 12870// SetPlatformVersion sets the PlatformVersion field's value. 12871func (s *Service) SetPlatformVersion(v string) *Service { 12872 s.PlatformVersion = &v 12873 return s 12874} 12875 12876// SetPropagateTags sets the PropagateTags field's value. 12877func (s *Service) SetPropagateTags(v string) *Service { 12878 s.PropagateTags = &v 12879 return s 12880} 12881 12882// SetRoleArn sets the RoleArn field's value. 12883func (s *Service) SetRoleArn(v string) *Service { 12884 s.RoleArn = &v 12885 return s 12886} 12887 12888// SetRunningCount sets the RunningCount field's value. 12889func (s *Service) SetRunningCount(v int64) *Service { 12890 s.RunningCount = &v 12891 return s 12892} 12893 12894// SetSchedulingStrategy sets the SchedulingStrategy field's value. 12895func (s *Service) SetSchedulingStrategy(v string) *Service { 12896 s.SchedulingStrategy = &v 12897 return s 12898} 12899 12900// SetServiceArn sets the ServiceArn field's value. 12901func (s *Service) SetServiceArn(v string) *Service { 12902 s.ServiceArn = &v 12903 return s 12904} 12905 12906// SetServiceName sets the ServiceName field's value. 12907func (s *Service) SetServiceName(v string) *Service { 12908 s.ServiceName = &v 12909 return s 12910} 12911 12912// SetServiceRegistries sets the ServiceRegistries field's value. 12913func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 12914 s.ServiceRegistries = v 12915 return s 12916} 12917 12918// SetStatus sets the Status field's value. 12919func (s *Service) SetStatus(v string) *Service { 12920 s.Status = &v 12921 return s 12922} 12923 12924// SetTags sets the Tags field's value. 12925func (s *Service) SetTags(v []*Tag) *Service { 12926 s.Tags = v 12927 return s 12928} 12929 12930// SetTaskDefinition sets the TaskDefinition field's value. 12931func (s *Service) SetTaskDefinition(v string) *Service { 12932 s.TaskDefinition = &v 12933 return s 12934} 12935 12936// SetTaskSets sets the TaskSets field's value. 12937func (s *Service) SetTaskSets(v []*TaskSet) *Service { 12938 s.TaskSets = v 12939 return s 12940} 12941 12942// Details on an event associated with a service. 12943type ServiceEvent struct { 12944 _ struct{} `type:"structure"` 12945 12946 // The Unix timestamp for when the event was triggered. 12947 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 12948 12949 // The ID string of the event. 12950 Id *string `locationName:"id" type:"string"` 12951 12952 // The event message. 12953 Message *string `locationName:"message" type:"string"` 12954} 12955 12956// String returns the string representation 12957func (s ServiceEvent) String() string { 12958 return awsutil.Prettify(s) 12959} 12960 12961// GoString returns the string representation 12962func (s ServiceEvent) GoString() string { 12963 return s.String() 12964} 12965 12966// SetCreatedAt sets the CreatedAt field's value. 12967func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 12968 s.CreatedAt = &v 12969 return s 12970} 12971 12972// SetId sets the Id field's value. 12973func (s *ServiceEvent) SetId(v string) *ServiceEvent { 12974 s.Id = &v 12975 return s 12976} 12977 12978// SetMessage sets the Message field's value. 12979func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 12980 s.Message = &v 12981 return s 12982} 12983 12984// Details of the service registry. 12985type ServiceRegistry struct { 12986 _ struct{} `type:"structure"` 12987 12988 // The container name value, already specified in the task definition, to be 12989 // used for your service discovery service. If the task definition that your 12990 // service task specifies uses the bridge or host network mode, you must specify 12991 // a containerName and containerPort combination from the task definition. If 12992 // the task definition that your service task specifies uses the awsvpc network 12993 // mode and a type SRV DNS record is used, you must specify either a containerName 12994 // and containerPort combination or a port value, but not both. 12995 ContainerName *string `locationName:"containerName" type:"string"` 12996 12997 // The port value, already specified in the task definition, to be used for 12998 // your service discovery service. If the task definition your service task 12999 // specifies uses the bridge or host network mode, you must specify a containerName 13000 // and containerPort combination from the task definition. If the task definition 13001 // your service task specifies uses the awsvpc network mode and a type SRV DNS 13002 // record is used, you must specify either a containerName and containerPort 13003 // combination or a port value, but not both. 13004 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13005 13006 // The port value used if your service discovery service specified an SRV record. 13007 // This field may be used if both the awsvpc network mode and SRV records are 13008 // used. 13009 Port *int64 `locationName:"port" type:"integer"` 13010 13011 // The Amazon Resource Name (ARN) of the service registry. The currently supported 13012 // service registry is AWS Cloud Map. For more information, see CreateService 13013 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 13014 RegistryArn *string `locationName:"registryArn" type:"string"` 13015} 13016 13017// String returns the string representation 13018func (s ServiceRegistry) String() string { 13019 return awsutil.Prettify(s) 13020} 13021 13022// GoString returns the string representation 13023func (s ServiceRegistry) GoString() string { 13024 return s.String() 13025} 13026 13027// SetContainerName sets the ContainerName field's value. 13028func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 13029 s.ContainerName = &v 13030 return s 13031} 13032 13033// SetContainerPort sets the ContainerPort field's value. 13034func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 13035 s.ContainerPort = &v 13036 return s 13037} 13038 13039// SetPort sets the Port field's value. 13040func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 13041 s.Port = &v 13042 return s 13043} 13044 13045// SetRegistryArn sets the RegistryArn field's value. 13046func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 13047 s.RegistryArn = &v 13048 return s 13049} 13050 13051// The current account setting for a resource. 13052type Setting struct { 13053 _ struct{} `type:"structure"` 13054 13055 // The Amazon ECS resource name. 13056 Name *string `locationName:"name" type:"string" enum:"SettingName"` 13057 13058 // The ARN of the principal, which can be an IAM user, IAM role, or the root 13059 // user. If this field is omitted, the authenticated user is assumed. 13060 PrincipalArn *string `locationName:"principalArn" type:"string"` 13061 13062 // Whether the account setting is enabled or disabled for the specified resource. 13063 Value *string `locationName:"value" type:"string"` 13064} 13065 13066// String returns the string representation 13067func (s Setting) String() string { 13068 return awsutil.Prettify(s) 13069} 13070 13071// GoString returns the string representation 13072func (s Setting) GoString() string { 13073 return s.String() 13074} 13075 13076// SetName sets the Name field's value. 13077func (s *Setting) SetName(v string) *Setting { 13078 s.Name = &v 13079 return s 13080} 13081 13082// SetPrincipalArn sets the PrincipalArn field's value. 13083func (s *Setting) SetPrincipalArn(v string) *Setting { 13084 s.PrincipalArn = &v 13085 return s 13086} 13087 13088// SetValue sets the Value field's value. 13089func (s *Setting) SetValue(v string) *Setting { 13090 s.Value = &v 13091 return s 13092} 13093 13094type StartTaskInput struct { 13095 _ struct{} `type:"structure"` 13096 13097 // The short name or full Amazon Resource Name (ARN) of the cluster on which 13098 // to start your task. If you do not specify a cluster, the default cluster 13099 // is assumed. 13100 Cluster *string `locationName:"cluster" type:"string"` 13101 13102 // The container instance IDs or full ARN entries for the container instances 13103 // on which you would like to place your task. You can specify up to 10 container 13104 // instances. 13105 // 13106 // ContainerInstances is a required field 13107 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 13108 13109 // Specifies whether to enable Amazon ECS managed tags for the task. For more 13110 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 13111 // in the Amazon Elastic Container Service Developer Guide. 13112 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 13113 13114 // The name of the task group to associate with the task. The default value 13115 // is the family name of the task definition (for example, family:my-family-name). 13116 Group *string `locationName:"group" type:"string"` 13117 13118 // The VPC subnet and security group configuration for tasks that receive their 13119 // own elastic network interface by using the awsvpc networking mode. 13120 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 13121 13122 // A list of container overrides in JSON format that specify the name of a container 13123 // in the specified task definition and the overrides it should receive. You 13124 // can override the default command for a container (that is specified in the 13125 // task definition or Docker image) with a command override. You can also override 13126 // existing environment variables (that are specified in the task definition 13127 // or Docker image) on a container or add new environment variables to it with 13128 // an environment override. 13129 // 13130 // A total of 8192 characters are allowed for overrides. This limit includes 13131 // the JSON formatting characters of the override structure. 13132 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 13133 13134 // Specifies whether to propagate the tags from the task definition or the service 13135 // to the task. If no value is specified, the tags are not propagated. 13136 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 13137 13138 // An optional tag specified when a task is started. For example, if you automatically 13139 // trigger a task to run a batch process job, you could apply a unique identifier 13140 // for that job to your task with the startedBy parameter. You can then identify 13141 // which tasks belong to that job by filtering the results of a ListTasks call 13142 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 13143 // hyphens, and underscores are allowed. 13144 // 13145 // If a task is started by an Amazon ECS service, then the startedBy parameter 13146 // contains the deployment ID of the service that starts it. 13147 StartedBy *string `locationName:"startedBy" type:"string"` 13148 13149 // The metadata that you apply to the task to help you categorize and organize 13150 // them. Each tag consists of a key and an optional value, both of which you 13151 // define. Tag keys can have a maximum character length of 128 characters, and 13152 // tag values can have a maximum length of 256 characters. 13153 Tags []*Tag `locationName:"tags" type:"list"` 13154 13155 // The family and revision (family:revision) or full ARN of the task definition 13156 // to start. If a revision is not specified, the latest ACTIVE revision is used. 13157 // 13158 // TaskDefinition is a required field 13159 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 13160} 13161 13162// String returns the string representation 13163func (s StartTaskInput) String() string { 13164 return awsutil.Prettify(s) 13165} 13166 13167// GoString returns the string representation 13168func (s StartTaskInput) GoString() string { 13169 return s.String() 13170} 13171 13172// Validate inspects the fields of the type to determine if they are valid. 13173func (s *StartTaskInput) Validate() error { 13174 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 13175 if s.ContainerInstances == nil { 13176 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 13177 } 13178 if s.TaskDefinition == nil { 13179 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 13180 } 13181 if s.NetworkConfiguration != nil { 13182 if err := s.NetworkConfiguration.Validate(); err != nil { 13183 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 13184 } 13185 } 13186 if s.Overrides != nil { 13187 if err := s.Overrides.Validate(); err != nil { 13188 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 13189 } 13190 } 13191 if s.Tags != nil { 13192 for i, v := range s.Tags { 13193 if v == nil { 13194 continue 13195 } 13196 if err := v.Validate(); err != nil { 13197 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13198 } 13199 } 13200 } 13201 13202 if invalidParams.Len() > 0 { 13203 return invalidParams 13204 } 13205 return nil 13206} 13207 13208// SetCluster sets the Cluster field's value. 13209func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 13210 s.Cluster = &v 13211 return s 13212} 13213 13214// SetContainerInstances sets the ContainerInstances field's value. 13215func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 13216 s.ContainerInstances = v 13217 return s 13218} 13219 13220// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 13221func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 13222 s.EnableECSManagedTags = &v 13223 return s 13224} 13225 13226// SetGroup sets the Group field's value. 13227func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 13228 s.Group = &v 13229 return s 13230} 13231 13232// SetNetworkConfiguration sets the NetworkConfiguration field's value. 13233func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 13234 s.NetworkConfiguration = v 13235 return s 13236} 13237 13238// SetOverrides sets the Overrides field's value. 13239func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 13240 s.Overrides = v 13241 return s 13242} 13243 13244// SetPropagateTags sets the PropagateTags field's value. 13245func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 13246 s.PropagateTags = &v 13247 return s 13248} 13249 13250// SetStartedBy sets the StartedBy field's value. 13251func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 13252 s.StartedBy = &v 13253 return s 13254} 13255 13256// SetTags sets the Tags field's value. 13257func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 13258 s.Tags = v 13259 return s 13260} 13261 13262// SetTaskDefinition sets the TaskDefinition field's value. 13263func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 13264 s.TaskDefinition = &v 13265 return s 13266} 13267 13268type StartTaskOutput struct { 13269 _ struct{} `type:"structure"` 13270 13271 // Any failures associated with the call. 13272 Failures []*Failure `locationName:"failures" type:"list"` 13273 13274 // A full description of the tasks that were started. Each task that was successfully 13275 // placed on your container instances is described. 13276 Tasks []*Task `locationName:"tasks" type:"list"` 13277} 13278 13279// String returns the string representation 13280func (s StartTaskOutput) String() string { 13281 return awsutil.Prettify(s) 13282} 13283 13284// GoString returns the string representation 13285func (s StartTaskOutput) GoString() string { 13286 return s.String() 13287} 13288 13289// SetFailures sets the Failures field's value. 13290func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 13291 s.Failures = v 13292 return s 13293} 13294 13295// SetTasks sets the Tasks field's value. 13296func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 13297 s.Tasks = v 13298 return s 13299} 13300 13301type StopTaskInput struct { 13302 _ struct{} `type:"structure"` 13303 13304 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13305 // the task to stop. If you do not specify a cluster, the default cluster is 13306 // assumed. 13307 Cluster *string `locationName:"cluster" type:"string"` 13308 13309 // An optional message specified when a task is stopped. For example, if you 13310 // are using a custom scheduler, you can use this parameter to specify the reason 13311 // for stopping the task here, and the message appears in subsequent DescribeTasks 13312 // API operations on this task. Up to 255 characters are allowed in this message. 13313 Reason *string `locationName:"reason" type:"string"` 13314 13315 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 13316 // 13317 // Task is a required field 13318 Task *string `locationName:"task" type:"string" required:"true"` 13319} 13320 13321// String returns the string representation 13322func (s StopTaskInput) String() string { 13323 return awsutil.Prettify(s) 13324} 13325 13326// GoString returns the string representation 13327func (s StopTaskInput) GoString() string { 13328 return s.String() 13329} 13330 13331// Validate inspects the fields of the type to determine if they are valid. 13332func (s *StopTaskInput) Validate() error { 13333 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 13334 if s.Task == nil { 13335 invalidParams.Add(request.NewErrParamRequired("Task")) 13336 } 13337 13338 if invalidParams.Len() > 0 { 13339 return invalidParams 13340 } 13341 return nil 13342} 13343 13344// SetCluster sets the Cluster field's value. 13345func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 13346 s.Cluster = &v 13347 return s 13348} 13349 13350// SetReason sets the Reason field's value. 13351func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 13352 s.Reason = &v 13353 return s 13354} 13355 13356// SetTask sets the Task field's value. 13357func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 13358 s.Task = &v 13359 return s 13360} 13361 13362type StopTaskOutput struct { 13363 _ struct{} `type:"structure"` 13364 13365 // The task that was stopped. 13366 Task *Task `locationName:"task" type:"structure"` 13367} 13368 13369// String returns the string representation 13370func (s StopTaskOutput) String() string { 13371 return awsutil.Prettify(s) 13372} 13373 13374// GoString returns the string representation 13375func (s StopTaskOutput) GoString() string { 13376 return s.String() 13377} 13378 13379// SetTask sets the Task field's value. 13380func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 13381 s.Task = v 13382 return s 13383} 13384 13385type SubmitAttachmentStateChangesInput struct { 13386 _ struct{} `type:"structure"` 13387 13388 // Any attachments associated with the state change request. 13389 // 13390 // Attachments is a required field 13391 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 13392 13393 // The short name or full ARN of the cluster that hosts the container instance 13394 // the attachment belongs to. 13395 Cluster *string `locationName:"cluster" type:"string"` 13396} 13397 13398// String returns the string representation 13399func (s SubmitAttachmentStateChangesInput) String() string { 13400 return awsutil.Prettify(s) 13401} 13402 13403// GoString returns the string representation 13404func (s SubmitAttachmentStateChangesInput) GoString() string { 13405 return s.String() 13406} 13407 13408// Validate inspects the fields of the type to determine if they are valid. 13409func (s *SubmitAttachmentStateChangesInput) Validate() error { 13410 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 13411 if s.Attachments == nil { 13412 invalidParams.Add(request.NewErrParamRequired("Attachments")) 13413 } 13414 if s.Attachments != nil { 13415 for i, v := range s.Attachments { 13416 if v == nil { 13417 continue 13418 } 13419 if err := v.Validate(); err != nil { 13420 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 13421 } 13422 } 13423 } 13424 13425 if invalidParams.Len() > 0 { 13426 return invalidParams 13427 } 13428 return nil 13429} 13430 13431// SetAttachments sets the Attachments field's value. 13432func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 13433 s.Attachments = v 13434 return s 13435} 13436 13437// SetCluster sets the Cluster field's value. 13438func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 13439 s.Cluster = &v 13440 return s 13441} 13442 13443type SubmitAttachmentStateChangesOutput struct { 13444 _ struct{} `type:"structure"` 13445 13446 // Acknowledgement of the state change. 13447 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 13448} 13449 13450// String returns the string representation 13451func (s SubmitAttachmentStateChangesOutput) String() string { 13452 return awsutil.Prettify(s) 13453} 13454 13455// GoString returns the string representation 13456func (s SubmitAttachmentStateChangesOutput) GoString() string { 13457 return s.String() 13458} 13459 13460// SetAcknowledgment sets the Acknowledgment field's value. 13461func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 13462 s.Acknowledgment = &v 13463 return s 13464} 13465 13466type SubmitContainerStateChangeInput struct { 13467 _ struct{} `type:"structure"` 13468 13469 // The short name or full ARN of the cluster that hosts the container. 13470 Cluster *string `locationName:"cluster" type:"string"` 13471 13472 // The name of the container. 13473 ContainerName *string `locationName:"containerName" type:"string"` 13474 13475 // The exit code returned for the state change request. 13476 ExitCode *int64 `locationName:"exitCode" type:"integer"` 13477 13478 // The network bindings of the container. 13479 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 13480 13481 // The reason for the state change request. 13482 Reason *string `locationName:"reason" type:"string"` 13483 13484 // The status of the state change request. 13485 Status *string `locationName:"status" type:"string"` 13486 13487 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 13488 // container. 13489 Task *string `locationName:"task" type:"string"` 13490} 13491 13492// String returns the string representation 13493func (s SubmitContainerStateChangeInput) String() string { 13494 return awsutil.Prettify(s) 13495} 13496 13497// GoString returns the string representation 13498func (s SubmitContainerStateChangeInput) GoString() string { 13499 return s.String() 13500} 13501 13502// SetCluster sets the Cluster field's value. 13503func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 13504 s.Cluster = &v 13505 return s 13506} 13507 13508// SetContainerName sets the ContainerName field's value. 13509func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 13510 s.ContainerName = &v 13511 return s 13512} 13513 13514// SetExitCode sets the ExitCode field's value. 13515func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 13516 s.ExitCode = &v 13517 return s 13518} 13519 13520// SetNetworkBindings sets the NetworkBindings field's value. 13521func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 13522 s.NetworkBindings = v 13523 return s 13524} 13525 13526// SetReason sets the Reason field's value. 13527func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 13528 s.Reason = &v 13529 return s 13530} 13531 13532// SetStatus sets the Status field's value. 13533func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 13534 s.Status = &v 13535 return s 13536} 13537 13538// SetTask sets the Task field's value. 13539func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 13540 s.Task = &v 13541 return s 13542} 13543 13544type SubmitContainerStateChangeOutput struct { 13545 _ struct{} `type:"structure"` 13546 13547 // Acknowledgement of the state change. 13548 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 13549} 13550 13551// String returns the string representation 13552func (s SubmitContainerStateChangeOutput) String() string { 13553 return awsutil.Prettify(s) 13554} 13555 13556// GoString returns the string representation 13557func (s SubmitContainerStateChangeOutput) GoString() string { 13558 return s.String() 13559} 13560 13561// SetAcknowledgment sets the Acknowledgment field's value. 13562func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 13563 s.Acknowledgment = &v 13564 return s 13565} 13566 13567type SubmitTaskStateChangeInput struct { 13568 _ struct{} `type:"structure"` 13569 13570 // Any attachments associated with the state change request. 13571 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 13572 13573 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13574 // the task. 13575 Cluster *string `locationName:"cluster" type:"string"` 13576 13577 // Any containers associated with the state change request. 13578 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 13579 13580 // The Unix timestamp for when the task execution stopped. 13581 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 13582 13583 // The Unix timestamp for when the container image pull began. 13584 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 13585 13586 // The Unix timestamp for when the container image pull completed. 13587 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 13588 13589 // The reason for the state change request. 13590 Reason *string `locationName:"reason" type:"string"` 13591 13592 // The status of the state change request. 13593 Status *string `locationName:"status" type:"string"` 13594 13595 // The task ID or full ARN of the task in the state change request. 13596 Task *string `locationName:"task" type:"string"` 13597} 13598 13599// String returns the string representation 13600func (s SubmitTaskStateChangeInput) String() string { 13601 return awsutil.Prettify(s) 13602} 13603 13604// GoString returns the string representation 13605func (s SubmitTaskStateChangeInput) GoString() string { 13606 return s.String() 13607} 13608 13609// Validate inspects the fields of the type to determine if they are valid. 13610func (s *SubmitTaskStateChangeInput) Validate() error { 13611 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 13612 if s.Attachments != nil { 13613 for i, v := range s.Attachments { 13614 if v == nil { 13615 continue 13616 } 13617 if err := v.Validate(); err != nil { 13618 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 13619 } 13620 } 13621 } 13622 13623 if invalidParams.Len() > 0 { 13624 return invalidParams 13625 } 13626 return nil 13627} 13628 13629// SetAttachments sets the Attachments field's value. 13630func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 13631 s.Attachments = v 13632 return s 13633} 13634 13635// SetCluster sets the Cluster field's value. 13636func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 13637 s.Cluster = &v 13638 return s 13639} 13640 13641// SetContainers sets the Containers field's value. 13642func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 13643 s.Containers = v 13644 return s 13645} 13646 13647// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 13648func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 13649 s.ExecutionStoppedAt = &v 13650 return s 13651} 13652 13653// SetPullStartedAt sets the PullStartedAt field's value. 13654func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 13655 s.PullStartedAt = &v 13656 return s 13657} 13658 13659// SetPullStoppedAt sets the PullStoppedAt field's value. 13660func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 13661 s.PullStoppedAt = &v 13662 return s 13663} 13664 13665// SetReason sets the Reason field's value. 13666func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 13667 s.Reason = &v 13668 return s 13669} 13670 13671// SetStatus sets the Status field's value. 13672func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 13673 s.Status = &v 13674 return s 13675} 13676 13677// SetTask sets the Task field's value. 13678func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 13679 s.Task = &v 13680 return s 13681} 13682 13683type SubmitTaskStateChangeOutput struct { 13684 _ struct{} `type:"structure"` 13685 13686 // Acknowledgement of the state change. 13687 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 13688} 13689 13690// String returns the string representation 13691func (s SubmitTaskStateChangeOutput) String() string { 13692 return awsutil.Prettify(s) 13693} 13694 13695// GoString returns the string representation 13696func (s SubmitTaskStateChangeOutput) GoString() string { 13697 return s.String() 13698} 13699 13700// SetAcknowledgment sets the Acknowledgment field's value. 13701func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 13702 s.Acknowledgment = &v 13703 return s 13704} 13705 13706// A list of namespaced kernel parameters to set in the container. This parameter 13707// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13708// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13709// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 13710// 13711// It is not recommended that you specify network-related systemControls parameters 13712// for multiple containers in a single task that also uses either the awsvpc 13713// or host network mode for the following reasons: 13714// 13715// * For tasks that use the awsvpc network mode, if you set systemControls 13716// for any container, it applies to all containers in the task. If you set 13717// different systemControls for multiple containers in a single task, the 13718// container that is started last determines which systemControls take effect. 13719// 13720// * For tasks that use the host network mode, the systemControls parameter 13721// applies to the container instance's kernel parameter as well as that of 13722// all containers of any tasks running on that container instance. 13723type SystemControl struct { 13724 _ struct{} `type:"structure"` 13725 13726 // The namespaced kernel parameter for which to set a value. 13727 Namespace *string `locationName:"namespace" type:"string"` 13728 13729 // The value for the namespaced kernel parameter specified in namespace. 13730 Value *string `locationName:"value" type:"string"` 13731} 13732 13733// String returns the string representation 13734func (s SystemControl) String() string { 13735 return awsutil.Prettify(s) 13736} 13737 13738// GoString returns the string representation 13739func (s SystemControl) GoString() string { 13740 return s.String() 13741} 13742 13743// SetNamespace sets the Namespace field's value. 13744func (s *SystemControl) SetNamespace(v string) *SystemControl { 13745 s.Namespace = &v 13746 return s 13747} 13748 13749// SetValue sets the Value field's value. 13750func (s *SystemControl) SetValue(v string) *SystemControl { 13751 s.Value = &v 13752 return s 13753} 13754 13755// The metadata that you apply to a resource to help you categorize and organize 13756// them. Each tag consists of a key and an optional value, both of which you 13757// define. Tag keys can have a maximum character length of 128 characters, and 13758// tag values can have a maximum length of 256 characters. 13759type Tag struct { 13760 _ struct{} `type:"structure"` 13761 13762 // One part of a key-value pair that make up a tag. A key is a general label 13763 // that acts like a category for more specific tag values. 13764 Key *string `locationName:"key" min:"1" type:"string"` 13765 13766 // The optional part of a key-value pair that make up a tag. A value acts as 13767 // a descriptor within a tag category (key). 13768 Value *string `locationName:"value" type:"string"` 13769} 13770 13771// String returns the string representation 13772func (s Tag) String() string { 13773 return awsutil.Prettify(s) 13774} 13775 13776// GoString returns the string representation 13777func (s Tag) GoString() string { 13778 return s.String() 13779} 13780 13781// Validate inspects the fields of the type to determine if they are valid. 13782func (s *Tag) Validate() error { 13783 invalidParams := request.ErrInvalidParams{Context: "Tag"} 13784 if s.Key != nil && len(*s.Key) < 1 { 13785 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13786 } 13787 13788 if invalidParams.Len() > 0 { 13789 return invalidParams 13790 } 13791 return nil 13792} 13793 13794// SetKey sets the Key field's value. 13795func (s *Tag) SetKey(v string) *Tag { 13796 s.Key = &v 13797 return s 13798} 13799 13800// SetValue sets the Value field's value. 13801func (s *Tag) SetValue(v string) *Tag { 13802 s.Value = &v 13803 return s 13804} 13805 13806type TagResourceInput struct { 13807 _ struct{} `type:"structure"` 13808 13809 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 13810 // the supported resources are Amazon ECS tasks, services, task definitions, 13811 // clusters, and container instances. 13812 // 13813 // ResourceArn is a required field 13814 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 13815 13816 // The tags to add to the resource. A tag is an array of key-value pairs. Tag 13817 // keys can have a maximum character length of 128 characters, and tag values 13818 // can have a maximum length of 256 characters. 13819 // 13820 // Tags is a required field 13821 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 13822} 13823 13824// String returns the string representation 13825func (s TagResourceInput) String() string { 13826 return awsutil.Prettify(s) 13827} 13828 13829// GoString returns the string representation 13830func (s TagResourceInput) GoString() string { 13831 return s.String() 13832} 13833 13834// Validate inspects the fields of the type to determine if they are valid. 13835func (s *TagResourceInput) Validate() error { 13836 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 13837 if s.ResourceArn == nil { 13838 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 13839 } 13840 if s.Tags == nil { 13841 invalidParams.Add(request.NewErrParamRequired("Tags")) 13842 } 13843 if s.Tags != nil { 13844 for i, v := range s.Tags { 13845 if v == nil { 13846 continue 13847 } 13848 if err := v.Validate(); err != nil { 13849 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13850 } 13851 } 13852 } 13853 13854 if invalidParams.Len() > 0 { 13855 return invalidParams 13856 } 13857 return nil 13858} 13859 13860// SetResourceArn sets the ResourceArn field's value. 13861func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 13862 s.ResourceArn = &v 13863 return s 13864} 13865 13866// SetTags sets the Tags field's value. 13867func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 13868 s.Tags = v 13869 return s 13870} 13871 13872type TagResourceOutput struct { 13873 _ struct{} `type:"structure"` 13874} 13875 13876// String returns the string representation 13877func (s TagResourceOutput) String() string { 13878 return awsutil.Prettify(s) 13879} 13880 13881// GoString returns the string representation 13882func (s TagResourceOutput) GoString() string { 13883 return s.String() 13884} 13885 13886// Details on a task in a cluster. 13887type Task struct { 13888 _ struct{} `type:"structure"` 13889 13890 // The Elastic Network Adapter associated with the task if the task uses the 13891 // awsvpc network mode. 13892 Attachments []*Attachment `locationName:"attachments" type:"list"` 13893 13894 // The ARN of the cluster that hosts the task. 13895 ClusterArn *string `locationName:"clusterArn" type:"string"` 13896 13897 // The connectivity status of a task. 13898 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 13899 13900 // The Unix timestamp for when the task last went into CONNECTED status. 13901 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 13902 13903 // The ARN of the container instances that host the task. 13904 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 13905 13906 // The containers associated with the task. 13907 Containers []*Container `locationName:"containers" type:"list"` 13908 13909 // The number of CPU units used by the task as expressed in a task definition. 13910 // It can be expressed as an integer using CPU units, for example 1024. It can 13911 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 13912 // String values are converted to an integer indicating the CPU units when the 13913 // task definition is registered. 13914 // 13915 // If you are using the EC2 launch type, this field is optional. Supported values 13916 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 13917 // 13918 // If you are using the Fargate launch type, this field is required and you 13919 // must use one of the following values, which determines your range of supported 13920 // values for the memory parameter: 13921 // 13922 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 13923 // 2048 (2 GB) 13924 // 13925 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 13926 // (3 GB), 4096 (4 GB) 13927 // 13928 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 13929 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 13930 // 13931 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 13932 // (16 GB) in increments of 1024 (1 GB) 13933 // 13934 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 13935 // (30 GB) in increments of 1024 (1 GB) 13936 Cpu *string `locationName:"cpu" type:"string"` 13937 13938 // The Unix timestamp for when the task was created (the task entered the PENDING 13939 // state). 13940 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 13941 13942 // The desired status of the task. For more information, see Task Lifecycle 13943 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 13944 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 13945 13946 // The Unix timestamp for when the task execution stopped. 13947 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 13948 13949 // The name of the task group associated with the task. 13950 Group *string `locationName:"group" type:"string"` 13951 13952 // The health status for the task, which is determined by the health of the 13953 // essential containers in the task. If all essential containers in the task 13954 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 13955 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 13956 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 13957 // 13958 // The Amazon ECS container agent does not monitor or report on Docker health 13959 // checks that are embedded in a container image (such as those specified in 13960 // a parent image or from the image's Dockerfile) and not specified in the container 13961 // definition. Health check parameters that are specified in a container definition 13962 // override any Docker health checks that exist in the container image. 13963 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 13964 13965 // The last known status of the task. For more information, see Task Lifecycle 13966 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 13967 LastStatus *string `locationName:"lastStatus" type:"string"` 13968 13969 // The launch type on which your task is running. For more information, see 13970 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 13971 // in the Amazon Elastic Container Service Developer Guide. 13972 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13973 13974 // The amount of memory (in MiB) used by the task as expressed in a task definition. 13975 // It can be expressed as an integer using MiB, for example 1024. It can also 13976 // be expressed as a string using GB, for example 1GB or 1 GB. String values 13977 // are converted to an integer indicating the MiB when the task definition is 13978 // registered. 13979 // 13980 // If you are using the EC2 launch type, this field is optional. 13981 // 13982 // If you are using the Fargate launch type, this field is required and you 13983 // must use one of the following values, which determines your range of supported 13984 // values for the cpu parameter: 13985 // 13986 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 13987 // vCPU) 13988 // 13989 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 13990 // 512 (.5 vCPU) 13991 // 13992 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 13993 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 13994 // 13995 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 13996 // Available cpu values: 2048 (2 vCPU) 13997 // 13998 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 13999 // Available cpu values: 4096 (4 vCPU) 14000 Memory *string `locationName:"memory" type:"string"` 14001 14002 // One or more container overrides. 14003 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 14004 14005 // The platform version on which your task is running. A platform version is 14006 // only specified for tasks using the Fargate launch type. If one is not specified, 14007 // the LATEST platform version is used by default. For more information, see 14008 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 14009 // in the Amazon Elastic Container Service Developer Guide. 14010 PlatformVersion *string `locationName:"platformVersion" type:"string"` 14011 14012 // The Unix timestamp for when the container image pull began. 14013 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 14014 14015 // The Unix timestamp for when the container image pull completed. 14016 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 14017 14018 // The Unix timestamp for when the task started (the task transitioned from 14019 // the PENDING state to the RUNNING state). 14020 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 14021 14022 // The tag specified when a task is started. If the task is started by an Amazon 14023 // ECS service, then the startedBy parameter contains the deployment ID of the 14024 // service that starts it. 14025 StartedBy *string `locationName:"startedBy" type:"string"` 14026 14027 // The stop code indicating why a task was stopped. The stoppedReason may contain 14028 // additional details. 14029 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 14030 14031 // The Unix timestamp for when the task was stopped (the task transitioned from 14032 // the RUNNING state to the STOPPED state). 14033 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 14034 14035 // The reason that the task was stopped. 14036 StoppedReason *string `locationName:"stoppedReason" type:"string"` 14037 14038 // The Unix timestamp for when the task stops (transitions from the RUNNING 14039 // state to STOPPED). 14040 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 14041 14042 // The metadata that you apply to the task to help you categorize and organize 14043 // them. Each tag consists of a key and an optional value, both of which you 14044 // define. Tag keys can have a maximum character length of 128 characters, and 14045 // tag values can have a maximum length of 256 characters. 14046 Tags []*Tag `locationName:"tags" type:"list"` 14047 14048 // The Amazon Resource Name (ARN) of the task. 14049 TaskArn *string `locationName:"taskArn" type:"string"` 14050 14051 // The ARN of the task definition that creates the task. 14052 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 14053 14054 // The version counter for the task. Every time a task experiences a change 14055 // that triggers a CloudWatch event, the version counter is incremented. If 14056 // you are replicating your Amazon ECS task state with CloudWatch Events, you 14057 // can compare the version of a task reported by the Amazon ECS API actionss 14058 // with the version reported in CloudWatch Events for the task (inside the detail 14059 // object) to verify that the version in your event stream is current. 14060 Version *int64 `locationName:"version" type:"long"` 14061} 14062 14063// String returns the string representation 14064func (s Task) String() string { 14065 return awsutil.Prettify(s) 14066} 14067 14068// GoString returns the string representation 14069func (s Task) GoString() string { 14070 return s.String() 14071} 14072 14073// SetAttachments sets the Attachments field's value. 14074func (s *Task) SetAttachments(v []*Attachment) *Task { 14075 s.Attachments = v 14076 return s 14077} 14078 14079// SetClusterArn sets the ClusterArn field's value. 14080func (s *Task) SetClusterArn(v string) *Task { 14081 s.ClusterArn = &v 14082 return s 14083} 14084 14085// SetConnectivity sets the Connectivity field's value. 14086func (s *Task) SetConnectivity(v string) *Task { 14087 s.Connectivity = &v 14088 return s 14089} 14090 14091// SetConnectivityAt sets the ConnectivityAt field's value. 14092func (s *Task) SetConnectivityAt(v time.Time) *Task { 14093 s.ConnectivityAt = &v 14094 return s 14095} 14096 14097// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14098func (s *Task) SetContainerInstanceArn(v string) *Task { 14099 s.ContainerInstanceArn = &v 14100 return s 14101} 14102 14103// SetContainers sets the Containers field's value. 14104func (s *Task) SetContainers(v []*Container) *Task { 14105 s.Containers = v 14106 return s 14107} 14108 14109// SetCpu sets the Cpu field's value. 14110func (s *Task) SetCpu(v string) *Task { 14111 s.Cpu = &v 14112 return s 14113} 14114 14115// SetCreatedAt sets the CreatedAt field's value. 14116func (s *Task) SetCreatedAt(v time.Time) *Task { 14117 s.CreatedAt = &v 14118 return s 14119} 14120 14121// SetDesiredStatus sets the DesiredStatus field's value. 14122func (s *Task) SetDesiredStatus(v string) *Task { 14123 s.DesiredStatus = &v 14124 return s 14125} 14126 14127// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 14128func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 14129 s.ExecutionStoppedAt = &v 14130 return s 14131} 14132 14133// SetGroup sets the Group field's value. 14134func (s *Task) SetGroup(v string) *Task { 14135 s.Group = &v 14136 return s 14137} 14138 14139// SetHealthStatus sets the HealthStatus field's value. 14140func (s *Task) SetHealthStatus(v string) *Task { 14141 s.HealthStatus = &v 14142 return s 14143} 14144 14145// SetLastStatus sets the LastStatus field's value. 14146func (s *Task) SetLastStatus(v string) *Task { 14147 s.LastStatus = &v 14148 return s 14149} 14150 14151// SetLaunchType sets the LaunchType field's value. 14152func (s *Task) SetLaunchType(v string) *Task { 14153 s.LaunchType = &v 14154 return s 14155} 14156 14157// SetMemory sets the Memory field's value. 14158func (s *Task) SetMemory(v string) *Task { 14159 s.Memory = &v 14160 return s 14161} 14162 14163// SetOverrides sets the Overrides field's value. 14164func (s *Task) SetOverrides(v *TaskOverride) *Task { 14165 s.Overrides = v 14166 return s 14167} 14168 14169// SetPlatformVersion sets the PlatformVersion field's value. 14170func (s *Task) SetPlatformVersion(v string) *Task { 14171 s.PlatformVersion = &v 14172 return s 14173} 14174 14175// SetPullStartedAt sets the PullStartedAt field's value. 14176func (s *Task) SetPullStartedAt(v time.Time) *Task { 14177 s.PullStartedAt = &v 14178 return s 14179} 14180 14181// SetPullStoppedAt sets the PullStoppedAt field's value. 14182func (s *Task) SetPullStoppedAt(v time.Time) *Task { 14183 s.PullStoppedAt = &v 14184 return s 14185} 14186 14187// SetStartedAt sets the StartedAt field's value. 14188func (s *Task) SetStartedAt(v time.Time) *Task { 14189 s.StartedAt = &v 14190 return s 14191} 14192 14193// SetStartedBy sets the StartedBy field's value. 14194func (s *Task) SetStartedBy(v string) *Task { 14195 s.StartedBy = &v 14196 return s 14197} 14198 14199// SetStopCode sets the StopCode field's value. 14200func (s *Task) SetStopCode(v string) *Task { 14201 s.StopCode = &v 14202 return s 14203} 14204 14205// SetStoppedAt sets the StoppedAt field's value. 14206func (s *Task) SetStoppedAt(v time.Time) *Task { 14207 s.StoppedAt = &v 14208 return s 14209} 14210 14211// SetStoppedReason sets the StoppedReason field's value. 14212func (s *Task) SetStoppedReason(v string) *Task { 14213 s.StoppedReason = &v 14214 return s 14215} 14216 14217// SetStoppingAt sets the StoppingAt field's value. 14218func (s *Task) SetStoppingAt(v time.Time) *Task { 14219 s.StoppingAt = &v 14220 return s 14221} 14222 14223// SetTags sets the Tags field's value. 14224func (s *Task) SetTags(v []*Tag) *Task { 14225 s.Tags = v 14226 return s 14227} 14228 14229// SetTaskArn sets the TaskArn field's value. 14230func (s *Task) SetTaskArn(v string) *Task { 14231 s.TaskArn = &v 14232 return s 14233} 14234 14235// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 14236func (s *Task) SetTaskDefinitionArn(v string) *Task { 14237 s.TaskDefinitionArn = &v 14238 return s 14239} 14240 14241// SetVersion sets the Version field's value. 14242func (s *Task) SetVersion(v int64) *Task { 14243 s.Version = &v 14244 return s 14245} 14246 14247// The details of a task definition which describes the container and volume 14248// definitions of an Amazon Elastic Container Service task. You can specify 14249// which Docker images to use, the required resources, and other configurations 14250// related to launching the task definition through an Amazon ECS service or 14251// task. 14252type TaskDefinition struct { 14253 _ struct{} `type:"structure"` 14254 14255 // The launch type to use with your task. For more information, see Amazon ECS 14256 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14257 // in the Amazon Elastic Container Service Developer Guide. 14258 Compatibilities []*string `locationName:"compatibilities" type:"list"` 14259 14260 // A list of container definitions in JSON format that describe the different 14261 // containers that make up your task. For more information about container definition 14262 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 14263 // in the Amazon Elastic Container Service Developer Guide. 14264 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 14265 14266 // The number of cpu units used by the task. If you are using the EC2 launch 14267 // type, this field is optional and any value can be used. If you are using 14268 // the Fargate launch type, this field is required and you must use one of the 14269 // following values, which determines your range of valid values for the memory 14270 // parameter: 14271 // 14272 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 14273 // 2048 (2 GB) 14274 // 14275 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 14276 // (3 GB), 4096 (4 GB) 14277 // 14278 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 14279 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 14280 // 14281 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 14282 // (16 GB) in increments of 1024 (1 GB) 14283 // 14284 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 14285 // (30 GB) in increments of 1024 (1 GB) 14286 Cpu *string `locationName:"cpu" type:"string"` 14287 14288 // The Amazon Resource Name (ARN) of the task execution role that containers 14289 // in this task can assume. All containers in this task are granted the permissions 14290 // that are specified in this role. 14291 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 14292 14293 // The name of a family that this task definition is registered to. A family 14294 // groups multiple versions of a task definition. Amazon ECS gives the first 14295 // task definition that you registered to a family a revision number of 1. Amazon 14296 // ECS gives sequential revision numbers to each task definition that you add. 14297 Family *string `locationName:"family" type:"string"` 14298 14299 // The IPC resource namespace to use for the containers in the task. The valid 14300 // values are host, task, or none. If host is specified, then all containers 14301 // within the tasks that specified the host IPC mode on the same container instance 14302 // share the same IPC resources with the host Amazon EC2 instance. If task is 14303 // specified, all containers within the specified task share the same IPC resources. 14304 // If none is specified, then IPC resources within the containers of a task 14305 // are private and not shared with other containers in a task or on the container 14306 // instance. If no value is specified, then the IPC resource namespace sharing 14307 // depends on the Docker daemon setting on the container instance. For more 14308 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 14309 // in the Docker run reference. 14310 // 14311 // If the host IPC mode is used, be aware that there is a heightened risk of 14312 // undesired IPC namespace expose. For more information, see Docker security 14313 // (https://docs.docker.com/engine/security/security/). 14314 // 14315 // If you are setting namespaced kernel parameters using systemControls for 14316 // the containers in the task, the following will apply to your IPC resource 14317 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 14318 // in the Amazon Elastic Container Service Developer Guide. 14319 // 14320 // * For tasks that use the host IPC mode, IPC namespace related systemControls 14321 // are not supported. 14322 // 14323 // * For tasks that use the task IPC mode, IPC namespace related systemControls 14324 // will apply to all containers within a task. 14325 // 14326 // This parameter is not supported for Windows containers or tasks using the 14327 // Fargate launch type. 14328 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 14329 14330 // The amount (in MiB) of memory used by the task. If using the EC2 launch type, 14331 // this field is optional and any value can be used. If using the Fargate launch 14332 // type, this field is required and you must use one of the following values, 14333 // which determines your range of valid values for the cpu parameter: 14334 // 14335 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 14336 // vCPU) 14337 // 14338 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 14339 // 512 (.5 vCPU) 14340 // 14341 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 14342 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 14343 // 14344 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 14345 // Available cpu values: 2048 (2 vCPU) 14346 // 14347 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 14348 // Available cpu values: 4096 (4 vCPU) 14349 Memory *string `locationName:"memory" type:"string"` 14350 14351 // The Docker networking mode to use for the containers in the task. The valid 14352 // values are none, bridge, awsvpc, and host. The default Docker network mode 14353 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 14354 // is required. If you are using the EC2 launch type, any network mode can be 14355 // used. If the network mode is set to none, you cannot specify port mappings 14356 // in your container definitions, and the tasks containers do not have external 14357 // connectivity. The host and awsvpc network modes offer the highest networking 14358 // performance for containers because they use the EC2 network stack instead 14359 // of the virtualized network stack provided by the bridge mode. 14360 // 14361 // With the host and awsvpc network modes, exposed container ports are mapped 14362 // directly to the corresponding host port (for the host network mode) or the 14363 // attached elastic network interface port (for the awsvpc network mode), so 14364 // you cannot take advantage of dynamic host port mappings. 14365 // 14366 // If the network mode is awsvpc, the task is allocated an elastic network interface, 14367 // and you must specify a NetworkConfiguration value when you create a service 14368 // or run a task with the task definition. For more information, see Task Networking 14369 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 14370 // in the Amazon Elastic Container Service Developer Guide. 14371 // 14372 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 14373 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 14374 // mode. 14375 // 14376 // If the network mode is host, you cannot run multiple instantiations of the 14377 // same task on a single container instance when port mappings are used. 14378 // 14379 // Docker for Windows uses different network modes than Docker for Linux. When 14380 // you register a task definition with Windows containers, you must not specify 14381 // a network mode. If you use the console to register a task definition with 14382 // Windows containers, you must choose the <default> network mode object. 14383 // 14384 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 14385 // in the Docker run reference. 14386 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 14387 14388 // The process namespace to use for the containers in the task. The valid values 14389 // are host or task. If host is specified, then all containers within the tasks 14390 // that specified the host PID mode on the same container instance share the 14391 // same IPC resources with the host Amazon EC2 instance. If task is specified, 14392 // all containers within the specified task share the same process namespace. 14393 // If no value is specified, the default is a private namespace. For more information, 14394 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 14395 // in the Docker run reference. 14396 // 14397 // If the host PID mode is used, be aware that there is a heightened risk of 14398 // undesired process namespace expose. For more information, see Docker security 14399 // (https://docs.docker.com/engine/security/security/). 14400 // 14401 // This parameter is not supported for Windows containers or tasks using the 14402 // Fargate launch type. 14403 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 14404 14405 // An array of placement constraint objects to use for tasks. This field is 14406 // not valid if you are using the Fargate launch type for your task. 14407 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 14408 14409 // The configuration details for the App Mesh proxy. 14410 // 14411 // Your Amazon ECS container instances require at least version 1.26.0 of the 14412 // container agent and at least version 1.26.0-1 of the ecs-init package to 14413 // enable a proxy configuration. If your container instances are launched from 14414 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 14415 // the required versions of the container agent and ecs-init. For more information, 14416 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14417 // in the Amazon Elastic Container Service Developer Guide. 14418 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 14419 14420 // The container instance attributes required by your task. This field is not 14421 // valid if you are using the Fargate launch type for your task. 14422 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 14423 14424 // The launch type the task requires. If no value is specified, it will default 14425 // to EC2. Valid values include EC2 and FARGATE. 14426 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 14427 14428 // The revision of the task in a particular family. The revision is a version 14429 // number of a task definition in a family. When you register a task definition 14430 // for the first time, the revision is 1. Each time that you register a new 14431 // revision of a task definition in the same family, the revision value always 14432 // increases by one, even if you have deregistered previous revisions in this 14433 // family. 14434 Revision *int64 `locationName:"revision" type:"integer"` 14435 14436 // The status of the task definition. 14437 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 14438 14439 // The full Amazon Resource Name (ARN) of the task definition. 14440 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 14441 14442 // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) 14443 // role that grants containers in the task permission to call AWS APIs on your 14444 // behalf. For more information, see Amazon ECS Task Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) 14445 // in the Amazon Elastic Container Service Developer Guide. 14446 // 14447 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 14448 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 14449 // must also run some configuration code in order to take advantage of the feature. 14450 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 14451 // in the Amazon Elastic Container Service Developer Guide. 14452 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 14453 14454 // The list of volume definitions for the task. 14455 // 14456 // If your tasks are using the Fargate launch type, the host and sourcePath 14457 // parameters are not supported. 14458 // 14459 // For more information about volume definition parameters and defaults, see 14460 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 14461 // in the Amazon Elastic Container Service Developer Guide. 14462 Volumes []*Volume `locationName:"volumes" type:"list"` 14463} 14464 14465// String returns the string representation 14466func (s TaskDefinition) String() string { 14467 return awsutil.Prettify(s) 14468} 14469 14470// GoString returns the string representation 14471func (s TaskDefinition) GoString() string { 14472 return s.String() 14473} 14474 14475// SetCompatibilities sets the Compatibilities field's value. 14476func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 14477 s.Compatibilities = v 14478 return s 14479} 14480 14481// SetContainerDefinitions sets the ContainerDefinitions field's value. 14482func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 14483 s.ContainerDefinitions = v 14484 return s 14485} 14486 14487// SetCpu sets the Cpu field's value. 14488func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 14489 s.Cpu = &v 14490 return s 14491} 14492 14493// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 14494func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 14495 s.ExecutionRoleArn = &v 14496 return s 14497} 14498 14499// SetFamily sets the Family field's value. 14500func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 14501 s.Family = &v 14502 return s 14503} 14504 14505// SetIpcMode sets the IpcMode field's value. 14506func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 14507 s.IpcMode = &v 14508 return s 14509} 14510 14511// SetMemory sets the Memory field's value. 14512func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 14513 s.Memory = &v 14514 return s 14515} 14516 14517// SetNetworkMode sets the NetworkMode field's value. 14518func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 14519 s.NetworkMode = &v 14520 return s 14521} 14522 14523// SetPidMode sets the PidMode field's value. 14524func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 14525 s.PidMode = &v 14526 return s 14527} 14528 14529// SetPlacementConstraints sets the PlacementConstraints field's value. 14530func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 14531 s.PlacementConstraints = v 14532 return s 14533} 14534 14535// SetProxyConfiguration sets the ProxyConfiguration field's value. 14536func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 14537 s.ProxyConfiguration = v 14538 return s 14539} 14540 14541// SetRequiresAttributes sets the RequiresAttributes field's value. 14542func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 14543 s.RequiresAttributes = v 14544 return s 14545} 14546 14547// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 14548func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 14549 s.RequiresCompatibilities = v 14550 return s 14551} 14552 14553// SetRevision sets the Revision field's value. 14554func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 14555 s.Revision = &v 14556 return s 14557} 14558 14559// SetStatus sets the Status field's value. 14560func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 14561 s.Status = &v 14562 return s 14563} 14564 14565// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 14566func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 14567 s.TaskDefinitionArn = &v 14568 return s 14569} 14570 14571// SetTaskRoleArn sets the TaskRoleArn field's value. 14572func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 14573 s.TaskRoleArn = &v 14574 return s 14575} 14576 14577// SetVolumes sets the Volumes field's value. 14578func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 14579 s.Volumes = v 14580 return s 14581} 14582 14583// An object representing a constraint on task placement in the task definition. 14584// 14585// If you are using the Fargate launch type, task placement constraints are 14586// not supported. 14587// 14588// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 14589// in the Amazon Elastic Container Service Developer Guide. 14590type TaskDefinitionPlacementConstraint struct { 14591 _ struct{} `type:"structure"` 14592 14593 // A cluster query language expression to apply to the constraint. For more 14594 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 14595 // in the Amazon Elastic Container Service Developer Guide. 14596 Expression *string `locationName:"expression" type:"string"` 14597 14598 // The type of constraint. The DistinctInstance constraint ensures that each 14599 // task in a particular group is running on a different container instance. 14600 // The MemberOf constraint restricts selection to be from a group of valid candidates. 14601 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 14602} 14603 14604// String returns the string representation 14605func (s TaskDefinitionPlacementConstraint) String() string { 14606 return awsutil.Prettify(s) 14607} 14608 14609// GoString returns the string representation 14610func (s TaskDefinitionPlacementConstraint) GoString() string { 14611 return s.String() 14612} 14613 14614// SetExpression sets the Expression field's value. 14615func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 14616 s.Expression = &v 14617 return s 14618} 14619 14620// SetType sets the Type field's value. 14621func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 14622 s.Type = &v 14623 return s 14624} 14625 14626// The overrides associated with a task. 14627type TaskOverride struct { 14628 _ struct{} `type:"structure"` 14629 14630 // One or more container overrides sent to a task. 14631 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 14632 14633 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 14634 // ECS container agent and the Docker daemon can assume. 14635 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 14636 14637 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 14638 // can assume. All containers in this task are granted the permissions that 14639 // are specified in this role. 14640 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 14641} 14642 14643// String returns the string representation 14644func (s TaskOverride) String() string { 14645 return awsutil.Prettify(s) 14646} 14647 14648// GoString returns the string representation 14649func (s TaskOverride) GoString() string { 14650 return s.String() 14651} 14652 14653// Validate inspects the fields of the type to determine if they are valid. 14654func (s *TaskOverride) Validate() error { 14655 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 14656 if s.ContainerOverrides != nil { 14657 for i, v := range s.ContainerOverrides { 14658 if v == nil { 14659 continue 14660 } 14661 if err := v.Validate(); err != nil { 14662 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 14663 } 14664 } 14665 } 14666 14667 if invalidParams.Len() > 0 { 14668 return invalidParams 14669 } 14670 return nil 14671} 14672 14673// SetContainerOverrides sets the ContainerOverrides field's value. 14674func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 14675 s.ContainerOverrides = v 14676 return s 14677} 14678 14679// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 14680func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 14681 s.ExecutionRoleArn = &v 14682 return s 14683} 14684 14685// SetTaskRoleArn sets the TaskRoleArn field's value. 14686func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 14687 s.TaskRoleArn = &v 14688 return s 14689} 14690 14691// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 14692// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 14693// desired number of tasks, how many tasks are running, and whether the task 14694// set serves production traffic. 14695type TaskSet struct { 14696 _ struct{} `type:"structure"` 14697 14698 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 14699 // the task set exists in. 14700 ClusterArn *string `locationName:"clusterArn" type:"string"` 14701 14702 // The computed desired count for the task set. This is calculated by multiplying 14703 // the service's desiredCount by the task set's scale percentage. The result 14704 // is always rounded up. For example, if the computed desired count is 1.2, 14705 // it rounds up to 2 tasks. 14706 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 14707 14708 // The Unix timestamp for when the task set was created. 14709 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 14710 14711 // The external ID associated with the task set. 14712 // 14713 // If a task set is created by an AWS CodeDeploy deployment, the externalId 14714 // parameter contains the AWS CodeDeploy deployment ID. 14715 // 14716 // If a task set is created for an external deployment and is associated with 14717 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 14718 // AWS Cloud Map attribute. 14719 ExternalId *string `locationName:"externalId" type:"string"` 14720 14721 // The ID of the task set. 14722 Id *string `locationName:"id" type:"string"` 14723 14724 // The launch type the tasks in the task set are using. For more information, 14725 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14726 // in the Amazon Elastic Container Service Developer Guide. 14727 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14728 14729 // Details on a load balancer that is used with a task set. 14730 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 14731 14732 // The network configuration for the task set. 14733 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 14734 14735 // The number of tasks in the task set that are in the PENDING status during 14736 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 14737 // state. A task set enters the PENDING status when it launches for the first 14738 // time or when it is restarted after being in the STOPPED state. 14739 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 14740 14741 // The platform version on which the tasks in the task set are running. A platform 14742 // version is only specified for tasks using the Fargate launch type. If one 14743 // is not specified, the LATEST platform version is used by default. For more 14744 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 14745 // in the Amazon Elastic Container Service Developer Guide. 14746 PlatformVersion *string `locationName:"platformVersion" type:"string"` 14747 14748 // The number of tasks in the task set that are in the RUNNING status during 14749 // a deployment. A task in the RUNNING state is running and ready for use. 14750 RunningCount *int64 `locationName:"runningCount" type:"integer"` 14751 14752 // A floating-point percentage of the desired number of tasks to place and keep 14753 // running in the task set. 14754 Scale *Scale `locationName:"scale" type:"structure"` 14755 14756 // The Amazon Resource Name (ARN) of the service the task set exists in. 14757 ServiceArn *string `locationName:"serviceArn" type:"string"` 14758 14759 // The details of the service discovery registries to assign to this task set. 14760 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 14761 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 14762 14763 // The stability status, which indicates whether the task set has reached a 14764 // steady state. If the following conditions are met, the task set will be in 14765 // STEADY_STATE: 14766 // 14767 // * The task runningCount is equal to the computedDesiredCount. 14768 // 14769 // * The pendingCount is 0. 14770 // 14771 // * There are no tasks running on container instances in the DRAINING status. 14772 // 14773 // * All tasks are reporting a healthy status from the load balancers, service 14774 // discovery, and container health checks. If a healthCheckGracePeriodSeconds 14775 // value was set when the service was created, you may see a STEADY_STATE 14776 // reached since unhealthy Elastic Load Balancing target health checks will 14777 // be ignored until it expires. 14778 // 14779 // If any of those conditions are not met, the stability status returns STABILIZING. 14780 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 14781 14782 // The Unix timestamp for when the task set stability status was retrieved. 14783 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 14784 14785 // The tag specified when a task set is started. If the task set is created 14786 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 14787 // For a task set created for an external deployment, the startedBy field isn't 14788 // used. 14789 StartedBy *string `locationName:"startedBy" type:"string"` 14790 14791 // The status of the task set. The following describes each state: 14792 // 14793 // PRIMARY 14794 // 14795 // The task set is serving production traffic. 14796 // 14797 // ACTIVE 14798 // 14799 // The task set is not serving production traffic. 14800 // 14801 // DRAINING 14802 // 14803 // The tasks in the task set are being stopped and their corresponding targets 14804 // are being deregistered from their target group. 14805 Status *string `locationName:"status" type:"string"` 14806 14807 // The task definition the task set is using. 14808 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 14809 14810 // The Amazon Resource Name (ARN) of the task set. 14811 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 14812 14813 // The Unix timestamp for when the task set was last updated. 14814 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 14815} 14816 14817// String returns the string representation 14818func (s TaskSet) String() string { 14819 return awsutil.Prettify(s) 14820} 14821 14822// GoString returns the string representation 14823func (s TaskSet) GoString() string { 14824 return s.String() 14825} 14826 14827// SetClusterArn sets the ClusterArn field's value. 14828func (s *TaskSet) SetClusterArn(v string) *TaskSet { 14829 s.ClusterArn = &v 14830 return s 14831} 14832 14833// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 14834func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 14835 s.ComputedDesiredCount = &v 14836 return s 14837} 14838 14839// SetCreatedAt sets the CreatedAt field's value. 14840func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 14841 s.CreatedAt = &v 14842 return s 14843} 14844 14845// SetExternalId sets the ExternalId field's value. 14846func (s *TaskSet) SetExternalId(v string) *TaskSet { 14847 s.ExternalId = &v 14848 return s 14849} 14850 14851// SetId sets the Id field's value. 14852func (s *TaskSet) SetId(v string) *TaskSet { 14853 s.Id = &v 14854 return s 14855} 14856 14857// SetLaunchType sets the LaunchType field's value. 14858func (s *TaskSet) SetLaunchType(v string) *TaskSet { 14859 s.LaunchType = &v 14860 return s 14861} 14862 14863// SetLoadBalancers sets the LoadBalancers field's value. 14864func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 14865 s.LoadBalancers = v 14866 return s 14867} 14868 14869// SetNetworkConfiguration sets the NetworkConfiguration field's value. 14870func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 14871 s.NetworkConfiguration = v 14872 return s 14873} 14874 14875// SetPendingCount sets the PendingCount field's value. 14876func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 14877 s.PendingCount = &v 14878 return s 14879} 14880 14881// SetPlatformVersion sets the PlatformVersion field's value. 14882func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 14883 s.PlatformVersion = &v 14884 return s 14885} 14886 14887// SetRunningCount sets the RunningCount field's value. 14888func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 14889 s.RunningCount = &v 14890 return s 14891} 14892 14893// SetScale sets the Scale field's value. 14894func (s *TaskSet) SetScale(v *Scale) *TaskSet { 14895 s.Scale = v 14896 return s 14897} 14898 14899// SetServiceArn sets the ServiceArn field's value. 14900func (s *TaskSet) SetServiceArn(v string) *TaskSet { 14901 s.ServiceArn = &v 14902 return s 14903} 14904 14905// SetServiceRegistries sets the ServiceRegistries field's value. 14906func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 14907 s.ServiceRegistries = v 14908 return s 14909} 14910 14911// SetStabilityStatus sets the StabilityStatus field's value. 14912func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 14913 s.StabilityStatus = &v 14914 return s 14915} 14916 14917// SetStabilityStatusAt sets the StabilityStatusAt field's value. 14918func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 14919 s.StabilityStatusAt = &v 14920 return s 14921} 14922 14923// SetStartedBy sets the StartedBy field's value. 14924func (s *TaskSet) SetStartedBy(v string) *TaskSet { 14925 s.StartedBy = &v 14926 return s 14927} 14928 14929// SetStatus sets the Status field's value. 14930func (s *TaskSet) SetStatus(v string) *TaskSet { 14931 s.Status = &v 14932 return s 14933} 14934 14935// SetTaskDefinition sets the TaskDefinition field's value. 14936func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 14937 s.TaskDefinition = &v 14938 return s 14939} 14940 14941// SetTaskSetArn sets the TaskSetArn field's value. 14942func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 14943 s.TaskSetArn = &v 14944 return s 14945} 14946 14947// SetUpdatedAt sets the UpdatedAt field's value. 14948func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 14949 s.UpdatedAt = &v 14950 return s 14951} 14952 14953// The container path, mount options, and size of the tmpfs mount. 14954type Tmpfs struct { 14955 _ struct{} `type:"structure"` 14956 14957 // The absolute file path where the tmpfs volume is to be mounted. 14958 // 14959 // ContainerPath is a required field 14960 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 14961 14962 // The list of tmpfs volume mount options. 14963 // 14964 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 14965 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 14966 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 14967 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 14968 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 14969 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 14970 MountOptions []*string `locationName:"mountOptions" type:"list"` 14971 14972 // The size (in MiB) of the tmpfs volume. 14973 // 14974 // Size is a required field 14975 Size *int64 `locationName:"size" type:"integer" required:"true"` 14976} 14977 14978// String returns the string representation 14979func (s Tmpfs) String() string { 14980 return awsutil.Prettify(s) 14981} 14982 14983// GoString returns the string representation 14984func (s Tmpfs) GoString() string { 14985 return s.String() 14986} 14987 14988// Validate inspects the fields of the type to determine if they are valid. 14989func (s *Tmpfs) Validate() error { 14990 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 14991 if s.ContainerPath == nil { 14992 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 14993 } 14994 if s.Size == nil { 14995 invalidParams.Add(request.NewErrParamRequired("Size")) 14996 } 14997 14998 if invalidParams.Len() > 0 { 14999 return invalidParams 15000 } 15001 return nil 15002} 15003 15004// SetContainerPath sets the ContainerPath field's value. 15005func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 15006 s.ContainerPath = &v 15007 return s 15008} 15009 15010// SetMountOptions sets the MountOptions field's value. 15011func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 15012 s.MountOptions = v 15013 return s 15014} 15015 15016// SetSize sets the Size field's value. 15017func (s *Tmpfs) SetSize(v int64) *Tmpfs { 15018 s.Size = &v 15019 return s 15020} 15021 15022// The ulimit settings to pass to the container. 15023type Ulimit struct { 15024 _ struct{} `type:"structure"` 15025 15026 // The hard limit for the ulimit type. 15027 // 15028 // HardLimit is a required field 15029 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 15030 15031 // The type of the ulimit. 15032 // 15033 // Name is a required field 15034 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 15035 15036 // The soft limit for the ulimit type. 15037 // 15038 // SoftLimit is a required field 15039 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 15040} 15041 15042// String returns the string representation 15043func (s Ulimit) String() string { 15044 return awsutil.Prettify(s) 15045} 15046 15047// GoString returns the string representation 15048func (s Ulimit) GoString() string { 15049 return s.String() 15050} 15051 15052// Validate inspects the fields of the type to determine if they are valid. 15053func (s *Ulimit) Validate() error { 15054 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 15055 if s.HardLimit == nil { 15056 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 15057 } 15058 if s.Name == nil { 15059 invalidParams.Add(request.NewErrParamRequired("Name")) 15060 } 15061 if s.SoftLimit == nil { 15062 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 15063 } 15064 15065 if invalidParams.Len() > 0 { 15066 return invalidParams 15067 } 15068 return nil 15069} 15070 15071// SetHardLimit sets the HardLimit field's value. 15072func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 15073 s.HardLimit = &v 15074 return s 15075} 15076 15077// SetName sets the Name field's value. 15078func (s *Ulimit) SetName(v string) *Ulimit { 15079 s.Name = &v 15080 return s 15081} 15082 15083// SetSoftLimit sets the SoftLimit field's value. 15084func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 15085 s.SoftLimit = &v 15086 return s 15087} 15088 15089type UntagResourceInput struct { 15090 _ struct{} `type:"structure"` 15091 15092 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 15093 // Currently, the supported resources are Amazon ECS tasks, services, task definitions, 15094 // clusters, and container instances. 15095 // 15096 // ResourceArn is a required field 15097 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 15098 15099 // The keys of the tags to be removed. 15100 // 15101 // TagKeys is a required field 15102 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 15103} 15104 15105// String returns the string representation 15106func (s UntagResourceInput) String() string { 15107 return awsutil.Prettify(s) 15108} 15109 15110// GoString returns the string representation 15111func (s UntagResourceInput) GoString() string { 15112 return s.String() 15113} 15114 15115// Validate inspects the fields of the type to determine if they are valid. 15116func (s *UntagResourceInput) Validate() error { 15117 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 15118 if s.ResourceArn == nil { 15119 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 15120 } 15121 if s.TagKeys == nil { 15122 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 15123 } 15124 15125 if invalidParams.Len() > 0 { 15126 return invalidParams 15127 } 15128 return nil 15129} 15130 15131// SetResourceArn sets the ResourceArn field's value. 15132func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 15133 s.ResourceArn = &v 15134 return s 15135} 15136 15137// SetTagKeys sets the TagKeys field's value. 15138func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 15139 s.TagKeys = v 15140 return s 15141} 15142 15143type UntagResourceOutput struct { 15144 _ struct{} `type:"structure"` 15145} 15146 15147// String returns the string representation 15148func (s UntagResourceOutput) String() string { 15149 return awsutil.Prettify(s) 15150} 15151 15152// GoString returns the string representation 15153func (s UntagResourceOutput) GoString() string { 15154 return s.String() 15155} 15156 15157type UpdateContainerAgentInput struct { 15158 _ struct{} `type:"structure"` 15159 15160 // The short name or full Amazon Resource Name (ARN) of the cluster that your 15161 // container instance is running on. If you do not specify a cluster, the default 15162 // cluster is assumed. 15163 Cluster *string `locationName:"cluster" type:"string"` 15164 15165 // The container instance ID or full ARN entries for the container instance 15166 // on which you would like to update the Amazon ECS container agent. 15167 // 15168 // ContainerInstance is a required field 15169 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 15170} 15171 15172// String returns the string representation 15173func (s UpdateContainerAgentInput) String() string { 15174 return awsutil.Prettify(s) 15175} 15176 15177// GoString returns the string representation 15178func (s UpdateContainerAgentInput) GoString() string { 15179 return s.String() 15180} 15181 15182// Validate inspects the fields of the type to determine if they are valid. 15183func (s *UpdateContainerAgentInput) Validate() error { 15184 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 15185 if s.ContainerInstance == nil { 15186 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 15187 } 15188 15189 if invalidParams.Len() > 0 { 15190 return invalidParams 15191 } 15192 return nil 15193} 15194 15195// SetCluster sets the Cluster field's value. 15196func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 15197 s.Cluster = &v 15198 return s 15199} 15200 15201// SetContainerInstance sets the ContainerInstance field's value. 15202func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 15203 s.ContainerInstance = &v 15204 return s 15205} 15206 15207type UpdateContainerAgentOutput struct { 15208 _ struct{} `type:"structure"` 15209 15210 // The container instance for which the container agent was updated. 15211 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 15212} 15213 15214// String returns the string representation 15215func (s UpdateContainerAgentOutput) String() string { 15216 return awsutil.Prettify(s) 15217} 15218 15219// GoString returns the string representation 15220func (s UpdateContainerAgentOutput) GoString() string { 15221 return s.String() 15222} 15223 15224// SetContainerInstance sets the ContainerInstance field's value. 15225func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 15226 s.ContainerInstance = v 15227 return s 15228} 15229 15230type UpdateContainerInstancesStateInput struct { 15231 _ struct{} `type:"structure"` 15232 15233 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 15234 // the container instance to update. If you do not specify a cluster, the default 15235 // cluster is assumed. 15236 Cluster *string `locationName:"cluster" type:"string"` 15237 15238 // A list of container instance IDs or full ARN entries. 15239 // 15240 // ContainerInstances is a required field 15241 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 15242 15243 // The container instance state with which to update the container instance. 15244 // The only valid values for this action are ACTIVE and DRAINING. A container 15245 // instance can only be updated to DRAINING status once it has reached an ACTIVE 15246 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 15247 // state you can describe the container instance but will be unable to update 15248 // the container instance state. 15249 // 15250 // Status is a required field 15251 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 15252} 15253 15254// String returns the string representation 15255func (s UpdateContainerInstancesStateInput) String() string { 15256 return awsutil.Prettify(s) 15257} 15258 15259// GoString returns the string representation 15260func (s UpdateContainerInstancesStateInput) GoString() string { 15261 return s.String() 15262} 15263 15264// Validate inspects the fields of the type to determine if they are valid. 15265func (s *UpdateContainerInstancesStateInput) Validate() error { 15266 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 15267 if s.ContainerInstances == nil { 15268 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 15269 } 15270 if s.Status == nil { 15271 invalidParams.Add(request.NewErrParamRequired("Status")) 15272 } 15273 15274 if invalidParams.Len() > 0 { 15275 return invalidParams 15276 } 15277 return nil 15278} 15279 15280// SetCluster sets the Cluster field's value. 15281func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 15282 s.Cluster = &v 15283 return s 15284} 15285 15286// SetContainerInstances sets the ContainerInstances field's value. 15287func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 15288 s.ContainerInstances = v 15289 return s 15290} 15291 15292// SetStatus sets the Status field's value. 15293func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 15294 s.Status = &v 15295 return s 15296} 15297 15298type UpdateContainerInstancesStateOutput struct { 15299 _ struct{} `type:"structure"` 15300 15301 // The list of container instances. 15302 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 15303 15304 // Any failures associated with the call. 15305 Failures []*Failure `locationName:"failures" type:"list"` 15306} 15307 15308// String returns the string representation 15309func (s UpdateContainerInstancesStateOutput) String() string { 15310 return awsutil.Prettify(s) 15311} 15312 15313// GoString returns the string representation 15314func (s UpdateContainerInstancesStateOutput) GoString() string { 15315 return s.String() 15316} 15317 15318// SetContainerInstances sets the ContainerInstances field's value. 15319func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 15320 s.ContainerInstances = v 15321 return s 15322} 15323 15324// SetFailures sets the Failures field's value. 15325func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 15326 s.Failures = v 15327 return s 15328} 15329 15330type UpdateServiceInput struct { 15331 _ struct{} `type:"structure"` 15332 15333 // The short name or full Amazon Resource Name (ARN) of the cluster that your 15334 // service is running on. If you do not specify a cluster, the default cluster 15335 // is assumed. 15336 Cluster *string `locationName:"cluster" type:"string"` 15337 15338 // Optional deployment parameters that control how many tasks run during the 15339 // deployment and the ordering of stopping and starting tasks. 15340 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 15341 15342 // The number of instantiations of the task to place and keep running in your 15343 // service. 15344 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 15345 15346 // Whether to force a new deployment of the service. Deployments are not forced 15347 // by default. You can use this option to trigger a new deployment with no service 15348 // definition changes. For example, you can update a service's tasks to use 15349 // a newer Docker image with the same image/tag combination (my_image:latest) 15350 // or to roll Fargate tasks onto a newer platform version. 15351 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 15352 15353 // The period of time, in seconds, that the Amazon ECS service scheduler should 15354 // ignore unhealthy Elastic Load Balancing target health checks after a task 15355 // has first started. This is only valid if your service is configured to use 15356 // a load balancer. If your service's tasks take a while to start and respond 15357 // to Elastic Load Balancing health checks, you can specify a health check grace 15358 // period of up to 1,800 seconds. During that time, the ECS service scheduler 15359 // ignores the Elastic Load Balancing health check status. This grace period 15360 // can prevent the ECS service scheduler from marking tasks as unhealthy and 15361 // stopping them before they have time to come up. 15362 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 15363 15364 // The network configuration for the service. This parameter is required for 15365 // task definitions that use the awsvpc network mode to receive their own elastic 15366 // network interface, and it is not supported for other network modes. For more 15367 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15368 // in the Amazon Elastic Container Service Developer Guide. 15369 // 15370 // Updating a service to add a subnet to a list of existing subnets does not 15371 // trigger a service deployment. For example, if your network configuration 15372 // change is to keep the existing subnets and simply add another subnet to the 15373 // network configuration, this does not trigger a new service deployment. 15374 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15375 15376 // The platform version on which your tasks in the service are running. A platform 15377 // version is only specified for tasks using the Fargate launch type. If one 15378 // is not specified, the LATEST platform version is used by default. For more 15379 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15380 // in the Amazon Elastic Container Service Developer Guide. 15381 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15382 15383 // The name of the service to update. 15384 // 15385 // Service is a required field 15386 Service *string `locationName:"service" type:"string" required:"true"` 15387 15388 // The family and revision (family:revision) or full ARN of the task definition 15389 // to run in your service. If a revision is not specified, the latest ACTIVE 15390 // revision is used. If you modify the task definition with UpdateService, Amazon 15391 // ECS spawns a task with the new version of the task definition and then stops 15392 // an old task after the new version is running. 15393 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 15394} 15395 15396// String returns the string representation 15397func (s UpdateServiceInput) String() string { 15398 return awsutil.Prettify(s) 15399} 15400 15401// GoString returns the string representation 15402func (s UpdateServiceInput) GoString() string { 15403 return s.String() 15404} 15405 15406// Validate inspects the fields of the type to determine if they are valid. 15407func (s *UpdateServiceInput) Validate() error { 15408 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 15409 if s.Service == nil { 15410 invalidParams.Add(request.NewErrParamRequired("Service")) 15411 } 15412 if s.NetworkConfiguration != nil { 15413 if err := s.NetworkConfiguration.Validate(); err != nil { 15414 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15415 } 15416 } 15417 15418 if invalidParams.Len() > 0 { 15419 return invalidParams 15420 } 15421 return nil 15422} 15423 15424// SetCluster sets the Cluster field's value. 15425func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 15426 s.Cluster = &v 15427 return s 15428} 15429 15430// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 15431func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 15432 s.DeploymentConfiguration = v 15433 return s 15434} 15435 15436// SetDesiredCount sets the DesiredCount field's value. 15437func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 15438 s.DesiredCount = &v 15439 return s 15440} 15441 15442// SetForceNewDeployment sets the ForceNewDeployment field's value. 15443func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 15444 s.ForceNewDeployment = &v 15445 return s 15446} 15447 15448// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 15449func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 15450 s.HealthCheckGracePeriodSeconds = &v 15451 return s 15452} 15453 15454// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15455func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 15456 s.NetworkConfiguration = v 15457 return s 15458} 15459 15460// SetPlatformVersion sets the PlatformVersion field's value. 15461func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 15462 s.PlatformVersion = &v 15463 return s 15464} 15465 15466// SetService sets the Service field's value. 15467func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 15468 s.Service = &v 15469 return s 15470} 15471 15472// SetTaskDefinition sets the TaskDefinition field's value. 15473func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 15474 s.TaskDefinition = &v 15475 return s 15476} 15477 15478type UpdateServiceOutput struct { 15479 _ struct{} `type:"structure"` 15480 15481 // The full description of your service following the update call. 15482 Service *Service `locationName:"service" type:"structure"` 15483} 15484 15485// String returns the string representation 15486func (s UpdateServiceOutput) String() string { 15487 return awsutil.Prettify(s) 15488} 15489 15490// GoString returns the string representation 15491func (s UpdateServiceOutput) GoString() string { 15492 return s.String() 15493} 15494 15495// SetService sets the Service field's value. 15496func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 15497 s.Service = v 15498 return s 15499} 15500 15501type UpdateServicePrimaryTaskSetInput struct { 15502 _ struct{} `type:"structure"` 15503 15504 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 15505 // the service that the task set exists in. 15506 // 15507 // Cluster is a required field 15508 Cluster *string `locationName:"cluster" type:"string" required:"true"` 15509 15510 // The short name or full Amazon Resource Name (ARN) of the task set to set 15511 // as the primary task set in the deployment. 15512 // 15513 // PrimaryTaskSet is a required field 15514 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 15515 15516 // The short name or full Amazon Resource Name (ARN) of the service that the 15517 // task set exists in. 15518 // 15519 // Service is a required field 15520 Service *string `locationName:"service" type:"string" required:"true"` 15521} 15522 15523// String returns the string representation 15524func (s UpdateServicePrimaryTaskSetInput) String() string { 15525 return awsutil.Prettify(s) 15526} 15527 15528// GoString returns the string representation 15529func (s UpdateServicePrimaryTaskSetInput) GoString() string { 15530 return s.String() 15531} 15532 15533// Validate inspects the fields of the type to determine if they are valid. 15534func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 15535 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 15536 if s.Cluster == nil { 15537 invalidParams.Add(request.NewErrParamRequired("Cluster")) 15538 } 15539 if s.PrimaryTaskSet == nil { 15540 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 15541 } 15542 if s.Service == nil { 15543 invalidParams.Add(request.NewErrParamRequired("Service")) 15544 } 15545 15546 if invalidParams.Len() > 0 { 15547 return invalidParams 15548 } 15549 return nil 15550} 15551 15552// SetCluster sets the Cluster field's value. 15553func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 15554 s.Cluster = &v 15555 return s 15556} 15557 15558// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 15559func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 15560 s.PrimaryTaskSet = &v 15561 return s 15562} 15563 15564// SetService sets the Service field's value. 15565func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 15566 s.Service = &v 15567 return s 15568} 15569 15570type UpdateServicePrimaryTaskSetOutput struct { 15571 _ struct{} `type:"structure"` 15572 15573 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 15574 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 15575 // desired number of tasks, how many tasks are running, and whether the task 15576 // set serves production traffic. 15577 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 15578} 15579 15580// String returns the string representation 15581func (s UpdateServicePrimaryTaskSetOutput) String() string { 15582 return awsutil.Prettify(s) 15583} 15584 15585// GoString returns the string representation 15586func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 15587 return s.String() 15588} 15589 15590// SetTaskSet sets the TaskSet field's value. 15591func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 15592 s.TaskSet = v 15593 return s 15594} 15595 15596type UpdateTaskSetInput struct { 15597 _ struct{} `type:"structure"` 15598 15599 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 15600 // the service that the task set exists in. 15601 // 15602 // Cluster is a required field 15603 Cluster *string `locationName:"cluster" type:"string" required:"true"` 15604 15605 // A floating-point percentage of the desired number of tasks to place and keep 15606 // running in the task set. 15607 // 15608 // Scale is a required field 15609 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 15610 15611 // The short name or full Amazon Resource Name (ARN) of the service that the 15612 // task set exists in. 15613 // 15614 // Service is a required field 15615 Service *string `locationName:"service" type:"string" required:"true"` 15616 15617 // The short name or full Amazon Resource Name (ARN) of the task set to update. 15618 // 15619 // TaskSet is a required field 15620 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 15621} 15622 15623// String returns the string representation 15624func (s UpdateTaskSetInput) String() string { 15625 return awsutil.Prettify(s) 15626} 15627 15628// GoString returns the string representation 15629func (s UpdateTaskSetInput) GoString() string { 15630 return s.String() 15631} 15632 15633// Validate inspects the fields of the type to determine if they are valid. 15634func (s *UpdateTaskSetInput) Validate() error { 15635 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 15636 if s.Cluster == nil { 15637 invalidParams.Add(request.NewErrParamRequired("Cluster")) 15638 } 15639 if s.Scale == nil { 15640 invalidParams.Add(request.NewErrParamRequired("Scale")) 15641 } 15642 if s.Service == nil { 15643 invalidParams.Add(request.NewErrParamRequired("Service")) 15644 } 15645 if s.TaskSet == nil { 15646 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 15647 } 15648 15649 if invalidParams.Len() > 0 { 15650 return invalidParams 15651 } 15652 return nil 15653} 15654 15655// SetCluster sets the Cluster field's value. 15656func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 15657 s.Cluster = &v 15658 return s 15659} 15660 15661// SetScale sets the Scale field's value. 15662func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 15663 s.Scale = v 15664 return s 15665} 15666 15667// SetService sets the Service field's value. 15668func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 15669 s.Service = &v 15670 return s 15671} 15672 15673// SetTaskSet sets the TaskSet field's value. 15674func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 15675 s.TaskSet = &v 15676 return s 15677} 15678 15679type UpdateTaskSetOutput struct { 15680 _ struct{} `type:"structure"` 15681 15682 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 15683 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 15684 // desired number of tasks, how many tasks are running, and whether the task 15685 // set serves production traffic. 15686 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 15687} 15688 15689// String returns the string representation 15690func (s UpdateTaskSetOutput) String() string { 15691 return awsutil.Prettify(s) 15692} 15693 15694// GoString returns the string representation 15695func (s UpdateTaskSetOutput) GoString() string { 15696 return s.String() 15697} 15698 15699// SetTaskSet sets the TaskSet field's value. 15700func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 15701 s.TaskSet = v 15702 return s 15703} 15704 15705// The Docker and Amazon ECS container agent version information about a container 15706// instance. 15707type VersionInfo struct { 15708 _ struct{} `type:"structure"` 15709 15710 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 15711 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 15712 AgentHash *string `locationName:"agentHash" type:"string"` 15713 15714 // The version number of the Amazon ECS container agent. 15715 AgentVersion *string `locationName:"agentVersion" type:"string"` 15716 15717 // The Docker version running on the container instance. 15718 DockerVersion *string `locationName:"dockerVersion" type:"string"` 15719} 15720 15721// String returns the string representation 15722func (s VersionInfo) String() string { 15723 return awsutil.Prettify(s) 15724} 15725 15726// GoString returns the string representation 15727func (s VersionInfo) GoString() string { 15728 return s.String() 15729} 15730 15731// SetAgentHash sets the AgentHash field's value. 15732func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 15733 s.AgentHash = &v 15734 return s 15735} 15736 15737// SetAgentVersion sets the AgentVersion field's value. 15738func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 15739 s.AgentVersion = &v 15740 return s 15741} 15742 15743// SetDockerVersion sets the DockerVersion field's value. 15744func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 15745 s.DockerVersion = &v 15746 return s 15747} 15748 15749// A data volume used in a task definition. For tasks that use a Docker volume, 15750// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 15751// volume, specify a host and optional sourcePath. For more information, see 15752// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 15753type Volume struct { 15754 _ struct{} `type:"structure"` 15755 15756 // This parameter is specified when you are using Docker volumes. Docker volumes 15757 // are only supported when you are using the EC2 launch type. Windows containers 15758 // only support the use of the local driver. To use bind mounts, specify a host 15759 // instead. 15760 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 15761 15762 // This parameter is specified when you are using bind mount host volumes. Bind 15763 // mount host volumes are supported when you are using either the EC2 or Fargate 15764 // launch types. The contents of the host parameter determine whether your bind 15765 // mount host volume persists on the host container instance and where it is 15766 // stored. If the host parameter is empty, then the Docker daemon assigns a 15767 // host path for your data volume. However, the data is not guaranteed to persist 15768 // after the containers associated with it stop running. 15769 // 15770 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 15771 // Windows containers cannot mount directories on a different drive, and mount 15772 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 15773 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 15774 Host *HostVolumeProperties `locationName:"host" type:"structure"` 15775 15776 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 15777 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 15778 // of container definition mountPoints. 15779 Name *string `locationName:"name" type:"string"` 15780} 15781 15782// String returns the string representation 15783func (s Volume) String() string { 15784 return awsutil.Prettify(s) 15785} 15786 15787// GoString returns the string representation 15788func (s Volume) GoString() string { 15789 return s.String() 15790} 15791 15792// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 15793func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 15794 s.DockerVolumeConfiguration = v 15795 return s 15796} 15797 15798// SetHost sets the Host field's value. 15799func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 15800 s.Host = v 15801 return s 15802} 15803 15804// SetName sets the Name field's value. 15805func (s *Volume) SetName(v string) *Volume { 15806 s.Name = &v 15807 return s 15808} 15809 15810// Details on a data volume from another container in the same task definition. 15811type VolumeFrom struct { 15812 _ struct{} `type:"structure"` 15813 15814 // If this value is true, the container has read-only access to the volume. 15815 // If this value is false, then the container can write to the volume. The default 15816 // value is false. 15817 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 15818 15819 // The name of another container within the same task definition from which 15820 // to mount volumes. 15821 SourceContainer *string `locationName:"sourceContainer" type:"string"` 15822} 15823 15824// String returns the string representation 15825func (s VolumeFrom) String() string { 15826 return awsutil.Prettify(s) 15827} 15828 15829// GoString returns the string representation 15830func (s VolumeFrom) GoString() string { 15831 return s.String() 15832} 15833 15834// SetReadOnly sets the ReadOnly field's value. 15835func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 15836 s.ReadOnly = &v 15837 return s 15838} 15839 15840// SetSourceContainer sets the SourceContainer field's value. 15841func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 15842 s.SourceContainer = &v 15843 return s 15844} 15845 15846const ( 15847 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 15848 AgentUpdateStatusPending = "PENDING" 15849 15850 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 15851 AgentUpdateStatusStaging = "STAGING" 15852 15853 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 15854 AgentUpdateStatusStaged = "STAGED" 15855 15856 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 15857 AgentUpdateStatusUpdating = "UPDATING" 15858 15859 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 15860 AgentUpdateStatusUpdated = "UPDATED" 15861 15862 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 15863 AgentUpdateStatusFailed = "FAILED" 15864) 15865 15866const ( 15867 // AssignPublicIpEnabled is a AssignPublicIp enum value 15868 AssignPublicIpEnabled = "ENABLED" 15869 15870 // AssignPublicIpDisabled is a AssignPublicIp enum value 15871 AssignPublicIpDisabled = "DISABLED" 15872) 15873 15874const ( 15875 // ClusterFieldStatistics is a ClusterField enum value 15876 ClusterFieldStatistics = "STATISTICS" 15877 15878 // ClusterFieldTags is a ClusterField enum value 15879 ClusterFieldTags = "TAGS" 15880) 15881 15882const ( 15883 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 15884 ClusterSettingNameContainerInsights = "containerInsights" 15885) 15886 15887const ( 15888 // CompatibilityEc2 is a Compatibility enum value 15889 CompatibilityEc2 = "EC2" 15890 15891 // CompatibilityFargate is a Compatibility enum value 15892 CompatibilityFargate = "FARGATE" 15893) 15894 15895const ( 15896 // ConnectivityConnected is a Connectivity enum value 15897 ConnectivityConnected = "CONNECTED" 15898 15899 // ConnectivityDisconnected is a Connectivity enum value 15900 ConnectivityDisconnected = "DISCONNECTED" 15901) 15902 15903const ( 15904 // ContainerConditionStart is a ContainerCondition enum value 15905 ContainerConditionStart = "START" 15906 15907 // ContainerConditionComplete is a ContainerCondition enum value 15908 ContainerConditionComplete = "COMPLETE" 15909 15910 // ContainerConditionSuccess is a ContainerCondition enum value 15911 ContainerConditionSuccess = "SUCCESS" 15912 15913 // ContainerConditionHealthy is a ContainerCondition enum value 15914 ContainerConditionHealthy = "HEALTHY" 15915) 15916 15917const ( 15918 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 15919 ContainerInstanceFieldTags = "TAGS" 15920) 15921 15922const ( 15923 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 15924 ContainerInstanceStatusActive = "ACTIVE" 15925 15926 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 15927 ContainerInstanceStatusDraining = "DRAINING" 15928 15929 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 15930 ContainerInstanceStatusRegistering = "REGISTERING" 15931 15932 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 15933 ContainerInstanceStatusDeregistering = "DEREGISTERING" 15934 15935 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 15936 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 15937) 15938 15939const ( 15940 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 15941 DeploymentControllerTypeEcs = "ECS" 15942 15943 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 15944 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 15945 15946 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 15947 DeploymentControllerTypeExternal = "EXTERNAL" 15948) 15949 15950const ( 15951 // DesiredStatusRunning is a DesiredStatus enum value 15952 DesiredStatusRunning = "RUNNING" 15953 15954 // DesiredStatusPending is a DesiredStatus enum value 15955 DesiredStatusPending = "PENDING" 15956 15957 // DesiredStatusStopped is a DesiredStatus enum value 15958 DesiredStatusStopped = "STOPPED" 15959) 15960 15961const ( 15962 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 15963 DeviceCgroupPermissionRead = "read" 15964 15965 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 15966 DeviceCgroupPermissionWrite = "write" 15967 15968 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 15969 DeviceCgroupPermissionMknod = "mknod" 15970) 15971 15972const ( 15973 // HealthStatusHealthy is a HealthStatus enum value 15974 HealthStatusHealthy = "HEALTHY" 15975 15976 // HealthStatusUnhealthy is a HealthStatus enum value 15977 HealthStatusUnhealthy = "UNHEALTHY" 15978 15979 // HealthStatusUnknown is a HealthStatus enum value 15980 HealthStatusUnknown = "UNKNOWN" 15981) 15982 15983const ( 15984 // IpcModeHost is a IpcMode enum value 15985 IpcModeHost = "host" 15986 15987 // IpcModeTask is a IpcMode enum value 15988 IpcModeTask = "task" 15989 15990 // IpcModeNone is a IpcMode enum value 15991 IpcModeNone = "none" 15992) 15993 15994const ( 15995 // LaunchTypeEc2 is a LaunchType enum value 15996 LaunchTypeEc2 = "EC2" 15997 15998 // LaunchTypeFargate is a LaunchType enum value 15999 LaunchTypeFargate = "FARGATE" 16000) 16001 16002const ( 16003 // LogDriverJsonFile is a LogDriver enum value 16004 LogDriverJsonFile = "json-file" 16005 16006 // LogDriverSyslog is a LogDriver enum value 16007 LogDriverSyslog = "syslog" 16008 16009 // LogDriverJournald is a LogDriver enum value 16010 LogDriverJournald = "journald" 16011 16012 // LogDriverGelf is a LogDriver enum value 16013 LogDriverGelf = "gelf" 16014 16015 // LogDriverFluentd is a LogDriver enum value 16016 LogDriverFluentd = "fluentd" 16017 16018 // LogDriverAwslogs is a LogDriver enum value 16019 LogDriverAwslogs = "awslogs" 16020 16021 // LogDriverSplunk is a LogDriver enum value 16022 LogDriverSplunk = "splunk" 16023) 16024 16025const ( 16026 // NetworkModeBridge is a NetworkMode enum value 16027 NetworkModeBridge = "bridge" 16028 16029 // NetworkModeHost is a NetworkMode enum value 16030 NetworkModeHost = "host" 16031 16032 // NetworkModeAwsvpc is a NetworkMode enum value 16033 NetworkModeAwsvpc = "awsvpc" 16034 16035 // NetworkModeNone is a NetworkMode enum value 16036 NetworkModeNone = "none" 16037) 16038 16039const ( 16040 // PidModeHost is a PidMode enum value 16041 PidModeHost = "host" 16042 16043 // PidModeTask is a PidMode enum value 16044 PidModeTask = "task" 16045) 16046 16047const ( 16048 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 16049 PlacementConstraintTypeDistinctInstance = "distinctInstance" 16050 16051 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 16052 PlacementConstraintTypeMemberOf = "memberOf" 16053) 16054 16055const ( 16056 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 16057 PlacementStrategyTypeRandom = "random" 16058 16059 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 16060 PlacementStrategyTypeSpread = "spread" 16061 16062 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 16063 PlacementStrategyTypeBinpack = "binpack" 16064) 16065 16066const ( 16067 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 16068 PlatformDeviceTypeGpu = "GPU" 16069) 16070 16071const ( 16072 // PropagateTagsTaskDefinition is a PropagateTags enum value 16073 PropagateTagsTaskDefinition = "TASK_DEFINITION" 16074 16075 // PropagateTagsService is a PropagateTags enum value 16076 PropagateTagsService = "SERVICE" 16077) 16078 16079const ( 16080 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 16081 ProxyConfigurationTypeAppmesh = "APPMESH" 16082) 16083 16084const ( 16085 // ResourceTypeGpu is a ResourceType enum value 16086 ResourceTypeGpu = "GPU" 16087) 16088 16089const ( 16090 // ScaleUnitPercent is a ScaleUnit enum value 16091 ScaleUnitPercent = "PERCENT" 16092) 16093 16094const ( 16095 // SchedulingStrategyReplica is a SchedulingStrategy enum value 16096 SchedulingStrategyReplica = "REPLICA" 16097 16098 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 16099 SchedulingStrategyDaemon = "DAEMON" 16100) 16101 16102const ( 16103 // ScopeTask is a Scope enum value 16104 ScopeTask = "task" 16105 16106 // ScopeShared is a Scope enum value 16107 ScopeShared = "shared" 16108) 16109 16110const ( 16111 // ServiceFieldTags is a ServiceField enum value 16112 ServiceFieldTags = "TAGS" 16113) 16114 16115const ( 16116 // SettingNameServiceLongArnFormat is a SettingName enum value 16117 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 16118 16119 // SettingNameTaskLongArnFormat is a SettingName enum value 16120 SettingNameTaskLongArnFormat = "taskLongArnFormat" 16121 16122 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 16123 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 16124 16125 // SettingNameAwsvpcTrunking is a SettingName enum value 16126 SettingNameAwsvpcTrunking = "awsvpcTrunking" 16127 16128 // SettingNameContainerInsights is a SettingName enum value 16129 SettingNameContainerInsights = "containerInsights" 16130) 16131 16132const ( 16133 // SortOrderAsc is a SortOrder enum value 16134 SortOrderAsc = "ASC" 16135 16136 // SortOrderDesc is a SortOrder enum value 16137 SortOrderDesc = "DESC" 16138) 16139 16140const ( 16141 // StabilityStatusSteadyState is a StabilityStatus enum value 16142 StabilityStatusSteadyState = "STEADY_STATE" 16143 16144 // StabilityStatusStabilizing is a StabilityStatus enum value 16145 StabilityStatusStabilizing = "STABILIZING" 16146) 16147 16148const ( 16149 // TargetTypeContainerInstance is a TargetType enum value 16150 TargetTypeContainerInstance = "container-instance" 16151) 16152 16153const ( 16154 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 16155 TaskDefinitionFamilyStatusActive = "ACTIVE" 16156 16157 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 16158 TaskDefinitionFamilyStatusInactive = "INACTIVE" 16159 16160 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 16161 TaskDefinitionFamilyStatusAll = "ALL" 16162) 16163 16164const ( 16165 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 16166 TaskDefinitionFieldTags = "TAGS" 16167) 16168 16169const ( 16170 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 16171 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 16172) 16173 16174const ( 16175 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 16176 TaskDefinitionStatusActive = "ACTIVE" 16177 16178 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 16179 TaskDefinitionStatusInactive = "INACTIVE" 16180) 16181 16182const ( 16183 // TaskFieldTags is a TaskField enum value 16184 TaskFieldTags = "TAGS" 16185) 16186 16187const ( 16188 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 16189 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 16190 16191 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 16192 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 16193 16194 // TaskStopCodeUserInitiated is a TaskStopCode enum value 16195 TaskStopCodeUserInitiated = "UserInitiated" 16196) 16197 16198const ( 16199 // TransportProtocolTcp is a TransportProtocol enum value 16200 TransportProtocolTcp = "tcp" 16201 16202 // TransportProtocolUdp is a TransportProtocol enum value 16203 TransportProtocolUdp = "udp" 16204) 16205 16206const ( 16207 // UlimitNameCore is a UlimitName enum value 16208 UlimitNameCore = "core" 16209 16210 // UlimitNameCpu is a UlimitName enum value 16211 UlimitNameCpu = "cpu" 16212 16213 // UlimitNameData is a UlimitName enum value 16214 UlimitNameData = "data" 16215 16216 // UlimitNameFsize is a UlimitName enum value 16217 UlimitNameFsize = "fsize" 16218 16219 // UlimitNameLocks is a UlimitName enum value 16220 UlimitNameLocks = "locks" 16221 16222 // UlimitNameMemlock is a UlimitName enum value 16223 UlimitNameMemlock = "memlock" 16224 16225 // UlimitNameMsgqueue is a UlimitName enum value 16226 UlimitNameMsgqueue = "msgqueue" 16227 16228 // UlimitNameNice is a UlimitName enum value 16229 UlimitNameNice = "nice" 16230 16231 // UlimitNameNofile is a UlimitName enum value 16232 UlimitNameNofile = "nofile" 16233 16234 // UlimitNameNproc is a UlimitName enum value 16235 UlimitNameNproc = "nproc" 16236 16237 // UlimitNameRss is a UlimitName enum value 16238 UlimitNameRss = "rss" 16239 16240 // UlimitNameRtprio is a UlimitName enum value 16241 UlimitNameRtprio = "rtprio" 16242 16243 // UlimitNameRttime is a UlimitName enum value 16244 UlimitNameRttime = "rttime" 16245 16246 // UlimitNameSigpending is a UlimitName enum value 16247 UlimitNameSigpending = "sigpending" 16248 16249 // UlimitNameStack is a UlimitName enum value 16250 UlimitNameStack = "stack" 16251) 16252