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

Represents an available endpoint against which to make API calls against, as * well as the TTL for that endpoint.

See Also:

AWS * API Reference

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

An endpoint address.

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

The TTL for the endpoint, in minutes.

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

The TTL for the endpoint, in minutes.

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

The TTL for the endpoint, in minutes.

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

The TTL for the endpoint, in minutes.

*/ 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 TimestreamWrite } // namespace Aws