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/chime/Chime_EXPORTS.h> 8 #include <aws/core/utils/DateTime.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Chime 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The termination health details, including the source IP address and timestamp 29 * of the last successful SIP <code>OPTIONS</code> message from your SIP 30 * infrastructure.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/TerminationHealth">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_CHIME_API TerminationHealth 35 { 36 public: 37 TerminationHealth(); 38 TerminationHealth(Aws::Utils::Json::JsonView jsonValue); 39 TerminationHealth& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The timestamp, in ISO 8601 format.</p> 45 */ GetTimestamp()46 inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } 47 48 /** 49 * <p>The timestamp, in ISO 8601 format.</p> 50 */ TimestampHasBeenSet()51 inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } 52 53 /** 54 * <p>The timestamp, in ISO 8601 format.</p> 55 */ SetTimestamp(const Aws::Utils::DateTime & value)56 inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } 57 58 /** 59 * <p>The timestamp, in ISO 8601 format.</p> 60 */ SetTimestamp(Aws::Utils::DateTime && value)61 inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } 62 63 /** 64 * <p>The timestamp, in ISO 8601 format.</p> 65 */ WithTimestamp(const Aws::Utils::DateTime & value)66 inline TerminationHealth& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} 67 68 /** 69 * <p>The timestamp, in ISO 8601 format.</p> 70 */ WithTimestamp(Aws::Utils::DateTime && value)71 inline TerminationHealth& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} 72 73 74 /** 75 * <p>The source IP address.</p> 76 */ GetSource()77 inline const Aws::String& GetSource() const{ return m_source; } 78 79 /** 80 * <p>The source IP address.</p> 81 */ SourceHasBeenSet()82 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } 83 84 /** 85 * <p>The source IP address.</p> 86 */ SetSource(const Aws::String & value)87 inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } 88 89 /** 90 * <p>The source IP address.</p> 91 */ SetSource(Aws::String && value)92 inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } 93 94 /** 95 * <p>The source IP address.</p> 96 */ SetSource(const char * value)97 inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } 98 99 /** 100 * <p>The source IP address.</p> 101 */ WithSource(const Aws::String & value)102 inline TerminationHealth& WithSource(const Aws::String& value) { SetSource(value); return *this;} 103 104 /** 105 * <p>The source IP address.</p> 106 */ WithSource(Aws::String && value)107 inline TerminationHealth& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} 108 109 /** 110 * <p>The source IP address.</p> 111 */ WithSource(const char * value)112 inline TerminationHealth& WithSource(const char* value) { SetSource(value); return *this;} 113 114 private: 115 116 Aws::Utils::DateTime m_timestamp; 117 bool m_timestampHasBeenSet; 118 119 Aws::String m_source; 120 bool m_sourceHasBeenSet; 121 }; 122 123 } // namespace Model 124 } // namespace Chime 125 } // namespace Aws 126