Class: Google::Apis::CloudassetV1::Asset

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

Overview

Cloud asset. This includes all Google Cloud Platform resources, Cloud IAM policies, and other non-GCP assets.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Asset

Returns a new instance of Asset.



154
155
156
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 154

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

Instance Attribute Details

#access_levelGoogle::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel

An AccessLevel is a label that can be applied to requests to GCP services, along with a list of requirements necessary for the label to be applied. Corresponds to the JSON property accessLevel



34
35
36
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 34

def access_level
  @access_level
end

#access_policyGoogle::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy

AccessPolicy is a container for AccessLevels (which define the necessary attributes to use GCP 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. Corresponds to the JSON property accessPolicy



43
44
45
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 43

def access_policy
  @access_policy
end

#ancestorsArray<String>

Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy, represented as a list of relative resource names. Ancestry path starts with the closest CRM ancestor and ends at root. If the asset is a CRM project/folder/organization, this starts from the asset itself. Example: ["projects/123456789", "folders/5432", "organizations/1234"] Corresponds to the JSON property ancestors

Returns:

  • (Array<String>)


52
53
54
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 52

def ancestors
  @ancestors
end

#asset_typeString

Type of the asset. Example: "compute.googleapis.com/Disk". Corresponds to the JSON property assetType

Returns:

  • (String)


57
58
59
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 57

def asset_type
  @asset_type
end

#iam_policyGoogle::Apis::CloudassetV1::Policy

An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role. Optionally, a binding can specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. JSON example: "bindings": [ "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] , "role": "roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"], "condition": "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') ", ], "etag": "BwWWja0YfJA=", "version": 3 YAML example: bindings:

  • members:
  • user:mike@example.com
  • group:admins@example.com
  • domain:google.com
  • serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin
  • members:
  • user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  • etag: BwWWja0YfJA=
  • version: 3 For a description of IAM and its features, see the IAM documentation. Corresponds to the JSON property iamPolicy


117
118
119
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 117

def iam_policy
  @iam_policy
end

#nameString

The full name of the asset. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/ instance1. See Resource Names for more information. Corresponds to the JSON property name

Returns:

  • (String)


127
128
129
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 127

def name
  @name
end

#org_policyArray<Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy>

Representation of the Cloud Organization Policy set on an asset. For each asset, there could be multiple Organization policies with different constraints. Corresponds to the JSON property orgPolicy



134
135
136
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 134

def org_policy
  @org_policy
end

#resourceGoogle::Apis::CloudassetV1::Resource

Representation of a cloud resource. Corresponds to the JSON property resource



139
140
141
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 139

def resource
  @resource
end

#service_perimeterGoogle::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter

ServicePerimeter describes a set of GCP resources which can freely import and export data amongst themselves, but not export outside of the ServicePerimeter. If a request with a source within this ServicePerimeter has a target outside of the ServicePerimeter, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only GCP projects as members, a single GCP project may belong to multiple Service Perimeter Bridges. Corresponds to the JSON property servicePerimeter



152
153
154
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 152

def service_perimeter
  @service_perimeter
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



159
160
161
162
163
164
165
166
167
168
169
# File 'generated/google/apis/cloudasset_v1/classes.rb', line 159

def update!(**args)
  @access_level = args[:access_level] if args.key?(:access_level)
  @access_policy = args[:access_policy] if args.key?(:access_policy)
  @ancestors = args[:ancestors] if args.key?(:ancestors)
  @asset_type = args[:asset_type] if args.key?(:asset_type)
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
  @name = args[:name] if args.key?(:name)
  @org_policy = args[:org_policy] if args.key?(:org_policy)
  @resource = args[:resource] if args.key?(:resource)
  @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
end