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

An endpoint information details.

See Also:

AWS * API Reference

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

IP address of the endpoint.

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

Endpoint cache time to live (TTL) value.

*/ inline long long GetCachePeriodInMinutes() const{ return m_cachePeriodInMinutes; } /** *

Endpoint cache time to live (TTL) value.

*/ inline bool CachePeriodInMinutesHasBeenSet() const { return m_cachePeriodInMinutesHasBeenSet; } /** *

Endpoint cache time to live (TTL) value.

*/ inline void SetCachePeriodInMinutes(long long value) { m_cachePeriodInMinutesHasBeenSet = true; m_cachePeriodInMinutes = value; } /** *

Endpoint cache time to live (TTL) value.

*/ inline Endpoint& WithCachePeriodInMinutes(long long value) { SetCachePeriodInMinutes(value); return *this;} private: Aws::String m_address; bool m_addressHasBeenSet = false; long long m_cachePeriodInMinutes; bool m_cachePeriodInMinutesHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws