Class: AWSCDK::QuickSight::CfnDataSet::RowLevelPermissionDataSetProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
quick_sight/cfn_data_set.rb

Overview

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 Quick Sight User Guide .

The option to deny permissions by setting PermissionPolicy to DENY_ACCESS is not supported for new RLS datasets.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arn:, permission_policy:, format_version: nil, namespace: nil, status: nil) ⇒ RowLevelPermissionDataSetProperty

Returns a new instance of RowLevelPermissionDataSetProperty.

Parameters:

  • arn (String)

    The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.

  • permission_policy (String)

    The type of permissions to use when interpreting the permissions for RLS.

  • format_version (String, nil) (defaults to: nil)

    The user or group rules associated with the dataset that contains permissions for RLS.

  • namespace (String, nil) (defaults to: nil)

    The namespace associated with the dataset that contains permissions for RLS.

  • status (String, nil) (defaults to: nil)

    The status of the row-level security permission dataset.



5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
# File 'quick_sight/cfn_data_set.rb', line 5037

def initialize(arn:, permission_policy:, format_version: nil, namespace: nil, status: nil)
  @arn = arn
  Jsii::Type.check_type(@arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arn")
  @permission_policy = permission_policy
  Jsii::Type.check_type(@permission_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "permissionPolicy")
  @format_version = format_version
  Jsii::Type.check_type(@format_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "formatVersion") unless @format_version.nil?
  @namespace = namespace
  Jsii::Type.check_type(@namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespace") unless @namespace.nil?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil?
end

Instance Attribute Details

#arnString (readonly)

The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.



5054
5055
5056
# File 'quick_sight/cfn_data_set.rb', line 5054

def arn
  @arn
end

#format_versionString? (readonly)

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.



5068
5069
5070
# File 'quick_sight/cfn_data_set.rb', line 5068

def format_version
  @format_version
end

#namespaceString? (readonly)

The namespace associated with the dataset that contains permissions for RLS.



5073
5074
5075
# File 'quick_sight/cfn_data_set.rb', line 5073

def namespace
  @namespace
end

#permission_policyString (readonly)

The type of permissions to use when interpreting the permissions for RLS.

DENY_ACCESS is included for backward compatibility only.



5061
5062
5063
# File 'quick_sight/cfn_data_set.rb', line 5061

def permission_policy
  @permission_policy
end

#statusString? (readonly)

The status of the row-level security permission dataset.

If enabled, the status is ENABLED . If disabled, the status is DISABLED .



5080
5081
5082
# File 'quick_sight/cfn_data_set.rb', line 5080

def status
  @status
end

Class Method Details

.jsii_propertiesObject



5082
5083
5084
5085
5086
5087
5088
5089
5090
# File 'quick_sight/cfn_data_set.rb', line 5082

def self.jsii_properties
  {
    :arn => "arn",
    :permission_policy => "permissionPolicy",
    :format_version => "formatVersion",
    :namespace => "namespace",
    :status => "status",
  }
end

Instance Method Details

#to_jsiiObject



5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
# File 'quick_sight/cfn_data_set.rb', line 5092

def to_jsii
  result = {}
  result.merge!({
    "arn" => @arn,
    "permissionPolicy" => @permission_policy,
    "formatVersion" => @format_version,
    "namespace" => @namespace,
    "status" => @status,
  })
  result.compact
end