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

Information about an entity that is affected by a Health event.

See * Also:

AWS * API Reference

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

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline const Aws::String& GetEntityArn() const{ return m_entityArn; } /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline bool EntityArnHasBeenSet() const { return m_entityArnHasBeenSet; } /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline void SetEntityArn(const Aws::String& value) { m_entityArnHasBeenSet = true; m_entityArn = value; } /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline void SetEntityArn(Aws::String&& value) { m_entityArnHasBeenSet = true; m_entityArn = std::move(value); } /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline void SetEntityArn(const char* value) { m_entityArnHasBeenSet = true; m_entityArn.assign(value); } /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline AffectedEntity& WithEntityArn(const Aws::String& value) { SetEntityArn(value); return *this;} /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline AffectedEntity& WithEntityArn(Aws::String&& value) { SetEntityArn(std::move(value)); return *this;} /** *

The unique identifier for the entity. Format: * arn:aws:health:entity-region:aws-account:entity/entity-id * . Example: * arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K *

*/ inline AffectedEntity& WithEntityArn(const char* value) { SetEntityArn(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 const Aws::String& GetEventArn() const{ return m_eventArn; } /** *

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 EventArnHasBeenSet() const { return m_eventArnHasBeenSet; } /** *

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 SetEventArn(const Aws::String& value) { m_eventArnHasBeenSet = true; m_eventArn = 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 SetEventArn(Aws::String&& value) { m_eventArnHasBeenSet = true; m_eventArn = 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 SetEventArn(const char* value) { m_eventArnHasBeenSet = true; m_eventArn.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 AffectedEntity& WithEventArn(const Aws::String& value) { SetEventArn(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 AffectedEntity& WithEventArn(Aws::String&& value) { SetEventArn(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 AffectedEntity& WithEventArn(const char* value) { SetEventArn(value); return *this;} /** *

The ID of the affected entity.

*/ inline const Aws::String& GetEntityValue() const{ return m_entityValue; } /** *

The ID of the affected entity.

*/ inline bool EntityValueHasBeenSet() const { return m_entityValueHasBeenSet; } /** *

The ID of the affected entity.

*/ inline void SetEntityValue(const Aws::String& value) { m_entityValueHasBeenSet = true; m_entityValue = value; } /** *

The ID of the affected entity.

*/ inline void SetEntityValue(Aws::String&& value) { m_entityValueHasBeenSet = true; m_entityValue = std::move(value); } /** *

The ID of the affected entity.

*/ inline void SetEntityValue(const char* value) { m_entityValueHasBeenSet = true; m_entityValue.assign(value); } /** *

The ID of the affected entity.

*/ inline AffectedEntity& WithEntityValue(const Aws::String& value) { SetEntityValue(value); return *this;} /** *

The ID of the affected entity.

*/ inline AffectedEntity& WithEntityValue(Aws::String&& value) { SetEntityValue(std::move(value)); return *this;} /** *

The ID of the affected entity.

*/ inline AffectedEntity& WithEntityValue(const char* value) { SetEntityValue(value); return *this;} /** *

The URL of the affected entity.

*/ inline const Aws::String& GetEntityUrl() const{ return m_entityUrl; } /** *

The URL of the affected entity.

*/ inline bool EntityUrlHasBeenSet() const { return m_entityUrlHasBeenSet; } /** *

The URL of the affected entity.

*/ inline void SetEntityUrl(const Aws::String& value) { m_entityUrlHasBeenSet = true; m_entityUrl = value; } /** *

The URL of the affected entity.

*/ inline void SetEntityUrl(Aws::String&& value) { m_entityUrlHasBeenSet = true; m_entityUrl = std::move(value); } /** *

The URL of the affected entity.

*/ inline void SetEntityUrl(const char* value) { m_entityUrlHasBeenSet = true; m_entityUrl.assign(value); } /** *

The URL of the affected entity.

*/ inline AffectedEntity& WithEntityUrl(const Aws::String& value) { SetEntityUrl(value); return *this;} /** *

The URL of the affected entity.

*/ inline AffectedEntity& WithEntityUrl(Aws::String&& value) { SetEntityUrl(std::move(value)); return *this;} /** *

The URL of the affected entity.

*/ inline AffectedEntity& WithEntityUrl(const char* value) { SetEntityUrl(value); return *this;} /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline AffectedEntity& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline AffectedEntity& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

The 12-digit Amazon Web Services account number that contains the affected * entity.

*/ inline AffectedEntity& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The most recent time that the entity was updated.

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

The most recent time that the entity was updated.

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

The most recent time that the entity was updated.

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

The most recent time that the entity was updated.

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

The most recent time that the entity was updated.

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

The most recent time that the entity was updated.

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

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

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

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

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

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

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

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

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

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

*/ inline AffectedEntity& WithStatusCode(const EntityStatusCode& value) { SetStatusCode(value); return *this;} /** *

The most recent status of the entity affected by the event. The possible * values are IMPAIRED, UNIMPAIRED, and * UNKNOWN.

*/ inline AffectedEntity& WithStatusCode(EntityStatusCode&& value) { SetStatusCode(std::move(value)); return *this;} /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map of entity tags attached to the affected entity.

*

Currently, the tags property isn't supported.

*/ inline AffectedEntity& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_entityArn; bool m_entityArnHasBeenSet = false; Aws::String m_eventArn; bool m_eventArnHasBeenSet = false; Aws::String m_entityValue; bool m_entityValueHasBeenSet = false; Aws::String m_entityUrl; bool m_entityUrlHasBeenSet = false; Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; EntityStatusCode m_statusCode; bool m_statusCodeHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Health } // namespace Aws