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

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

An asset in Google Cloud. An asset can be any resource in the Google Cloud resource hierarchy, a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship). See Supported asset types for more information.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Asset

Returns a new instance of Asset.



310
311
312
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 310

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 Google Cloud services, along with a list of requirements necessary for the label to be applied. Corresponds to the JSON property accessLevel



197
198
199
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 197

def access_level
  @access_level
end

#access_policyGoogle::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy

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. Corresponds to the JSON property accessPolicy



206
207
208
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 206

def access_policy
  @access_policy
end

#ancestorsArray<String>

The ancestry path of an asset in Google Cloud resource hierarchy, represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: ["projects/123456789", "folders/5432", "organizations/1234"] Corresponds to the JSON property ancestors

Returns:

  • (Array<String>)


216
217
218
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 216

def ancestors
  @ancestors
end

#asset_typeString

The type of the asset. Example: compute.googleapis.com/Disk See Supported asset types for more information. Corresponds to the JSON property assetType

Returns:

  • (String)


223
224
225
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 223

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, or principals, to a single role. Principals 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. For some types of Google Cloud resources, a binding can also 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. To learn which resources support conditions in their IAM policies, see the IAM documentation. 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



254
255
256
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 254

def iam_policy
  @iam_policy
end

#nameString

The full name of the asset. 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)


262
263
264
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 262

def name
  @name
end

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

A representation of an organization policy. There can be more than one organization policy with different constraints set on a given resource. Corresponds to the JSON property orgPolicy



270
271
272
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 270

def org_policy
  @org_policy
end

#os_inventoryGoogle::Apis::CloudassetV1::Inventory

This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see Information provided by OS inventory management. Corresponds to the JSON property osInventory



279
280
281
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 279

def os_inventory
  @os_inventory
end

The detailed related assets with the relationship_type. Corresponds to the JSON property relatedAssets



284
285
286
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 284

def related_assets
  @related_assets
end

#resourceGoogle::Apis::CloudassetV1::Resource

A representation of a Google Cloud resource. Corresponds to the JSON property resource



289
290
291
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 289

def resource
  @resource
end

#service_perimeterGoogle::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter

ServicePerimeter describes a set of Google Cloud 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 Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges. Corresponds to the JSON property servicePerimeter



302
303
304
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 302

def service_perimeter
  @service_perimeter
end

#update_timeString

The last update timestamp of an asset. update_time is updated when create/ update/delete operation is performed. Corresponds to the JSON property updateTime

Returns:

  • (String)


308
309
310
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 308

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



315
316
317
318
319
320
321
322
323
324
325
326
327
328
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 315

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)
  @os_inventory = args[:os_inventory] if args.key?(:os_inventory)
  @related_assets = args[:related_assets] if args.key?(:related_assets)
  @resource = args[:resource] if args.key?(:resource)
  @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
  @update_time = args[:update_time] if args.key?(:update_time)
end