Class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudasset_v1/classes.rb,
lib/google/apis/cloudasset_v1/representations.rb,
lib/google/apis/cloudasset_v1/representations.rb

Overview

AccessPolicy is a container for AccessLevels (which define the necessary attributes to use Google Cloud services) and ServicePerimeters (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleIdentityAccesscontextmanagerV1AccessPolicy

Returns a new instance of GoogleIdentityAccesscontextmanagerV1AccessPolicy.



2891
2892
2893
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2891

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

Instance Attribute Details

#etagString

Output only. An opaque identifier for the current version of the AccessPolicy . This will always be a strongly validated etag, meaning that two Access Policies will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format. Corresponds to the JSON property etag

Returns:

  • (String)


2858
2859
2860
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2858

def etag
  @etag
end

#nameString

Output only. Identifier. Resource name of the AccessPolicy. Format: accessPolicies/access_policy` Corresponds to the JSON propertyname`

Returns:

  • (String)


2864
2865
2866
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2864

def name
  @name
end

#parentString

Required. The parent of this AccessPolicy in the Cloud Resource Hierarchy. Currently immutable once created. Format: organizations/organization_id` Corresponds to the JSON propertyparent`

Returns:

  • (String)


2870
2871
2872
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2870

def parent
  @parent
end

#scopesArray<String>

The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with scopes=["folders/123"] has the following behavior: - ServicePerimeter can only restrict projects within folders/123. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes folders/123 will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of folders/folder_numberor `projects/`project_number Corresponds to the JSON property scopes

Returns:

  • (Array<String>)


2884
2885
2886
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2884

def scopes
  @scopes
end

#titleString

Required. Human readable title. Does not affect behavior. Corresponds to the JSON property title

Returns:

  • (String)


2889
2890
2891
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2889

def title
  @title
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2896
2897
2898
2899
2900
2901
2902
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 2896

def update!(**args)
  @etag = args[:etag] if args.key?(:etag)
  @name = args[:name] if args.key?(:name)
  @parent = args[:parent] if args.key?(:parent)
  @scopes = args[:scopes] if args.key?(:scopes)
  @title = args[:title] if args.key?(:title)
end