/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ResourceExplorer2 { namespace Model { /** *

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

*/ class Resource { public: AWS_RESOURCEEXPLORER2_API Resource(); AWS_RESOURCEEXPLORER2_API Resource(Aws::Utils::Json::JsonView jsonValue); AWS_RESOURCEEXPLORER2_API Resource& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_RESOURCEEXPLORER2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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::Vector& GetProperties() const{ return m_properties; } /** *

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 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::Vector& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

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(Aws::Vector&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

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& WithProperties(const Aws::Vector& value) { SetProperties(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& WithProperties(Aws::Vector&& value) { SetProperties(std::move(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(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 m_properties; bool m_propertiesHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_service; bool m_serviceHasBeenSet = false; }; } // namespace Model } // namespace ResourceExplorer2 } // namespace Aws