File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (371 lines) | stat: -rw-r--r-- 9,649 bytes parent folder | download
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
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// A record of a presented X509 credential from a temporary credential request.
type CredentialSummary struct {

	// Indicates whether the credential is enabled.
	Enabled *bool

	// Indicates whether the temporary credential request was successful.
	Failed *bool

	// The fully qualified domain name of the issuing certificate for the presented
	// end-entity certificate.
	Issuer *string

	// The ISO-8601 time stamp of when the certificate was last used in a temporary
	// credential request.
	SeenAt *time.Time

	// The serial number of the certificate.
	SerialNumber *string

	// The PEM-encoded data of the certificate.
	X509CertificateData *string

	noSmithyDocumentSerde
}

// The state of the certificate revocation list (CRL) after a read or write
// operation.
type CrlDetail struct {

	// The ISO-8601 timestamp when the certificate revocation list (CRL) was created.
	CreatedAt *time.Time

	// The ARN of the certificate revocation list (CRL).
	CrlArn *string

	// The state of the certificate revocation list (CRL) after a read or write
	// operation.
	CrlData []byte

	// The unique identifier of the certificate revocation list (CRL).
	CrlId *string

	// Indicates whether the certificate revocation list (CRL) is enabled.
	Enabled *bool

	// The name of the certificate revocation list (CRL).
	Name *string

	// The ARN of the TrustAnchor the certificate revocation list (CRL) will provide
	// revocation for.
	TrustAnchorArn *string

	// The ISO-8601 timestamp when the certificate revocation list (CRL) was last
	// updated.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// A key-value pair you set that identifies a property of the authenticating
// instance.
type InstanceProperty struct {

	// Indicates whether the temporary credential request was successful.
	Failed *bool

	// A list of instanceProperty objects.
	Properties map[string]string

	// The ISO-8601 time stamp of when the certificate was last used in a temporary
	// credential request.
	SeenAt *time.Time

	noSmithyDocumentSerde
}

// Customizable notification settings that will be applied to notification events.
// IAM Roles Anywhere consumes these settings while notifying across multiple
// channels - CloudWatch metrics, EventBridge, and Health Dashboard.
type NotificationSetting struct {

	// Indicates whether the notification setting is enabled.
	//
	// This member is required.
	Enabled *bool

	// The event to which this notification setting is applied.
	//
	// This member is required.
	Event NotificationEvent

	// The specified channel of notification. IAM Roles Anywhere uses CloudWatch
	// metrics, EventBridge, and Health Dashboard to notify for an event. In the
	// absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL'
	// channels.
	Channel NotificationChannel

	// The number of days before a notification event. This value is required for a
	// notification setting that is enabled.
	Threshold *int32

	noSmithyDocumentSerde
}

// The state of a notification setting. A notification setting includes
// information such as event name, threshold, status of the notification setting,
// and the channel to notify.
type NotificationSettingDetail struct {

	// Indicates whether the notification setting is enabled.
	//
	// This member is required.
	Enabled *bool

	// The event to which this notification setting is applied.
	//
	// This member is required.
	Event NotificationEvent

	// The specified channel of notification. IAM Roles Anywhere uses CloudWatch
	// metrics, EventBridge, and Health Dashboard to notify for an event. In the
	// absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL'
	// channels.
	Channel NotificationChannel

	// The principal that configured the notification setting. For default settings
	// configured by IAM Roles Anywhere, the value is rolesanywhere.amazonaws.com , and
	// for customized notifications settings, it is the respective account ID.
	ConfiguredBy *string

	// The number of days before a notification event.
	Threshold *int32

	noSmithyDocumentSerde
}

// A notification setting key to reset. A notification setting key includes the
// event and the channel.
type NotificationSettingKey struct {

	// The notification setting event to reset.
	//
	// This member is required.
	Event NotificationEvent

	// The specified channel of notification.
	Channel NotificationChannel

	noSmithyDocumentSerde
}

// The state of the profile after a read or write operation.
type ProfileDetail struct {

	// The ISO-8601 timestamp when the profile was created.
	CreatedAt *time.Time

	// The Amazon Web Services account that created the profile.
	CreatedBy *string

	// The number of seconds the vended session credentials are valid for.
	DurationSeconds *int32

	// Indicates whether the profile is enabled.
	Enabled *bool

	// A list of managed policy ARNs that apply to the vended session credentials.
	ManagedPolicyArns []string

	// The name of the profile.
	Name *string

	// The ARN of the profile.
	ProfileArn *string

	// The unique identifier of the profile.
	ProfileId *string

	// Specifies whether instance properties are required in temporary credential
	// requests with this profile.
	RequireInstanceProperties *bool

	// A list of IAM roles that this profile can assume in a temporary credential
	// request.
	RoleArns []string

	// A session policy that applies to the trust boundary of the vended session
	// credentials.
	SessionPolicy *string

	// The ISO-8601 timestamp when the profile was last updated.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// The trust anchor type and its related certificate data.
type Source struct {

	// The data field of the trust anchor depending on its type.
	SourceData SourceData

	// The type of the trust anchor.
	SourceType TrustAnchorType

	noSmithyDocumentSerde
}

// The data field of the trust anchor depending on its type.
//
// The following types satisfy this interface:
//
//	SourceDataMemberAcmPcaArn
//	SourceDataMemberX509CertificateData
type SourceData interface {
	isSourceData()
}

// The root certificate of the Private Certificate Authority specified by this ARN
// is used in trust validation for temporary credential requests. Included for
// trust anchors of type AWS_ACM_PCA .
type SourceDataMemberAcmPcaArn struct {
	Value string

	noSmithyDocumentSerde
}

func (*SourceDataMemberAcmPcaArn) isSourceData() {}

// The PEM-encoded data for the certificate anchor. Included for trust anchors of
// type CERTIFICATE_BUNDLE .
type SourceDataMemberX509CertificateData struct {
	Value string

	noSmithyDocumentSerde
}

func (*SourceDataMemberX509CertificateData) isSourceData() {}

// The state of the subject after a read or write operation.
type SubjectDetail struct {

	// The ISO-8601 timestamp when the subject was created.
	CreatedAt *time.Time

	// The temporary session credentials vended at the last authenticating call with
	// this subject.
	Credentials []CredentialSummary

	// The enabled status of the subject.
	Enabled *bool

	// The specified instance properties associated with the request.
	InstanceProperties []InstanceProperty

	// The ISO-8601 timestamp of the last time this subject requested temporary
	// session credentials.
	LastSeenAt *time.Time

	// The ARN of the resource.
	SubjectArn *string

	// The id of the resource
	SubjectId *string

	// The ISO-8601 timestamp when the subject was last updated.
	UpdatedAt *time.Time

	// The x509 principal identifier of the authenticating certificate.
	X509Subject *string

	noSmithyDocumentSerde
}

// A summary representation of subjects.
type SubjectSummary struct {

	// The ISO-8601 time stamp of when the certificate was first used in a temporary
	// credential request.
	CreatedAt *time.Time

	// The enabled status of the subject.
	Enabled *bool

	// The ISO-8601 time stamp of when the certificate was last used in a temporary
	// credential request.
	LastSeenAt *time.Time

	// The ARN of the resource.
	SubjectArn *string

	// The id of the resource.
	SubjectId *string

	// The ISO-8601 timestamp when the subject was last updated.
	UpdatedAt *time.Time

	// The x509 principal identifier of the authenticating certificate.
	X509Subject *string

	noSmithyDocumentSerde
}

// A label that consists of a key and value you define.
type Tag struct {

	// The tag key.
	//
	// This member is required.
	Key *string

	// The tag value.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The state of the trust anchor after a read or write operation.
type TrustAnchorDetail struct {

	// The ISO-8601 timestamp when the trust anchor was created.
	CreatedAt *time.Time

	// Indicates whether the trust anchor is enabled.
	Enabled *bool

	// The name of the trust anchor.
	Name *string

	// A list of notification settings to be associated to the trust anchor.
	NotificationSettings []NotificationSettingDetail

	// The trust anchor type and its related certificate data.
	Source *Source

	// The ARN of the trust anchor.
	TrustAnchorArn *string

	// The unique identifier of the trust anchor.
	TrustAnchorId *string

	// The ISO-8601 timestamp when the trust anchor was last updated.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde

// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
	Tag   string
	Value []byte

	noSmithyDocumentSerde
}

func (*UnknownUnionMember) isSourceData() {}