Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterAssetServiceServer(s grpc.ServiceRegistrar, srv AssetServiceServer)
- type Asset
- func (*Asset) Descriptor() ([]byte, []int)deprecated
- func (m *Asset) GetAccessContextPolicy() isAsset_AccessContextPolicy
- func (x *Asset) GetAccessLevel() *accesscontextmanagerpb.AccessLevel
- func (x *Asset) GetAccessPolicy() *accesscontextmanagerpb.AccessPolicy
- func (x *Asset) GetAncestors() []string
- func (x *Asset) GetAssetType() string
- func (x *Asset) GetIamPolicy() *iampb.Policy
- func (x *Asset) GetName() string
- func (x *Asset) GetOrgPolicy() []*orgpolicypb.Policy
- func (x *Asset) GetResource() *Resource
- func (x *Asset) GetServicePerimeter() *accesscontextmanagerpb.ServicePerimeter
- func (*Asset) ProtoMessage()
- func (x *Asset) ProtoReflect() protoreflect.Message
- func (x *Asset) Reset()
- func (x *Asset) String() string
- type AssetServiceClient
- type AssetServiceServer
- type Asset_AccessLevel
- type Asset_AccessPolicy
- type Asset_ServicePerimeter
- type ContentType
- func (ContentType) Descriptor() protoreflect.EnumDescriptor
- func (x ContentType) Enum() *ContentType
- func (ContentType) EnumDescriptor() ([]byte, []int)deprecated
- func (x ContentType) Number() protoreflect.EnumNumber
- func (x ContentType) String() string
- func (ContentType) Type() protoreflect.EnumType
- type ListAssetsRequest
- func (*ListAssetsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ListAssetsRequest) GetAssetTypes() []string
- func (x *ListAssetsRequest) GetContentType() ContentType
- func (x *ListAssetsRequest) GetPageSize() int32
- func (x *ListAssetsRequest) GetPageToken() string
- func (x *ListAssetsRequest) GetParent() string
- func (x *ListAssetsRequest) GetReadTime() *timestamppb.Timestamp
- func (*ListAssetsRequest) ProtoMessage()
- func (x *ListAssetsRequest) ProtoReflect() protoreflect.Message
- func (x *ListAssetsRequest) Reset()
- func (x *ListAssetsRequest) String() string
- type ListAssetsResponse
- func (*ListAssetsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListAssetsResponse) GetAssets() []*Asset
- func (x *ListAssetsResponse) GetNextPageToken() string
- func (x *ListAssetsResponse) GetReadTime() *timestamppb.Timestamp
- func (*ListAssetsResponse) ProtoMessage()
- func (x *ListAssetsResponse) ProtoReflect() protoreflect.Message
- func (x *ListAssetsResponse) Reset()
- func (x *ListAssetsResponse) String() string
- type Resource
- func (*Resource) Descriptor() ([]byte, []int)deprecated
- func (x *Resource) GetData() *structpb.Struct
- func (x *Resource) GetDiscoveryDocumentUri() string
- func (x *Resource) GetDiscoveryName() string
- func (x *Resource) GetParent() string
- func (x *Resource) GetResourceUrl() string
- func (x *Resource) GetVersion() string
- func (*Resource) ProtoMessage()
- func (x *Resource) ProtoReflect() protoreflect.Message
- func (x *Resource) Reset()
- func (x *Resource) String() string
- type UnimplementedAssetServiceServer
- type UnsafeAssetServiceServer
Constants ¶
const (
AssetService_ListAssets_FullMethodName = "/google.cloud.asset.v1p5beta1.AssetService/ListAssets"
)
Variables ¶
var ( ContentType_name = map[int32]string{ 0: "CONTENT_TYPE_UNSPECIFIED", 1: "RESOURCE", 2: "IAM_POLICY", 4: "ORG_POLICY", 5: "ACCESS_POLICY", } ContentType_value = map[string]int32{ "CONTENT_TYPE_UNSPECIFIED": 0, "RESOURCE": 1, "IAM_POLICY": 2, "ORG_POLICY": 4, "ACCESS_POLICY": 5, } )
Enum value maps for ContentType.
var AssetService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.asset.v1p5beta1.AssetService", HandlerType: (*AssetServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ListAssets", Handler: _AssetService_ListAssets_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/asset/v1p5beta1/asset_service.proto", }
AssetService_ServiceDesc is the grpc.ServiceDesc for AssetService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_google_cloud_asset_v1p5beta1_asset_service_proto protoreflect.FileDescriptor
var File_google_cloud_asset_v1p5beta1_assets_proto protoreflect.FileDescriptor
Functions ¶
func RegisterAssetServiceServer ¶
func RegisterAssetServiceServer(s grpc.ServiceRegistrar, srv AssetServiceServer)
Types ¶
type Asset ¶
type Asset struct {
// The full name of the asset. 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.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The type of the asset. Example: `compute.googleapis.com/Disk`
//
// See [Supported asset
// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
// for more information.
AssetType string `protobuf:"bytes,2,opt,name=asset_type,json=assetType,proto3" json:"asset_type,omitempty"`
// A representation of the resource.
Resource *Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
// A representation of the IAM policy set on a Google Cloud resource.
// There can be a maximum of one IAM policy set on any given resource.
// In addition, IAM policies inherit their granted access scope from any
// policies set on parent resources in the resource hierarchy. Therefore, the
// effectively policy is the union of both the policy set on this resource
// and each policy set on all of the resource's ancestry resource levels in
// the hierarchy. See
// [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
// for more information.
IamPolicy *iampb.Policy `protobuf:"bytes,4,opt,name=iam_policy,json=iamPolicy,proto3" json:"iam_policy,omitempty"`
// A representation of an [organization
// policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
// There can be more than one organization policy with different constraints
// set on a given resource.
OrgPolicy []*orgpolicypb.Policy `protobuf:"bytes,6,rep,name=org_policy,json=orgPolicy,proto3" json:"org_policy,omitempty"`
// A representation of an [access
// policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
//
// Types that are assignable to AccessContextPolicy:
//
// *Asset_AccessPolicy
// *Asset_AccessLevel
// *Asset_ServicePerimeter
AccessContextPolicy isAsset_AccessContextPolicy `protobuf_oneof:"access_context_policy"`
// The ancestry path of an asset in Google Cloud [resource
// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-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"]`
Ancestors []string `protobuf:"bytes,10,rep,name=ancestors,proto3" json:"ancestors,omitempty"`
// contains filtered or unexported fields
}
An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-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](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.
func (*Asset) Descriptor
deprecated
func (*Asset) GetAccessContextPolicy ¶
func (m *Asset) GetAccessContextPolicy() isAsset_AccessContextPolicy
func (*Asset) GetAccessLevel ¶
func (x *Asset) GetAccessLevel() *accesscontextmanagerpb.AccessLevel
func (*Asset) GetAccessPolicy ¶
func (x *Asset) GetAccessPolicy() *accesscontextmanagerpb.AccessPolicy
func (*Asset) GetAncestors ¶
func (*Asset) GetAssetType ¶
func (*Asset) GetIamPolicy ¶
func (*Asset) GetOrgPolicy ¶
func (x *Asset) GetOrgPolicy() []*orgpolicypb.Policy
func (*Asset) GetResource ¶
func (*Asset) GetServicePerimeter ¶
func (x *Asset) GetServicePerimeter() *accesscontextmanagerpb.ServicePerimeter
func (*Asset) ProtoMessage ¶
func (*Asset) ProtoMessage()
func (*Asset) ProtoReflect ¶
func (x *Asset) ProtoReflect() protoreflect.Message
type AssetServiceClient ¶
type AssetServiceClient interface {
// Lists assets with time and resource types and returns paged results in
// response.
ListAssets(ctx context.Context, in *ListAssetsRequest, opts ...grpc.CallOption) (*ListAssetsResponse, error)
}
AssetServiceClient is the client API for AssetService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAssetServiceClient ¶
func NewAssetServiceClient(cc grpc.ClientConnInterface) AssetServiceClient
type AssetServiceServer ¶
type AssetServiceServer interface {
// Lists assets with time and resource types and returns paged results in
// response.
ListAssets(context.Context, *ListAssetsRequest) (*ListAssetsResponse, error)
}
AssetServiceServer is the server API for AssetService service. All implementations should embed UnimplementedAssetServiceServer for forward compatibility
type Asset_AccessLevel ¶
type Asset_AccessLevel struct {
// Please also refer to the [access level user
// guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
AccessLevel *accesscontextmanagerpb.AccessLevel `protobuf:"bytes,8,opt,name=access_level,json=accessLevel,proto3,oneof"`
}
type Asset_AccessPolicy ¶
type Asset_AccessPolicy struct {
// Please also refer to the [access policy user
// guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
AccessPolicy *accesscontextmanagerpb.AccessPolicy `protobuf:"bytes,7,opt,name=access_policy,json=accessPolicy,proto3,oneof"`
}
type Asset_ServicePerimeter ¶
type Asset_ServicePerimeter struct {
// Please also refer to the [service perimeter user
// guide](https://cloud.google.com/vpc-service-controls/docs/overview).
ServicePerimeter *accesscontextmanagerpb.ServicePerimeter `protobuf:"bytes,9,opt,name=service_perimeter,json=servicePerimeter,proto3,oneof"`
}
type ContentType ¶
type ContentType int32
Asset content type.
const ( // Unspecified content type. ContentType_CONTENT_TYPE_UNSPECIFIED ContentType = 0 // Resource metadata. ContentType_RESOURCE ContentType = 1 // The actual IAM policy set on a resource. ContentType_IAM_POLICY ContentType = 2 // The organization policy set on an asset. ContentType_ORG_POLICY ContentType = 4 // The Access Context Manager policy set on an asset. ContentType_ACCESS_POLICY ContentType = 5 )
func (ContentType) Descriptor ¶
func (ContentType) Descriptor() protoreflect.EnumDescriptor
func (ContentType) Enum ¶
func (x ContentType) Enum() *ContentType
func (ContentType) EnumDescriptor
deprecated
func (ContentType) EnumDescriptor() ([]byte, []int)
Deprecated: Use ContentType.Descriptor instead.
func (ContentType) Number ¶
func (x ContentType) Number() protoreflect.EnumNumber
func (ContentType) String ¶
func (x ContentType) String() string
func (ContentType) Type ¶
func (ContentType) Type() protoreflect.EnumType
type ListAssetsRequest ¶
type ListAssetsRequest struct {
// Required. Name of the organization or project the assets belong to. Format:
// "organizations/[organization-number]" (such as "organizations/123"),
// "projects/[project-id]" (such as "projects/my-project-id"), or
// "projects/[project-number]" (such as "projects/12345").
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Timestamp to take an asset snapshot. This can only be set to a timestamp
// between the current time and the current time minus 35 days (inclusive).
// If not specified, the current time will be used. Due to delays in resource
// data collection and indexing, there is a volatile window during which
// running the same query may get different results.
ReadTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
// A list of asset types to take a snapshot for. For example:
// "compute.googleapis.com/Disk".
//
// Regular expression is also supported. For example:
//
// * "compute.googleapis.com.*" snapshots resources whose asset type starts
// with "compute.googleapis.com".
// * ".*Instance" snapshots resources whose asset type ends with "Instance".
// * ".*Instance.*" snapshots resources whose asset type contains "Instance".
//
// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
// regular expression syntax. If the regular expression does not match any
// supported asset type, an INVALID_ARGUMENT error will be returned.
//
// If specified, only matching assets will be returned, otherwise, it will
// snapshot all asset types. See [Introduction to Cloud Asset
// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
// for all supported asset types.
AssetTypes []string `protobuf:"bytes,3,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
// Asset content type. If not specified, no content but the asset name will
// be returned.
ContentType ContentType `` /* 141-byte string literal not displayed */
// The maximum number of assets to be returned in a single response. Default
// is 100, minimum is 1, and maximum is 1000.
PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The `next_page_token` returned from the previous `ListAssetsResponse`, or
// unspecified for the first `ListAssetsRequest`. It is a continuation of a
// prior `ListAssets` call, and the API should return the next page of assets.
PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// contains filtered or unexported fields
}
ListAssets request.
func (*ListAssetsRequest) Descriptor
deprecated
func (*ListAssetsRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListAssetsRequest.ProtoReflect.Descriptor instead.
func (*ListAssetsRequest) GetAssetTypes ¶
func (x *ListAssetsRequest) GetAssetTypes() []string
func (*ListAssetsRequest) GetContentType ¶
func (x *ListAssetsRequest) GetContentType() ContentType
func (*ListAssetsRequest) GetPageSize ¶
func (x *ListAssetsRequest) GetPageSize() int32
func (*ListAssetsRequest) GetPageToken ¶
func (x *ListAssetsRequest) GetPageToken() string
func (*ListAssetsRequest) GetParent ¶
func (x *ListAssetsRequest) GetParent() string
func (*ListAssetsRequest) GetReadTime ¶
func (x *ListAssetsRequest) GetReadTime() *timestamppb.Timestamp
func (*ListAssetsRequest) ProtoMessage ¶
func (*ListAssetsRequest) ProtoMessage()
func (*ListAssetsRequest) ProtoReflect ¶
func (x *ListAssetsRequest) ProtoReflect() protoreflect.Message
func (*ListAssetsRequest) Reset ¶
func (x *ListAssetsRequest) Reset()
func (*ListAssetsRequest) String ¶
func (x *ListAssetsRequest) String() string
type ListAssetsResponse ¶
type ListAssetsResponse struct {
// Time the snapshot was taken.
ReadTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
// Assets.
Assets []*Asset `protobuf:"bytes,2,rep,name=assets,proto3" json:"assets,omitempty"`
// Token to retrieve the next page of results. It expires 72 hours after the
// page token for the first page is generated. Set to empty if there are no
// remaining results.
NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// contains filtered or unexported fields
}
ListAssets response.
func (*ListAssetsResponse) Descriptor
deprecated
func (*ListAssetsResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListAssetsResponse.ProtoReflect.Descriptor instead.
func (*ListAssetsResponse) GetAssets ¶
func (x *ListAssetsResponse) GetAssets() []*Asset
func (*ListAssetsResponse) GetNextPageToken ¶
func (x *ListAssetsResponse) GetNextPageToken() string
func (*ListAssetsResponse) GetReadTime ¶
func (x *ListAssetsResponse) GetReadTime() *timestamppb.Timestamp
func (*ListAssetsResponse) ProtoMessage ¶
func (*ListAssetsResponse) ProtoMessage()
func (*ListAssetsResponse) ProtoReflect ¶
func (x *ListAssetsResponse) ProtoReflect() protoreflect.Message
func (*ListAssetsResponse) Reset ¶
func (x *ListAssetsResponse) Reset()
func (*ListAssetsResponse) String ¶
func (x *ListAssetsResponse) String() string
type Resource ¶
type Resource struct {
// The API version. Example: "v1".
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// The URL of the discovery document containing the resource's JSON schema.
// Example:
// `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`
//
// This value is unspecified for resources that do not have an API based on a
// discovery document, such as Cloud Bigtable.
DiscoveryDocumentUri string `protobuf:"bytes,2,opt,name=discovery_document_uri,json=discoveryDocumentUri,proto3" json:"discovery_document_uri,omitempty"`
// The JSON schema name listed in the discovery document. Example:
// `Project`
//
// This value is unspecified for resources that do not have an API based on a
// discovery document, such as Cloud Bigtable.
DiscoveryName string `protobuf:"bytes,3,opt,name=discovery_name,json=discoveryName,proto3" json:"discovery_name,omitempty"`
// The REST URL for accessing the resource. An HTTP `GET` request using this
// URL returns the resource itself. Example:
// `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`
//
// This value is unspecified for resources without a REST API.
ResourceUrl string `protobuf:"bytes,4,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"`
// The full name of the immediate parent of this resource. See
// [Resource
// Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// for more information.
//
// For Google Cloud assets, this value is the parent resource defined in the
// [IAM policy
// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
// Example:
// `//cloudresourcemanager.googleapis.com/projects/my_project_123`
//
// For third-party assets, this field may be set differently.
Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
// The content of the resource, in which some sensitive fields are removed
// and may not be present.
Data *structpb.Struct `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
// contains filtered or unexported fields
}
A representation of a Google Cloud resource.
func (*Resource) Descriptor
deprecated
func (*Resource) GetDiscoveryDocumentUri ¶
func (*Resource) GetDiscoveryName ¶
func (*Resource) GetResourceUrl ¶
func (*Resource) GetVersion ¶
func (*Resource) ProtoMessage ¶
func (*Resource) ProtoMessage()
func (*Resource) ProtoReflect ¶
func (x *Resource) ProtoReflect() protoreflect.Message
type UnimplementedAssetServiceServer ¶
type UnimplementedAssetServiceServer struct {
}
UnimplementedAssetServiceServer should be embedded to have forward compatible implementations.
func (UnimplementedAssetServiceServer) ListAssets ¶
func (UnimplementedAssetServiceServer) ListAssets(context.Context, *ListAssetsRequest) (*ListAssetsResponse, error)
type UnsafeAssetServiceServer ¶ added in v1.22.0
type UnsafeAssetServiceServer interface {
// contains filtered or unexported methods
}
UnsafeAssetServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AssetServiceServer will result in compilation errors.