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

Resource permission for a dataset. When you create a dataset, all the other * members of the same user group inherit access to the dataset. You can only * create a dataset if your user group has application permission for Create * Datasets.

The following is a list of valid dataset permissions that you * can apply:

  • ViewDatasetDetails

  • *

    ReadDatasetDetails

  • * AddDatasetData

  • CreateDataView

    *
  • EditDatasetMetadata

  • * DeleteDataset

For more information on the * dataset permissions, see Supported * Dataset Permissions in the FinSpace User Guide.

See Also:

* AWS * API Reference

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

Permission for a resource.

*/ inline const Aws::String& GetPermission() const{ return m_permission; } /** *

Permission for a resource.

*/ inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } /** *

Permission for a resource.

*/ inline void SetPermission(const Aws::String& value) { m_permissionHasBeenSet = true; m_permission = value; } /** *

Permission for a resource.

*/ inline void SetPermission(Aws::String&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } /** *

Permission for a resource.

*/ inline void SetPermission(const char* value) { m_permissionHasBeenSet = true; m_permission.assign(value); } /** *

Permission for a resource.

*/ inline ResourcePermission& WithPermission(const Aws::String& value) { SetPermission(value); return *this;} /** *

Permission for a resource.

*/ inline ResourcePermission& WithPermission(Aws::String&& value) { SetPermission(std::move(value)); return *this;} /** *

Permission for a resource.

*/ inline ResourcePermission& WithPermission(const char* value) { SetPermission(value); return *this;} private: Aws::String m_permission; bool m_permissionHasBeenSet = false; }; } // namespace Model } // namespace FinSpaceData } // namespace Aws