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.



9478
9479
9480
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9478

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)


9430
9431
9432
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9430

def creation_time
  @creation_time
end

#etagString

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

Returns:

  • (String)


9435
9436
9437
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9435

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)


9444
9445
9446
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9444

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


9465
9466
9467
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9465

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)


9471
9472
9473
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9471

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



9476
9477
9478
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9476

def row_access_policy_reference
  @row_access_policy_reference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9483
9484
9485
9486
9487
9488
9489
9490
# File 'lib/google/apis/bigquery_v2/classes.rb', line 9483

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