Class: Google::Apis::BigqueryV2::RowAccessPolicy

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

Represents access on a subset of rows on the specified table, defined by its filter predicate. Access to the subset of rows is controlled by its IAM policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RowAccessPolicy

Returns a new instance of RowAccessPolicy.



9390
9391
9392
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9390

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

Instance Attribute Details

#creation_timeString

Output only. The time when this row access policy was created, in milliseconds since the epoch. Corresponds to the JSON property creationTime

Returns:

  • (String)


9342
9343
9344
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9342

def creation_time
  @creation_time
end

#etagString

Output only. A hash of this resource. Corresponds to the JSON property etag

Returns:

  • (String)


9347
9348
9349
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9347

def etag
  @etag
end

#filter_predicateString

Required. A SQL boolean expression that represents the rows defined by this row access policy, similar to the boolean expression in a WHERE clause of a SELECT query on a table. References to other tables, routines, and temporary functions are not supported. Examples: region="EU" date_field = CAST('2019-9- 27' as DATE) nullable_field is not NULL numeric_field BETWEEN 1.0 AND 5.0 Corresponds to the JSON property filterPredicate

Returns:

  • (String)


9356
9357
9358
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9356

def filter_predicate
  @filter_predicate
end

#granteesArray<String>

Optional. Input only. The optional list of iam_member users or groups that specifies the initial members that the row-level access policy should be created with. grantees types: - "user:alice@example.com": An email address that represents a specific Google account. - "serviceAccount:my-other-app@ appspot.gserviceaccount.com": An email address that represents a service account. - "group:admins@example.com": An email address that represents a Google group. - "domain:example.com":The Google Workspace domain (primary) that represents all the users of that domain. - "allAuthenticatedUsers": A special identifier that represents all service accounts and all users on the internet who have authenticated with a Google Account. This identifier includes accounts that aren't connected to a Google Workspace or Cloud Identity domain, such as personal Gmail accounts. Users who aren't authenticated, such as anonymous visitors, aren't included. - "allUsers":A special identifier that represents anyone who is on the internet, including authenticated and unauthenticated users. Because BigQuery requires authentication before a user can access the service, allUsers includes only authenticated users. Corresponds to the JSON property grantees

Returns:

  • (Array<String>)


9377
9378
9379
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9377

def grantees
  @grantees
end

#last_modified_timeString

Output only. The time when this row access policy was last modified, in milliseconds since the epoch. Corresponds to the JSON property lastModifiedTime

Returns:

  • (String)


9383
9384
9385
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9383

def last_modified_time
  @last_modified_time
end

#row_access_policy_referenceGoogle::Apis::BigqueryV2::RowAccessPolicyReference

Id path of a row access policy. Corresponds to the JSON property rowAccessPolicyReference



9388
9389
9390
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9388

def row_access_policy_reference
  @row_access_policy_reference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9395
9396
9397
9398
9399
9400
9401
9402
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9395

def update!(**args)
  @creation_time = args[:creation_time] if args.key?(:creation_time)
  @etag = args[:etag] if args.key?(:etag)
  @filter_predicate = args[:filter_predicate] if args.key?(:filter_predicate)
  @grantees = args[:grantees] if args.key?(:grantees)
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
  @row_access_policy_reference = args[:row_access_policy_reference] if args.key?(:row_access_policy_reference)
end