As of January 1, 2020 this library no longer supports Python 2 on the latest released version.
Library versions released prior to that date will continue to be available. For more information please
visit Python 2 support on Google Cloud.
Source code for google.cloud.asset_v1p1beta1.types.assets
# -*- coding: utf-8 -*-
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import proto # type: ignore
from google.iam.v1 import policy_pb2 # type: ignore
__protobuf__ = proto.module(
package="google.cloud.asset.v1p1beta1",
manifest={"StandardResourceMetadata", "IamPolicySearchResult", "Permissions",},
)
[docs]class StandardResourceMetadata(proto.Message):
r"""The standard metadata of a cloud resource.
Attributes:
name (str):
The full resource name. For example:
``//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1``.
See `Resource
Names <https://cloud.google.com/apis/design/resource_names#full_resource_name>`__
for more information.
asset_type (str):
The type of this resource.
For example: "compute.googleapis.com/Disk".
project (str):
The project that this resource belongs to, in the form of
``projects/{project_number}``.
display_name (str):
The display name of this resource.
description (str):
One or more paragraphs of text description of
this resource. Maximum length could be up to 1M
bytes.
additional_attributes (Sequence[str]):
Additional searchable attributes of this
resource. Informational only. The exact set of
attributes is subject to change. For example:
project id, DNS name etc.
location (str):
Location can be "global", regional like "us-
ast1", or zonal like "us-west1-b".
labels (Sequence[google.cloud.asset_v1p1beta1.types.StandardResourceMetadata.LabelsEntry]):
Labels associated with this resource. See `Labelling and
grouping GCP
resources <https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources>`__
for more information.
network_tags (Sequence[str]):
Network tags associated with this resource. Like labels,
network tags are a type of annotations used to group GCP
resources. See `Labelling GCP
resources <lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources>`__
for more information.
"""
name = proto.Field(proto.STRING, number=1,)
asset_type = proto.Field(proto.STRING, number=2,)
project = proto.Field(proto.STRING, number=3,)
display_name = proto.Field(proto.STRING, number=4,)
description = proto.Field(proto.STRING, number=5,)
additional_attributes = proto.RepeatedField(proto.STRING, number=10,)
location = proto.Field(proto.STRING, number=11,)
labels = proto.MapField(proto.STRING, proto.STRING, number=12,)
network_tags = proto.RepeatedField(proto.STRING, number=13,)
[docs]class IamPolicySearchResult(proto.Message):
r"""The result for a IAM Policy search.
Attributes:
resource (str):
The `full resource
name <https://cloud.google.com/apis/design/resource_names#full_resource_name>`__
of the resource associated with this IAM policy.
project (str):
The project that the associated GCP resource belongs to, in
the form of ``projects/{project_number}``. If an IAM policy
is set on a resource (like VM instance, Cloud Storage
bucket), the project field will indicate the project that
contains the resource. If an IAM policy is set on a folder
or orgnization, the project field will be empty.
policy (google.iam.v1.policy_pb2.Policy):
The IAM policy directly set on the given
resource. Note that the original IAM policy can
contain multiple bindings. This only contains
the bindings that match the given query. For
queries that don't contain a constrain on
policies (e.g. an empty query), this contains
all the bindings.
explanation (google.cloud.asset_v1p1beta1.types.IamPolicySearchResult.Explanation):
Explanation about the IAM policy search
result. It contains additional information to
explain why the search result matches the query.
"""
[docs] class Explanation(proto.Message):
r"""Explanation about the IAM policy search result.
Attributes:
matched_permissions (Sequence[google.cloud.asset_v1p1beta1.types.IamPolicySearchResult.Explanation.MatchedPermissionsEntry]):
The map from roles to their included permission matching the
permission query (e.g. containing
``policy.role.permissions:``). A sample role string:
"roles/compute.instanceAdmin". The roles can also be found
in the returned ``policy`` bindings. Note that the map is
populated only if requesting with a permission query.
"""
matched_permissions = proto.MapField(
proto.STRING, proto.MESSAGE, number=1, message="Permissions",
)
resource = proto.Field(proto.STRING, number=1,)
project = proto.Field(proto.STRING, number=3,)
policy = proto.Field(proto.MESSAGE, number=4, message=policy_pb2.Policy,)
explanation = proto.Field(proto.MESSAGE, number=5, message=Explanation,)
[docs]class Permissions(proto.Message):
r"""IAM permissions
Attributes:
permissions (Sequence[str]):
A list of permissions. A sample permission
string: "compute.disk.get".
"""
permissions = proto.RepeatedField(proto.STRING, number=1,)
__all__ = tuple(sorted(__protobuf__.manifest))