Class: Google::Apis::BigqueryV2::Dataset::Access
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryV2::Dataset::Access
- 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
-
#condition ⇒ Google::Apis::BigqueryV2::Expr
Represents a textual expression in the Common Expression Language (CEL) syntax.
-
#dataset ⇒ Google::Apis::BigqueryV2::DatasetAccessEntry
Grants all resources of particular types in a particular dataset read access to the current dataset.
-
#domain ⇒ String
[Pick one] A domain to grant access to.
-
#group_by_email ⇒ String
[Pick one] An email address of a Google Group to grant access to.
-
#iam_member ⇒ String
[Pick one] Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group.
-
#role ⇒ String
An IAM role ID that should be granted to the user, group, or domain specified in this access entry.
-
#routine ⇒ Google::Apis::BigqueryV2::RoutineReference
Id path of a routine.
-
#special_group ⇒ String
[Pick one] A special group to grant access to.
-
#user_by_email ⇒ String
[Pick one] An email address of a user to grant access to.
-
#view ⇒ Google::Apis::BigqueryV2::TableReference
[Pick one] A view from a different dataset to grant access to.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Access
constructor
A new instance of Access.
-
#update!(**args) ⇒ Object
Update properties of this object.
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
#condition ⇒ Google::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 |
#dataset ⇒ Google::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 |
#domain ⇒ String
[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
2027 2028 2029 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2027 def domain @domain end |
#group_by_email ⇒ String
[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
2033 2034 2035 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2033 def group_by_email @group_by_email end |
#iam_member ⇒ String
[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
2039 2040 2041 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2039 def iam_member @iam_member end |
#role ⇒ String
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
2049 2050 2051 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2049 def role @role end |
#routine ⇒ Google::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_group ⇒ String
[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
2063 2064 2065 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2063 def special_group @special_group end |
#user_by_email ⇒ String
[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
2069 2070 2071 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 2069 def user_by_email @user_by_email end |
#view ⇒ Google::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 |