/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the quicksight-2018-04-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.QuickSight.Model
{
///
/// Information about a dataset that contains permissions for row-level security (RLS).
/// The permissions dataset maps fields to users or groups. For more information, see
/// Using
/// Row-Level Security (RLS) to Restrict Access to a Dataset in the Amazon QuickSight
/// User Guide.
///
///
///
/// The option to deny permissions by setting PermissionPolicy
to DENY_ACCESS
/// is not supported for new RLS datasets.
///
///
public partial class RowLevelPermissionDataSet
{
private string _arn;
private RowLevelPermissionFormatVersion _formatVersion;
private string _awsNamespace;
private RowLevelPermissionPolicy _permissionPolicy;
private Status _status;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.
///
///
[AWSProperty(Required=true)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property FormatVersion.
///
/// The user or group rules associated with the dataset that contains permissions for
/// RLS.
///
///
///
/// By default, FormatVersion
is VERSION_1
. When FormatVersion
/// is VERSION_1
, UserName
and GroupName
are required.
/// When FormatVersion
is VERSION_2
, UserARN
and
/// GroupARN
are required, and Namespace
must not exist.
///
///
public RowLevelPermissionFormatVersion FormatVersion
{
get { return this._formatVersion; }
set { this._formatVersion = value; }
}
// Check to see if FormatVersion property is set
internal bool IsSetFormatVersion()
{
return this._formatVersion != null;
}
///
/// Gets and sets the property Namespace.
///
/// The namespace associated with the dataset that contains permissions for RLS.
///
///
[AWSProperty(Max=64)]
public string Namespace
{
get { return this._awsNamespace; }
set { this._awsNamespace = value; }
}
// Check to see if Namespace property is set
internal bool IsSetNamespace()
{
return this._awsNamespace != null;
}
///
/// Gets and sets the property PermissionPolicy.
///
/// The type of permissions to use when interpreting the permissions for RLS. DENY_ACCESS
/// is included for backward compatibility only.
///
///
[AWSProperty(Required=true)]
public RowLevelPermissionPolicy PermissionPolicy
{
get { return this._permissionPolicy; }
set { this._permissionPolicy = value; }
}
// Check to see if PermissionPolicy property is set
internal bool IsSetPermissionPolicy()
{
return this._permissionPolicy != null;
}
///
/// Gets and sets the property Status.
///
/// The status of the row-level security permission dataset. If enabled, the status is
/// ENABLED
. If disabled, the status is DISABLED
.
///
///
public Status Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
}
}