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.



9023
9024
9025
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9023

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)


8975
8976
8977
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8975

def creation_time
  @creation_time
end

#etagString

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

Returns:

  • (String)


8980
8981
8982
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8980

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)


8989
8990
8991
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8989

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>)


9010
9011
9012
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9010

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)


9016
9017
9018
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9016

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



9021
9022
9023
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9021

def row_access_policy_reference
  @row_access_policy_reference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9028
9029
9030
9031
9032
9033
9034
9035
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9028

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