/** * 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 #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EventBridge { namespace Model { /** *

A global endpoint used to improve your application's availability by making * it regional-fault tolerant. For more information about global endpoints, see Making * applications Regional-fault tolerant with global endpoints and event * replication in the Amazon EventBridge User Guide.

See Also:

* AWS * API Reference

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

The name of the endpoint.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the endpoint.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the endpoint.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the endpoint.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the endpoint.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the endpoint.

*/ inline Endpoint& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the endpoint.

*/ inline Endpoint& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the endpoint.

*/ inline Endpoint& WithName(const char* value) { SetName(value); return *this;} /** *

A description for the endpoint.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description for the endpoint.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description for the endpoint.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description for the endpoint.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description for the endpoint.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description for the endpoint.

*/ inline Endpoint& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description for the endpoint.

*/ inline Endpoint& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description for the endpoint.

*/ inline Endpoint& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The ARN of the endpoint.

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

The routing configuration of the endpoint.

*/ inline const RoutingConfig& GetRoutingConfig() const{ return m_routingConfig; } /** *

The routing configuration of the endpoint.

*/ inline bool RoutingConfigHasBeenSet() const { return m_routingConfigHasBeenSet; } /** *

The routing configuration of the endpoint.

*/ inline void SetRoutingConfig(const RoutingConfig& value) { m_routingConfigHasBeenSet = true; m_routingConfig = value; } /** *

The routing configuration of the endpoint.

*/ inline void SetRoutingConfig(RoutingConfig&& value) { m_routingConfigHasBeenSet = true; m_routingConfig = std::move(value); } /** *

The routing configuration of the endpoint.

*/ inline Endpoint& WithRoutingConfig(const RoutingConfig& value) { SetRoutingConfig(value); return *this;} /** *

The routing configuration of the endpoint.

*/ inline Endpoint& WithRoutingConfig(RoutingConfig&& value) { SetRoutingConfig(std::move(value)); return *this;} /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline const ReplicationConfig& GetReplicationConfig() const{ return m_replicationConfig; } /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline bool ReplicationConfigHasBeenSet() const { return m_replicationConfigHasBeenSet; } /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline void SetReplicationConfig(const ReplicationConfig& value) { m_replicationConfigHasBeenSet = true; m_replicationConfig = value; } /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline void SetReplicationConfig(ReplicationConfig&& value) { m_replicationConfigHasBeenSet = true; m_replicationConfig = std::move(value); } /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline Endpoint& WithReplicationConfig(const ReplicationConfig& value) { SetReplicationConfig(value); return *this;} /** *

Whether event replication was enabled or disabled for this endpoint. The * default state is ENABLED which means you must supply a * RoleArn. If you don't have a RoleArn or you don't want * event replication enabled, set the state to DISABLED.

*/ inline Endpoint& WithReplicationConfig(ReplicationConfig&& value) { SetReplicationConfig(std::move(value)); return *this;} /** *

The event buses being used by the endpoint.

*/ inline const Aws::Vector& GetEventBuses() const{ return m_eventBuses; } /** *

The event buses being used by the endpoint.

*/ inline bool EventBusesHasBeenSet() const { return m_eventBusesHasBeenSet; } /** *

The event buses being used by the endpoint.

*/ inline void SetEventBuses(const Aws::Vector& value) { m_eventBusesHasBeenSet = true; m_eventBuses = value; } /** *

The event buses being used by the endpoint.

*/ inline void SetEventBuses(Aws::Vector&& value) { m_eventBusesHasBeenSet = true; m_eventBuses = std::move(value); } /** *

The event buses being used by the endpoint.

*/ inline Endpoint& WithEventBuses(const Aws::Vector& value) { SetEventBuses(value); return *this;} /** *

The event buses being used by the endpoint.

*/ inline Endpoint& WithEventBuses(Aws::Vector&& value) { SetEventBuses(std::move(value)); return *this;} /** *

The event buses being used by the endpoint.

*/ inline Endpoint& AddEventBuses(const EndpointEventBus& value) { m_eventBusesHasBeenSet = true; m_eventBuses.push_back(value); return *this; } /** *

The event buses being used by the endpoint.

*/ inline Endpoint& AddEventBuses(EndpointEventBus&& value) { m_eventBusesHasBeenSet = true; m_eventBuses.push_back(std::move(value)); return *this; } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the role used by event replication for the endpoint.

*/ inline Endpoint& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the role used by event replication for the endpoint.

*/ inline Endpoint& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the role used by event replication for the endpoint.

*/ inline Endpoint& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline const Aws::String& GetEndpointId() const{ return m_endpointId; } /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; } /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; } /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); } /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); } /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline Endpoint& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;} /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline Endpoint& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;} /** *

The URL subdomain of the endpoint. For example, if the URL for Endpoint is * https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is * abcde.veo.

*/ inline Endpoint& WithEndpointId(const char* value) { SetEndpointId(value); return *this;} /** *

The URL of the endpoint.

*/ inline const Aws::String& GetEndpointUrl() const{ return m_endpointUrl; } /** *

The URL of the endpoint.

*/ inline bool EndpointUrlHasBeenSet() const { return m_endpointUrlHasBeenSet; } /** *

The URL of the endpoint.

*/ inline void SetEndpointUrl(const Aws::String& value) { m_endpointUrlHasBeenSet = true; m_endpointUrl = value; } /** *

The URL of the endpoint.

*/ inline void SetEndpointUrl(Aws::String&& value) { m_endpointUrlHasBeenSet = true; m_endpointUrl = std::move(value); } /** *

The URL of the endpoint.

*/ inline void SetEndpointUrl(const char* value) { m_endpointUrlHasBeenSet = true; m_endpointUrl.assign(value); } /** *

The URL of the endpoint.

*/ inline Endpoint& WithEndpointUrl(const Aws::String& value) { SetEndpointUrl(value); return *this;} /** *

The URL of the endpoint.

*/ inline Endpoint& WithEndpointUrl(Aws::String&& value) { SetEndpointUrl(std::move(value)); return *this;} /** *

The URL of the endpoint.

*/ inline Endpoint& WithEndpointUrl(const char* value) { SetEndpointUrl(value); return *this;} /** *

The current state of the endpoint.

*/ inline const EndpointState& GetState() const{ return m_state; } /** *

The current state of the endpoint.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the endpoint.

*/ inline void SetState(const EndpointState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the endpoint.

*/ inline void SetState(EndpointState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the endpoint.

*/ inline Endpoint& WithState(const EndpointState& value) { SetState(value); return *this;} /** *

The current state of the endpoint.

*/ inline Endpoint& WithState(EndpointState&& value) { SetState(std::move(value)); return *this;} /** *

The reason the endpoint is in its current state.

*/ inline const Aws::String& GetStateReason() const{ return m_stateReason; } /** *

The reason the endpoint is in its current state.

*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *

The reason the endpoint is in its current state.

*/ inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *

The reason the endpoint is in its current state.

*/ inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *

The reason the endpoint is in its current state.

*/ inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } /** *

The reason the endpoint is in its current state.

*/ inline Endpoint& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} /** *

The reason the endpoint is in its current state.

*/ inline Endpoint& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} /** *

The reason the endpoint is in its current state.

*/ inline Endpoint& WithStateReason(const char* value) { SetStateReason(value); return *this;} /** *

The time the endpoint was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time the endpoint was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time the endpoint was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time the endpoint was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time the endpoint was created.

*/ inline Endpoint& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time the endpoint was created.

*/ inline Endpoint& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The last time the endpoint was modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The last time the endpoint was modified.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The last time the endpoint was modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The last time the endpoint was modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The last time the endpoint was modified.

*/ inline Endpoint& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The last time the endpoint was modified.

*/ inline Endpoint& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; RoutingConfig m_routingConfig; bool m_routingConfigHasBeenSet = false; ReplicationConfig m_replicationConfig; bool m_replicationConfigHasBeenSet = false; Aws::Vector m_eventBuses; bool m_eventBusesHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_endpointId; bool m_endpointIdHasBeenSet = false; Aws::String m_endpointUrl; bool m_endpointUrlHasBeenSet = false; EndpointState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; }; } // namespace Model } // namespace EventBridge } // namespace Aws