/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A resource in Amazon Web Services that Amazon Web Services Resource Explorer
* has discovered, and for which it has stored information in the index of the
* Amazon Web Services Region that contains the resource.See Also:
* AWS
* API Reference
The Amazon * resource name (ARN) of the resource.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon * resource name (ARN) of the resource.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon * resource name (ARN) of the resource.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon * resource name (ARN) of the resource.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon * resource name (ARN) of the resource.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon * resource name (ARN) of the resource.
*/ inline Resource& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon * resource name (ARN) of the resource.
*/ inline Resource& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon * resource name (ARN) of the resource.
*/ inline Resource& WithArn(const char* value) { SetArn(value); return *this;} /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline const Aws::Utils::DateTime& GetLastReportedAt() const{ return m_lastReportedAt; } /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline bool LastReportedAtHasBeenSet() const { return m_lastReportedAtHasBeenSet; } /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline void SetLastReportedAt(const Aws::Utils::DateTime& value) { m_lastReportedAtHasBeenSet = true; m_lastReportedAt = value; } /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline void SetLastReportedAt(Aws::Utils::DateTime&& value) { m_lastReportedAtHasBeenSet = true; m_lastReportedAt = std::move(value); } /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline Resource& WithLastReportedAt(const Aws::Utils::DateTime& value) { SetLastReportedAt(value); return *this;} /** *The date and time that Resource Explorer last queried this resource and * updated the index with the latest information about the resource.
*/ inline Resource& WithLastReportedAt(Aws::Utils::DateTime&& value) { SetLastReportedAt(std::move(value)); return *this;} /** *The Amazon Web Services account that owns the resource.
*/ inline const Aws::String& GetOwningAccountId() const{ return m_owningAccountId; } /** *The Amazon Web Services account that owns the resource.
*/ inline bool OwningAccountIdHasBeenSet() const { return m_owningAccountIdHasBeenSet; } /** *The Amazon Web Services account that owns the resource.
*/ inline void SetOwningAccountId(const Aws::String& value) { m_owningAccountIdHasBeenSet = true; m_owningAccountId = value; } /** *The Amazon Web Services account that owns the resource.
*/ inline void SetOwningAccountId(Aws::String&& value) { m_owningAccountIdHasBeenSet = true; m_owningAccountId = std::move(value); } /** *The Amazon Web Services account that owns the resource.
*/ inline void SetOwningAccountId(const char* value) { m_owningAccountIdHasBeenSet = true; m_owningAccountId.assign(value); } /** *The Amazon Web Services account that owns the resource.
*/ inline Resource& WithOwningAccountId(const Aws::String& value) { SetOwningAccountId(value); return *this;} /** *The Amazon Web Services account that owns the resource.
*/ inline Resource& WithOwningAccountId(Aws::String&& value) { SetOwningAccountId(std::move(value)); return *this;} /** *The Amazon Web Services account that owns the resource.
*/ inline Resource& WithOwningAccountId(const char* value) { SetOwningAccountId(value); return *this;} /** *A structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline const Aws::VectorA structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *A structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline void SetProperties(const Aws::VectorA structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline void SetProperties(Aws::VectorA structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline Resource& WithProperties(const Aws::VectorA structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline Resource& WithProperties(Aws::VectorA structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline Resource& AddProperties(const ResourceProperty& value) { m_propertiesHasBeenSet = true; m_properties.push_back(value); return *this; } /** *A structure with additional type-specific details about the resource. These * properties can be added by turning on integration between Resource Explorer and * other Amazon Web Services services.
*/ inline Resource& AddProperties(ResourceProperty&& value) { m_propertiesHasBeenSet = true; m_properties.push_back(std::move(value)); return *this; } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline Resource& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline Resource& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *The Amazon Web Services Region in which the resource was created and * exists.
*/ inline Resource& WithRegion(const char* value) { SetRegion(value); return *this;} /** *The type of the resource.
*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *The type of the resource.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The type of the resource.
*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The type of the resource.
*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The type of the resource.
*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *The type of the resource.
*/ inline Resource& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *The type of the resource.
*/ inline Resource& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *The type of the resource.
*/ inline Resource& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline const Aws::String& GetService() const{ return m_service; } /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline Resource& WithService(const Aws::String& value) { SetService(value); return *this;} /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline Resource& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} /** *The Amazon Web Service that owns the resource and is responsible for creating * and updating it.
*/ inline Resource& WithService(const char* value) { SetService(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Utils::DateTime m_lastReportedAt; bool m_lastReportedAtHasBeenSet = false; Aws::String m_owningAccountId; bool m_owningAccountIdHasBeenSet = false; Aws::Vector