/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Health { namespace Model { /** *

Summary information about an event, returned by the DescribeEventsForOrganization * operation.

See Also:

AWS * API Reference

*/ class OrganizationEvent { public: AWS_HEALTH_API OrganizationEvent(); AWS_HEALTH_API OrganizationEvent(Aws::Utils::Json::JsonView jsonValue); AWS_HEALTH_API OrganizationEvent& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_HEALTH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline OrganizationEvent& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline OrganizationEvent& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The unique identifier for the event. The event ARN has the * arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * format.

For example, an event ARN might look like the * following:

* arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

*/ inline OrganizationEvent& WithArn(const char* value) { SetArn(value); return *this;} /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline const Aws::String& GetService() const{ return m_service; } /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline OrganizationEvent& WithService(const Aws::String& value) { SetService(value); return *this;} /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline OrganizationEvent& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} /** *

The Amazon Web Service that is affected by the event, such as EC2 and * RDS.

*/ inline OrganizationEvent& WithService(const char* value) { SetService(value); return *this;} /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline const Aws::String& GetEventTypeCode() const{ return m_eventTypeCode; } /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline bool EventTypeCodeHasBeenSet() const { return m_eventTypeCodeHasBeenSet; } /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline void SetEventTypeCode(const Aws::String& value) { m_eventTypeCodeHasBeenSet = true; m_eventTypeCode = value; } /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline void SetEventTypeCode(Aws::String&& value) { m_eventTypeCodeHasBeenSet = true; m_eventTypeCode = std::move(value); } /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline void SetEventTypeCode(const char* value) { m_eventTypeCodeHasBeenSet = true; m_eventTypeCode.assign(value); } /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline OrganizationEvent& WithEventTypeCode(const Aws::String& value) { SetEventTypeCode(value); return *this;} /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline OrganizationEvent& WithEventTypeCode(Aws::String&& value) { SetEventTypeCode(std::move(value)); return *this;} /** *

The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, * AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

*/ inline OrganizationEvent& WithEventTypeCode(const char* value) { SetEventTypeCode(value); return *this;} /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline const EventTypeCategory& GetEventTypeCategory() const{ return m_eventTypeCategory; } /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline bool EventTypeCategoryHasBeenSet() const { return m_eventTypeCategoryHasBeenSet; } /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline void SetEventTypeCategory(const EventTypeCategory& value) { m_eventTypeCategoryHasBeenSet = true; m_eventTypeCategory = value; } /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline void SetEventTypeCategory(EventTypeCategory&& value) { m_eventTypeCategoryHasBeenSet = true; m_eventTypeCategory = std::move(value); } /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline OrganizationEvent& WithEventTypeCategory(const EventTypeCategory& value) { SetEventTypeCategory(value); return *this;} /** *

A list of event type category codes. Possible values are issue, * accountNotification, or scheduledChange. Currently, * the investigation value isn't supported at this time.

*/ inline OrganizationEvent& WithEventTypeCategory(EventTypeCategory&& value) { SetEventTypeCategory(std::move(value)); return *this;} /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline const EventScopeCode& GetEventScopeCode() const{ return m_eventScopeCode; } /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline bool EventScopeCodeHasBeenSet() const { return m_eventScopeCodeHasBeenSet; } /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline void SetEventScopeCode(const EventScopeCode& value) { m_eventScopeCodeHasBeenSet = true; m_eventScopeCode = value; } /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline void SetEventScopeCode(EventScopeCode&& value) { m_eventScopeCodeHasBeenSet = true; m_eventScopeCode = std::move(value); } /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline OrganizationEvent& WithEventScopeCode(const EventScopeCode& value) { SetEventScopeCode(value); return *this;} /** *

This parameter specifies if the Health event is a public Amazon Web Service * event or an account-specific event.

  • If the * eventScopeCode value is PUBLIC, then the * affectedAccounts value is always empty.

  • If the * eventScopeCode value is ACCOUNT_SPECIFIC, then the * affectedAccounts value lists the affected Amazon Web Services * accounts in your organization. For example, if an event affects a service such * as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that * use that service, those account IDs appear in the response.

  • If * the eventScopeCode value is NONE, then the * eventArn that you specified in the request is invalid or doesn't * exist.

*/ inline OrganizationEvent& WithEventScopeCode(EventScopeCode&& value) { SetEventScopeCode(std::move(value)); return *this;} /** *

The Amazon Web Services Region name of the event.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Amazon Web Services Region name of the event.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Amazon Web Services Region name of the event.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Amazon Web Services Region name of the event.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Amazon Web Services Region name of the event.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Amazon Web Services Region name of the event.

*/ inline OrganizationEvent& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Amazon Web Services Region name of the event.

*/ inline OrganizationEvent& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region name of the event.

*/ inline OrganizationEvent& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The date and time that the event began.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The date and time that the event began.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The date and time that the event began.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The date and time that the event began.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The date and time that the event began.

*/ inline OrganizationEvent& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The date and time that the event began.

*/ inline OrganizationEvent& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The date and time that the event ended.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The date and time that the event ended.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The date and time that the event ended.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The date and time that the event ended.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The date and time that the event ended.

*/ inline OrganizationEvent& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The date and time that the event ended.

*/ inline OrganizationEvent& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

The most recent date and time that the event was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *

The most recent date and time that the event was updated.

*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *

The most recent date and time that the event was updated.

*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *

The most recent date and time that the event was updated.

*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *

The most recent date and time that the event was updated.

*/ inline OrganizationEvent& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *

The most recent date and time that the event was updated.

*/ inline OrganizationEvent& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline const EventStatusCode& GetStatusCode() const{ return m_statusCode; } /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline void SetStatusCode(const EventStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline void SetStatusCode(EventStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); } /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline OrganizationEvent& WithStatusCode(const EventStatusCode& value) { SetStatusCode(value); return *this;} /** *

The most recent status of the event. Possible values are open, * closed, and upcoming.

*/ inline OrganizationEvent& WithStatusCode(EventStatusCode&& value) { SetStatusCode(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_service; bool m_serviceHasBeenSet = false; Aws::String m_eventTypeCode; bool m_eventTypeCodeHasBeenSet = false; EventTypeCategory m_eventTypeCategory; bool m_eventTypeCategoryHasBeenSet = false; EventScopeCode m_eventScopeCode; bool m_eventScopeCodeHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; EventStatusCode m_statusCode; bool m_statusCodeHasBeenSet = false; }; } // namespace Model } // namespace Health } // namespace Aws