mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-16 13:00:34 +02:00
feat: A new value `SUB_RESOURCE_TYPE_RESERVATION` is added to enum `SubResourceType` feat: A new value `SUB_RESOURCE_TYPE_DATASET` is added to enum `SubResourceType` feat: A new value `SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE` is added to enum `SignalType docs: Modified comment for Edition Enum PiperOrigin-RevId: 887887716
898 lines
32 KiB
Protocol Buffer
898 lines
32 KiB
Protocol Buffer
// Copyright 2026 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.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.cloud.databasecenter.v1beta;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/cloud/databasecenter/v1beta/machine_config.proto";
|
|
import "google/cloud/databasecenter/v1beta/maintenance.proto";
|
|
import "google/cloud/databasecenter/v1beta/metric_data.proto";
|
|
import "google/cloud/databasecenter/v1beta/product.proto";
|
|
import "google/cloud/databasecenter/v1beta/signals.proto";
|
|
import "google/type/date.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.DatabaseCenter.V1Beta";
|
|
option go_package = "cloud.google.com/go/databasecenter/apiv1beta/databasecenterpb;databasecenterpb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "ServiceProto";
|
|
option java_package = "com.google.cloud.databasecenter.v1beta";
|
|
option php_namespace = "Google\\Cloud\\DatabaseCenter\\V1beta";
|
|
option ruby_package = "Google::Cloud::DatabaseCenter::V1beta";
|
|
|
|
// DatabaseCenter contains methods to query fleet view for database resources.
|
|
service DatabaseCenter {
|
|
option (google.api.default_host) = "databasecenter.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// QueryProducts provides a list of all possible products which can be used to
|
|
// filter database resources.
|
|
rpc QueryProducts(QueryProductsRequest) returns (QueryProductsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta:queryProducts"
|
|
};
|
|
}
|
|
|
|
// AggregateFleet provides statistics about the fleet grouped by various
|
|
// fields.
|
|
rpc AggregateFleet(AggregateFleetRequest) returns (AggregateFleetResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta:aggregateFleet"
|
|
};
|
|
}
|
|
|
|
// QueryDatabaseResourceGroups returns paginated results of database groups.
|
|
rpc QueryDatabaseResourceGroups(QueryDatabaseResourceGroupsRequest)
|
|
returns (QueryDatabaseResourceGroupsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta:queryDatabaseResourceGroups"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// AggregateIssueStats provides database resource issues statistics.
|
|
rpc AggregateIssueStats(AggregateIssueStatsRequest)
|
|
returns (AggregateIssueStatsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta:aggregateIssueStats"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// QueryIssues provides a list of issues and recommendations
|
|
// that a user has access to and that are within the requested scope.
|
|
rpc QueryIssues(QueryIssuesRequest) returns (QueryIssuesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta:queryIssues"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
}
|
|
|
|
// The enum value corresponds to 'type' suffix in the resource_type field.
|
|
enum ResourceCategory {
|
|
// Unspecified.
|
|
RESOURCE_CATEGORY_UNSPECIFIED = 0;
|
|
|
|
// A resource that is an Instance.
|
|
INSTANCE = 1;
|
|
|
|
// A resource that is a Cluster.
|
|
CLUSTER = 2;
|
|
|
|
// A resource that is a Database.
|
|
DATABASE = 3;
|
|
}
|
|
|
|
// Represents the edition of a database resource.
|
|
enum Edition {
|
|
// Default, to make it consistent with instance edition enum.
|
|
EDITION_UNSPECIFIED = 0;
|
|
|
|
// Represents the enterprise edition.
|
|
EDITION_ENTERPRISE = 1;
|
|
|
|
// Represents the enterprise plus edition.
|
|
EDITION_ENTERPRISE_PLUS = 2;
|
|
|
|
// Represents the standard edition.
|
|
EDITION_STANDARD = 3;
|
|
}
|
|
|
|
// SubResourceType refers to the sub-type of database resource.
|
|
enum SubResourceType {
|
|
// Unspecified.
|
|
SUB_RESOURCE_TYPE_UNSPECIFIED = 0;
|
|
|
|
// A resource acting as a primary.
|
|
SUB_RESOURCE_TYPE_PRIMARY = 1;
|
|
|
|
// A resource acting as a secondary.
|
|
SUB_RESOURCE_TYPE_SECONDARY = 2;
|
|
|
|
// A resource acting as a read-replica.
|
|
SUB_RESOURCE_TYPE_READ_REPLICA = 3;
|
|
|
|
// A resource acting as an external primary.
|
|
SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY = 5;
|
|
|
|
// A resource acting as a read pool.
|
|
SUB_RESOURCE_TYPE_READ_POOL = 6;
|
|
|
|
// Represents a reservation resource.
|
|
SUB_RESOURCE_TYPE_RESERVATION = 7;
|
|
|
|
// Represents a dataset resource.
|
|
SUB_RESOURCE_TYPE_DATASET = 8;
|
|
|
|
// For the rest of the categories.
|
|
SUB_RESOURCE_TYPE_OTHER = 4;
|
|
}
|
|
|
|
// The management type of the resource.
|
|
enum ManagementType {
|
|
// Unspecified.
|
|
MANAGEMENT_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Google-managed resource.
|
|
MANAGEMENT_TYPE_GCP_MANAGED = 1;
|
|
|
|
// Self-managed resource.
|
|
MANAGEMENT_TYPE_SELF_MANAGED = 2;
|
|
}
|
|
|
|
// QueryProductsRequest is the request to get a list of products.
|
|
message QueryProductsRequest {
|
|
// Required. Parent can be a project, a folder, or an organization.
|
|
//
|
|
// The allowed values are:
|
|
//
|
|
// * projects/{PROJECT_ID}/locations/{LOCATION}
|
|
// (e.g.,"projects/foo-bar/locations/us-central1")
|
|
// * projects/{PROJECT_NUMBER}/locations/{LOCATION}
|
|
// (e.g.,"projects/12345678/locations/us-central1")
|
|
// * folders/{FOLDER_NUMBER}/locations/{LOCATION}
|
|
// (e.g.,"folders/1234567/locations/us-central1")
|
|
// * organizations/{ORGANIZATION_NUMBER}/locations/{LOCATION}
|
|
// (e.g.,"organizations/123456/locations/us-central1")
|
|
// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
|
|
// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
|
|
// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
|
|
// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
|
string parent = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. If unspecified, at most 50 products will be returned.
|
|
// The maximum value is 1000; values above 1000 will be coerced to 1000.
|
|
int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A page token, received from a previous `ListLocations` call.
|
|
// Provide this to retrieve the subsequent page.
|
|
// All other parameters except page size should match the call that provided
|
|
// the page page token.
|
|
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// QueryProductsResponse represents the response containing a list of products.
|
|
message QueryProductsResponse {
|
|
// List of database products returned.
|
|
repeated Product products = 1;
|
|
|
|
// A token that can be sent as `page_token` to retrieve the next page.
|
|
// If this field is omitted, there are no subsequent pages
|
|
string next_page_token = 2;
|
|
|
|
// Unordered list. List of unreachable regions from where data could not be
|
|
// retrieved.
|
|
repeated string unreachable = 3
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|
|
|
|
// QueryDatabaseResourceGroupsRequest is the request to get a list of database
|
|
// groups.
|
|
message QueryDatabaseResourceGroupsRequest {
|
|
// Required. Parent can be a project, a folder, or an organization. The search
|
|
// is limited to the resources within the `scope`.
|
|
//
|
|
// The allowed values are:
|
|
//
|
|
// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
|
|
// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
|
|
// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
|
|
// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
|
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The expression to filter resources.
|
|
//
|
|
// The following fields are filterable:
|
|
// * full_resource_name
|
|
// * resource_type
|
|
// * container
|
|
// * product.type
|
|
// * product.engine
|
|
// * product.version
|
|
// * location
|
|
// * labels
|
|
// * resource_category
|
|
// * machine_config.cpu_count
|
|
// * machine_config.memory_size_bytes
|
|
// * machine_config.shard_count
|
|
// * resource_name
|
|
// * tags
|
|
// * backupdr_config.backupdr_managed
|
|
// * edition
|
|
//
|
|
// The expression is a list of zero or more restrictions combined via logical
|
|
// operators `AND` and `OR`. When `AND` and `OR` are both used in the
|
|
// expression, parentheses must be appropriately used to group the
|
|
// combinations.
|
|
//
|
|
// Example: `location="us-east1"`
|
|
// Example: `container="projects/123" OR container="projects/456"`
|
|
// Example: `(container="projects/123" OR
|
|
// container="projects/456") AND location="us-east1"`
|
|
// Example: `full_resource_name=~"test"`
|
|
// Example: `full_resource_name=~"test.*master"`
|
|
string filter = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Groups of signal types that are requested.
|
|
repeated SignalTypeGroup signal_type_groups = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filters based on signals. The list will be ORed together and then
|
|
// ANDed with the `filters` field above.
|
|
repeated SignalFilter signal_filters = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A field that specifies the sort order of the results.
|
|
//
|
|
// The following fields are sortable:
|
|
// * full_resource_name
|
|
// * product.type
|
|
// * product.engine
|
|
// * product.version
|
|
// * container
|
|
// * issue_count
|
|
// * machine_config.vcpu_count
|
|
// * machine_config.memory_size_bytes
|
|
// * machine_config.shard_count
|
|
// * resource_name
|
|
// * issue_severity
|
|
// * signal_type
|
|
// * location
|
|
// * resource_type
|
|
// * instance_type
|
|
// * edition
|
|
// * metrics.p99_cpu_utilization
|
|
// * metrics.p95_cpu_utilization
|
|
// * metrics.current_storage_used_bytes
|
|
// * metrics.node_count
|
|
// * metrics.processing_unit_count
|
|
// * metrics.current_memory_used_bytes
|
|
// * metrics.peak_storage_utilization
|
|
// * metrics.peak_number_connections
|
|
// * metrics.peak_memory_utilization
|
|
//
|
|
// The default order is ascending. Add "DESC" after the field name to indicate
|
|
// descending order. Add "ASC" after the field name to indicate ascending
|
|
// order. It only supports a single field at a time.
|
|
//
|
|
// For example:
|
|
// `order_by = "full_resource_name"` sorts response in ascending order
|
|
// `order_by = "full_resource_name DESC"` sorts response in descending order
|
|
// `order_by = "issue_count DESC"` sorts response in descending order of
|
|
// count of all issues associated with a resource.
|
|
//
|
|
// More explicitly, `order_by = "full_resource_name, product"` is not
|
|
// supported.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. If unspecified, at most 50 resource groups will be returned.
|
|
// The maximum value is 1000; values above 1000 will be coerced to 1000.
|
|
int32 page_size = 6 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A page token, received from a previous
|
|
// `QueryDatabaseResourceGroupsRequest` call. Provide this to retrieve the
|
|
// subsequent page. All parameters except page_token should match the
|
|
// parameters in the call that provided the page page token.
|
|
string page_token = 7 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// QueryDatabaseResourceGroupsResponse represents the response message
|
|
// containing a list of resource groups.
|
|
message QueryDatabaseResourceGroupsResponse {
|
|
// List of database resource groups that pass the filter.
|
|
repeated DatabaseResourceGroup resource_groups = 1;
|
|
|
|
// A token that can be sent as `page_token` to retrieve the next page.
|
|
// If this field is omitted, there are no subsequent pages.
|
|
string next_page_token = 2;
|
|
|
|
// Unordered list. List of unreachable regions from where data could not be
|
|
// retrieved.
|
|
repeated string unreachable = 3
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|
|
|
|
// DatabaseResourceGroup represents all resources that serve a common data set.
|
|
// It is considered notionally as a single entity, powered by any number of
|
|
// units of compute and storage.
|
|
message DatabaseResourceGroup {
|
|
// A database resource that serves as a root of the group of database
|
|
// resources. It is repeated just in case we have the concept of multiple
|
|
// roots in the future, however, it will only be populated with a single value
|
|
// for now.
|
|
repeated DatabaseResource root_resources = 1;
|
|
|
|
// The filtered signal groups and the count of issues associated with the
|
|
// resources that have been filtered in.
|
|
repeated IssueCount signal_groups = 2;
|
|
}
|
|
|
|
// DatabaseResource represents every individually configured database unit
|
|
// representing compute and/or storage.
|
|
message DatabaseResource {
|
|
// List of children associated with a database group.
|
|
repeated DatabaseResource child_resources = 1;
|
|
|
|
// The full resource name, based on CAIS resource name format
|
|
// https://cloud.google.com/asset-inventory/docs/resource-name-format
|
|
//
|
|
// Example:
|
|
//
|
|
// `//cloudsql.googleapis.com/projects/project-number/instances/mysql-1`
|
|
// `//cloudsql.googleapis.com/projects/project-number/instances/postgres-1`
|
|
// `//spanner.googleapis.com/projects/project-number/instances/spanner-instance-1`
|
|
// `//alloydb.googleapis.com/projects/project-number/locations/us-central1/clusters/c1`
|
|
// `//alloydb.googleapis.com/projects/project-number/locations/us-central1/clusters/c1/instances/i1`
|
|
string full_resource_name = 3;
|
|
|
|
// Specifies where the resource is created. For Google Cloud resources, it is
|
|
// the full name of the project.
|
|
string container = 4;
|
|
|
|
// The product this resource represents.
|
|
Product product = 5;
|
|
|
|
// The location of the resources. It supports returning only regional
|
|
// locations in Google Cloud. These are of the form: "us-central1",
|
|
// "us-east1", etc. See https://cloud.google.com/about/locations for a list of
|
|
// such regions.
|
|
string location = 6;
|
|
|
|
// Labels applied on the resource. The requirements for labels assigned to
|
|
// Google Cloud resources may be found at
|
|
// https://cloud.google.com/resource-manager/docs/labels-overview#requirements
|
|
repeated Label labels = 7;
|
|
|
|
// Tags applied on the resource. The requirements for tags assigned to
|
|
// Google Cloud resources may be found at
|
|
// https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
|
repeated Tag tags = 16;
|
|
|
|
// The type of resource defined according to the pattern:
|
|
// {Service Name}/{Type}. Ex:
|
|
// sqladmin.googleapis.com/Instance
|
|
// alloydb.googleapis.com/Cluster
|
|
// alloydb.googleapis.com/Instance
|
|
// spanner.googleapis.com/Instance
|
|
string resource_type = 8;
|
|
|
|
// Subtype of the resource specified at creation time.
|
|
SubResourceType sub_resource_type = 9;
|
|
|
|
// Machine configuration like CPU, memory, etc for the resource.
|
|
MachineConfig machine_config = 12;
|
|
|
|
// The list of signal groups and count of issues related to the resource.
|
|
// Only those signals which have been requested would be included.
|
|
repeated SignalGroup signal_groups = 10;
|
|
|
|
// Observable metrics for the resource e.g. CPU utilization, memory
|
|
// utilization, etc.
|
|
Metrics metrics = 13;
|
|
|
|
// The category of the resource.
|
|
ResourceCategory resource_category = 14;
|
|
|
|
// The name of the resource(The last part of the full resource name).
|
|
// Example:
|
|
// For full resource name -
|
|
// `//cloudsql.googleapis.com/projects/project-number/instances/mysql-1`,
|
|
// resource name - `mysql-1`
|
|
// For full resource name -
|
|
// `//cloudsql.googleapis.com/projects/project-number/instances/postgres-1` ,
|
|
// resource name - `postgres-1`
|
|
// Note: In some cases, there might be more than one resource with the same
|
|
// resource name.
|
|
string resource_name = 15;
|
|
|
|
// Optional. Backup and disaster recovery details for the resource.
|
|
BackupDRConfig backupdr_config = 17 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// The edition of the resource.
|
|
Edition edition = 18;
|
|
|
|
// Optional. The maintenance information of the resource.
|
|
MaintenanceInfo maintenance_info = 19
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// AggregateIssueStatsRequest represents the input to the AggregateIssueStats
|
|
// method.
|
|
message AggregateIssueStatsRequest {
|
|
// Required. Parent can be a project, a folder, or an organization. The search
|
|
// is limited to the resources within the `scope`.
|
|
//
|
|
// The allowed values are:
|
|
//
|
|
// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
|
|
// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
|
|
// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
|
|
// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
|
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The expression to filter resources.
|
|
//
|
|
// Supported fields are: `full_resource_name`, `resource_type`, `container`,
|
|
// `product.type`, `product.engine`, `product.version`, `location`,
|
|
// `labels`, `issues`, fields of availability_info,
|
|
// data_protection_info,'resource_name', etc.
|
|
//
|
|
// The expression is a list of zero or more restrictions combined via logical
|
|
// operators `AND` and `OR`. When `AND` and `OR` are both used in the
|
|
// expression, parentheses must be appropriately used to group the
|
|
// combinations.
|
|
//
|
|
// Example: `location="us-east1"`
|
|
// Example: `container="projects/123" OR container="projects/456"`
|
|
// Example: `(container="projects/123" OR
|
|
// container="projects/456") AND location="us-east1"`
|
|
string filter = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists of signal types that are issues.
|
|
repeated SignalTypeGroup signal_type_groups = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The baseline date w.r.t. which the delta counts are calculated.
|
|
// If not set, delta counts are not included in the response and the response
|
|
// indicates the current state of the fleet.
|
|
optional google.type.Date baseline_date = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The response message containing one of more group of relevant health issues
|
|
// for database resources.
|
|
message AggregateIssueStatsResponse {
|
|
// List of issue group stats where each group contains stats for resources
|
|
// having a particular combination of relevant issues.
|
|
repeated IssueGroupStats issue_group_stats = 1;
|
|
|
|
// Total count of the resources filtered in based on the user given filter.
|
|
int32 total_resources_count = 2;
|
|
|
|
// Total count of the resource filtered in based on the user given filter.
|
|
int32 total_resource_groups_count = 3;
|
|
|
|
// Unordered list. List of unreachable regions from where data could not be
|
|
// retrieved.
|
|
repeated string unreachable = 4
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|
|
|
|
// IssueGroupStats refers to stats for a particulare combination of relevant
|
|
// health issues of database resources.
|
|
message IssueGroupStats {
|
|
// Database resource level health card name. This will corresponds to one of
|
|
// the requested input group names.
|
|
string display_name = 1;
|
|
|
|
// Total count of the groups of resources returned by the filter that
|
|
// also have one or more resources for which any of the specified issues
|
|
// are applicable.
|
|
int32 resource_groups_count = 2;
|
|
|
|
// Total count of resources returned by the filter for which any of the
|
|
// specified issues are applicable.
|
|
int32 resources_count = 3;
|
|
|
|
// The number of resource groups from the total groups as defined above
|
|
// that are healthy with respect to all of the specified issues.
|
|
int32 healthy_resource_groups_count = 4;
|
|
|
|
// The number of resources from the total defined above in field
|
|
// total_resources_count that are healthy with respect to all of the specified
|
|
// issues.
|
|
int32 healthy_resources_count = 5;
|
|
|
|
// List of issues stats containing count of resources having particular issue
|
|
// category.
|
|
repeated IssueStats issue_stats = 6;
|
|
}
|
|
|
|
// IssueStats holds stats for a particular signal category.
|
|
message IssueStats {
|
|
// Type of signal which is an issue.
|
|
SignalType signal_type = 1;
|
|
|
|
// Number of resources having issues of a given type.
|
|
int32 resource_count = 2;
|
|
|
|
// Optional. Delta counts and details of resources for which issue was raised
|
|
// or fixed.
|
|
optional DeltaDetails delta_details = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Severity of the issue.
|
|
optional IssueSeverity issue_severity = 4;
|
|
}
|
|
|
|
// Label is a key value pair applied to a resource.
|
|
message Label {
|
|
// The key part of the label.
|
|
string key = 1;
|
|
|
|
// The value part of the label.
|
|
string value = 2;
|
|
|
|
// The source of the Label. Source is empty if the label is directly attached
|
|
// to the resource and not inherited.
|
|
string source = 3;
|
|
}
|
|
|
|
// The request message to aggregate fleet which are grouped by a field.
|
|
message AggregateFleetRequest {
|
|
// Required. Parent can be a project, a folder, or an organization. The search
|
|
// is limited to the resources within the `scope`.
|
|
//
|
|
// The allowed values are:
|
|
//
|
|
// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
|
|
// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
|
|
// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
|
|
// * organizations/{ORGANIZATION_NUMBER} (e.g.,
|
|
// "organizations/123456")
|
|
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The expression to filter resources.
|
|
//
|
|
// Supported fields are: `full_resource_name`, `resource_type`, `container`,
|
|
// `product.type`, `product.engine`, `product.version`, `location`,
|
|
// `labels`, `issues`, fields of availability_info, data_protection_info,
|
|
// 'resource_name', etc.
|
|
//
|
|
// The expression is a list of zero or more restrictions combined via logical
|
|
// operators `AND` and `OR`. When `AND` and `OR` are both used in the
|
|
// expression, parentheses must be appropriately used to group the
|
|
// combinations.
|
|
//
|
|
// Example: `location="us-east1"`
|
|
// Example: `container="projects/123" OR container="projects/456"`
|
|
// Example: `(container="projects/123" OR
|
|
// container="projects/456") AND location="us-east1"`
|
|
string filter = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A field that statistics are grouped by.
|
|
// Valid values are any combination of the following:
|
|
// * container
|
|
// * product.type
|
|
// * product.engine
|
|
// * product.version
|
|
// * location
|
|
// * sub_resource_type
|
|
// * management_type
|
|
// * tag.key
|
|
// * tag.value
|
|
// * tag.source
|
|
// * tag.inherited
|
|
// * label.key
|
|
// * label.value
|
|
// * label.source
|
|
// * has_maintenance_schedule
|
|
// * has_deny_maintenance_schedules
|
|
// Comma separated list.
|
|
string group_by = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Valid values to order by are:
|
|
// * resource_groups_count
|
|
// * resources_count
|
|
// * and all fields supported by `group_by`
|
|
// The default order is ascending. Add "DESC" after the field name to indicate
|
|
// descending order. Add "ASC" after the field name to indicate ascending
|
|
// order. It supports ordering using multiple fields.
|
|
// For example:
|
|
// `order_by = "resource_groups_count"` sorts response in ascending order
|
|
// `order_by = "resource_groups_count DESC"` sorts response in descending
|
|
// order
|
|
// `order_by = "product.type, product.version DESC, location"` orders by type
|
|
// in ascending order, version in descending order and location in ascending
|
|
// order
|
|
string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. If unspecified, at most 50 items will be returned.
|
|
// The maximum value is 1000; values above 1000 will be coerced to 1000.
|
|
int32 page_size = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A page token, received from a previous `AggregateFleet` call.
|
|
// Provide this to retrieve the subsequent page.
|
|
// All other parameters should match the parameters in the call that provided
|
|
// the page token except for page_size which can be different.
|
|
string page_token = 6 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The baseline date w.r.t. which the delta counts are calculated.
|
|
// If not set, delta counts are not included in the response and the response
|
|
// indicates the current state of the fleet.
|
|
optional google.type.Date baseline_date = 7
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The response message to aggregate a fleet by some group by
|
|
// fields.
|
|
message AggregateFleetResponse {
|
|
// Represents a row grouped by the fields in the input.
|
|
repeated AggregateFleetRow rows = 1;
|
|
|
|
// Count of all resource groups in the fleet. This includes counts from all
|
|
// pages.
|
|
int32 resource_groups_total_count = 2;
|
|
|
|
// Count of all resources in the fleet. This includes counts from all pages.
|
|
int32 resource_total_count = 3;
|
|
|
|
// A token that can be sent as `page_token` to retrieve the next page.
|
|
// If this field is omitted, there are no subsequent pages.
|
|
string next_page_token = 4;
|
|
|
|
// Unordered list. List of unreachable regions from where data could not be
|
|
// retrieved.
|
|
repeated string unreachable = 5
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|
|
|
|
// Individual row grouped by a particular dimension.
|
|
message AggregateFleetRow {
|
|
// Group by dimension.
|
|
repeated Dimension dimension = 1;
|
|
|
|
// Number of resource groups that have a particular dimension.
|
|
int32 resource_groups_count = 2;
|
|
|
|
// Number of resources that have a particular dimension.
|
|
int32 resources_count = 3;
|
|
|
|
// Optional. Delta counts and details of resources which were added to/deleted
|
|
// from fleet.
|
|
optional DeltaDetails delta_details = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Dimension used to aggregate the fleet.
|
|
message Dimension {
|
|
// Followings are the dimensions to be used to aggregate the fleet.
|
|
oneof dimension {
|
|
// Specifies where the resource is created. For Google Cloud resources, it
|
|
// is the full name of the project.
|
|
string container = 2;
|
|
|
|
// Type to identify a product
|
|
ProductType product_type = 3;
|
|
|
|
// Engine refers to underlying database binary running in an instance.
|
|
Engine product_engine = 4;
|
|
|
|
// Version of the underlying database engine
|
|
string product_version = 5;
|
|
|
|
// The location of the resources. It supports returning only regional
|
|
// locations in Google Cloud.
|
|
string location = 6;
|
|
|
|
// The type of resource defined according to the pattern:
|
|
// {Service Name}/{Type}. Ex:
|
|
// sqladmin.googleapis.com/Instance
|
|
// alloydb.googleapis.com/Cluster
|
|
// alloydb.googleapis.com/Instance
|
|
// spanner.googleapis.com/Instance
|
|
string resource_type = 7;
|
|
|
|
// Subtype of the resource specified at creation time.
|
|
SubResourceType sub_resource_type = 8;
|
|
|
|
// The category of the resource.
|
|
ResourceCategory resource_category = 9;
|
|
|
|
// The management type of the resource.
|
|
ManagementType management_type = 10;
|
|
|
|
// The edition of the resource.
|
|
Edition edition = 11;
|
|
|
|
// Tag key of the resource.
|
|
string tag_key = 12;
|
|
|
|
// Tag value of the resource.
|
|
string tag_value = 13;
|
|
|
|
// Tag source of the resource.
|
|
string tag_source = 14;
|
|
|
|
// Tag inheritance value of the resource.
|
|
bool tag_inherited = 15;
|
|
|
|
// Label key of the resource.
|
|
string label_key = 16;
|
|
|
|
// Label value of the resource.
|
|
string label_value = 17;
|
|
|
|
// Label source of the resource.
|
|
string label_source = 18;
|
|
|
|
// Whether the resource has a maintenance schedule.
|
|
bool has_maintenance_schedule = 19;
|
|
|
|
// Whether the resource has deny maintenance schedules.
|
|
bool has_deny_maintenance_schedules = 20;
|
|
}
|
|
}
|
|
|
|
// BackupDRConfig to capture the backup and disaster recovery details of
|
|
// database resource.
|
|
message BackupDRConfig {
|
|
// Indicates if the resource is managed by BackupDR.
|
|
optional bool backupdr_managed = 1;
|
|
}
|
|
|
|
// QueryIssuesRequest is the request to get a list of issues.
|
|
message QueryIssuesRequest {
|
|
// Required. Parent can be a project, a folder, or an organization. The list
|
|
// is limited to the one attached to resources within the `scope` that a user
|
|
// has access to.
|
|
//
|
|
// The allowed values are:
|
|
//
|
|
// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
|
|
// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
|
|
// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
|
|
// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
|
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional.
|
|
// Supported fields are:
|
|
// 'product',
|
|
// `location`,
|
|
// `issue_severity`,
|
|
// 'tags',
|
|
// 'labels',
|
|
string filter = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filters based on signal and product. The filter list will be ORed
|
|
// across pairs and ANDed within a signal and products pair.
|
|
repeated SignalProductsFilters signal_products_filters = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Following fields are sortable:
|
|
// SignalType
|
|
// Product
|
|
// Location
|
|
// IssueSeverity
|
|
//
|
|
// The default order is ascending. Add "DESC" after the field name to indicate
|
|
// descending order. Add "ASC" after the field name to indicate ascending
|
|
// order. It only supports a single field at a time.
|
|
string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. If unspecified, at most 50 issues will be returned.
|
|
// The maximum value is 1000; values above 1000 will be coerced to 1000.
|
|
int32 page_size = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. A page token, received from a previous `QueryIssues` call.
|
|
// Provide this to retrieve the subsequent page.
|
|
// All parameters except page size should match the parameters used in the
|
|
// call that provided the page token.
|
|
string page_token = 6 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// SignalProductsFilters represents a signal and list of supported products.
|
|
message SignalProductsFilters {
|
|
// Optional. The type of signal.
|
|
SignalType signal_type = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Product type of the resource. The version of the product will be
|
|
// ignored in filtering.
|
|
repeated Product products = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// QueryIssuesResponse is the response containing a list of issues.
|
|
message QueryIssuesResponse {
|
|
// List of issues and resource details.
|
|
repeated DatabaseResourceIssue resource_issues = 1;
|
|
|
|
// A token that can be sent as `page_token` to retrieve the next page.
|
|
// If this field is omitted, there are no subsequent pages.
|
|
string next_page_token = 2;
|
|
|
|
// Unordered list. List of unreachable regions from where data could not be
|
|
// retrieved.
|
|
repeated string unreachable = 3
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|
|
|
|
// DatabaseResource and Issue associated with it.
|
|
message DatabaseResourceIssue {
|
|
// Signal associated with the issue.
|
|
Signal signal = 1;
|
|
|
|
// Resource associated with the issue.
|
|
DatabaseResource resource = 2;
|
|
}
|
|
|
|
// Tag is a key value pair attached to a resource.
|
|
message Tag {
|
|
string key = 1;
|
|
|
|
// The value part of the tag.
|
|
string value = 2;
|
|
|
|
// The source of the tag. According to
|
|
// https://cloud.google.com/resource-manager/docs/tags/tags-overview#tags_and_labels,
|
|
// tags can be created only at the project or organization level. Tags can be
|
|
// inherited from different project as well not just the current project where
|
|
// the database resource is present.
|
|
// Format:
|
|
// "projects/{PROJECT_ID}",
|
|
// "projects/{PROJECT_NUMBER}",
|
|
// "organizations/{ORGANIZATION_ID}"
|
|
string source = 3;
|
|
|
|
// Indicates the inheritance status of a tag value
|
|
// attached to the given resource. If the tag value is inherited from one of
|
|
// the resource's ancestors, inherited will be true. If false, then the tag
|
|
// value is directly attached to the resource.
|
|
bool inherited = 4;
|
|
}
|
|
|
|
// Capture the resource details for resources that are included in the delta
|
|
// counts.
|
|
message ResourceDetails {
|
|
// Full resource name of the resource.
|
|
string full_resource_name = 1;
|
|
|
|
// Specifies where the resource is created. For Google Cloud resources, it is
|
|
// the full name of the project.
|
|
string container = 2;
|
|
|
|
// Product type of the resource.
|
|
Product product = 3;
|
|
|
|
// Location of the resource.
|
|
string location = 4;
|
|
}
|
|
|
|
// Captures the details of items that have increased or decreased in some bucket
|
|
// when compared to some point in history.
|
|
// It is currently used to capture the delta of resources that have been added
|
|
// or removed in the fleet as well as to capture the resources that have a
|
|
// change in Issue/Signal status.
|
|
message DeltaDetails {
|
|
// Details of resources that have increased.
|
|
repeated ResourceDetails increased_resources = 1;
|
|
|
|
// Details of resources that have decreased.
|
|
repeated ResourceDetails decreased_resources = 2;
|
|
}
|