/** * 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 Pipes { namespace Model { /** *

An object that represents a pipe. Amazon EventBridgePipes connect event * sources to targets and reduces the need for specialized knowledge and * integration code.

See Also:

AWS API * Reference

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The ARN of the pipe.

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

The time the pipe was created.

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

The time the pipe was created.

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

The time the pipe was created.

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

The time the pipe was created.

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

The time the pipe was created.

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

The time the pipe was created.

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

The state the pipe is in.

*/ inline const PipeState& GetCurrentState() const{ return m_currentState; } /** *

The state the pipe is in.

*/ inline bool CurrentStateHasBeenSet() const { return m_currentStateHasBeenSet; } /** *

The state the pipe is in.

*/ inline void SetCurrentState(const PipeState& value) { m_currentStateHasBeenSet = true; m_currentState = value; } /** *

The state the pipe is in.

*/ inline void SetCurrentState(PipeState&& value) { m_currentStateHasBeenSet = true; m_currentState = std::move(value); } /** *

The state the pipe is in.

*/ inline Pipe& WithCurrentState(const PipeState& value) { SetCurrentState(value); return *this;} /** *

The state the pipe is in.

*/ inline Pipe& WithCurrentState(PipeState&& value) { SetCurrentState(std::move(value)); return *this;} /** *

The state the pipe should be in.

*/ inline const RequestedPipeState& GetDesiredState() const{ return m_desiredState; } /** *

The state the pipe should be in.

*/ inline bool DesiredStateHasBeenSet() const { return m_desiredStateHasBeenSet; } /** *

The state the pipe should be in.

*/ inline void SetDesiredState(const RequestedPipeState& value) { m_desiredStateHasBeenSet = true; m_desiredState = value; } /** *

The state the pipe should be in.

*/ inline void SetDesiredState(RequestedPipeState&& value) { m_desiredStateHasBeenSet = true; m_desiredState = std::move(value); } /** *

The state the pipe should be in.

*/ inline Pipe& WithDesiredState(const RequestedPipeState& value) { SetDesiredState(value); return *this;} /** *

The state the pipe should be in.

*/ inline Pipe& WithDesiredState(RequestedPipeState&& value) { SetDesiredState(std::move(value)); return *this;} /** *

The ARN of the enrichment resource.

*/ inline const Aws::String& GetEnrichment() const{ return m_enrichment; } /** *

The ARN of the enrichment resource.

*/ inline bool EnrichmentHasBeenSet() const { return m_enrichmentHasBeenSet; } /** *

The ARN of the enrichment resource.

*/ inline void SetEnrichment(const Aws::String& value) { m_enrichmentHasBeenSet = true; m_enrichment = value; } /** *

The ARN of the enrichment resource.

*/ inline void SetEnrichment(Aws::String&& value) { m_enrichmentHasBeenSet = true; m_enrichment = std::move(value); } /** *

The ARN of the enrichment resource.

*/ inline void SetEnrichment(const char* value) { m_enrichmentHasBeenSet = true; m_enrichment.assign(value); } /** *

The ARN of the enrichment resource.

*/ inline Pipe& WithEnrichment(const Aws::String& value) { SetEnrichment(value); return *this;} /** *

The ARN of the enrichment resource.

*/ inline Pipe& WithEnrichment(Aws::String&& value) { SetEnrichment(std::move(value)); return *this;} /** *

The ARN of the enrichment resource.

*/ inline Pipe& WithEnrichment(const char* value) { SetEnrichment(value); return *this;} /** *

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

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

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

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

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

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

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

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

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

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

When the pipe was last updated, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD).

*/ inline Pipe& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The name of the pipe.

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

The ARN of the source resource.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The ARN of the source resource.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The ARN of the source resource.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The ARN of the source resource.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The ARN of the source resource.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The ARN of the source resource.

*/ inline Pipe& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The ARN of the source resource.

*/ inline Pipe& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The ARN of the source resource.

*/ inline Pipe& WithSource(const char* value) { SetSource(value); return *this;} /** *

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The reason the pipe is in its current state.

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

The ARN of the target resource.

*/ inline const Aws::String& GetTarget() const{ return m_target; } /** *

The ARN of the target resource.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The ARN of the target resource.

*/ inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The ARN of the target resource.

*/ inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The ARN of the target resource.

*/ inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } /** *

The ARN of the target resource.

*/ inline Pipe& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} /** *

The ARN of the target resource.

*/ inline Pipe& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} /** *

The ARN of the target resource.

*/ inline Pipe& WithTarget(const char* value) { SetTarget(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; PipeState m_currentState; bool m_currentStateHasBeenSet = false; RequestedPipeState m_desiredState; bool m_desiredStateHasBeenSet = false; Aws::String m_enrichment; bool m_enrichmentHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; Aws::String m_target; bool m_targetHasBeenSet = false; }; } // namespace Model } // namespace Pipes } // namespace Aws