/
types.go
405 lines (305 loc) · 12.3 KB
/
types.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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// An authorization token data object that corresponds to a public registry.
type AuthorizationData struct {
// A base64-encoded string that contains authorization data for a public Amazon ECR
// registry. When the string is decoded, it is presented in the format
// user:password for public registry authentication using docker login.
AuthorizationToken *string
// The Unix time in seconds and milliseconds when the authorization token expires.
// Authorization tokens are valid for 12 hours.
ExpiresAt *time.Time
noSmithyDocumentSerde
}
// An object representing an Amazon ECR image.
type Image struct {
// An object containing the image tag and image digest associated with an image.
ImageId *ImageIdentifier
// The image manifest associated with the image.
ImageManifest *string
// The manifest media type of the image.
ImageManifestMediaType *string
// The AWS account ID associated with the registry containing the image.
RegistryId *string
// The name of the repository associated with the image.
RepositoryName *string
noSmithyDocumentSerde
}
// An object that describes an image returned by a DescribeImages operation.
type ImageDetail struct {
// The artifact media type of the image.
ArtifactMediaType *string
// The sha256 digest of the image manifest.
ImageDigest *string
// The media type of the image manifest.
ImageManifestMediaType *string
// The date and time, expressed in standard JavaScript date format, at which the
// current image was pushed to the repository.
ImagePushedAt *time.Time
// The size, in bytes, of the image in the repository. If the image is a manifest
// list, this will be the max size of all manifests in the list. Beginning with
// Docker version 1.9, the Docker client compresses image layers before pushing
// them to a V2 Docker registry. The output of the docker images command shows the
// uncompressed image size, so it may return a larger image size than the image
// sizes returned by DescribeImages.
ImageSizeInBytes *int64
// The list of tags associated with this image.
ImageTags []string
// The AWS account ID associated with the public registry to which this image
// belongs.
RegistryId *string
// The name of the repository to which this image belongs.
RepositoryName *string
noSmithyDocumentSerde
}
// An object representing an Amazon ECR image failure.
type ImageFailure struct {
// The code associated with the failure.
FailureCode ImageFailureCode
// The reason for the failure.
FailureReason *string
// The image ID associated with the failure.
ImageId *ImageIdentifier
noSmithyDocumentSerde
}
// An object with identifying information for an Amazon ECR image.
type ImageIdentifier struct {
// The sha256 digest of the image manifest.
ImageDigest *string
// The tag used for the image.
ImageTag *string
noSmithyDocumentSerde
}
// An object representing the image tag details for an image.
type ImageTagDetail struct {
// The time stamp indicating when the image tag was created.
CreatedAt *time.Time
// An object that describes the details of an image.
ImageDetail *ReferencedImageDetail
// The tag associated with the image.
ImageTag *string
noSmithyDocumentSerde
}
// An object representing an Amazon ECR image layer.
type Layer struct {
// The availability status of the image layer.
LayerAvailability LayerAvailability
// The sha256 digest of the image layer.
LayerDigest *string
// The size, in bytes, of the image layer.
LayerSize *int64
// The media type of the layer, such as
// application/vnd.docker.image.rootfs.diff.tar.gzip or
// application/vnd.oci.image.layer.v1.tar+gzip.
MediaType *string
noSmithyDocumentSerde
}
// An object representing an Amazon ECR image layer failure.
type LayerFailure struct {
// The failure code associated with the failure.
FailureCode LayerFailureCode
// The reason for the failure.
FailureReason *string
// The layer digest associated with the failure.
LayerDigest *string
noSmithyDocumentSerde
}
// An object that describes the image tag details returned by a DescribeImageTags
// action.
type ReferencedImageDetail struct {
// The artifact media type of the image.
ArtifactMediaType *string
// The sha256 digest of the image manifest.
ImageDigest *string
// The media type of the image manifest.
ImageManifestMediaType *string
// The date and time, expressed in standard JavaScript date format, at which the
// current image tag was pushed to the repository.
ImagePushedAt *time.Time
// The size, in bytes, of the image in the repository. If the image is a manifest
// list, this will be the max size of all manifests in the list. Beginning with
// Docker version 1.9, the Docker client compresses image layers before pushing
// them to a V2 Docker registry. The output of the docker images command shows the
// uncompressed image size, so it may return a larger image size than the image
// sizes returned by DescribeImages.
ImageSizeInBytes *int64
noSmithyDocumentSerde
}
// The details of a public registry.
type Registry struct {
// An array of objects representing the aliases for a public registry.
//
// This member is required.
Aliases []RegistryAlias
// The Amazon Resource Name (ARN) of the public registry.
//
// This member is required.
RegistryArn *string
// The AWS account ID associated with the registry. If you do not specify a
// registry, the default public registry is assumed.
//
// This member is required.
RegistryId *string
// The URI of a public registry. The URI contains a universal prefix and the
// registry alias.
//
// This member is required.
RegistryUri *string
// Whether the account is verified. This indicates whether the account is an AWS
// Marketplace vendor. If an account is verified, each public repository will
// received a verified account badge on the Amazon ECR Public Gallery.
//
// This member is required.
Verified *bool
noSmithyDocumentSerde
}
// An object representing the aliases for a public registry. A public registry is
// given an alias upon creation but a custom alias can be set using the Amazon ECR
// console. For more information, see Registries
// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html) in the
// Amazon Elastic Container Registry User Guide.
type RegistryAlias struct {
// Whether or not the registry alias is the default alias for the registry. When
// the first public repository is created, your public registry is assigned a
// default registry alias.
//
// This member is required.
DefaultRegistryAlias bool
// The name of the registry alias.
//
// This member is required.
Name *string
// Whether or not the registry alias is the primary alias for the registry. If
// true, the alias is the primary registry alias and is displayed in both the
// repository URL and the image URI used in the docker pull commands on the Amazon
// ECR Public Gallery. A registry alias that is not the primary registry alias can
// be used in the repository URI in a docker pull command.
//
// This member is required.
PrimaryRegistryAlias bool
// The status of the registry alias.
//
// This member is required.
Status RegistryAliasStatus
noSmithyDocumentSerde
}
// The metadata for a public registry.
type RegistryCatalogData struct {
// The display name for a public registry. This appears on the Amazon ECR Public
// Gallery. Only accounts that have the verified account badge can have a registry
// display name.
DisplayName *string
noSmithyDocumentSerde
}
// An object representing a repository.
type Repository struct {
// The date and time, in JavaScript date format, when the repository was created.
CreatedAt *time.Time
// The AWS account ID associated with the public registry that contains the
// repository.
RegistryId *string
// The Amazon Resource Name (ARN) that identifies the repository. The ARN contains
// the arn:aws:ecr namespace, followed by the region of the repository, AWS account
// ID of the repository owner, repository namespace, and repository name. For
// example, arn:aws:ecr:region:012345678910:repository/test.
RepositoryArn *string
// The name of the repository.
RepositoryName *string
// The URI for the repository. You can use this URI for container image push and
// pull operations.
RepositoryUri *string
noSmithyDocumentSerde
}
// The catalog data for a repository. This data is publicly visible in the Amazon
// ECR Public Gallery.
type RepositoryCatalogData struct {
// The longform description of the contents of the repository. This text appears in
// the repository details on the Amazon ECR Public Gallery.
AboutText *string
// The architecture tags that are associated with the repository. Only supported
// operating system tags appear publicly in the Amazon ECR Public Gallery. For more
// information, see RepositoryCatalogDataInput.
Architectures []string
// The short description of the repository.
Description *string
// The URL containing the logo associated with the repository.
LogoUrl *string
// Whether or not the repository is certified by AWS Marketplace.
MarketplaceCertified *bool
// The operating system tags that are associated with the repository. Only
// supported operating system tags appear publicly in the Amazon ECR Public
// Gallery. For more information, see RepositoryCatalogDataInput.
OperatingSystems []string
// The longform usage details of the contents of the repository. The usage text
// provides context for users of the repository.
UsageText *string
noSmithyDocumentSerde
}
// An object containing the catalog data for a repository. This data is publicly
// visible in the Amazon ECR Public Gallery.
type RepositoryCatalogDataInput struct {
// A detailed description of the contents of the repository. It is publicly visible
// in the Amazon ECR Public Gallery. The text must be in markdown format.
AboutText *string
// The system architecture that the images in the repository are compatible with.
// On the Amazon ECR Public Gallery, the following supported architectures will
// appear as badges on the repository and are used as search filters.
//
// * Linux
//
// *
// Windows
//
// If an unsupported tag is added to your repository catalog data, it will
// be associated with the repository and can be retrieved using the API but will
// not be discoverable in the Amazon ECR Public Gallery.
Architectures []string
// A short description of the contents of the repository. This text appears in both
// the image details and also when searching for repositories on the Amazon ECR
// Public Gallery.
Description *string
// The base64-encoded repository logo payload. The repository logo is only publicly
// visible in the Amazon ECR Public Gallery for verified accounts.
LogoImageBlob []byte
// The operating systems that the images in the repository are compatible with. On
// the Amazon ECR Public Gallery, the following supported operating systems will
// appear as badges on the repository and are used as search filters.
//
// * ARM
//
// * ARM
// 64
//
// * x86
//
// * x86-64
//
// If an unsupported tag is added to your repository catalog
// data, it will be associated with the repository and can be retrieved using the
// API but will not be discoverable in the Amazon ECR Public Gallery.
OperatingSystems []string
// Detailed information on how to use the contents of the repository. It is
// publicly visible in the Amazon ECR Public Gallery. The usage text provides
// context, support information, and additional usage details for users of the
// repository. The text must be in markdown format.
UsageText *string
noSmithyDocumentSerde
}
// The metadata that you apply to a resource to help you categorize and organize
// them. Each tag consists of a key and an optional value, both of which you
// define. Tag keys can have a maximum character length of 128 characters, and tag
// values can have a maximum length of 256 characters.
type Tag struct {
// One part of a key-value pair that make up a tag. A key is a general label that
// acts like a category for more specific tag values.
Key *string
// The optional part of a key-value pair that make up a tag. A value acts as a
// descriptor within a tag category (key).
Value *string
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde