Class: Gcloud::Bigquery::Dataset::Access
- Inherits:
-
Object
- Object
- Gcloud::Bigquery::Dataset::Access
- Defined in:
- lib/gcloud/bigquery/dataset/access.rb
Overview
Dataset Access Control
Represents the Access rules for a Dataset. See BigQuery Access Control.
require "gcloud"
gcloud = Gcloud.new
bigquery = gcloud.bigquery
dataset = bigquery.dataset "my_dataset"
dataset.access do |access|
access.add_owner_group "[email protected]"
access.add_writer_user "[email protected]"
access.remove_writer_user "[email protected]"
access.add_reader_special :all
access.add_reader_view other_dataset_view_object
end
Constant Summary collapse
- ROLES =
{ "reader" => "READER", "writer" => "WRITER", "owner" => "OWNER" }
- SCOPES =
:nodoc:
{ "user" => "userByEmail", "user_by_email" => "userByEmail", "userByEmail" => "userByEmail", "group" => "groupByEmail", "group_by_email" => "groupByEmail", "groupByEmail" => "groupByEmail", "domain" => "domain", "special" => "specialGroup", "special_group" => "specialGroup", "specialGroup" => "specialGroup", "view" => "view" }
- GROUPS =
:nodoc:
{ "owners" => "projectOwners", "project_owners" => "projectOwners", "projectOwners" => "projectOwners", "readers" => "projectReaders", "project_readers" => "projectReaders", "projectReaders" => "projectReaders", "writers" => "projectWriters", "project_writers" => "projectWriters", "projectWriters" => "projectWriters", "all" => "allAuthenticatedUsers", "all_authenticated_users" => "allAuthenticatedUsers", "allAuthenticatedUsers" => "allAuthenticatedUsers" }
Instance Attribute Summary collapse
-
#access ⇒ Object
readonly
:nodoc:.
Instance Method Summary collapse
-
#add_owner_domain(domain) ⇒ Object
Add owner access to a domain.
-
#add_owner_group(email) ⇒ Object
Add owner access to a group.
-
#add_owner_special(group) ⇒ Object
Add owner access to a special group.
-
#add_owner_user(email) ⇒ Object
Add owner access to a user.
-
#add_owner_view(view) ⇒ Object
Add owner access to a view.
-
#add_reader_domain(domain) ⇒ Object
Add reader access to a domain.
-
#add_reader_group(email) ⇒ Object
Add reader access to a group.
-
#add_reader_special(group) ⇒ Object
Add reader access to a special group.
-
#add_reader_user(email) ⇒ Object
Add reader access to a user.
-
#add_reader_view(view) ⇒ Object
Add reader access to a view.
-
#add_writer_domain(domain) ⇒ Object
Add writer access to a domain.
-
#add_writer_group(email) ⇒ Object
Add writer access to a group.
-
#add_writer_special(group) ⇒ Object
Add writer access to a special group.
-
#add_writer_user(email) ⇒ Object
Add writer access to a user.
-
#add_writer_view(view) ⇒ Object
Add writer access to a view.
-
#changed? ⇒ Boolean
:nodoc:.
-
#initialize(access, context) ⇒ Access
constructor
Initialized a new Access object.
-
#owner_domain?(domain) ⇒ Boolean
Checks owner access for a domain.
-
#owner_group?(email) ⇒ Boolean
Checks owner access for a group.
-
#owner_special?(group) ⇒ Boolean
Checks owner access for a special group.
-
#owner_user?(email) ⇒ Boolean
Checks owner access for a user.
-
#owner_view?(view) ⇒ Boolean
Checks owner access for a view.
-
#reader_domain?(domain) ⇒ Boolean
Checks reader access for a domain.
-
#reader_group?(email) ⇒ Boolean
Checks reader access for a group.
-
#reader_special?(group) ⇒ Boolean
Checks reader access for a special group.
-
#reader_user?(email) ⇒ Boolean
Checks reader access for a user.
-
#reader_view?(view) ⇒ Boolean
Checks reader access for a view.
-
#remove_owner_domain(domain) ⇒ Object
Remove owner access from a domain.
-
#remove_owner_group(email) ⇒ Object
Remove owner access from a group.
-
#remove_owner_special(group) ⇒ Object
Remove owner access from a special group.
-
#remove_owner_user(email) ⇒ Object
Remove owner access from a user.
-
#remove_owner_view(view) ⇒ Object
Remove owner access from a view.
-
#remove_reader_domain(domain) ⇒ Object
Remove reader access from a domain.
-
#remove_reader_group(email) ⇒ Object
Remove reader access from a group.
-
#remove_reader_special(group) ⇒ Object
Remove reader access from a special group.
-
#remove_reader_user(email) ⇒ Object
Remove reader access from a user.
-
#remove_reader_view(view) ⇒ Object
Remove reader access from a view.
-
#remove_writer_domain(domain) ⇒ Object
Remove writer access from a domain.
-
#remove_writer_group(email) ⇒ Object
Remove writer access from a group.
-
#remove_writer_special(group) ⇒ Object
Remove writer access from a special group.
-
#remove_writer_user(email) ⇒ Object
Remove writer access from a user.
-
#remove_writer_view(view) ⇒ Object
Remove writer access from a view.
-
#writer_domain?(domain) ⇒ Boolean
Checks writer access for a domain.
-
#writer_group?(email) ⇒ Boolean
Checks writer access for a group.
-
#writer_special?(group) ⇒ Boolean
Checks writer access for a special group.
-
#writer_user?(email) ⇒ Boolean
Checks writer access for a user.
-
#writer_view?(view) ⇒ Boolean
Checks writer access for a view.
Constructor Details
#initialize(access, context) ⇒ Access
Initialized a new Access object. Must provide a valid Dataset object.
74 75 76 77 78 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 74 def initialize access, context #:nodoc: @original = access.dup @access = access.dup @context = context end |
Instance Attribute Details
#access ⇒ Object (readonly)
:nodoc:
69 70 71 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 69 def access @access end |
Instance Method Details
#add_owner_domain(domain) ⇒ Object
Add owner access to a domain.
170 171 172 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 170 def add_owner_domain domain add_access_role_scope_value :owner, :domain, domain end |
#add_owner_group(email) ⇒ Object
Add owner access to a group.
164 165 166 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 164 def add_owner_group email add_access_role_scope_value :owner, :group, email end |
#add_owner_special(group) ⇒ Object
Add owner access to a special group. Accepted values are owners, writers, readers, and all.
177 178 179 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 177 def add_owner_special group add_access_role_scope_value :owner, :special, group end |
#add_owner_user(email) ⇒ Object
Add owner access to a user.
158 159 160 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 158 def add_owner_user email add_access_role_scope_value :owner, :user, email end |
#add_owner_view(view) ⇒ Object
Add owner access to a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
188 189 190 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 188 def add_owner_view view add_access_role_scope_value :owner, :view, view end |
#add_reader_domain(domain) ⇒ Object
Add reader access to a domain.
98 99 100 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 98 def add_reader_domain domain add_access_role_scope_value :reader, :domain, domain end |
#add_reader_group(email) ⇒ Object
Add reader access to a group.
92 93 94 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 92 def add_reader_group email add_access_role_scope_value :reader, :group, email end |
#add_reader_special(group) ⇒ Object
Add reader access to a special group. Accepted values are owners, writers, readers, and all.
105 106 107 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 105 def add_reader_special group add_access_role_scope_value :reader, :special, group end |
#add_reader_user(email) ⇒ Object
Add reader access to a user.
86 87 88 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 86 def add_reader_user email add_access_role_scope_value :reader, :user, email end |
#add_reader_view(view) ⇒ Object
Add reader access to a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
116 117 118 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 116 def add_reader_view view add_access_role_scope_value :reader, :view, view end |
#add_writer_domain(domain) ⇒ Object
Add writer access to a domain.
134 135 136 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 134 def add_writer_domain domain add_access_role_scope_value :writer, :domain, domain end |
#add_writer_group(email) ⇒ Object
Add writer access to a group.
128 129 130 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 128 def add_writer_group email add_access_role_scope_value :writer, :group, email end |
#add_writer_special(group) ⇒ Object
Add writer access to a special group. Accepted values are owners, writers, readers, and all.
141 142 143 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 141 def add_writer_special group add_access_role_scope_value :writer, :special, group end |
#add_writer_user(email) ⇒ Object
Add writer access to a user.
122 123 124 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 122 def add_writer_user email add_access_role_scope_value :writer, :user, email end |
#add_writer_view(view) ⇒ Object
Add writer access to a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
152 153 154 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 152 def add_writer_view view add_access_role_scope_value :writer, :view, view end |
#changed? ⇒ Boolean
:nodoc:
80 81 82 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 80 def changed? #:nodoc: @original != @access end |
#owner_domain?(domain) ⇒ Boolean
Checks owner access for a domain.
386 387 388 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 386 def owner_domain? domain lookup_access_role_scope_value :owner, :domain, domain end |
#owner_group?(email) ⇒ Boolean
Checks owner access for a group.
380 381 382 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 380 def owner_group? email lookup_access_role_scope_value :owner, :group, email end |
#owner_special?(group) ⇒ Boolean
Checks owner access for a special group. Accepted values are owners, writers, readers, and all.
393 394 395 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 393 def owner_special? group lookup_access_role_scope_value :owner, :special, group end |
#owner_user?(email) ⇒ Boolean
Checks owner access for a user.
374 375 376 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 374 def owner_user? email lookup_access_role_scope_value :owner, :user, email end |
#owner_view?(view) ⇒ Boolean
Checks owner access for a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
404 405 406 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 404 def owner_view? view lookup_access_role_scope_value :owner, :view, view end |
#reader_domain?(domain) ⇒ Boolean
Checks reader access for a domain.
314 315 316 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 314 def reader_domain? domain lookup_access_role_scope_value :reader, :domain, domain end |
#reader_group?(email) ⇒ Boolean
Checks reader access for a group.
308 309 310 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 308 def reader_group? email lookup_access_role_scope_value :reader, :group, email end |
#reader_special?(group) ⇒ Boolean
Checks reader access for a special group. Accepted values are owners, writers, readers, and all.
321 322 323 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 321 def reader_special? group lookup_access_role_scope_value :reader, :special, group end |
#reader_user?(email) ⇒ Boolean
Checks reader access for a user.
302 303 304 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 302 def reader_user? email lookup_access_role_scope_value :reader, :user, email end |
#reader_view?(view) ⇒ Boolean
Checks reader access for a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
332 333 334 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 332 def reader_view? view lookup_access_role_scope_value :reader, :view, view end |
#remove_owner_domain(domain) ⇒ Object
Remove owner access from a domain.
278 279 280 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 278 def remove_owner_domain domain remove_access_role_scope_value :owner, :domain, domain end |
#remove_owner_group(email) ⇒ Object
Remove owner access from a group.
272 273 274 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 272 def remove_owner_group email remove_access_role_scope_value :owner, :group, email end |
#remove_owner_special(group) ⇒ Object
Remove owner access from a special group. Accepted values are owners, writers, readers, and all.
285 286 287 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 285 def remove_owner_special group remove_access_role_scope_value :owner, :special, group end |
#remove_owner_user(email) ⇒ Object
Remove owner access from a user.
266 267 268 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 266 def remove_owner_user email remove_access_role_scope_value :owner, :user, email end |
#remove_owner_view(view) ⇒ Object
Remove owner access from a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
296 297 298 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 296 def remove_owner_view view remove_access_role_scope_value :owner, :view, view end |
#remove_reader_domain(domain) ⇒ Object
Remove reader access from a domain.
206 207 208 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 206 def remove_reader_domain domain remove_access_role_scope_value :reader, :domain, domain end |
#remove_reader_group(email) ⇒ Object
Remove reader access from a group.
200 201 202 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 200 def remove_reader_group email remove_access_role_scope_value :reader, :group, email end |
#remove_reader_special(group) ⇒ Object
Remove reader access from a special group. Accepted values are owners, writers, readers, and all.
213 214 215 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 213 def remove_reader_special group remove_access_role_scope_value :reader, :special, group end |
#remove_reader_user(email) ⇒ Object
Remove reader access from a user.
194 195 196 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 194 def remove_reader_user email remove_access_role_scope_value :reader, :user, email end |
#remove_reader_view(view) ⇒ Object
Remove reader access from a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
224 225 226 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 224 def remove_reader_view view remove_access_role_scope_value :reader, :view, view end |
#remove_writer_domain(domain) ⇒ Object
Remove writer access from a domain.
242 243 244 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 242 def remove_writer_domain domain remove_access_role_scope_value :writer, :domain, domain end |
#remove_writer_group(email) ⇒ Object
Remove writer access from a group.
236 237 238 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 236 def remove_writer_group email remove_access_role_scope_value :writer, :group, email end |
#remove_writer_special(group) ⇒ Object
Remove writer access from a special group. Accepted values are owners, writers, readers, and all.
249 250 251 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 249 def remove_writer_special group remove_access_role_scope_value :writer, :special, group end |
#remove_writer_user(email) ⇒ Object
Remove writer access from a user.
230 231 232 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 230 def remove_writer_user email remove_access_role_scope_value :writer, :user, email end |
#remove_writer_view(view) ⇒ Object
Remove writer access from a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
260 261 262 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 260 def remove_writer_view view remove_access_role_scope_value :writer, :view, view end |
#writer_domain?(domain) ⇒ Boolean
Checks writer access for a domain.
350 351 352 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 350 def writer_domain? domain lookup_access_role_scope_value :writer, :domain, domain end |
#writer_group?(email) ⇒ Boolean
Checks writer access for a group.
344 345 346 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 344 def writer_group? email lookup_access_role_scope_value :writer, :group, email end |
#writer_special?(group) ⇒ Boolean
Checks writer access for a special group. Accepted values are owners, writers, readers, and all.
357 358 359 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 357 def writer_special? group lookup_access_role_scope_value :writer, :special, group end |
#writer_user?(email) ⇒ Boolean
Checks writer access for a user.
338 339 340 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 338 def writer_user? email lookup_access_role_scope_value :writer, :user, email end |
#writer_view?(view) ⇒ Boolean
Checks writer access for a view. The view can be a Gcloud::Bigquery::View object, or a string identifier as specified by the Query Reference: project_name:datasetId.tableId.
368 369 370 |
# File 'lib/gcloud/bigquery/dataset/access.rb', line 368 def writer_view? view lookup_access_role_scope_value :writer, :view, view end |