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

Describes the telemetry information for a resource.

See Also:

* AWS * API Reference

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

The ARN of the gateway.

*/ inline const Aws::String& GetRegisteredGatewayArn() const{ return m_registeredGatewayArn; } /** *

The ARN of the gateway.

*/ inline bool RegisteredGatewayArnHasBeenSet() const { return m_registeredGatewayArnHasBeenSet; } /** *

The ARN of the gateway.

*/ inline void SetRegisteredGatewayArn(const Aws::String& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = value; } /** *

The ARN of the gateway.

*/ inline void SetRegisteredGatewayArn(Aws::String&& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = std::move(value); } /** *

The ARN of the gateway.

*/ inline void SetRegisteredGatewayArn(const char* value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn.assign(value); } /** *

The ARN of the gateway.

*/ inline NetworkTelemetry& WithRegisteredGatewayArn(const Aws::String& value) { SetRegisteredGatewayArn(value); return *this;} /** *

The ARN of the gateway.

*/ inline NetworkTelemetry& WithRegisteredGatewayArn(Aws::String&& value) { SetRegisteredGatewayArn(std::move(value)); return *this;} /** *

The ARN of the gateway.

*/ inline NetworkTelemetry& WithRegisteredGatewayArn(const char* value) { SetRegisteredGatewayArn(value); return *this;} /** *

The ID of a core network.

*/ inline const Aws::String& GetCoreNetworkId() const{ return m_coreNetworkId; } /** *

The ID of a core network.

*/ inline bool CoreNetworkIdHasBeenSet() const { return m_coreNetworkIdHasBeenSet; } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(const Aws::String& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = value; } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(Aws::String&& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = std::move(value); } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(const char* value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId.assign(value); } /** *

The ID of a core network.

*/ inline NetworkTelemetry& WithCoreNetworkId(const Aws::String& value) { SetCoreNetworkId(value); return *this;} /** *

The ID of a core network.

*/ inline NetworkTelemetry& WithCoreNetworkId(Aws::String&& value) { SetCoreNetworkId(std::move(value)); return *this;} /** *

The ID of a core network.

*/ inline NetworkTelemetry& WithCoreNetworkId(const char* value) { SetCoreNetworkId(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The Amazon Web Services Region.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The Amazon Web Services Region.

*/ inline NetworkTelemetry& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline NetworkTelemetry& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region.

*/ inline NetworkTelemetry& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The Amazon Web Services account ID.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The Amazon Web Services account ID.

*/ inline NetworkTelemetry& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline NetworkTelemetry& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

*/ inline NetworkTelemetry& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The resource type.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The resource type.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The resource type.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The resource type.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The resource type.

*/ inline NetworkTelemetry& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The resource type.

*/ inline NetworkTelemetry& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The resource type.

*/ inline NetworkTelemetry& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

The ID of the resource.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The ID of the resource.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The ID of the resource.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The ID of the resource.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The ID of the resource.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The ID of the resource.

*/ inline NetworkTelemetry& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The ID of the resource.

*/ inline NetworkTelemetry& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The ID of the resource.

*/ inline NetworkTelemetry& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The ARN of the resource.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The ARN of the resource.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The ARN of the resource.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The ARN of the resource.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The ARN of the resource.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The ARN of the resource.

*/ inline NetworkTelemetry& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The ARN of the resource.

*/ inline NetworkTelemetry& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The ARN of the resource.

*/ inline NetworkTelemetry& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

The address.

*/ inline const Aws::String& GetAddress() const{ return m_address; } /** *

The address.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The address.

*/ inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The address.

*/ inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The address.

*/ inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } /** *

The address.

*/ inline NetworkTelemetry& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} /** *

The address.

*/ inline NetworkTelemetry& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} /** *

The address.

*/ inline NetworkTelemetry& WithAddress(const char* value) { SetAddress(value); return *this;} /** *

The connection health.

*/ inline const ConnectionHealth& GetHealth() const{ return m_health; } /** *

The connection health.

*/ inline bool HealthHasBeenSet() const { return m_healthHasBeenSet; } /** *

The connection health.

*/ inline void SetHealth(const ConnectionHealth& value) { m_healthHasBeenSet = true; m_health = value; } /** *

The connection health.

*/ inline void SetHealth(ConnectionHealth&& value) { m_healthHasBeenSet = true; m_health = std::move(value); } /** *

The connection health.

*/ inline NetworkTelemetry& WithHealth(const ConnectionHealth& value) { SetHealth(value); return *this;} /** *

The connection health.

*/ inline NetworkTelemetry& WithHealth(ConnectionHealth&& value) { SetHealth(std::move(value)); return *this;} private: Aws::String m_registeredGatewayArn; bool m_registeredGatewayArnHasBeenSet = false; Aws::String m_coreNetworkId; bool m_coreNetworkIdHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_address; bool m_addressHasBeenSet = false; ConnectionHealth m_health; bool m_healthHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws