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

Overview

An object that defines dataset access for an entity.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Access

Returns a new instance of Access.



2080
2081
2082
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2080

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

Instance Attribute Details

#conditionGoogle::Apis::BigqueryV2::Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: " Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example ( Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. Corresponds to the JSON property condition



2011
2012
2013
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2011

def condition
  @condition
end

#datasetGoogle::Apis::BigqueryV2::DatasetAccessEntry

Grants all resources of particular types in a particular dataset read access to the current dataset. Similar to how individually authorized views work, updates to any resource granted through its dataset (including creation of new resources) requires read permission to referenced resources, plus write permission to the authorizing dataset. Corresponds to the JSON property dataset



2020
2021
2022
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2020

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)


2027
2028
2029
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2027

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)


2033
2034
2035
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2033

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)


2039
2040
2041
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2039

def iam_member
  @iam_member
end

#roleString

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)


2049
2050
2051
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2049

def role
  @role
end

#routineGoogle::Apis::BigqueryV2::RoutineReference

Id path of a routine. Corresponds to the JSON property routine



2054
2055
2056
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2054

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)


2063
2064
2065
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2063

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)


2069
2070
2071
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2069

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 views/tables/routines 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



2078
2079
2080
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2078

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2085

def update!(**args)
  @condition = args[:condition] if args.key?(:condition)
  @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