mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-19 13:17:47 +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
789 lines
27 KiB
Protocol Buffer
789 lines
27 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/field_behavior.proto";
|
|
import "google/cloud/databasecenter/v1beta/maintenance.proto";
|
|
import "google/cloud/databasecenter/v1beta/operation_error_type.proto";
|
|
import "google/cloud/databasecenter/v1beta/product.proto";
|
|
import "google/cloud/databasecenter/v1beta/suspension_reason.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/wrappers.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 = "SignalsProto";
|
|
option java_package = "com.google.cloud.databasecenter.v1beta";
|
|
option php_namespace = "Google\\Cloud\\DatabaseCenter\\V1beta";
|
|
option ruby_package = "Google::Cloud::DatabaseCenter::V1beta";
|
|
|
|
// Represents the state of a signal. More enum values are expected to be added
|
|
// as needed.
|
|
enum SignalStatus {
|
|
// Unspecified.
|
|
SIGNAL_STATUS_UNSPECIFIED = 0;
|
|
|
|
// Signal is not applicable to the resource.
|
|
SIGNAL_STATUS_NOT_APPLICABLE = 1;
|
|
|
|
// Signal is not an issue.
|
|
SIGNAL_STATUS_OK = 2;
|
|
|
|
// Signal is an issue.
|
|
SIGNAL_STATUS_ISSUE = 3;
|
|
|
|
// Signal is not enabled for the resource.
|
|
SIGNAL_STATUS_NOT_ENABLED = 4;
|
|
}
|
|
|
|
// Represents the source system from where a signal comes from.
|
|
// More enum values are expected to be added as needed.
|
|
enum SignalSource {
|
|
// Unspecified.
|
|
SIGNAL_SOURCE_UNSPECIFIED = 0;
|
|
|
|
// Signal comes from resource metadata.
|
|
SIGNAL_SOURCE_RESOURCE_METADATA = 1;
|
|
|
|
// Signal comes from SCC findings.
|
|
SIGNAL_SOURCE_SECURITY_FINDINGS = 2;
|
|
|
|
// Signal comes from recommender hub.
|
|
SIGNAL_SOURCE_RECOMMENDER = 3;
|
|
|
|
// Signal comes from modern observability platform.
|
|
SIGNAL_SOURCE_MODERN_OBSERVABILITY = 4;
|
|
}
|
|
|
|
// IssueSeverity represents the severity of an issue.
|
|
enum IssueSeverity {
|
|
// Unspecified.
|
|
ISSUE_SEVERITY_UNSPECIFIED = 0;
|
|
|
|
// Low severity.
|
|
ISSUE_SEVERITY_LOW = 1;
|
|
|
|
// Medium severity.
|
|
ISSUE_SEVERITY_MEDIUM = 2;
|
|
|
|
// High severity.
|
|
ISSUE_SEVERITY_HIGH = 3;
|
|
|
|
// Critical severity.
|
|
ISSUE_SEVERITY_CRITICAL = 4;
|
|
|
|
// Irrelevant severity. This means the issue should not be surfaced at all.
|
|
ISSUE_SEVERITY_IRRELEVANT = 5;
|
|
}
|
|
|
|
// Represents the type of a signal. More values are expected to be added
|
|
// as needed.
|
|
enum SignalType {
|
|
// Unspecified.
|
|
SIGNAL_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Represents if a resource is protected by automatic failover.
|
|
// Checks for resources that are configured to have redundancy
|
|
// within a region that enables automatic failover.
|
|
SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED = 1;
|
|
|
|
// Represents if a group is replicating across regions.
|
|
// Checks for resources that are configured to have redundancy,
|
|
// and ongoing replication, across regions.
|
|
SIGNAL_TYPE_GROUP_MULTIREGIONAL = 2;
|
|
|
|
// Represents if a resource has an automated backup policy.
|
|
SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY = 4;
|
|
|
|
// Represents if a resources has a short backup retention period.
|
|
SIGNAL_TYPE_SHORT_BACKUP_RETENTION = 5;
|
|
|
|
// Represents if the last backup of a resource failed.
|
|
SIGNAL_TYPE_LAST_BACKUP_FAILED = 6;
|
|
|
|
// Represents if the last backup of a resource is older than some threshold
|
|
// value.
|
|
SIGNAL_TYPE_LAST_BACKUP_OLD = 7;
|
|
|
|
// Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.
|
|
SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0 = 8;
|
|
|
|
// Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.
|
|
SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3 = 9;
|
|
|
|
// Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.
|
|
SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2 = 10;
|
|
|
|
// Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.
|
|
SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1 = 11;
|
|
|
|
// Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.
|
|
SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0 = 12;
|
|
|
|
// Represents if a resource violates CIS Controls 8.0.
|
|
SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0 = 76;
|
|
|
|
// Represents if a resource violates NIST 800-53.
|
|
SIGNAL_TYPE_VIOLATES_NIST_800_53 = 13;
|
|
|
|
// Represents if a resource violates NIST 800-53 R5.
|
|
SIGNAL_TYPE_VIOLATES_NIST_800_53_R5 = 69;
|
|
|
|
// Represents if a resource violates NIST Cybersecurity Framework 1.0.
|
|
SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0 = 72;
|
|
|
|
// Represents if a resource violates ISO-27001.
|
|
SIGNAL_TYPE_VIOLATES_ISO_27001 = 14;
|
|
|
|
// Represents if a resource violates ISO 27001 2022.
|
|
SIGNAL_TYPE_VIOLATES_ISO_27001_V2022 = 70;
|
|
|
|
// Represents if a resource violates PCI-DSS v3.2.1.
|
|
SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1 = 15;
|
|
|
|
// Represents if a resource violates PCI-DSS v4.0.
|
|
SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0 = 71;
|
|
|
|
// Represents if a resource violates Cloud Controls Matrix v4.0.
|
|
SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4 = 73;
|
|
|
|
// Represents if a resource violates HIPAA.
|
|
SIGNAL_TYPE_VIOLATES_HIPAA = 74;
|
|
|
|
// Represents if a resource violates SOC2 v2017.
|
|
SIGNAL_TYPE_VIOLATES_SOC2_V2017 = 75;
|
|
|
|
// Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL
|
|
// instance is not set to on.
|
|
SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING = 16;
|
|
|
|
// Represents if the log_duration database flag for a Cloud SQL for PostgreSQL
|
|
// instance is not set to on.
|
|
SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED = 17;
|
|
|
|
// Represents if the log_error_verbosity database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to default or stricter (default or terse).
|
|
SIGNAL_TYPE_VERBOSE_ERROR_LOGGING = 18;
|
|
|
|
// Represents if the log_lock_waits database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to on.
|
|
SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED = 19;
|
|
|
|
// Represents if the log_min_error_statement database flag for a Cloud SQL
|
|
// for PostgreSQL instance is not set appropriately.
|
|
SIGNAL_TYPE_LOGGING_MOST_ERRORS = 20;
|
|
|
|
// Represents if the log_min_error_statement database flag for a Cloud SQL
|
|
// for PostgreSQL instance does not have an appropriate severity level.
|
|
SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS = 21;
|
|
|
|
// Represents if the log_min_messages database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to warning or another recommended value.
|
|
SIGNAL_TYPE_MINIMAL_ERROR_LOGGING = 22;
|
|
|
|
// Represents if the databaseFlags property of instance metadata for
|
|
// the log_executor_status field is set to on.
|
|
SIGNAL_TYPE_QUERY_STATS_LOGGED = 23;
|
|
|
|
// Represents if the log_hostname database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to off.
|
|
SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME = 24;
|
|
|
|
// Represents if the log_parser_stats database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to off.
|
|
SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS = 25;
|
|
|
|
// Represents if the log_planner_stats database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to off.
|
|
SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS = 26;
|
|
|
|
// Represents if the log_statement database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to DDL (all data definition statements).
|
|
SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS = 27;
|
|
|
|
// Represents if the log_statement_stats database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to off.
|
|
SIGNAL_TYPE_LOGGING_QUERY_STATS = 28;
|
|
|
|
// Represents if the log_temp_files database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to "0". (NOTE: 0 = ON)
|
|
SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES = 29;
|
|
|
|
// Represents if the user connections database flag for a Cloud SQL for SQL
|
|
// Server instance is configured.
|
|
SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED = 30;
|
|
|
|
// Represents if the user options database flag for Cloud SQL SQL Server
|
|
// instance is configured or not.
|
|
SIGNAL_TYPE_USER_OPTIONS_CONFIGURED = 31;
|
|
|
|
// Represents if a resource is exposed to public access.
|
|
SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS = 32;
|
|
|
|
// Represents if a resources requires all incoming connections to use SSL
|
|
// or not.
|
|
SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS = 33;
|
|
|
|
// Represents if a Cloud SQL database has a password configured for the
|
|
// root account or not.
|
|
SIGNAL_TYPE_NO_ROOT_PASSWORD = 34;
|
|
|
|
// Represents if a Cloud SQL database has a weak password configured for the
|
|
// root account.
|
|
SIGNAL_TYPE_WEAK_ROOT_PASSWORD = 35;
|
|
|
|
// Represents if a SQL database instance is not encrypted with
|
|
// customer-managed encryption keys (CMEK).
|
|
SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED = 36;
|
|
|
|
// Represents if The contained database authentication database flag for a
|
|
// Cloud SQL for SQL Server instance is not set to off.
|
|
SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED = 37;
|
|
|
|
// Represents if he external scripts enabled database flag for a Cloud SQL
|
|
// for SQL Server instance is not set to off.
|
|
SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS = 39;
|
|
|
|
// Represents if the local_infile database flag for a Cloud SQL for MySQL
|
|
// instance is not set to off.
|
|
SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS = 40;
|
|
|
|
// Represents if the log_connections database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to on.
|
|
SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED = 41;
|
|
|
|
// Represents if the log_disconnections database flag for a Cloud SQL for
|
|
// PostgreSQL instance is not set to on.
|
|
SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED = 42;
|
|
|
|
// Represents if the log_min_duration_statement database flag for a Cloud SQL
|
|
// for PostgreSQL instance is not set to -1.
|
|
SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO = 43;
|
|
|
|
// Represents if the remote access database flag for a Cloud SQL for SQL
|
|
// Server instance is not set to off.
|
|
SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS = 44;
|
|
|
|
// Represents if the skip_show_database database flag for a Cloud SQL for
|
|
// MySQL instance is not set to on.
|
|
SIGNAL_TYPE_DATABASE_NAMES_EXPOSED = 45;
|
|
|
|
// Represents if the 3625 (trace flag) database flag for a Cloud SQL for
|
|
// SQL Server instance is not set to on.
|
|
SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED = 46;
|
|
|
|
// Represents if public IP is enabled.
|
|
SIGNAL_TYPE_PUBLIC_IP_ENABLED = 47;
|
|
|
|
// Represents idle instance helps to reduce costs.
|
|
SIGNAL_TYPE_IDLE = 48;
|
|
|
|
// Represents instances that are unnecessarily large for given workload.
|
|
SIGNAL_TYPE_OVERPROVISIONED = 49;
|
|
|
|
// Represents high number of concurrently opened tables.
|
|
SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES = 50;
|
|
|
|
// Represents high table count close to SLA limit.
|
|
SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES = 51;
|
|
|
|
// Represents high number of unvacuumed transactions
|
|
SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION = 52;
|
|
|
|
// Represents need for more CPU and/or memory
|
|
SIGNAL_TYPE_UNDERPROVISIONED = 53;
|
|
|
|
// Represents out of disk.
|
|
SIGNAL_TYPE_OUT_OF_DISK = 54;
|
|
|
|
// Represents server certificate is near expiry.
|
|
SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY = 55;
|
|
|
|
// Represents database auditing is disabled.
|
|
SIGNAL_TYPE_DATABASE_AUDITING_DISABLED = 56;
|
|
|
|
// Represents not restricted to authorized networks.
|
|
SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS = 57;
|
|
|
|
// Represents violate org policy restrict public ip.
|
|
SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP = 58;
|
|
|
|
// Cluster nearing quota limit
|
|
SIGNAL_TYPE_QUOTA_LIMIT = 59;
|
|
|
|
// No password policy set on resources
|
|
SIGNAL_TYPE_NO_PASSWORD_POLICY = 60;
|
|
|
|
// Performance impact of connections settings
|
|
SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT = 61;
|
|
|
|
// Performance impact of temporary tables settings
|
|
SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT = 62;
|
|
|
|
// Performance impact of transaction logs settings
|
|
SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT = 63;
|
|
|
|
// Performance impact of high joins without indexes
|
|
SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES = 64;
|
|
|
|
// Detects events where a database superuser (postgres for PostgreSQL servers
|
|
// or root for MySQL users) writes to non-system tables.
|
|
SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES = 65;
|
|
|
|
// Detects events where a database user or role has been granted all
|
|
// privileges to a database, or to all tables, procedures, or functions in a
|
|
// schema.
|
|
SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS = 66;
|
|
|
|
// Detects if database instance data exported to a Cloud Storage bucket
|
|
// outside of the organization.
|
|
SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET = 67;
|
|
|
|
// Detects if database instance data exported to a Cloud Storage bucket that
|
|
// is owned by the organization and is publicly accessible.
|
|
SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET = 68;
|
|
|
|
// Detects if a database instance is using a weak password hash algorithm.
|
|
SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM = 77;
|
|
|
|
// Detects if a database instance has no user password policy set.
|
|
SIGNAL_TYPE_NO_USER_PASSWORD_POLICY = 78;
|
|
|
|
// Detects if a database instance/cluster has a hot node.
|
|
SIGNAL_TYPE_HOT_NODE = 79;
|
|
|
|
// Deletion Protection Disabled for the resource
|
|
SIGNAL_TYPE_NO_DELETION_PROTECTION = 80;
|
|
|
|
// Detects if a database instance has no point in time recovery enabled.
|
|
SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY = 81;
|
|
|
|
// Detects if a database instance/cluster has suspended resources.
|
|
SIGNAL_TYPE_RESOURCE_SUSPENDED = 82;
|
|
|
|
// Detects that expensive commands are being run on a database instance
|
|
// impacting overall performance.
|
|
SIGNAL_TYPE_EXPENSIVE_COMMANDS = 83;
|
|
|
|
// Indicates that the instance does not have a maintenance policy configured.
|
|
SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED = 84;
|
|
|
|
// Indicates that the instance has inefficient queries detected.
|
|
SIGNAL_TYPE_INEFFICIENT_QUERY = 85;
|
|
|
|
// Indicates that the instance has read intensive workload.
|
|
SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD = 86;
|
|
|
|
// Indicates that the instance is nearing memory limit.
|
|
SIGNAL_TYPE_MEMORY_LIMIT = 87;
|
|
|
|
// Indicates that the instance's max server memory is configured higher than
|
|
// the recommended value.
|
|
SIGNAL_TYPE_MAX_SERVER_MEMORY = 88;
|
|
|
|
// Indicates that the database has large rows beyond the recommended limit.
|
|
SIGNAL_TYPE_LARGE_ROWS = 89;
|
|
|
|
// Heavy write pressure on the database rows.
|
|
SIGNAL_TYPE_HIGH_WRITE_PRESSURE = 90;
|
|
|
|
// Heavy read pressure on the database rows.
|
|
SIGNAL_TYPE_HIGH_READ_PRESSURE = 91;
|
|
|
|
// Encryption org policy not satisfied.
|
|
SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED = 92;
|
|
|
|
// Location org policy not satisfied.
|
|
SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED = 93;
|
|
|
|
// Outdated DB minor version.
|
|
SIGNAL_TYPE_OUTDATED_MINOR_VERSION = 94;
|
|
|
|
// Schema not optimized.
|
|
SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED = 95;
|
|
|
|
// Replication delay.
|
|
SIGNAL_TYPE_REPLICATION_LAG = 97;
|
|
|
|
// Outdated client.
|
|
SIGNAL_TYPE_OUTDATED_CLIENT = 99;
|
|
|
|
// Databoost is disabled.
|
|
SIGNAL_TYPE_DATABOOST_DISABLED = 100;
|
|
|
|
// Recommended maintenance policy.
|
|
SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES = 101;
|
|
|
|
// Resource version is in extended support.
|
|
SIGNAL_TYPE_EXTENDED_SUPPORT = 102;
|
|
|
|
// Represents a database version nearing end of life.
|
|
SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE = 104;
|
|
}
|
|
|
|
// A group of signal types that specifies what the user is interested in.
|
|
//
|
|
// Used by QueryDatabaseResourceGroups API.
|
|
//
|
|
// Example:
|
|
//
|
|
// signal_type_group {
|
|
// name = "AVAILABILITY"
|
|
// types = [SIGNAL_TYPE_NO_PROMOTABLE_REPLICA]
|
|
// }
|
|
message SignalTypeGroup {
|
|
// Required. The display name of a signal group.
|
|
string display_name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. List of signal types present in the group.
|
|
repeated SignalType signal_types = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A filter for Signals.
|
|
//
|
|
// If signal_type is left unset, all signals should be returned.
|
|
// For example, the following filter returns all issues.
|
|
// signal_filter: {
|
|
// signal_status: SIGNAL_STATUS_ISSUE;
|
|
// }
|
|
//
|
|
// Another example, the following filter returns issues of the given type:
|
|
// signal_filter: {
|
|
// type: SIGNAL_TYPE_NO_PROMOTABLE_REPLICA
|
|
// signal_status: ISSUE
|
|
// }
|
|
//
|
|
// If signal_status is left unset or set to SIGNAL_STATE_UNSPECIFIED, an error
|
|
// should be returned.
|
|
message SignalFilter {
|
|
// Optional. Represents the type of the Signal for which the filter is for.
|
|
SignalType signal_type = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Represents the status of the Signal for which the filter is for.
|
|
SignalStatus signal_status = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A group of signals and their counts.
|
|
message SignalGroup {
|
|
// Title of a signal group corresponding to the request.
|
|
string display_name = 1;
|
|
|
|
// When applied to a DatabaseResource represents count of issues associated
|
|
// with the resource. A signal is an issue when its SignalStatus field is
|
|
// set to SIGNAL_STATUS_ISSUE.
|
|
int32 issue_count = 2;
|
|
|
|
// List of signals present in the group and associated with the resource.
|
|
//
|
|
// Only applies to a DatabaseResource.
|
|
repeated Signal signals = 3;
|
|
}
|
|
|
|
// Count of issues for a group of signals.
|
|
message IssueCount {
|
|
// Title of a signal group corresponding to the request.
|
|
string display_name = 1;
|
|
|
|
// The count of the number of issues associated with those resources that
|
|
// are explicitly filtered in by the filters present in the request.
|
|
// A signal is an issue when its SignalStatus field is set to
|
|
// SIGNAL_STATUS_ISSUE.
|
|
int32 issue_count = 2;
|
|
}
|
|
|
|
// Details related to signal.
|
|
message AdditionalDetail {
|
|
// Details related to signal.
|
|
oneof detail {
|
|
// Short backup retention information applies to signals with type
|
|
// SIGNAL_TYPE_SHORT_BACKUP_RETENTION.
|
|
RetentionSettingsInfo short_backup_retention_info = 2;
|
|
|
|
// Backup run information applies to signals with types
|
|
// SIGNAL_TYPE_LAST_BACKUP_FAILED and SIGNAL_TYPE_LAST_BACKUP_OLD.
|
|
BackupRunInfo backup_run_info = 3;
|
|
|
|
// SCC information applies to SCC signals.
|
|
SCCInfo scc_info = 4;
|
|
|
|
// Recommendation information applies to recommendations.
|
|
RecommendationInfo recommendation_info = 6;
|
|
|
|
// Automated backup policy information applies to signals with type
|
|
// SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY.
|
|
AutomatedBackupPolicyInfo automated_backup_policy_info = 8;
|
|
|
|
// Deletion protection information applies to signals with type
|
|
// [SIGNAL_TYPE_NO_DELETION_PROTECTION][google.cloud.databasecenter.v1beta.SignalType.SIGNAL_TYPE_NO_DELETION_PROTECTION]
|
|
DeletionProtectionInfo deletion_protection_info = 9;
|
|
|
|
// Resource suspension information applies to signals with type
|
|
// [SIGNAL_TYPE_RESOURCE_SUSPENDED][google.cloud.databasecenter.v1beta.SignalType.SIGNAL_TYPE_RESOURCE_SUSPENDED].
|
|
ResourceSuspensionInfo resource_suspension_info = 10;
|
|
|
|
// Inefficient query information applies to signals with type
|
|
// [SIGNAL_TYPE_INEFFICIENT_QUERY][google.cloud.databasecenter.v1beta.SignalType.SIGNAL_TYPE_INEFFICIENT_QUERY].
|
|
InefficientQueryInfo inefficient_query_info = 11;
|
|
|
|
// Outdated minor version information applies to signals with type
|
|
// SIGNAL_TYPE_OUTDATED_MINOR_VERSION.
|
|
OutdatedMinorVersionInfo outdated_minor_version_info = 12;
|
|
|
|
// Maintenance recommendation information applies to signals
|
|
// with type SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES.
|
|
MaintenanceRecommendationInfo maintenance_recommendation_info = 13;
|
|
}
|
|
|
|
// Where the signal is coming from.
|
|
SignalSource signal_source = 1;
|
|
|
|
// Type of the signal.
|
|
SignalType signal_type = 5;
|
|
|
|
// Event time when signal was recorded by source service.
|
|
google.protobuf.Timestamp signal_event_time = 7;
|
|
}
|
|
|
|
// Sub resource details
|
|
// For Spanner/Bigtable instance certain data protection settings are at
|
|
// sub resource level like database/table.
|
|
// This message is used to capture such sub resource details.
|
|
message SubResource {
|
|
// Optional. Resource type associated with the sub resource where backup
|
|
// settings are configured. E.g. "spanner.googleapis.com/Database" for Spanner
|
|
// where backup retention is configured on database within an instance
|
|
// OPTIONAL
|
|
string resource_type = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Resource name associated with the sub resource where backup
|
|
// settings are configured.
|
|
// E.g."//spanner.googleapis.com/projects/project1/instances/inst1/databases/db1"
|
|
// for Spanner where backup retention is configured on database within
|
|
// an instance
|
|
// OPTIONAL
|
|
string full_resource_name = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Product information associated with the sub resource where
|
|
// backup retention settings are configured.
|
|
// e.g.
|
|
// ```
|
|
// product: {
|
|
// type : PRODUCT_TYPE_SPANNER
|
|
// engine : ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT
|
|
// }
|
|
// ```
|
|
// for Spanner where backup is configured on database within
|
|
// an instance
|
|
// OPTIONAL
|
|
Product product = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Specifies where the resource is created. For Google Cloud resources, it is
|
|
// the full name of the project.
|
|
string container = 4;
|
|
}
|
|
|
|
// Metadata about backup retention settings for a database resource.
|
|
message RetentionSettingsInfo {
|
|
// Depending on the value of retention_unit, this is used to determine
|
|
// if a backup needs to be deleted. If retention_unit is 'COUNT', we will
|
|
// retain this many backups.
|
|
oneof retention {
|
|
// Number of backups that will be retained.
|
|
google.protobuf.Int32Value quantity_based_retention = 3;
|
|
|
|
// Duration based retention period i.e. 172800 seconds (2 days)
|
|
google.protobuf.Duration duration_based_retention = 5;
|
|
|
|
// Timestamp based retention period i.e. till 2024-05-01T00:00:00Z
|
|
google.protobuf.Timestamp timestamp_based_retention_time = 6;
|
|
}
|
|
|
|
// Optional. Sub resource details associated with the backup configuration.
|
|
SubResource sub_resource = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Automated backup policy signal info
|
|
message AutomatedBackupPolicyInfo {
|
|
// Optional. Sub resource details associated with the signal.
|
|
SubResource sub_resource = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Is automated policy enabled.
|
|
bool is_enabled = 2;
|
|
}
|
|
|
|
// Deletion protection signal info for a database resource.
|
|
message DeletionProtectionInfo {
|
|
// Optional. Sub resource details associated with the signal.
|
|
SubResource sub_resource = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Is deletion protection enabled.
|
|
bool deletion_protection_enabled = 2;
|
|
}
|
|
|
|
// Resource suspension info for a database resource.
|
|
message ResourceSuspensionInfo {
|
|
// Is resource suspended.
|
|
bool resource_suspended = 1;
|
|
|
|
// Suspension reason for the resource.
|
|
SuspensionReason suspension_reason = 2;
|
|
}
|
|
|
|
// Metadata about latest backup run state for a database resource.
|
|
message BackupRunInfo {
|
|
// The status of a backup run.
|
|
enum State {
|
|
// Unspecified.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The backup succeeded.
|
|
SUCCEEDED = 1;
|
|
|
|
// The backup was unsuccessful.
|
|
FAILED = 2;
|
|
}
|
|
|
|
// The time the backup operation started.
|
|
google.protobuf.Timestamp start_time = 1;
|
|
|
|
// The time the backup operation completed.
|
|
google.protobuf.Timestamp end_time = 6;
|
|
|
|
// Output only. The state of this run.
|
|
State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Additional information about the error encountered.
|
|
string error_message = 3;
|
|
|
|
// Optional. OperationErrorType to expose specific error when backup operation
|
|
// of database resource failed, that is state is FAILED.
|
|
OperationErrorType operation_error_type = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Sub resource details associated with the backup run.
|
|
SubResource sub_resource = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Metadata about inefficient query signal info for a database resource.
|
|
message InefficientQueryInfo {
|
|
// Name of the database where index is required. For example, "db1", which is
|
|
// the name of the database present in the instance.
|
|
string database = 1;
|
|
|
|
// Name of the table where index is required
|
|
string table = 2;
|
|
|
|
// SQL statement of the index. Based on the ddl type, this will be either
|
|
// CREATE INDEX or DROP INDEX.
|
|
string sql_index_statement = 3;
|
|
|
|
// Cost of additional disk usage in bytes
|
|
int64 storage_cost_bytes = 4;
|
|
|
|
// Count of queries to be impacted if index is applied
|
|
int64 impacted_queries_count = 5;
|
|
}
|
|
|
|
// Info associated with SCC signals.
|
|
message SCCInfo {
|
|
// Name of the signal.
|
|
string signal = 1;
|
|
|
|
// Name by which SCC calls this signal.
|
|
string category = 2;
|
|
|
|
// Compliances that are associated with the signal.
|
|
repeated RegulatoryStandard regulatory_standards = 3;
|
|
|
|
// External URI which points to a SCC page associated with the signal.
|
|
string external_uri = 4;
|
|
}
|
|
|
|
// Info associated with recommendation.
|
|
message RecommendationInfo {
|
|
// Name of recommendation.
|
|
// Examples:
|
|
// organizations/1234/locations/us-central1/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations/9876
|
|
string recommender = 1;
|
|
|
|
// ID of recommender.
|
|
// Examples: "google.cloudsql.instance.PerformanceRecommender"
|
|
string recommender_id = 2;
|
|
|
|
// Contains an identifier for a subtype of recommendations produced for the
|
|
// same recommender. Subtype is a function of content and impact, meaning a
|
|
// new subtype might be added when significant changes to `content` or
|
|
// `primary_impact.category` are introduced. See the Recommenders section
|
|
// to see a list of subtypes for a given Recommender.
|
|
//
|
|
// Examples:
|
|
// For recommender = "google.cloudsql.instance.PerformanceRecommender",
|
|
// recommender_subtype can be
|
|
// "MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE"/"POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION_BEST_PRACTICE"
|
|
string recommender_subtype = 3;
|
|
}
|
|
|
|
// Compliances associated with signals.
|
|
message RegulatoryStandard {
|
|
// Name of industry compliance standards, such as such as CIS, PCI, and
|
|
// OWASP.
|
|
string standard = 1;
|
|
|
|
// Version of the standard or benchmark, for example, 1.1.
|
|
string version = 2;
|
|
}
|
|
|
|
// Info associated with outdated minor version.
|
|
message OutdatedMinorVersionInfo {
|
|
// Recommended minor version of the underlying database engine. Example
|
|
// values: For MySQL, it could be "8.0.35", "5.7.25" etc. For PostgreSQL, it
|
|
// could be "14.4", "15.5" etc.
|
|
string recommended_minor_version = 1;
|
|
}
|
|
|
|
// Info associated with maintenance recommendation.
|
|
message MaintenanceRecommendationInfo {
|
|
// Optional. List of recommended maintenance schedules for the database
|
|
// resource.
|
|
repeated ResourceMaintenanceSchedule resource_maintenance_schedules = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Represents a signal.
|
|
message Signal {
|
|
// Type of the signal.
|
|
SignalType signal_type = 1;
|
|
|
|
// Status of the signal.
|
|
SignalStatus signal_status = 2;
|
|
|
|
// Additional information related to the signal.
|
|
// In the case of composite signals, this field encapsulates details
|
|
// associated with granular signals, having a signal status of "ISSUE";
|
|
// signals with a status of "OK" are not included.
|
|
// For granular signals, it encompasses information relevant to the signal,
|
|
// regardless of the signal status.
|
|
repeated AdditionalDetail additional_details = 3;
|
|
|
|
// Severity of the issue.
|
|
IssueSeverity issue_severity = 4;
|
|
|
|
// Timestamp when the issue was created (when signal status is ISSUE).
|
|
google.protobuf.Timestamp issue_create_time = 5;
|
|
}
|