1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/timestream-query/TimestreamQuery_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace TimestreamQuery 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Represents an available endpoint against which to make API calls agaisnt, as 28 * well as the TTL for that endpoint.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/Endpoint">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_TIMESTREAMQUERY_API Endpoint 33 { 34 public: 35 Endpoint(); 36 Endpoint(Aws::Utils::Json::JsonView jsonValue); 37 Endpoint& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>An endpoint address.</p> 43 */ GetAddress()44 inline const Aws::String& GetAddress() const{ return m_address; } 45 46 /** 47 * <p>An endpoint address.</p> 48 */ AddressHasBeenSet()49 inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } 50 51 /** 52 * <p>An endpoint address.</p> 53 */ SetAddress(const Aws::String & value)54 inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } 55 56 /** 57 * <p>An endpoint address.</p> 58 */ SetAddress(Aws::String && value)59 inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } 60 61 /** 62 * <p>An endpoint address.</p> 63 */ SetAddress(const char * value)64 inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } 65 66 /** 67 * <p>An endpoint address.</p> 68 */ WithAddress(const Aws::String & value)69 inline Endpoint& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} 70 71 /** 72 * <p>An endpoint address.</p> 73 */ WithAddress(Aws::String && value)74 inline Endpoint& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} 75 76 /** 77 * <p>An endpoint address.</p> 78 */ WithAddress(const char * value)79 inline Endpoint& WithAddress(const char* value) { SetAddress(value); return *this;} 80 81 82 /** 83 * <p>The TTL for the endpoint, in minutes.</p> 84 */ GetCachePeriodInMinutes()85 inline long long GetCachePeriodInMinutes() const{ return m_cachePeriodInMinutes; } 86 87 /** 88 * <p>The TTL for the endpoint, in minutes.</p> 89 */ CachePeriodInMinutesHasBeenSet()90 inline bool CachePeriodInMinutesHasBeenSet() const { return m_cachePeriodInMinutesHasBeenSet; } 91 92 /** 93 * <p>The TTL for the endpoint, in minutes.</p> 94 */ SetCachePeriodInMinutes(long long value)95 inline void SetCachePeriodInMinutes(long long value) { m_cachePeriodInMinutesHasBeenSet = true; m_cachePeriodInMinutes = value; } 96 97 /** 98 * <p>The TTL for the endpoint, in minutes.</p> 99 */ WithCachePeriodInMinutes(long long value)100 inline Endpoint& WithCachePeriodInMinutes(long long value) { SetCachePeriodInMinutes(value); return *this;} 101 102 private: 103 104 Aws::String m_address; 105 bool m_addressHasBeenSet; 106 107 long long m_cachePeriodInMinutes; 108 bool m_cachePeriodInMinutesHasBeenSet; 109 }; 110 111 } // namespace Model 112 } // namespace TimestreamQuery 113 } // namespace Aws 114