Class: Google::Apis::BigqueryV2::Dataset::Access

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Access

Returns a new instance of Access.



1719
1720
1721
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1719

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#datasetGoogle::Apis::BigqueryV2::DatasetAccessEntry

[Pick one] A grant authorizing all resources of a particular type in a particular dataset access to this dataset. Only views are supported for now. The role field is not required when this field is set. If that dataset is deleted and re-created, its access needs to be granted again via an update operation. Corresponds to the JSON property dataset



1655
1656
1657
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1655

def dataset
  @dataset
end

#domainString

[Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com". Maps to IAM policy member "domain:DOMAIN". Corresponds to the JSON property domain

Returns:

  • (String)


1662
1663
1664
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1662

def domain
  @domain
end

#group_by_emailString

[Pick one] An email address of a Google Group to grant access to. Maps to IAM policy member "group:GROUP". Corresponds to the JSON property groupByEmail

Returns:

  • (String)


1668
1669
1670
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1668

def group_by_email
  @group_by_email
end

#iam_memberString

[Pick one] Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. Corresponds to the JSON property iamMember

Returns:

  • (String)


1674
1675
1676
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1674

def iam_member
  @iam_member
end

#roleString

[Required] An IAM role ID that should be granted to the user, group, or domain specified in this access entry. The following legacy mappings will be applied: OWNER roles/bigquery.dataOwner WRITER roles/bigquery.dataEditor READER roles/bigquery.dataViewer This field will accept any of the above formats, but will return only the legacy format. For example, if you set this field to " roles/bigquery.dataOwner", it will be returned back as "OWNER". Corresponds to the JSON property role

Returns:

  • (String)


1684
1685
1686
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1684

def role
  @role
end

#routineGoogle::Apis::BigqueryV2::RoutineReference

[Pick one] A routine from a different dataset to grant access to. Queries executed against that routine will have read access to views/tables/routines in this dataset. Only UDF is supported for now. The role field is not required when this field is set. If that routine is updated by any user, access to the routine needs to be granted again via an update operation. Corresponds to the JSON property routine



1693
1694
1695
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1693

def routine
  @routine
end

#special_groupString

[Pick one] A special group to grant access to. Possible values include: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users. Maps to similarly- named IAM members. Corresponds to the JSON property specialGroup

Returns:

  • (String)


1702
1703
1704
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1702

def special_group
  @special_group
end

#user_by_emailString

[Pick one] An email address of a user to grant access to. For example: fred@ example.com. Maps to IAM policy member "user:EMAIL" or "serviceAccount:EMAIL". Corresponds to the JSON property userByEmail

Returns:

  • (String)


1708
1709
1710
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1708

def user_by_email
  @user_by_email
end

#viewGoogle::Apis::BigqueryV2::TableReference

[Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation. Corresponds to the JSON property view



1717
1718
1719
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1717

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
# File 'lib/google/apis/bigquery_v2/classes.rb', line 1724

def update!(**args)
  @dataset = args[:dataset] if args.key?(:dataset)
  @domain = args[:domain] if args.key?(:domain)
  @group_by_email = args[:group_by_email] if args.key?(:group_by_email)
  @iam_member = args[:iam_member] if args.key?(:iam_member)
  @role = args[:role] if args.key?(:role)
  @routine = args[:routine] if args.key?(:routine)
  @special_group = args[:special_group] if args.key?(:special_group)
  @user_by_email = args[:user_by_email] if args.key?(:user_by_email)
  @view = args[:view] if args.key?(:view)
end