Class: Google::Apis::CloudassetV1::Asset
- Inherits:
-
Object
- Object
- Google::Apis::CloudassetV1::Asset
- 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
-
#access_level ⇒ Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel
An
AccessLevelis 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. -
#access_policy ⇒ Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy
AccessPolicyis a container forAccessLevels(which define the necessary attributes to use Google Cloud services) andServicePerimeters(which define regions of services able to freely pass data within a perimeter). -
#ancestors ⇒ Array<String>
The ancestry path of an asset in Google Cloud resource hierarchy, represented as a list of relative resource names.
-
#asset_type ⇒ String
The type of the asset.
-
#iam_policy ⇒ Google::Apis::CloudassetV1::Policy
An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.
-
#name ⇒ String
The full name of the asset.
-
#org_policy ⇒ Array<Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy>
A representation of an organization policy.
-
#os_inventory ⇒ Google::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.
-
#related_asset ⇒ Google::Apis::CloudassetV1::RelatedAsset
An asset identifier in Google Cloud which contains its name, type and ancestors.
-
#related_assets ⇒ Google::Apis::CloudassetV1::RelatedAssets
DEPRECATED.
-
#resource ⇒ Google::Apis::CloudassetV1::Resource
A representation of a Google Cloud resource.
-
#service_perimeter ⇒ Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter
ServicePerimeterdescribes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of theServicePerimeter. -
#update_time ⇒ String
The last update timestamp of an asset.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Asset
constructor
A new instance of Asset.
-
#update!(**args) ⇒ Object
Update properties of this object.
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_level ⇒ Google::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_policy ⇒ Google::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 |
#ancestors ⇒ Array<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
216 217 218 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 216 def ancestors @ancestors end |
#asset_type ⇒ String
The type of the asset. Example: compute.googleapis.com/Disk See Supported
asset types for more information.
Corresponds to the JSON property assetType
223 224 225 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 223 def asset_type @asset_type end |
#iam_policy ⇒ Google::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 |
#name ⇒ String
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
262 263 264 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 262 def name @name end |
#org_policy ⇒ Array<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_inventory ⇒ Google::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 |
#related_asset ⇒ Google::Apis::CloudassetV1::RelatedAsset
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 end |
#related_assets ⇒ Google::Apis::CloudassetV1::RelatedAssets
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 end |
#resource ⇒ Google::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_perimeter ⇒ Google::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_time ⇒ String
The last update timestamp of an asset. update_time is updated when create/
update/delete operation is performed.
Corresponds to the JSON property updateTime
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 |