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

Information about the endpoint details.

See Also:

AWS * API Reference

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

An agent endpoint.

*/ inline const AwsGroundStationAgentEndpoint& GetAwsGroundStationAgentEndpoint() const{ return m_awsGroundStationAgentEndpoint; } /** *

An agent endpoint.

*/ inline bool AwsGroundStationAgentEndpointHasBeenSet() const { return m_awsGroundStationAgentEndpointHasBeenSet; } /** *

An agent endpoint.

*/ inline void SetAwsGroundStationAgentEndpoint(const AwsGroundStationAgentEndpoint& value) { m_awsGroundStationAgentEndpointHasBeenSet = true; m_awsGroundStationAgentEndpoint = value; } /** *

An agent endpoint.

*/ inline void SetAwsGroundStationAgentEndpoint(AwsGroundStationAgentEndpoint&& value) { m_awsGroundStationAgentEndpointHasBeenSet = true; m_awsGroundStationAgentEndpoint = std::move(value); } /** *

An agent endpoint.

*/ inline EndpointDetails& WithAwsGroundStationAgentEndpoint(const AwsGroundStationAgentEndpoint& value) { SetAwsGroundStationAgentEndpoint(value); return *this;} /** *

An agent endpoint.

*/ inline EndpointDetails& WithAwsGroundStationAgentEndpoint(AwsGroundStationAgentEndpoint&& value) { SetAwsGroundStationAgentEndpoint(std::move(value)); return *this;} /** *

A dataflow endpoint.

*/ inline const DataflowEndpoint& GetEndpoint() const{ return m_endpoint; } /** *

A dataflow endpoint.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

A dataflow endpoint.

*/ inline void SetEndpoint(const DataflowEndpoint& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

A dataflow endpoint.

*/ inline void SetEndpoint(DataflowEndpoint&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

A dataflow endpoint.

*/ inline EndpointDetails& WithEndpoint(const DataflowEndpoint& value) { SetEndpoint(value); return *this;} /** *

A dataflow endpoint.

*/ inline EndpointDetails& WithEndpoint(DataflowEndpoint&& value) { SetEndpoint(std::move(value)); return *this;} /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline const Aws::Vector& GetHealthReasons() const{ return m_healthReasons; } /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline bool HealthReasonsHasBeenSet() const { return m_healthReasonsHasBeenSet; } /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline void SetHealthReasons(const Aws::Vector& value) { m_healthReasonsHasBeenSet = true; m_healthReasons = value; } /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline void SetHealthReasons(Aws::Vector&& value) { m_healthReasonsHasBeenSet = true; m_healthReasons = std::move(value); } /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& WithHealthReasons(const Aws::Vector& value) { SetHealthReasons(value); return *this;} /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& WithHealthReasons(Aws::Vector&& value) { SetHealthReasons(std::move(value)); return *this;} /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& AddHealthReasons(const CapabilityHealthReason& value) { m_healthReasonsHasBeenSet = true; m_healthReasons.push_back(value); return *this; } /** *

Health reasons for a dataflow endpoint. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& AddHealthReasons(CapabilityHealthReason&& value) { m_healthReasonsHasBeenSet = true; m_healthReasons.push_back(std::move(value)); return *this; } /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline const CapabilityHealth& GetHealthStatus() const{ return m_healthStatus; } /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline bool HealthStatusHasBeenSet() const { return m_healthStatusHasBeenSet; } /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline void SetHealthStatus(const CapabilityHealth& value) { m_healthStatusHasBeenSet = true; m_healthStatus = value; } /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline void SetHealthStatus(CapabilityHealth&& value) { m_healthStatusHasBeenSet = true; m_healthStatus = std::move(value); } /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& WithHealthStatus(const CapabilityHealth& value) { SetHealthStatus(value); return *this;} /** *

A dataflow endpoint health status. This field is ignored when calling * CreateDataflowEndpointGroup.

*/ inline EndpointDetails& WithHealthStatus(CapabilityHealth&& value) { SetHealthStatus(std::move(value)); return *this;} /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline const SecurityDetails& GetSecurityDetails() const{ return m_securityDetails; } /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline bool SecurityDetailsHasBeenSet() const { return m_securityDetailsHasBeenSet; } /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline void SetSecurityDetails(const SecurityDetails& value) { m_securityDetailsHasBeenSet = true; m_securityDetails = value; } /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline void SetSecurityDetails(SecurityDetails&& value) { m_securityDetailsHasBeenSet = true; m_securityDetails = std::move(value); } /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline EndpointDetails& WithSecurityDetails(const SecurityDetails& value) { SetSecurityDetails(value); return *this;} /** *

Endpoint security details including a list of subnets, a list of security * groups and a role to connect streams to instances.

*/ inline EndpointDetails& WithSecurityDetails(SecurityDetails&& value) { SetSecurityDetails(std::move(value)); return *this;} private: AwsGroundStationAgentEndpoint m_awsGroundStationAgentEndpoint; bool m_awsGroundStationAgentEndpointHasBeenSet = false; DataflowEndpoint m_endpoint; bool m_endpointHasBeenSet = false; Aws::Vector m_healthReasons; bool m_healthReasonsHasBeenSet = false; CapabilityHealth m_healthStatus; bool m_healthStatusHasBeenSet = false; SecurityDetails m_securityDetails; bool m_securityDetailsHasBeenSet = false; }; } // namespace Model } // namespace GroundStation } // namespace Aws