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/cloudtrail/CloudTrail_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 CloudTrail 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Information about a CloudTrail trail, including the trail's name, home 28 * region, and Amazon Resource Name (ARN).</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/TrailInfo">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_CLOUDTRAIL_API TrailInfo 33 { 34 public: 35 TrailInfo(); 36 TrailInfo(Aws::Utils::Json::JsonView jsonValue); 37 TrailInfo& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The ARN of a trail.</p> 43 */ GetTrailARN()44 inline const Aws::String& GetTrailARN() const{ return m_trailARN; } 45 46 /** 47 * <p>The ARN of a trail.</p> 48 */ TrailARNHasBeenSet()49 inline bool TrailARNHasBeenSet() const { return m_trailARNHasBeenSet; } 50 51 /** 52 * <p>The ARN of a trail.</p> 53 */ SetTrailARN(const Aws::String & value)54 inline void SetTrailARN(const Aws::String& value) { m_trailARNHasBeenSet = true; m_trailARN = value; } 55 56 /** 57 * <p>The ARN of a trail.</p> 58 */ SetTrailARN(Aws::String && value)59 inline void SetTrailARN(Aws::String&& value) { m_trailARNHasBeenSet = true; m_trailARN = std::move(value); } 60 61 /** 62 * <p>The ARN of a trail.</p> 63 */ SetTrailARN(const char * value)64 inline void SetTrailARN(const char* value) { m_trailARNHasBeenSet = true; m_trailARN.assign(value); } 65 66 /** 67 * <p>The ARN of a trail.</p> 68 */ WithTrailARN(const Aws::String & value)69 inline TrailInfo& WithTrailARN(const Aws::String& value) { SetTrailARN(value); return *this;} 70 71 /** 72 * <p>The ARN of a trail.</p> 73 */ WithTrailARN(Aws::String && value)74 inline TrailInfo& WithTrailARN(Aws::String&& value) { SetTrailARN(std::move(value)); return *this;} 75 76 /** 77 * <p>The ARN of a trail.</p> 78 */ WithTrailARN(const char * value)79 inline TrailInfo& WithTrailARN(const char* value) { SetTrailARN(value); return *this;} 80 81 82 /** 83 * <p>The name of a trail.</p> 84 */ GetName()85 inline const Aws::String& GetName() const{ return m_name; } 86 87 /** 88 * <p>The name of a trail.</p> 89 */ NameHasBeenSet()90 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 91 92 /** 93 * <p>The name of a trail.</p> 94 */ SetName(const Aws::String & value)95 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 96 97 /** 98 * <p>The name of a trail.</p> 99 */ SetName(Aws::String && value)100 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 101 102 /** 103 * <p>The name of a trail.</p> 104 */ SetName(const char * value)105 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 106 107 /** 108 * <p>The name of a trail.</p> 109 */ WithName(const Aws::String & value)110 inline TrailInfo& WithName(const Aws::String& value) { SetName(value); return *this;} 111 112 /** 113 * <p>The name of a trail.</p> 114 */ WithName(Aws::String && value)115 inline TrailInfo& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 116 117 /** 118 * <p>The name of a trail.</p> 119 */ WithName(const char * value)120 inline TrailInfo& WithName(const char* value) { SetName(value); return *this;} 121 122 123 /** 124 * <p>The Amazon Web Services Region in which a trail was created.</p> 125 */ GetHomeRegion()126 inline const Aws::String& GetHomeRegion() const{ return m_homeRegion; } 127 128 /** 129 * <p>The Amazon Web Services Region in which a trail was created.</p> 130 */ HomeRegionHasBeenSet()131 inline bool HomeRegionHasBeenSet() const { return m_homeRegionHasBeenSet; } 132 133 /** 134 * <p>The Amazon Web Services Region in which a trail was created.</p> 135 */ SetHomeRegion(const Aws::String & value)136 inline void SetHomeRegion(const Aws::String& value) { m_homeRegionHasBeenSet = true; m_homeRegion = value; } 137 138 /** 139 * <p>The Amazon Web Services Region in which a trail was created.</p> 140 */ SetHomeRegion(Aws::String && value)141 inline void SetHomeRegion(Aws::String&& value) { m_homeRegionHasBeenSet = true; m_homeRegion = std::move(value); } 142 143 /** 144 * <p>The Amazon Web Services Region in which a trail was created.</p> 145 */ SetHomeRegion(const char * value)146 inline void SetHomeRegion(const char* value) { m_homeRegionHasBeenSet = true; m_homeRegion.assign(value); } 147 148 /** 149 * <p>The Amazon Web Services Region in which a trail was created.</p> 150 */ WithHomeRegion(const Aws::String & value)151 inline TrailInfo& WithHomeRegion(const Aws::String& value) { SetHomeRegion(value); return *this;} 152 153 /** 154 * <p>The Amazon Web Services Region in which a trail was created.</p> 155 */ WithHomeRegion(Aws::String && value)156 inline TrailInfo& WithHomeRegion(Aws::String&& value) { SetHomeRegion(std::move(value)); return *this;} 157 158 /** 159 * <p>The Amazon Web Services Region in which a trail was created.</p> 160 */ WithHomeRegion(const char * value)161 inline TrailInfo& WithHomeRegion(const char* value) { SetHomeRegion(value); return *this;} 162 163 private: 164 165 Aws::String m_trailARN; 166 bool m_trailARNHasBeenSet; 167 168 Aws::String m_name; 169 bool m_nameHasBeenSet; 170 171 Aws::String m_homeRegion; 172 bool m_homeRegionHasBeenSet; 173 }; 174 175 } // namespace Model 176 } // namespace CloudTrail 177 } // namespace Aws 178