/
types.go
396 lines (296 loc) · 12.5 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
// 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's 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 that represents an Amazon ECR image.
type Image struct {
// An object that contains the image tag and image digest associated with an image.
ImageId *ImageIdentifier
// The image manifest that's associated with the image.
ImageManifest *string
// The manifest media type of the image.
ImageManifestMediaType *string
// The Amazon Web Services account ID that's associated with the registry
// containing the image.
RegistryId *string
// The name of the repository that's associated with the image.
RepositoryName *string
noSmithyDocumentSerde
}
// An object that describes an image that's 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, that the
// current image was pushed to the repository at.
ImagePushedAt *time.Time
// The size, in bytes, of the image in the repository. If the image is a manifest
// list, this is 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 might return a larger image size than the image
// sizes that are returned by DescribeImages .
ImageSizeInBytes *int64
// The list of tags that's associated with this image.
ImageTags []string
// The Amazon Web Services account ID that's associated with the public registry
// where this image belongs.
RegistryId *string
// The name of the repository where this image belongs.
RepositoryName *string
noSmithyDocumentSerde
}
// An object that represents an Amazon ECR image failure.
type ImageFailure struct {
// The code that's associated with the failure.
FailureCode ImageFailureCode
// The reason for the failure.
FailureReason *string
// The image ID that's 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 that's used for the image.
ImageTag *string
noSmithyDocumentSerde
}
// An object that represents the image tag details for an image.
type ImageTagDetail struct {
// The time stamp that indicates when the image tag was created.
CreatedAt *time.Time
// An object that describes the details of an image.
ImageDetail *ReferencedImageDetail
// The tag that's associated with the image.
ImageTag *string
noSmithyDocumentSerde
}
// An object that represents 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 that represents an Amazon ECR image layer failure.
type LayerFailure struct {
// The failure code that's associated with the failure.
FailureCode LayerFailureCode
// The reason for the failure.
FailureReason *string
// The layer digest that's associated with the failure.
LayerDigest *string
noSmithyDocumentSerde
}
// An object that describes the image tag details that are 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, which the
// current image tag was pushed to the repository at.
ImagePushedAt *time.Time
// The size, in bytes, of the image in the repository. If the image is a manifest
// list, this is 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 might return a larger image size than the image
// sizes that are returned by DescribeImages .
ImageSizeInBytes *int64
noSmithyDocumentSerde
}
// The details of a public registry.
type Registry struct {
// An array of objects that represents 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 Amazon Web Services account ID that's 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
// Indicates whether the account is a verified Amazon Web Services Marketplace
// vendor. If an account is verified, each public repository receives 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 when it's created. However, 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 {
// Indicates whether 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
// Indicates whether 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 isn't 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 Amazon Web Services account ID that's 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, Amazon Web
// Services 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 that contains the logo that's associated with the repository.
LogoUrl *string
// Indicates whether the repository is certified by Amazon Web Services
// 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 that contains 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's 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 appear
// as badges on the repository and are used as search filters. If an unsupported
// tag is added to your repository catalog data, it's associated with the
// repository and can be retrieved using the API but isn't discoverable in the
// Amazon ECR Public Gallery.
// - ARM
// - ARM 64
// - x86
// - x86-64
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 appear
// as badges on the repository and are used as search filters. If an unsupported
// tag is added to your repository catalog data, it's associated with the
// repository and can be retrieved using the API but isn't discoverable in the
// Amazon ECR Public Gallery.
// - Linux
// - Windows
OperatingSystems []string
// Detailed information about how to use the contents of the repository. It's
// 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. You define both. 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