/** * 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 the additional details to be returned in the * AdditionalDetails attribute of * PrincipalResourcePermissions.

If a catalog resource is * shared through Resource Access Manager (RAM), then there will exist a * corresponding RAM resource share ARN.

See Also:

AWS * API Reference

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

A resource share ARN for a catalog resource shared through RAM.

*/ inline const Aws::Vector& GetResourceShare() const{ return m_resourceShare; } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline bool ResourceShareHasBeenSet() const { return m_resourceShareHasBeenSet; } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline void SetResourceShare(const Aws::Vector& value) { m_resourceShareHasBeenSet = true; m_resourceShare = value; } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline void SetResourceShare(Aws::Vector&& value) { m_resourceShareHasBeenSet = true; m_resourceShare = std::move(value); } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline DetailsMap& WithResourceShare(const Aws::Vector& value) { SetResourceShare(value); return *this;} /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline DetailsMap& WithResourceShare(Aws::Vector&& value) { SetResourceShare(std::move(value)); return *this;} /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline DetailsMap& AddResourceShare(const Aws::String& value) { m_resourceShareHasBeenSet = true; m_resourceShare.push_back(value); return *this; } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline DetailsMap& AddResourceShare(Aws::String&& value) { m_resourceShareHasBeenSet = true; m_resourceShare.push_back(std::move(value)); return *this; } /** *

A resource share ARN for a catalog resource shared through RAM.

*/ inline DetailsMap& AddResourceShare(const char* value) { m_resourceShareHasBeenSet = true; m_resourceShare.push_back(value); return *this; } private: Aws::Vector m_resourceShare; bool m_resourceShareHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws