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/appmesh/AppMesh_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/DateTime.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 AppMesh 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>An object that represents metadata for a resource.</p><p><h3>See Also:</h3> 29 * <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ResourceMetadata">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_APPMESH_API ResourceMetadata 34 { 35 public: 36 ResourceMetadata(); 37 ResourceMetadata(Aws::Utils::Json::JsonView jsonValue); 38 ResourceMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 44 */ GetArn()45 inline const Aws::String& GetArn() const{ return m_arn; } 46 47 /** 48 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 49 */ ArnHasBeenSet()50 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 51 52 /** 53 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 54 */ SetArn(const Aws::String & value)55 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 56 57 /** 58 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 59 */ SetArn(Aws::String && value)60 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 61 62 /** 63 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 64 */ SetArn(const char * value)65 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 66 67 /** 68 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 69 */ WithArn(const Aws::String & value)70 inline ResourceMetadata& WithArn(const Aws::String& value) { SetArn(value); return *this;} 71 72 /** 73 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 74 */ WithArn(Aws::String && value)75 inline ResourceMetadata& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 76 77 /** 78 * <p>The full Amazon Resource Name (ARN) for the resource.</p> 79 */ WithArn(const char * value)80 inline ResourceMetadata& WithArn(const char* value) { SetArn(value); return *this;} 81 82 83 /** 84 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 85 */ GetCreatedAt()86 inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } 87 88 /** 89 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 90 */ CreatedAtHasBeenSet()91 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } 92 93 /** 94 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 95 */ SetCreatedAt(const Aws::Utils::DateTime & value)96 inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } 97 98 /** 99 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 100 */ SetCreatedAt(Aws::Utils::DateTime && value)101 inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } 102 103 /** 104 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 105 */ WithCreatedAt(const Aws::Utils::DateTime & value)106 inline ResourceMetadata& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} 107 108 /** 109 * <p>The Unix epoch timestamp in seconds for when the resource was created.</p> 110 */ WithCreatedAt(Aws::Utils::DateTime && value)111 inline ResourceMetadata& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} 112 113 114 /** 115 * <p>The Unix epoch timestamp in seconds for when the resource was last 116 * updated.</p> 117 */ GetLastUpdatedAt()118 inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } 119 120 /** 121 * <p>The Unix epoch timestamp in seconds for when the resource was last 122 * updated.</p> 123 */ LastUpdatedAtHasBeenSet()124 inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } 125 126 /** 127 * <p>The Unix epoch timestamp in seconds for when the resource was last 128 * updated.</p> 129 */ SetLastUpdatedAt(const Aws::Utils::DateTime & value)130 inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } 131 132 /** 133 * <p>The Unix epoch timestamp in seconds for when the resource was last 134 * updated.</p> 135 */ SetLastUpdatedAt(Aws::Utils::DateTime && value)136 inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } 137 138 /** 139 * <p>The Unix epoch timestamp in seconds for when the resource was last 140 * updated.</p> 141 */ WithLastUpdatedAt(const Aws::Utils::DateTime & value)142 inline ResourceMetadata& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} 143 144 /** 145 * <p>The Unix epoch timestamp in seconds for when the resource was last 146 * updated.</p> 147 */ WithLastUpdatedAt(Aws::Utils::DateTime && value)148 inline ResourceMetadata& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} 149 150 151 /** 152 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 153 * your own, then it's the ID of the account that shared the mesh with your 154 * account. For more information about mesh sharing, see <a 155 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 156 * with shared meshes</a>.</p> 157 */ GetMeshOwner()158 inline const Aws::String& GetMeshOwner() const{ return m_meshOwner; } 159 160 /** 161 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 162 * your own, then it's the ID of the account that shared the mesh with your 163 * account. For more information about mesh sharing, see <a 164 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 165 * with shared meshes</a>.</p> 166 */ MeshOwnerHasBeenSet()167 inline bool MeshOwnerHasBeenSet() const { return m_meshOwnerHasBeenSet; } 168 169 /** 170 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 171 * your own, then it's the ID of the account that shared the mesh with your 172 * account. For more information about mesh sharing, see <a 173 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 174 * with shared meshes</a>.</p> 175 */ SetMeshOwner(const Aws::String & value)176 inline void SetMeshOwner(const Aws::String& value) { m_meshOwnerHasBeenSet = true; m_meshOwner = value; } 177 178 /** 179 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 180 * your own, then it's the ID of the account that shared the mesh with your 181 * account. For more information about mesh sharing, see <a 182 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 183 * with shared meshes</a>.</p> 184 */ SetMeshOwner(Aws::String && value)185 inline void SetMeshOwner(Aws::String&& value) { m_meshOwnerHasBeenSet = true; m_meshOwner = std::move(value); } 186 187 /** 188 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 189 * your own, then it's the ID of the account that shared the mesh with your 190 * account. For more information about mesh sharing, see <a 191 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 192 * with shared meshes</a>.</p> 193 */ SetMeshOwner(const char * value)194 inline void SetMeshOwner(const char* value) { m_meshOwnerHasBeenSet = true; m_meshOwner.assign(value); } 195 196 /** 197 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 198 * your own, then it's the ID of the account that shared the mesh with your 199 * account. For more information about mesh sharing, see <a 200 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 201 * with shared meshes</a>.</p> 202 */ WithMeshOwner(const Aws::String & value)203 inline ResourceMetadata& WithMeshOwner(const Aws::String& value) { SetMeshOwner(value); return *this;} 204 205 /** 206 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 207 * your own, then it's the ID of the account that shared the mesh with your 208 * account. For more information about mesh sharing, see <a 209 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 210 * with shared meshes</a>.</p> 211 */ WithMeshOwner(Aws::String && value)212 inline ResourceMetadata& WithMeshOwner(Aws::String&& value) { SetMeshOwner(std::move(value)); return *this;} 213 214 /** 215 * <p>The AWS IAM account ID of the service mesh owner. If the account ID is not 216 * your own, then it's the ID of the account that shared the mesh with your 217 * account. For more information about mesh sharing, see <a 218 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 219 * with shared meshes</a>.</p> 220 */ WithMeshOwner(const char * value)221 inline ResourceMetadata& WithMeshOwner(const char* value) { SetMeshOwner(value); return *this;} 222 223 224 /** 225 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 226 * own, then it's the ID of the mesh owner or of another account that the mesh is 227 * shared with. For more information about mesh sharing, see <a 228 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 229 * with shared meshes</a>.</p> 230 */ GetResourceOwner()231 inline const Aws::String& GetResourceOwner() const{ return m_resourceOwner; } 232 233 /** 234 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 235 * own, then it's the ID of the mesh owner or of another account that the mesh is 236 * shared with. For more information about mesh sharing, see <a 237 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 238 * with shared meshes</a>.</p> 239 */ ResourceOwnerHasBeenSet()240 inline bool ResourceOwnerHasBeenSet() const { return m_resourceOwnerHasBeenSet; } 241 242 /** 243 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 244 * own, then it's the ID of the mesh owner or of another account that the mesh is 245 * shared with. For more information about mesh sharing, see <a 246 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 247 * with shared meshes</a>.</p> 248 */ SetResourceOwner(const Aws::String & value)249 inline void SetResourceOwner(const Aws::String& value) { m_resourceOwnerHasBeenSet = true; m_resourceOwner = value; } 250 251 /** 252 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 253 * own, then it's the ID of the mesh owner or of another account that the mesh is 254 * shared with. For more information about mesh sharing, see <a 255 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 256 * with shared meshes</a>.</p> 257 */ SetResourceOwner(Aws::String && value)258 inline void SetResourceOwner(Aws::String&& value) { m_resourceOwnerHasBeenSet = true; m_resourceOwner = std::move(value); } 259 260 /** 261 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 262 * own, then it's the ID of the mesh owner or of another account that the mesh is 263 * shared with. For more information about mesh sharing, see <a 264 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 265 * with shared meshes</a>.</p> 266 */ SetResourceOwner(const char * value)267 inline void SetResourceOwner(const char* value) { m_resourceOwnerHasBeenSet = true; m_resourceOwner.assign(value); } 268 269 /** 270 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 271 * own, then it's the ID of the mesh owner or of another account that the mesh is 272 * shared with. For more information about mesh sharing, see <a 273 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 274 * with shared meshes</a>.</p> 275 */ WithResourceOwner(const Aws::String & value)276 inline ResourceMetadata& WithResourceOwner(const Aws::String& value) { SetResourceOwner(value); return *this;} 277 278 /** 279 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 280 * own, then it's the ID of the mesh owner or of another account that the mesh is 281 * shared with. For more information about mesh sharing, see <a 282 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 283 * with shared meshes</a>.</p> 284 */ WithResourceOwner(Aws::String && value)285 inline ResourceMetadata& WithResourceOwner(Aws::String&& value) { SetResourceOwner(std::move(value)); return *this;} 286 287 /** 288 * <p>The AWS IAM account ID of the resource owner. If the account ID is not your 289 * own, then it's the ID of the mesh owner or of another account that the mesh is 290 * shared with. For more information about mesh sharing, see <a 291 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working 292 * with shared meshes</a>.</p> 293 */ WithResourceOwner(const char * value)294 inline ResourceMetadata& WithResourceOwner(const char* value) { SetResourceOwner(value); return *this;} 295 296 297 /** 298 * <p>The unique identifier for the resource.</p> 299 */ GetUid()300 inline const Aws::String& GetUid() const{ return m_uid; } 301 302 /** 303 * <p>The unique identifier for the resource.</p> 304 */ UidHasBeenSet()305 inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } 306 307 /** 308 * <p>The unique identifier for the resource.</p> 309 */ SetUid(const Aws::String & value)310 inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } 311 312 /** 313 * <p>The unique identifier for the resource.</p> 314 */ SetUid(Aws::String && value)315 inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } 316 317 /** 318 * <p>The unique identifier for the resource.</p> 319 */ SetUid(const char * value)320 inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } 321 322 /** 323 * <p>The unique identifier for the resource.</p> 324 */ WithUid(const Aws::String & value)325 inline ResourceMetadata& WithUid(const Aws::String& value) { SetUid(value); return *this;} 326 327 /** 328 * <p>The unique identifier for the resource.</p> 329 */ WithUid(Aws::String && value)330 inline ResourceMetadata& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} 331 332 /** 333 * <p>The unique identifier for the resource.</p> 334 */ WithUid(const char * value)335 inline ResourceMetadata& WithUid(const char* value) { SetUid(value); return *this;} 336 337 338 /** 339 * <p>The version of the resource. Resources are created at version 1, and this 340 * version is incremented each time that they're updated.</p> 341 */ GetVersion()342 inline long long GetVersion() const{ return m_version; } 343 344 /** 345 * <p>The version of the resource. Resources are created at version 1, and this 346 * version is incremented each time that they're updated.</p> 347 */ VersionHasBeenSet()348 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } 349 350 /** 351 * <p>The version of the resource. Resources are created at version 1, and this 352 * version is incremented each time that they're updated.</p> 353 */ SetVersion(long long value)354 inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } 355 356 /** 357 * <p>The version of the resource. Resources are created at version 1, and this 358 * version is incremented each time that they're updated.</p> 359 */ WithVersion(long long value)360 inline ResourceMetadata& WithVersion(long long value) { SetVersion(value); return *this;} 361 362 private: 363 364 Aws::String m_arn; 365 bool m_arnHasBeenSet; 366 367 Aws::Utils::DateTime m_createdAt; 368 bool m_createdAtHasBeenSet; 369 370 Aws::Utils::DateTime m_lastUpdatedAt; 371 bool m_lastUpdatedAtHasBeenSet; 372 373 Aws::String m_meshOwner; 374 bool m_meshOwnerHasBeenSet; 375 376 Aws::String m_resourceOwner; 377 bool m_resourceOwnerHasBeenSet; 378 379 Aws::String m_uid; 380 bool m_uidHasBeenSet; 381 382 long long m_version; 383 bool m_versionHasBeenSet; 384 }; 385 386 } // namespace Model 387 } // namespace AppMesh 388 } // namespace Aws 389