1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Information about an entity that is affected by a Health event.
10type AffectedEntity struct {
11
12	// The 12-digit AWS account number that contains the affected entity.
13	AwsAccountId *string
14
15	// The unique identifier for the entity. Format:
16	// arn:aws:health:entity-region:aws-account:entity/entity-id . Example:
17	// arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K
18	EntityArn *string
19
20	// The URL of the affected entity.
21	EntityUrl *string
22
23	// The ID of the affected entity.
24	EntityValue *string
25
26	// The unique identifier for the event. Format:
27	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
28	// Example: Example:
29	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
30	EventArn *string
31
32	// The most recent time that the entity was updated.
33	LastUpdatedTime *time.Time
34
35	// The most recent status of the entity affected by the event. The possible values
36	// are IMPAIRED, UNIMPAIRED, and UNKNOWN.
37	StatusCode EntityStatusCode
38
39	// A map of entity tags attached to the affected entity. Currently, the tags
40	// property isn't supported.
41	Tags map[string]string
42}
43
44// A range of dates and times that is used by the EventFilter
45// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventFilter.html)
46// and EntityFilter
47// (https://docs.aws.amazon.com/health/latest/APIReference/API_EntityFilter.html)
48// objects. If from is set and to is set: match items where the timestamp
49// (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If
50// from is set and to is not set: match items where the timestamp value is equal to
51// or after from. If from is not set and to is set: match items where the timestamp
52// value is equal to or before to.
53type DateTimeRange struct {
54
55	// The starting date and time of a time range.
56	From *time.Time
57
58	// The ending date and time of a time range.
59	To *time.Time
60}
61
62// The number of entities that are affected by one or more events. Returned by the
63// DescribeEntityAggregates
64// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEntityAggregates.html)
65// operation.
66type EntityAggregate struct {
67
68	// The number of entities that match the criteria for the specified events.
69	Count int32
70
71	// The unique identifier for the event. Format:
72	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
73	// Example: Example:
74	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
75	EventArn *string
76}
77
78// The values to use to filter results from the EntityFilter
79// (https://docs.aws.amazon.com/health/latest/APIReference/API_EntityFilter.html)
80// operation.
81type EntityFilter struct {
82
83	// A list of event ARNs (unique identifiers). For example:
84	// "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456",
85	// "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101"
86	//
87	// This member is required.
88	EventArns []string
89
90	// A list of entity ARNs (unique identifiers).
91	EntityArns []string
92
93	// A list of IDs for affected entities.
94	EntityValues []string
95
96	// A list of the most recent dates and times that the entity was updated.
97	LastUpdatedTimes []DateTimeRange
98
99	// A list of entity status codes (IMPAIRED, UNIMPAIRED, or UNKNOWN).
100	StatusCodes []EntityStatusCode
101
102	// A map of entity tags attached to the affected entity. Currently, the tags
103	// property isn't supported.
104	Tags []map[string]string
105}
106
107// Summary information about an AWS Health event. AWS Health events can be public
108// or account-specific:
109//
110// * Public events might be service events that are not
111// specific to an AWS account. For example, if there is an issue with an AWS
112// Region, AWS Health provides information about the event, even if you don't use
113// services or resources in that Region.
114//
115// * Account-specific events are specific to
116// either your AWS account or an account in your organization. For example, if
117// there's an issue with Amazon Elastic Compute Cloud in a Region that you use, AWS
118// Health provides information about the event and the affected resources in the
119// account.
120//
121// You can determine if an event is public or account-specific by using
122// the eventScopeCode parameter. For more information, see eventScopeCode
123// (https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html#AWSHealth-Type-Event-eventScopeCode).
124type Event struct {
125
126	// The unique identifier for the event. Format:
127	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
128	// Example: Example:
129	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
130	Arn *string
131
132	// The AWS Availability Zone of the event. For example, us-east-1a.
133	AvailabilityZone *string
134
135	// The date and time that the event ended.
136	EndTime *time.Time
137
138	// This parameter specifies if the AWS Health event is a public AWS service event
139	// or an account-specific event.
140	//
141	// * If the eventScopeCode value is PUBLIC, then the
142	// affectedAccounts value is always empty.
143	//
144	// * If the eventScopeCode value is
145	// ACCOUNT_SPECIFIC, then the affectedAccounts value lists the affected AWS
146	// accounts in your organization. For example, if an event affects a service such
147	// as Amazon Elastic Compute Cloud and you have AWS accounts that use that service,
148	// those account IDs appear in the response.
149	//
150	// * If the eventScopeCode value is
151	// NONE, then the eventArn that you specified in the request is invalid or doesn't
152	// exist.
153	EventScopeCode EventScopeCode
154
155	// The category of the event. Possible values are issue, scheduledChange, and
156	// accountNotification.
157	EventTypeCategory EventTypeCategory
158
159	// The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION
160	// ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.
161	EventTypeCode *string
162
163	// The most recent date and time that the event was updated.
164	LastUpdatedTime *time.Time
165
166	// The AWS region name of the event.
167	Region *string
168
169	// The AWS service that is affected by the event. For example, EC2, RDS.
170	Service *string
171
172	// The date and time that the event began.
173	StartTime *time.Time
174
175	// The most recent status of the event. Possible values are open, closed, and
176	// upcoming.
177	StatusCode EventStatusCode
178}
179
180// The values used to filter results from the DescribeEventDetailsForOrganization
181// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html)
182// and DescribeAffectedEntitiesForOrganization
183// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntitiesForOrganization.html)
184// operations.
185type EventAccountFilter struct {
186
187	// The unique identifier for the event. Format:
188	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
189	// Example: Example:
190	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
191	//
192	// This member is required.
193	EventArn *string
194
195	// The 12-digit AWS account numbers that contains the affected entities.
196	AwsAccountId *string
197}
198
199// The number of events of each issue type. Returned by the DescribeEventAggregates
200// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventAggregates.html)
201// operation.
202type EventAggregate struct {
203
204	// The issue type for the associated count.
205	AggregateValue *string
206
207	// The number of events of the associated issue type.
208	Count int32
209}
210
211// The detailed description of the event. Included in the information returned by
212// the DescribeEventDetails
213// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html)
214// operation.
215type EventDescription struct {
216
217	// The most recent description of the event.
218	LatestDescription *string
219}
220
221// Detailed information about an event. A combination of an Event
222// (https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html) object,
223// an EventDescription
224// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventDescription.html)
225// object, and additional metadata about the event. Returned by the
226// DescribeEventDetails
227// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html)
228// operation.
229type EventDetails struct {
230
231	// Summary information about the event.
232	Event *Event
233
234	// The most recent description of the event.
235	EventDescription *EventDescription
236
237	// Additional metadata about the event.
238	EventMetadata map[string]string
239}
240
241// Error information returned when a DescribeEventDetails
242// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html)
243// operation cannot find a specified event.
244type EventDetailsErrorItem struct {
245
246	// A message that describes the error.
247	ErrorMessage *string
248
249	// The name of the error.
250	ErrorName *string
251
252	// The unique identifier for the event. Format:
253	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
254	// Example: Example:
255	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
256	EventArn *string
257}
258
259// The values to use to filter results from the DescribeEvents
260// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEvents.html)
261// and DescribeEventAggregates
262// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventAggregates.html)
263// operations.
264type EventFilter struct {
265
266	// A list of AWS availability zones.
267	AvailabilityZones []string
268
269	// A list of dates and times that the event ended.
270	EndTimes []DateTimeRange
271
272	// A list of entity ARNs (unique identifiers).
273	EntityArns []string
274
275	// A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS
276	// volumes (vol-426ab23e).
277	EntityValues []string
278
279	// A list of event ARNs (unique identifiers). For example:
280	// "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456",
281	// "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101"
282	EventArns []string
283
284	// A list of event status codes.
285	EventStatusCodes []EventStatusCode
286
287	// A list of event type category codes (issue, scheduledChange, or
288	// accountNotification).
289	EventTypeCategories []EventTypeCategory
290
291	// A list of unique identifiers for event types. For example,
292	// "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED".
293	EventTypeCodes []string
294
295	// A list of dates and times that the event was last updated.
296	LastUpdatedTimes []DateTimeRange
297
298	// A list of AWS regions.
299	Regions []string
300
301	// The AWS services associated with the event. For example, EC2, RDS.
302	Services []string
303
304	// A list of dates and times that the event began.
305	StartTimes []DateTimeRange
306
307	// A map of entity tags attached to the affected entity. Currently, the tags
308	// property isn't supported.
309	Tags []map[string]string
310}
311
312// Contains the metadata about a type of event that is reported by AWS Health. The
313// EventType shows the category, service, and the event type code of the event. For
314// example, an issue might be the category, EC2 the service, and
315// AWS_EC2_SYSTEM_MAINTENANCE_EVENT the event type code. You can use the
316// DescribeEventTypes
317// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventTypes.html)
318// API operation to return this information about an event. You can also use the
319// Amazon CloudWatch Events console to create a rule so that you can get notified
320// or take action when AWS Health delivers a specific event to your AWS account.
321// For more information, see Monitor for AWS Health events with Amazon CloudWatch
322// Events
323// (https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html) in
324// the AWS Health User Guide.
325type EventType struct {
326
327	// A list of event type category codes (issue, scheduledChange, or
328	// accountNotification).
329	Category EventTypeCategory
330
331	// The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION
332	// ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.
333	Code *string
334
335	// The AWS service that is affected by the event. For example, EC2, RDS.
336	Service *string
337}
338
339// The values to use to filter results from the DescribeEventTypes
340// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventTypes.html)
341// operation.
342type EventTypeFilter struct {
343
344	// A list of event type category codes (issue, scheduledChange, or
345	// accountNotification).
346	EventTypeCategories []EventTypeCategory
347
348	// A list of event type codes.
349	EventTypeCodes []string
350
351	// The AWS services associated with the event. For example, EC2, RDS.
352	Services []string
353}
354
355// Error information returned when a DescribeAffectedEntitiesForOrganization
356// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntitiesForOrganization.html)
357// operation cannot find or process a specific entity.
358type OrganizationAffectedEntitiesErrorItem struct {
359
360	// The 12-digit AWS account numbers that contains the affected entities.
361	AwsAccountId *string
362
363	// The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION.
364	// For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.
365	ErrorMessage *string
366
367	// The name of the error.
368	ErrorName *string
369
370	// The unique identifier for the event. Format:
371	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
372	// Example: Example:
373	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
374	EventArn *string
375}
376
377// Summary information about an event, returned by the
378// DescribeEventsForOrganization
379// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventsForOrganization.html)
380// operation.
381type OrganizationEvent struct {
382
383	// The unique identifier for the event. Format:
384	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
385	// Example: Example:
386	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
387	Arn *string
388
389	// The date and time that the event ended.
390	EndTime *time.Time
391
392	// This parameter specifies if the AWS Health event is a public AWS service event
393	// or an account-specific event.
394	//
395	// * If the eventScopeCode value is PUBLIC, then the
396	// affectedAccounts value is always empty.
397	//
398	// * If the eventScopeCode value is
399	// ACCOUNT_SPECIFIC, then the affectedAccounts value lists the affected AWS
400	// accounts in your organization. For example, if an event affects a service such
401	// as Amazon Elastic Compute Cloud and you have AWS accounts that use that service,
402	// those account IDs appear in the response.
403	//
404	// * If the eventScopeCode value is
405	// NONE, then the eventArn that you specified in the request is invalid or doesn't
406	// exist.
407	EventScopeCode EventScopeCode
408
409	// The category of the event type.
410	EventTypeCategory EventTypeCategory
411
412	// The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION.
413	// For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.
414	EventTypeCode *string
415
416	// The most recent date and time that the event was updated.
417	LastUpdatedTime *time.Time
418
419	// The AWS Region name of the event.
420	Region *string
421
422	// The AWS service that is affected by the event. For example, EC2, RDS.
423	Service *string
424
425	// The date and time that the event began.
426	StartTime *time.Time
427
428	// The most recent status of the event. Possible values are open, closed, and
429	// upcoming.
430	StatusCode EventStatusCode
431}
432
433// Detailed information about an event. A combination of an Event
434// (https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html) object,
435// an EventDescription
436// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventDescription.html)
437// object, and additional metadata about the event. Returned by the
438// DescribeEventDetailsForOrganization
439// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html)
440// operation.
441type OrganizationEventDetails struct {
442
443	// The 12-digit AWS account numbers that contains the affected entities.
444	AwsAccountId *string
445
446	// Summary information about an AWS Health event. AWS Health events can be public
447	// or account-specific:
448	//
449	// * Public events might be service events that are not
450	// specific to an AWS account. For example, if there is an issue with an AWS
451	// Region, AWS Health provides information about the event, even if you don't use
452	// services or resources in that Region.
453	//
454	// * Account-specific events are specific to
455	// either your AWS account or an account in your organization. For example, if
456	// there's an issue with Amazon Elastic Compute Cloud in a Region that you use, AWS
457	// Health provides information about the event and the affected resources in the
458	// account.
459	//
460	// You can determine if an event is public or account-specific by using
461	// the eventScopeCode parameter. For more information, see eventScopeCode
462	// (https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html#AWSHealth-Type-Event-eventScopeCode).
463	Event *Event
464
465	// The detailed description of the event. Included in the information returned by
466	// the DescribeEventDetails
467	// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html)
468	// operation.
469	EventDescription *EventDescription
470
471	// Additional metadata about the event.
472	EventMetadata map[string]string
473}
474
475// Error information returned when a DescribeEventDetailsForOrganization
476// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html)
477// operation cannot find a specified event.
478type OrganizationEventDetailsErrorItem struct {
479
480	// Error information returned when a DescribeEventDetailsForOrganization
481	// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html)
482	// operation cannot find a specified event.
483	AwsAccountId *string
484
485	// A message that describes the error.
486	ErrorMessage *string
487
488	// The name of the error.
489	ErrorName *string
490
491	// The unique identifier for the event. Format:
492	// arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID .
493	// Example: Example:
494	// arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456
495	EventArn *string
496}
497
498// The values to filter results from the DescribeEventsForOrganization
499// (https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventsForOrganization.html)
500// operation.
501type OrganizationEventFilter struct {
502
503	// A list of 12-digit AWS account numbers that contains the affected entities.
504	AwsAccountIds []string
505
506	// A range of dates and times that is used by the EventFilter
507	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventFilter.html)
508	// and EntityFilter
509	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EntityFilter.html)
510	// objects. If from is set and to is set: match items where the timestamp
511	// (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If
512	// from is set and to is not set: match items where the timestamp value is equal to
513	// or after from. If from is not set and to is set: match items where the timestamp
514	// value is equal to or before to.
515	EndTime *DateTimeRange
516
517	// A list of entity ARNs (unique identifiers).
518	EntityArns []string
519
520	// A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS
521	// volumes (vol-426ab23e).
522	EntityValues []string
523
524	// A list of event status codes.
525	EventStatusCodes []EventStatusCode
526
527	// A list of event type category codes (issue, scheduledChange, or
528	// accountNotification).
529	EventTypeCategories []EventTypeCategory
530
531	// A list of unique identifiers for event types. For example,
532	// "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED".
533	EventTypeCodes []string
534
535	// A range of dates and times that is used by the EventFilter
536	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventFilter.html)
537	// and EntityFilter
538	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EntityFilter.html)
539	// objects. If from is set and to is set: match items where the timestamp
540	// (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If
541	// from is set and to is not set: match items where the timestamp value is equal to
542	// or after from. If from is not set and to is set: match items where the timestamp
543	// value is equal to or before to.
544	LastUpdatedTime *DateTimeRange
545
546	// A list of AWS Regions.
547	Regions []string
548
549	// The AWS services associated with the event. For example, EC2, RDS.
550	Services []string
551
552	// A range of dates and times that is used by the EventFilter
553	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EventFilter.html)
554	// and EntityFilter
555	// (https://docs.aws.amazon.com/health/latest/APIReference/API_EntityFilter.html)
556	// objects. If from is set and to is set: match items where the timestamp
557	// (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If
558	// from is set and to is not set: match items where the timestamp value is equal to
559	// or after from. If from is not set and to is set: match items where the timestamp
560	// value is equal to or before to.
561	StartTime *DateTimeRange
562}
563