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.



9668
9669
9670
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9668

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)


9620
9621
9622
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9620

def creation_time
  @creation_time
end

#etagString

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

Returns:

  • (String)


9625
9626
9627
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9625

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)


9634
9635
9636
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9634

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


9655
9656
9657
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9655

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)


9661
9662
9663
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9661

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



9666
9667
9668
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9666

def row_access_policy_reference
  @row_access_policy_reference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9673
9674
9675
9676
9677
9678
9679
9680
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9673

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