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.



323
324
325
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 323

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

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. Cloud IAM policy). See Supported asset types for more information. Corresponds to the JSON property relatedAsset



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

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



297
298
299
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 297

def related_assets
  @related_assets
end

#resourceGoogle::Apis::CloudassetV1::Resource

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



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

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



315
316
317
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 315

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)


321
322
323
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 321

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 328

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