-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_DescribeType.go
227 lines (188 loc) · 7.28 KB
/
api_op_DescribeType.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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudformation
import (
"context"
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type DescribeTypeInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the type.
//
// Conditional: You must specify TypeName or Arn.
Arn *string `type:"string"`
// The kind of type.
//
// Currently the only valid value is RESOURCE.
Type RegistryType `type:"string" enum:"true"`
// The name of the type.
//
// Conditional: You must specify TypeName or Arn.
TypeName *string `min:"10" type:"string"`
// The ID of a specific version of the type. The version ID is the value at
// the end of the Amazon Resource Name (ARN) assigned to the type version when
// it is registered.
//
// If you specify a VersionId, DescribeType returns information about that specific
// type version. Otherwise, it returns information about the default type version.
VersionId *string `min:"1" type:"string"`
}
// String returns the string representation
func (s DescribeTypeInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeTypeInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DescribeTypeInput"}
if s.TypeName != nil && len(*s.TypeName) < 10 {
invalidParams.Add(aws.NewErrParamMinLen("TypeName", 10))
}
if s.VersionId != nil && len(*s.VersionId) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("VersionId", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DescribeTypeOutput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the type.
Arn *string `type:"string"`
// The ID of the default version of the type. The default version is used when
// the type version is not specified.
//
// To set the default version of a type, use SetTypeDefaultVersion .
DefaultVersionId *string `min:"1" type:"string"`
// The deprecation status of the type.
//
// Valid values include:
//
// * LIVE: The type is registered and can be used in CloudFormation operations,
// dependent on its provisioning behavior and visibility scope.
//
// * DEPRECATED: The type has been deregistered and can no longer be used
// in CloudFormation operations.
DeprecatedStatus DeprecatedStatus `type:"string" enum:"true"`
// The description of the registered type.
Description *string `min:"1" type:"string"`
// The URL of a page providing detailed documentation for this type.
DocumentationUrl *string `type:"string"`
// The Amazon Resource Name (ARN) of the IAM execution role used to register
// the type. If your resource type calls AWS APIs in any of its handlers, you
// must create an IAM execution role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
// that includes the necessary permissions to call those AWS APIs, and provision
// that execution role in your account. CloudFormation then assumes that execution
// role to provide your resource type with the appropriate credentials.
ExecutionRoleArn *string `min:"1" type:"string"`
// When the specified type version was registered.
LastUpdated *time.Time `type:"timestamp"`
// Contains logging configuration information for a type.
LoggingConfig *LoggingConfig `type:"structure"`
// The provisioning behavior of the type. AWS CloudFormation determines the
// provisioning type during registration, based on the types of handlers in
// the schema handler package submitted.
//
// Valid values include:
//
// * FULLY_MUTABLE: The type includes an update handler to process updates
// to the type during stack update operations.
//
// * IMMUTABLE: The type does not include an update handler, so the type
// cannot be updated and must instead be replaced during stack update operations.
//
// * NON_PROVISIONABLE: The type does not include all of the following handlers,
// and therefore cannot actually be provisioned. create read delete
ProvisioningType ProvisioningType `type:"string" enum:"true"`
// The schema that defines the type.
//
// For more information on type schemas, see Resource Provider Schema (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html)
// in the CloudFormation CLI User Guide.
Schema *string `min:"1" type:"string"`
// The URL of the source code for the type.
SourceUrl *string `type:"string"`
// When the specified type version was registered.
TimeCreated *time.Time `type:"timestamp"`
// The kind of type.
//
// Currently the only valid value is RESOURCE.
Type RegistryType `type:"string" enum:"true"`
// The name of the registered type.
TypeName *string `min:"10" type:"string"`
// The scope at which the type is visible and usable in CloudFormation operations.
//
// Valid values include:
//
// * PRIVATE: The type is only visible and usable within the account in which
// it is registered. Currently, AWS CloudFormation marks any types you register
// as PRIVATE.
//
// * PUBLIC: The type is publically visible and usable within any Amazon
// account.
Visibility Visibility `type:"string" enum:"true"`
}
// String returns the string representation
func (s DescribeTypeOutput) String() string {
return awsutil.Prettify(s)
}
const opDescribeType = "DescribeType"
// DescribeTypeRequest returns a request value for making API operation for
// AWS CloudFormation.
//
// Returns detailed information about a type that has been registered.
//
// If you specify a VersionId, DescribeType returns information about that specific
// type version. Otherwise, it returns information about the default type version.
//
// // Example sending a request using DescribeTypeRequest.
// req := client.DescribeTypeRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeType
func (c *Client) DescribeTypeRequest(input *DescribeTypeInput) DescribeTypeRequest {
op := &aws.Operation{
Name: opDescribeType,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTypeInput{}
}
req := c.newRequest(op, input, &DescribeTypeOutput{})
return DescribeTypeRequest{Request: req, Input: input, Copy: c.DescribeTypeRequest}
}
// DescribeTypeRequest is the request type for the
// DescribeType API operation.
type DescribeTypeRequest struct {
*aws.Request
Input *DescribeTypeInput
Copy func(*DescribeTypeInput) DescribeTypeRequest
}
// Send marshals and sends the DescribeType API request.
func (r DescribeTypeRequest) Send(ctx context.Context) (*DescribeTypeResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DescribeTypeResponse{
DescribeTypeOutput: r.Request.Data.(*DescribeTypeOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DescribeTypeResponse is the response type for the
// DescribeType API operation.
type DescribeTypeResponse struct {
*DescribeTypeOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DescribeType request.
func (r *DescribeTypeResponse) SDKResponseMetdata() *aws.Response {
return r.response
}