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

A structure containing information about an Lake Formation * resource.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the resource.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline ResourceInfo& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline ResourceInfo& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the resource.

*/ inline ResourceInfo& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

The IAM role that registered a resource.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The IAM role that registered a resource.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The IAM role that registered a resource.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The IAM role that registered a resource.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The IAM role that registered a resource.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The IAM role that registered a resource.

*/ inline ResourceInfo& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The IAM role that registered a resource.

*/ inline ResourceInfo& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The IAM role that registered a resource.

*/ inline ResourceInfo& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The date and time the resource was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } /** *

The date and time the resource was last modified.

*/ inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } /** *

The date and time the resource was last modified.

*/ inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } /** *

The date and time the resource was last modified.

*/ inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } /** *

The date and time the resource was last modified.

*/ inline ResourceInfo& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} /** *

The date and time the resource was last modified.

*/ inline ResourceInfo& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} /** *

Whether or not the resource is a federated resource.

*/ inline bool GetWithFederation() const{ return m_withFederation; } /** *

Whether or not the resource is a federated resource.

*/ inline bool WithFederationHasBeenSet() const { return m_withFederationHasBeenSet; } /** *

Whether or not the resource is a federated resource.

*/ inline void SetWithFederation(bool value) { m_withFederationHasBeenSet = true; m_withFederation = value; } /** *

Whether or not the resource is a federated resource.

*/ inline ResourceInfo& WithWithFederation(bool value) { SetWithFederation(value); return *this;} private: Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Utils::DateTime m_lastModified; bool m_lastModifiedHasBeenSet = false; bool m_withFederation; bool m_withFederationHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws