-
Notifications
You must be signed in to change notification settings - Fork 604
/
api_op_DeregisterTaskDefinition.go
133 lines (110 loc) · 4.48 KB
/
api_op_DeregisterTaskDefinition.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ecs
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type DeregisterTaskDefinitionInput struct {
_ struct{} `type:"structure"`
// The family and revision (family:revision) or full Amazon Resource Name (ARN)
// of the task definition to deregister. You must specify a revision.
//
// TaskDefinition is a required field
TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
}
// String returns the string representation
func (s DeregisterTaskDefinitionInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeregisterTaskDefinitionInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"}
if s.TaskDefinition == nil {
invalidParams.Add(aws.NewErrParamRequired("TaskDefinition"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DeregisterTaskDefinitionOutput struct {
_ struct{} `type:"structure"`
// The full description of the deregistered task.
TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"`
}
// String returns the string representation
func (s DeregisterTaskDefinitionOutput) String() string {
return awsutil.Prettify(s)
}
const opDeregisterTaskDefinition = "DeregisterTaskDefinition"
// DeregisterTaskDefinitionRequest returns a request value for making API operation for
// Amazon EC2 Container Service.
//
// Deregisters the specified task definition by family and revision. Upon deregistration,
// the task definition is marked as INACTIVE. Existing tasks and services that
// reference an INACTIVE task definition continue to run without disruption.
// Existing services that reference an INACTIVE task definition can still scale
// up or down by modifying the service's desired count.
//
// You cannot use an INACTIVE task definition to run new tasks or create new
// services, and you cannot update an existing service to reference an INACTIVE
// task definition. However, there may be up to a 10-minute window following
// deregistration where these restrictions have not yet taken effect.
//
// At this time, INACTIVE task definitions remain discoverable in your account
// indefinitely. However, this behavior is subject to change in the future,
// so you should not rely on INACTIVE task definitions persisting beyond the
// lifecycle of any associated tasks and services.
//
// // Example sending a request using DeregisterTaskDefinitionRequest.
// req := client.DeregisterTaskDefinitionRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition
func (c *Client) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) DeregisterTaskDefinitionRequest {
op := &aws.Operation{
Name: opDeregisterTaskDefinition,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeregisterTaskDefinitionInput{}
}
req := c.newRequest(op, input, &DeregisterTaskDefinitionOutput{})
return DeregisterTaskDefinitionRequest{Request: req, Input: input, Copy: c.DeregisterTaskDefinitionRequest}
}
// DeregisterTaskDefinitionRequest is the request type for the
// DeregisterTaskDefinition API operation.
type DeregisterTaskDefinitionRequest struct {
*aws.Request
Input *DeregisterTaskDefinitionInput
Copy func(*DeregisterTaskDefinitionInput) DeregisterTaskDefinitionRequest
}
// Send marshals and sends the DeregisterTaskDefinition API request.
func (r DeregisterTaskDefinitionRequest) Send(ctx context.Context) (*DeregisterTaskDefinitionResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DeregisterTaskDefinitionResponse{
DeregisterTaskDefinitionOutput: r.Request.Data.(*DeregisterTaskDefinitionOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DeregisterTaskDefinitionResponse is the response type for the
// DeregisterTaskDefinition API operation.
type DeregisterTaskDefinitionResponse struct {
*DeregisterTaskDefinitionOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DeregisterTaskDefinition request.
func (r *DeregisterTaskDefinitionResponse) SDKResponseMetdata() *aws.Response {
return r.response
}