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



506
507
508
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 506

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



379
380
381
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 379

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



388
389
390
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 388

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


398
399
400
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 398

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)


405
406
407
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 405

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



436
437
438
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 436

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)


444
445
446
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 444

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



452
453
454
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 452

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



461
462
463
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 461

def os_inventory
  @os_inventory
end

An asset identifier in Google Cloud which contains its name, type and ancestors. 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. IAM policy). See Supported asset types for more information. Corresponds to the JSON property relatedAsset



472
473
474
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 472

def related_asset
  @related_asset
end

DEPRECATED. This message only presents for the purpose of backward- compatibility. The server will never populate this message in responses. The detailed related assets with the relationship_type. Corresponds to the JSON property relatedAssets



479
480
481
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 479

def related_assets
  @related_assets
end

#resourceGoogle::Apis::CloudassetV1::Resource

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



484
485
486
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 484

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 or VPC network 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



498
499
500
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 498

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)


504
505
506
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 504

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 511

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_asset = args[:related_asset] if args.key?(:related_asset)
  @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