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.



9763
9764
9765
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9763

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)


9715
9716
9717
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9715

def creation_time
  @creation_time
end

#etagString

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

Returns:

  • (String)


9720
9721
9722
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9720

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)


9729
9730
9731
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9729

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


9750
9751
9752
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9750

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)


9756
9757
9758
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9756

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



9761
9762
9763
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9761

def row_access_policy_reference
  @row_access_policy_reference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9768
9769
9770
9771
9772
9773
9774
9775
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9768

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