{
  "baseUrl": "https://databasecenter.googleapis.com/",
  "servicePath": "",
  "version_module": true,
  "ownerDomain": "google.com",
  "mtlsRootUrl": "https://databasecenter.mtls.googleapis.com/",
  "batchPath": "batch",
  "endpoints": [
    {
      "endpointUrl": "https://databasecenter.us.rep.googleapis.com/",
      "location": "us",
      "description": "Regional Endpoint"
    }
  ],
  "discoveryVersion": "v1",
  "canonicalName": "Database Center",
  "title": "Database Center API",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "ownerName": "Google",
  "revision": "20260724",
  "description": "Database Center offers a comprehensive, organization-wide platform for monitoring database fleet health across various products. It simplifies management and reduces risk by automatically aggregating and summarizing key health signals, removing the need for custom dashboards. The platform provides a unified view through its dashboard and API, enabling teams focused on reliability, compliance, security, cost, and administration to quickly identify and address relevant issues within their database fleets. ",
  "resources": {
    "folders": {
      "methods": {
        "aggregateQueryStats": {
          "flatPath": "v1beta/folders/{foldersId}:aggregateQueryStats",
          "response": {
            "$ref": "AggregateQueryStatsResponse"
          },
          "parameterOrder": [
            "parent"
          ],
          "request": {
            "$ref": "AggregateQueryStatsRequest"
          },
          "path": "v1beta/{+parent}:aggregateQueryStats",
          "parameters": {
            "parent": {
              "description": "Required. Parent can be a project, a folder, or an organization. The search is limited to the resources within the `parent`. 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\")",
              "location": "path",
              "type": "string",
              "required": true,
              "pattern": "^folders/[^/]+$"
            }
          },
          "description": "AggregateQueryStats provides database resource query execution statistics.",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "databasecenter.folders.aggregateQueryStats"
        }
      }
    },
    "projects": {
      "methods": {
        "aggregateQueryStats": {
          "response": {
            "$ref": "AggregateQueryStatsResponse"
          },
          "request": {
            "$ref": "AggregateQueryStatsRequest"
          },
          "parameterOrder": [
            "parent"
          ],
          "flatPath": "v1beta/projects/{projectsId}:aggregateQueryStats",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "databasecenter.projects.aggregateQueryStats",
          "path": "v1beta/{+parent}:aggregateQueryStats",
          "parameters": {
            "parent": {
              "required": true,
              "pattern": "^projects/[^/]+$",
              "description": "Required. Parent can be a project, a folder, or an organization. The search is limited to the resources within the `parent`. 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\")",
              "location": "path",
              "type": "string"
            }
          },
          "description": "AggregateQueryStats provides database resource query execution statistics.",
          "httpMethod": "POST"
        }
      }
    },
    "v1beta": {
      "methods": {
        "queryProducts": {
          "response": {
            "$ref": "QueryProductsResponse"
          },
          "parameterOrder": [],
          "flatPath": "v1beta:queryProducts",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "databasecenter.queryProducts",
          "path": "v1beta:queryProducts",
          "parameters": {
            "pageToken": {
              "description": "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.",
              "location": "query",
              "type": "string"
            },
            "parent": {
              "description": "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\")",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "format": "int32",
              "description": "Optional. If unspecified, at most 50 products will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
              "location": "query",
              "type": "integer"
            }
          },
          "description": "QueryProducts provides a list of all possible products which can be used to filter database resources.",
          "httpMethod": "GET"
        },
        "queryDatabaseResourceGroups": {
          "flatPath": "v1beta:queryDatabaseResourceGroups",
          "parameterOrder": [],
          "request": {
            "$ref": "QueryDatabaseResourceGroupsRequest"
          },
          "response": {
            "$ref": "QueryDatabaseResourceGroupsResponse"
          },
          "httpMethod": "POST",
          "path": "v1beta:queryDatabaseResourceGroups",
          "parameters": {},
          "description": "QueryDatabaseResourceGroups returns paginated results of database groups.",
          "id": "databasecenter.queryDatabaseResourceGroups",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "aggregateFleet": {
          "response": {
            "$ref": "AggregateFleetResponse"
          },
          "parameterOrder": [],
          "flatPath": "v1beta:aggregateFleet",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "databasecenter.aggregateFleet",
          "path": "v1beta:aggregateFleet",
          "parameters": {
            "filter": {
              "description": "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\"`",
              "location": "query",
              "type": "string"
            },
            "parent": {
              "description": "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\")",
              "location": "query",
              "type": "string"
            },
            "groupBy": {
              "description": "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.",
              "location": "query",
              "type": "string"
            },
            "baselineDate.year": {
              "format": "int32",
              "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
              "location": "query",
              "type": "integer"
            },
            "baselineDate.month": {
              "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageSize": {
              "format": "int32",
              "description": "Optional. If unspecified, at most 50 items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "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.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "description": "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",
              "location": "query",
              "type": "string"
            },
            "baselineDate.day": {
              "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            }
          },
          "description": "AggregateFleet provides statistics about the fleet grouped by various fields.",
          "httpMethod": "GET"
        },
        "aggregateIssueStats": {
          "id": "databasecenter.aggregateIssueStats",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "httpMethod": "POST",
          "path": "v1beta:aggregateIssueStats",
          "parameters": {},
          "description": "AggregateIssueStats provides database resource issues statistics.",
          "parameterOrder": [],
          "request": {
            "$ref": "AggregateIssueStatsRequest"
          },
          "response": {
            "$ref": "AggregateIssueStatsResponse"
          },
          "flatPath": "v1beta:aggregateIssueStats"
        },
        "queryIssues": {
          "httpMethod": "POST",
          "path": "v1beta:queryIssues",
          "parameters": {},
          "description": "QueryIssues provides a list of issues and recommendations that a user has access to and that are within the requested scope.",
          "id": "databasecenter.queryIssues",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta:queryIssues",
          "parameterOrder": [],
          "request": {
            "$ref": "QueryIssuesRequest"
          },
          "response": {
            "$ref": "QueryIssuesResponse"
          }
        }
      }
    },
    "organizations": {
      "methods": {
        "aggregateQueryStats": {
          "response": {
            "$ref": "AggregateQueryStatsResponse"
          },
          "request": {
            "$ref": "AggregateQueryStatsRequest"
          },
          "parameterOrder": [
            "parent"
          ],
          "flatPath": "v1beta/organizations/{organizationsId}:aggregateQueryStats",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "databasecenter.organizations.aggregateQueryStats",
          "path": "v1beta/{+parent}:aggregateQueryStats",
          "parameters": {
            "parent": {
              "description": "Required. Parent can be a project, a folder, or an organization. The search is limited to the resources within the `parent`. 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\")",
              "location": "path",
              "type": "string",
              "pattern": "^organizations/[^/]+$",
              "required": true
            }
          },
          "description": "AggregateQueryStats provides database resource query execution statistics.",
          "httpMethod": "POST"
        }
      }
    }
  },
  "parameters": {
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "description": "V1 error format.",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    }
  },
  "rootUrl": "https://databasecenter.googleapis.com/",
  "version": "v1beta",
  "name": "databasecenter",
  "documentationLink": "https://docs.cloud.google.com/database-center/docs/overview",
  "id": "databasecenter:v1beta",
  "kind": "discovery#restDescription",
  "protocol": "rest",
  "basePath": "",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "fullyEncodeReservedExpansion": true,
  "schemas": {
    "ResourceId": {
      "id": "ResourceId",
      "properties": {
        "fullResourceName": {
          "description": "The full resource name of the resource.",
          "type": "string"
        },
        "product": {
          "description": "The product of the resource, including the type, engine, and version.",
          "$ref": "Product"
        },
        "resourceType": {
          "description": "The type of the resource. sqladmin.googleapis.com/Instance alloydb.googleapis.com/Cluster alloydb.googleapis.com/Instance",
          "type": "string"
        }
      },
      "description": "ResourceId contains the identifier for a database resource, including the full resource name, resource type, and product.",
      "type": "object"
    },
    "QueryStatsInfo": {
      "id": "QueryStatsInfo",
      "properties": {
        "aggregatedQueryStats": {
          "description": "Aggregated query stats for the resources for same normalized query.",
          "$ref": "QueryStats"
        },
        "queryStats": {
          "description": "List of query stats for the resources in the group. This stats is stats at resource level for the resources having same normalized query.",
          "type": "array",
          "items": {
            "$ref": "QueryStats"
          }
        }
      },
      "description": "QueryStatsInfo contains the aggregated and detailed query stats for a particular combination of relevant query stats for queries having same normalized query.",
      "type": "object"
    },
    "OutdatedMinorVersionInfo": {
      "id": "OutdatedMinorVersionInfo",
      "properties": {
        "recommendedMinorVersion": {
          "description": "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.",
          "type": "string"
        }
      },
      "description": "Info associated with outdated minor version.",
      "type": "object"
    },
    "MetricData": {
      "id": "MetricData",
      "properties": {
        "value": {
          "description": "The value associated with the metric.",
          "$ref": "TypedValue"
        },
        "observationTime": {
          "format": "google-datetime",
          "description": "The time the metric was observed in the metric source service.",
          "type": "string"
        }
      },
      "description": "MetricData represents the metric data for a database resource.",
      "type": "object"
    },
    "DatabaseResourceIssue": {
      "description": "DatabaseResource and Issue associated with it.",
      "type": "object",
      "id": "DatabaseResourceIssue",
      "properties": {
        "signal": {
          "description": "Signal associated with the issue.",
          "$ref": "Signal"
        },
        "resource": {
          "description": "Resource associated with the issue.",
          "$ref": "DatabaseResource"
        }
      }
    },
    "DeltaDetails": {
      "id": "DeltaDetails",
      "properties": {
        "increasedResources": {
          "description": "Details of resources that have increased.",
          "type": "array",
          "items": {
            "$ref": "ResourceDetails"
          }
        },
        "decreasedResources": {
          "description": "Details of resources that have decreased.",
          "type": "array",
          "items": {
            "$ref": "ResourceDetails"
          }
        }
      },
      "description": "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.",
      "type": "object"
    },
    "AdditionalDetail": {
      "id": "AdditionalDetail",
      "properties": {
        "sccInfo": {
          "description": "SCC information applies to SCC signals.",
          "$ref": "SCCInfo"
        },
        "recommendationInfo": {
          "description": "Recommendation information applies to recommendations.",
          "$ref": "RecommendationInfo"
        },
        "shortBackupRetentionInfo": {
          "description": "Short backup retention information applies to signals with type SIGNAL_TYPE_SHORT_BACKUP_RETENTION.",
          "$ref": "RetentionSettingsInfo"
        },
        "inefficientQueryInfo": {
          "description": "Inefficient query information applies to signals with type SIGNAL_TYPE_INEFFICIENT_QUERY.",
          "$ref": "InefficientQueryInfo"
        },
        "signalEventTime": {
          "description": "Event time when signal was recorded by source service.",
          "type": "string",
          "format": "google-datetime"
        },
        "deletionProtectionInfo": {
          "description": "Deletion protection information applies to signals with type SIGNAL_TYPE_NO_DELETION_PROTECTION",
          "$ref": "DeletionProtectionInfo"
        },
        "maintenanceRecommendationInfo": {
          "description": "Maintenance recommendation information applies to signals with type SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES.",
          "$ref": "MaintenanceRecommendationInfo"
        },
        "resourceSuspensionInfo": {
          "description": "Resource suspension information applies to signals with type SIGNAL_TYPE_RESOURCE_SUSPENDED.",
          "$ref": "ResourceSuspensionInfo"
        },
        "outdatedMinorVersionInfo": {
          "description": "Outdated minor version information applies to signals with type SIGNAL_TYPE_OUTDATED_MINOR_VERSION.",
          "$ref": "OutdatedMinorVersionInfo"
        },
        "backupRunInfo": {
          "description": "Backup run information applies to signals with types SIGNAL_TYPE_LAST_BACKUP_FAILED and SIGNAL_TYPE_LAST_BACKUP_OLD.",
          "$ref": "BackupRunInfo"
        },
        "signalSource": {
          "description": "Where the signal is coming from.",
          "type": "string",
          "enum": [
            "SIGNAL_SOURCE_UNSPECIFIED",
            "SIGNAL_SOURCE_RESOURCE_METADATA",
            "SIGNAL_SOURCE_SECURITY_FINDINGS",
            "SIGNAL_SOURCE_RECOMMENDER",
            "SIGNAL_SOURCE_MODERN_OBSERVABILITY"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Signal comes from resource metadata.",
            "Signal comes from SCC findings.",
            "Signal comes from recommender hub.",
            "Signal comes from modern observability platform."
          ]
        },
        "signalType": {
          "enumDescriptions": [
            "Unspecified.",
            "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.",
            "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
            "Represents if a resource has an automated backup policy.",
            "Represents if a resources has a short backup retention period.",
            "Represents if the last backup of a resource failed.",
            "Represents if the last backup of a resource is older than some threshold value.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
            "Represents if a resource violates CIS Controls 8.0.",
            "Represents if a resource violates NIST 800-53.",
            "Represents if a resource violates NIST 800-53 R5.",
            "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
            "Represents if a resource violates ISO-27001.",
            "Represents if a resource violates ISO 27001 2022.",
            "Represents if a resource violates PCI-DSS v3.2.1.",
            "Represents if a resource violates PCI-DSS v4.0.",
            "Represents if a resource violates Cloud Controls Matrix v4.0.",
            "Represents if a resource violates HIPAA.",
            "Represents if a resource violates SOC2 v2017.",
            "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "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).",
            "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
            "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
            "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
            "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
            "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
            "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
            "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
            "Represents if a resource is exposed to public access.",
            "Represents if a resources requires all incoming connections to use SSL or not.",
            "Represents if a Cloud SQL database has a password configured for the root account or not.",
            "Represents if a Cloud SQL database has a weak password configured for the root account.",
            "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
            "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
            "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
            "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
            "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
            "Represents if public IP is enabled.",
            "Represents idle instance helps to reduce costs.",
            "Represents instances that are unnecessarily large for given workload.",
            "Represents high number of concurrently opened tables.",
            "Represents high table count close to SLA limit.",
            "Represents high number of unvacuumed transactions",
            "Represents need for more CPU and/or memory",
            "Represents out of disk.",
            "Represents server certificate is near expiry.",
            "Represents database auditing is disabled.",
            "Represents not restricted to authorized networks.",
            "Represents violate org policy restrict public ip.",
            "Cluster nearing quota limit",
            "No password policy set on resources",
            "Performance impact of connections settings",
            "Performance impact of temporary tables settings",
            "Performance impact of transaction logs settings",
            "Performance impact of high joins without indexes",
            "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
            "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.",
            "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
            "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
            "Detects if a database instance is using a weak password hash algorithm.",
            "Detects if a database instance has no user password policy set.",
            "Detects if a database instance/cluster has a hot node.",
            "Deletion Protection Disabled for the resource",
            "Detects if a database instance has no point in time recovery enabled.",
            "Detects if a database instance/cluster has suspended resources.",
            "Detects that expensive commands are being run on a database instance impacting overall performance.",
            "Indicates that the instance does not have a maintenance policy configured.",
            "Indicates that the instance has inefficient queries detected.",
            "Indicates that the instance has read intensive workload.",
            "Indicates that the instance is nearing memory limit.",
            "Indicates that the instance's max server memory is configured higher than the recommended value.",
            "Indicates that the database has large rows beyond the recommended limit.",
            "Heavy write pressure on the database rows.",
            "Heavy read pressure on the database rows.",
            "Encryption org policy not satisfied.",
            "Location org policy not satisfied.",
            "Outdated DB minor version.",
            "Schema not optimized.",
            "Replication delay.",
            "Outdated client.",
            "Databoost is disabled.",
            "Recommended maintenance policy.",
            "Resource version is in extended support.",
            "Represents a database version nearing end of life.",
            "Indicates a high risk of maintenance downtime.",
            "Indicates both a low cache hit rate and a risk of maintenance downtime.",
            "Indicates that the resource is missing enhanced protection."
          ],
          "description": "Type of the signal.",
          "type": "string",
          "enum": [
            "SIGNAL_TYPE_UNSPECIFIED",
            "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
            "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
            "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
            "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
            "SIGNAL_TYPE_LAST_BACKUP_FAILED",
            "SIGNAL_TYPE_LAST_BACKUP_OLD",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
            "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
            "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
            "SIGNAL_TYPE_VIOLATES_ISO_27001",
            "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
            "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
            "SIGNAL_TYPE_VIOLATES_HIPAA",
            "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
            "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
            "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
            "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
            "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
            "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_STATS_LOGGED",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
            "SIGNAL_TYPE_LOGGING_QUERY_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
            "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
            "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
            "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
            "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
            "SIGNAL_TYPE_NO_ROOT_PASSWORD",
            "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
            "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
            "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
            "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
            "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
            "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
            "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
            "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
            "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
            "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
            "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
            "SIGNAL_TYPE_IDLE",
            "SIGNAL_TYPE_OVERPROVISIONED",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
            "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
            "SIGNAL_TYPE_UNDERPROVISIONED",
            "SIGNAL_TYPE_OUT_OF_DISK",
            "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
            "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
            "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
            "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
            "SIGNAL_TYPE_QUOTA_LIMIT",
            "SIGNAL_TYPE_NO_PASSWORD_POLICY",
            "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
            "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
            "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
            "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
            "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
            "SIGNAL_TYPE_HOT_NODE",
            "SIGNAL_TYPE_NO_DELETION_PROTECTION",
            "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
            "SIGNAL_TYPE_RESOURCE_SUSPENDED",
            "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
            "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
            "SIGNAL_TYPE_INEFFICIENT_QUERY",
            "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
            "SIGNAL_TYPE_MEMORY_LIMIT",
            "SIGNAL_TYPE_MAX_SERVER_MEMORY",
            "SIGNAL_TYPE_LARGE_ROWS",
            "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
            "SIGNAL_TYPE_HIGH_READ_PRESSURE",
            "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
            "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
            "SIGNAL_TYPE_REPLICATION_LAG",
            "SIGNAL_TYPE_OUTDATED_CLIENT",
            "SIGNAL_TYPE_DATABOOST_DISABLED",
            "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
            "SIGNAL_TYPE_EXTENDED_SUPPORT",
            "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
            "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
            "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
            "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
          ]
        },
        "automatedBackupPolicyInfo": {
          "description": "Automated backup policy information applies to signals with type SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY.",
          "$ref": "AutomatedBackupPolicyInfo"
        }
      },
      "description": "Details related to signal.",
      "type": "object"
    },
    "MachineConfig": {
      "description": "MachineConfig describes the configuration of a machine specific to a Database Resource.",
      "type": "object",
      "id": "MachineConfig",
      "properties": {
        "shardCount": {
          "description": "Optional. The number of Shards (if applicable).",
          "type": "integer",
          "format": "int32"
        },
        "maxReservationSlotCount": {
          "description": "Optional. Max slots for BigQuery Reservations. Max slots are in increments of 50.",
          "type": "string",
          "format": "int64"
        },
        "memorySizeBytes": {
          "description": "Memory size in bytes.",
          "type": "string",
          "format": "int64"
        },
        "vcpuCount": {
          "description": "Optional. The number of vCPUs (if applicable).",
          "type": "number",
          "format": "double"
        },
        "baselineSlotCount": {
          "format": "int64",
          "description": "Optional. Baseline slots for BigQuery Reservations. Baseline slots are in increments of 50.",
          "type": "string"
        }
      }
    },
    "SCCInfo": {
      "id": "SCCInfo",
      "properties": {
        "category": {
          "description": "Name by which SCC calls this signal.",
          "type": "string"
        },
        "externalUri": {
          "description": "External URI which points to a SCC page associated with the signal.",
          "type": "string"
        },
        "signal": {
          "description": "Name of the signal.",
          "type": "string"
        },
        "regulatoryStandards": {
          "description": "Compliances that are associated with the signal.",
          "type": "array",
          "items": {
            "$ref": "RegulatoryStandard"
          }
        }
      },
      "description": "Info associated with SCC signals.",
      "type": "object"
    },
    "QueryIssuesRequest": {
      "id": "QueryIssuesRequest",
      "properties": {
        "filter": {
          "description": "Optional. Supported fields are: 'product', `location`, `issue_severity`, 'tags', 'labels',",
          "type": "string"
        },
        "parent": {
          "description": "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\")",
          "type": "string"
        },
        "signalProductsFilters": {
          "items": {
            "$ref": "SignalProductsFilters"
          },
          "description": "Optional. Filters based on signal and product. The filter list will be ORed across pairs and ANDed within a signal and products pair.",
          "type": "array"
        },
        "orderBy": {
          "description": "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.",
          "type": "string"
        },
        "pageSize": {
          "format": "int32",
          "description": "Optional. If unspecified, at most 50 issues will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
          "type": "integer"
        },
        "pageToken": {
          "description": "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.",
          "type": "string"
        }
      },
      "description": "QueryIssuesRequest is the request to get a list of issues.",
      "type": "object"
    },
    "Tag": {
      "id": "Tag",
      "properties": {
        "value": {
          "description": "The value part of the tag.",
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "source": {
          "description": "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}\"",
          "type": "string"
        },
        "inherited": {
          "description": "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.",
          "type": "boolean"
        }
      },
      "description": "Tag is a key value pair attached to a resource.",
      "type": "object"
    },
    "AggregateQueryStatsResponse": {
      "description": "The response message containing relevant query stats for database resources.",
      "type": "object",
      "id": "AggregateQueryStatsResponse",
      "properties": {
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "queryStats": {
          "description": "List of query stats where each group contains stats for resources having a particular combination of relevant query stats.",
          "type": "array",
          "items": {
            "$ref": "QueryStatsInfo"
          }
        }
      }
    },
    "TimeOfDay": {
      "id": "TimeOfDay",
      "properties": {
        "hours": {
          "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
          "type": "integer",
          "format": "int32"
        },
        "nanos": {
          "format": "int32",
          "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.",
          "type": "integer"
        },
        "minutes": {
          "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.",
          "type": "integer",
          "format": "int32"
        },
        "seconds": {
          "format": "int32",
          "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.",
          "type": "integer"
        }
      },
      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
      "type": "object"
    },
    "AggregateIssueStatsRequest": {
      "description": "AggregateIssueStatsRequest represents the input to the AggregateIssueStats method.",
      "type": "object",
      "id": "AggregateIssueStatsRequest",
      "properties": {
        "parent": {
          "description": "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\")",
          "type": "string"
        },
        "signalTypeGroups": {
          "description": "Optional. Lists of signal types that are issues.",
          "type": "array",
          "items": {
            "$ref": "SignalTypeGroup"
          }
        },
        "filter": {
          "description": "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\"`",
          "type": "string"
        },
        "baselineDate": {
          "description": "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.",
          "$ref": "Date"
        }
      }
    },
    "AggregateIssueStatsResponse": {
      "id": "AggregateIssueStatsResponse",
      "properties": {
        "issueGroupStats": {
          "items": {
            "$ref": "IssueGroupStats"
          },
          "description": "List of issue group stats where each group contains stats for resources having a particular combination of relevant issues.",
          "type": "array"
        },
        "totalResourcesCount": {
          "format": "int32",
          "description": "Total count of the resources filtered in based on the user given filter.",
          "type": "integer"
        },
        "unreachable": {
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "totalResourceGroupsCount": {
          "format": "int32",
          "description": "Total count of the resource filtered in based on the user given filter.",
          "type": "integer"
        }
      },
      "description": "The response message containing one of more group of relevant health issues for database resources.",
      "type": "object"
    },
    "ResourceDetails": {
      "id": "ResourceDetails",
      "properties": {
        "fullResourceName": {
          "description": "Full resource name of the resource.",
          "type": "string"
        },
        "location": {
          "description": "Location of the resource.",
          "type": "string"
        },
        "container": {
          "description": "Specifies where the resource is created. For Google Cloud resources, it is the full name of the project.",
          "type": "string"
        },
        "product": {
          "description": "Product type of the resource.",
          "$ref": "Product"
        }
      },
      "description": "Capture the resource details for resources that are included in the delta counts.",
      "type": "object"
    },
    "QueryMetrics": {
      "description": "QueryMetrics contains the metrics related to the query execution.",
      "type": "object",
      "id": "QueryMetrics",
      "properties": {
        "metricsWindow": {
          "enumDescriptions": [
            "Unspecified. Default value.",
            "Metrics are aggregated over the last 1 day.",
            "Metrics are aggregated over the last 7 days.",
            "Metrics are aggregated over the last 14 days."
          ],
          "enum": [
            "METRICS_WINDOW_UNSPECIFIED",
            "LAST_ONE_DAY",
            "LAST_ONE_WEEK",
            "LAST_TWO_WEEKS"
          ],
          "description": "The window over which the metrics are aggregated.",
          "type": "string"
        },
        "avgCpuTime": {
          "format": "google-duration",
          "description": "The average execution period of the query across all runs.",
          "type": "string"
        },
        "rowsProcessed": {
          "format": "int64",
          "description": "The average number of rows processed by the query across all runs.",
          "type": "string"
        },
        "totalCpuTime": {
          "description": "The total CPU time consumed by the query across all runs.",
          "type": "string",
          "format": "google-duration"
        },
        "executionCount": {
          "description": "The number of times the query was executed.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ResourceMaintenanceSchedule": {
      "description": "Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start.",
      "type": "object",
      "id": "ResourceMaintenanceSchedule",
      "properties": {
        "startTime": {
          "description": "Optional. Preferred time to start the maintenance operation on the specified day.",
          "$ref": "TimeOfDay"
        },
        "day": {
          "enumDescriptions": [
            "The day of the week is unspecified.",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday",
            "Sunday"
          ],
          "enum": [
            "DAY_OF_WEEK_UNSPECIFIED",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ],
          "description": "Optional. Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.",
          "type": "string"
        },
        "phase": {
          "enum": [
            "PHASE_UNSPECIFIED",
            "PHASE_WEEK1",
            "PHASE_WEEK2",
            "PHASE_WEEK5",
            "PHASE_ANY"
          ],
          "description": "Optional. Phase of the maintenance window. This is to capture order of maintenance. For example, for Cloud SQL resources, this can be used to capture if the maintenance window is in Week1, Week2, Week5, etc. Non production resources are usually part of early phase. For more details, refer to Cloud SQL resources - https://cloud.google.com/sql/docs/mysql/maintenance",
          "type": "string",
          "enumDescriptions": [
            "Phase is unspecified.",
            "Week 1.",
            "Week 2.",
            "Week 5.",
            "Any phase."
          ]
        }
      }
    },
    "SignalProductsFilters": {
      "description": "SignalProductsFilters represents a signal and list of supported products.",
      "type": "object",
      "id": "SignalProductsFilters",
      "properties": {
        "products": {
          "description": "Optional. Product type of the resource. The version of the product will be ignored in filtering.",
          "type": "array",
          "items": {
            "$ref": "Product"
          }
        },
        "signalType": {
          "description": "Optional. The type of signal.",
          "type": "string",
          "enum": [
            "SIGNAL_TYPE_UNSPECIFIED",
            "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
            "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
            "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
            "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
            "SIGNAL_TYPE_LAST_BACKUP_FAILED",
            "SIGNAL_TYPE_LAST_BACKUP_OLD",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
            "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
            "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
            "SIGNAL_TYPE_VIOLATES_ISO_27001",
            "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
            "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
            "SIGNAL_TYPE_VIOLATES_HIPAA",
            "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
            "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
            "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
            "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
            "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
            "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_STATS_LOGGED",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
            "SIGNAL_TYPE_LOGGING_QUERY_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
            "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
            "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
            "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
            "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
            "SIGNAL_TYPE_NO_ROOT_PASSWORD",
            "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
            "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
            "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
            "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
            "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
            "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
            "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
            "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
            "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
            "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
            "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
            "SIGNAL_TYPE_IDLE",
            "SIGNAL_TYPE_OVERPROVISIONED",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
            "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
            "SIGNAL_TYPE_UNDERPROVISIONED",
            "SIGNAL_TYPE_OUT_OF_DISK",
            "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
            "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
            "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
            "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
            "SIGNAL_TYPE_QUOTA_LIMIT",
            "SIGNAL_TYPE_NO_PASSWORD_POLICY",
            "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
            "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
            "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
            "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
            "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
            "SIGNAL_TYPE_HOT_NODE",
            "SIGNAL_TYPE_NO_DELETION_PROTECTION",
            "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
            "SIGNAL_TYPE_RESOURCE_SUSPENDED",
            "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
            "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
            "SIGNAL_TYPE_INEFFICIENT_QUERY",
            "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
            "SIGNAL_TYPE_MEMORY_LIMIT",
            "SIGNAL_TYPE_MAX_SERVER_MEMORY",
            "SIGNAL_TYPE_LARGE_ROWS",
            "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
            "SIGNAL_TYPE_HIGH_READ_PRESSURE",
            "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
            "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
            "SIGNAL_TYPE_REPLICATION_LAG",
            "SIGNAL_TYPE_OUTDATED_CLIENT",
            "SIGNAL_TYPE_DATABOOST_DISABLED",
            "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
            "SIGNAL_TYPE_EXTENDED_SUPPORT",
            "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
            "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
            "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
            "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "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.",
            "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
            "Represents if a resource has an automated backup policy.",
            "Represents if a resources has a short backup retention period.",
            "Represents if the last backup of a resource failed.",
            "Represents if the last backup of a resource is older than some threshold value.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
            "Represents if a resource violates CIS Controls 8.0.",
            "Represents if a resource violates NIST 800-53.",
            "Represents if a resource violates NIST 800-53 R5.",
            "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
            "Represents if a resource violates ISO-27001.",
            "Represents if a resource violates ISO 27001 2022.",
            "Represents if a resource violates PCI-DSS v3.2.1.",
            "Represents if a resource violates PCI-DSS v4.0.",
            "Represents if a resource violates Cloud Controls Matrix v4.0.",
            "Represents if a resource violates HIPAA.",
            "Represents if a resource violates SOC2 v2017.",
            "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "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).",
            "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
            "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
            "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
            "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
            "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
            "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
            "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
            "Represents if a resource is exposed to public access.",
            "Represents if a resources requires all incoming connections to use SSL or not.",
            "Represents if a Cloud SQL database has a password configured for the root account or not.",
            "Represents if a Cloud SQL database has a weak password configured for the root account.",
            "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
            "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
            "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
            "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
            "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
            "Represents if public IP is enabled.",
            "Represents idle instance helps to reduce costs.",
            "Represents instances that are unnecessarily large for given workload.",
            "Represents high number of concurrently opened tables.",
            "Represents high table count close to SLA limit.",
            "Represents high number of unvacuumed transactions",
            "Represents need for more CPU and/or memory",
            "Represents out of disk.",
            "Represents server certificate is near expiry.",
            "Represents database auditing is disabled.",
            "Represents not restricted to authorized networks.",
            "Represents violate org policy restrict public ip.",
            "Cluster nearing quota limit",
            "No password policy set on resources",
            "Performance impact of connections settings",
            "Performance impact of temporary tables settings",
            "Performance impact of transaction logs settings",
            "Performance impact of high joins without indexes",
            "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
            "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.",
            "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
            "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
            "Detects if a database instance is using a weak password hash algorithm.",
            "Detects if a database instance has no user password policy set.",
            "Detects if a database instance/cluster has a hot node.",
            "Deletion Protection Disabled for the resource",
            "Detects if a database instance has no point in time recovery enabled.",
            "Detects if a database instance/cluster has suspended resources.",
            "Detects that expensive commands are being run on a database instance impacting overall performance.",
            "Indicates that the instance does not have a maintenance policy configured.",
            "Indicates that the instance has inefficient queries detected.",
            "Indicates that the instance has read intensive workload.",
            "Indicates that the instance is nearing memory limit.",
            "Indicates that the instance's max server memory is configured higher than the recommended value.",
            "Indicates that the database has large rows beyond the recommended limit.",
            "Heavy write pressure on the database rows.",
            "Heavy read pressure on the database rows.",
            "Encryption org policy not satisfied.",
            "Location org policy not satisfied.",
            "Outdated DB minor version.",
            "Schema not optimized.",
            "Replication delay.",
            "Outdated client.",
            "Databoost is disabled.",
            "Recommended maintenance policy.",
            "Resource version is in extended support.",
            "Represents a database version nearing end of life.",
            "Indicates a high risk of maintenance downtime.",
            "Indicates both a low cache hit rate and a risk of maintenance downtime.",
            "Indicates that the resource is missing enhanced protection."
          ]
        }
      }
    },
    "ResourceSuspensionInfo": {
      "id": "ResourceSuspensionInfo",
      "properties": {
        "resourceSuspended": {
          "description": "Is resource suspended.",
          "type": "boolean"
        },
        "suspensionReason": {
          "enumDescriptions": [
            "Suspension reason is unspecified.",
            "Wipeout hide event.",
            "Wipeout purge event.",
            "Billing disabled for project",
            "Abuse detected for resource",
            "Encryption key inaccessible.",
            "Replicated cluster encryption key inaccessible."
          ],
          "enum": [
            "SUSPENSION_REASON_UNSPECIFIED",
            "WIPEOUT_HIDE_EVENT",
            "WIPEOUT_PURGE_EVENT",
            "BILLING_DISABLED",
            "ABUSER_DETECTED",
            "ENCRYPTION_KEY_INACCESSIBLE",
            "REPLICATED_CLUSTER_ENCRYPTION_KEY_INACCESSIBLE"
          ],
          "description": "Suspension reason for the resource.",
          "type": "string"
        }
      },
      "description": "Resource suspension info for a database resource.",
      "type": "object"
    },
    "QueryStats": {
      "description": "QueryStats contains the stats for a particular combination of query_hash, query_string and resource_type.",
      "type": "object",
      "id": "QueryStats",
      "properties": {
        "resourceType": {
          "description": "The type of the resource. sqladmin.googleapis.com/Instance alloydb.googleapis.com/Cluster alloydb.googleapis.com/Instance",
          "type": "string"
        },
        "queryHash": {
          "description": "The query hash of the query.",
          "type": "string"
        },
        "inefficientQueryInfo": {
          "description": "Information about inefficient query.",
          "$ref": "InefficientQueryInfo"
        },
        "queryMetrics": {
          "description": "Metrics related to the query performance.",
          "$ref": "QueryMetrics"
        },
        "normalizedQuery": {
          "description": "The query string is normalized query without any PII data.",
          "type": "string"
        },
        "resourceIds": {
          "items": {
            "$ref": "ResourceId"
          },
          "description": "The resource ids for which the query stats are collected.",
          "type": "array"
        }
      }
    },
    "BackupRunInfo": {
      "id": "BackupRunInfo",
      "properties": {
        "subResource": {
          "description": "Optional. Sub resource details associated with the backup run.",
          "$ref": "SubResource"
        },
        "startTime": {
          "description": "The time the backup operation started.",
          "type": "string",
          "format": "google-datetime"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED"
          ],
          "description": "Output only. The state of this run.",
          "type": "string",
          "readOnly": true,
          "enumDescriptions": [
            "Unspecified.",
            "The backup succeeded.",
            "The backup was unsuccessful."
          ]
        },
        "operationErrorType": {
          "enumDescriptions": [
            "UNSPECIFIED means operation error type is not known or available.",
            "Key destroyed, expired, not found, unreachable or permission denied.",
            "Database is not accessible.",
            "The zone or region does not have sufficient resources to handle the request at the moment.",
            "User initiated cancellation.",
            "SQL server specific error.",
            "Any other internal error."
          ],
          "enum": [
            "OPERATION_ERROR_TYPE_UNSPECIFIED",
            "KMS_KEY_ERROR",
            "DATABASE_ERROR",
            "STOCKOUT_ERROR",
            "CANCELLATION_ERROR",
            "SQLSERVER_ERROR",
            "INTERNAL_ERROR"
          ],
          "description": "Optional. OperationErrorType to expose specific error when backup operation of database resource failed, that is state is FAILED.",
          "type": "string"
        },
        "endTime": {
          "description": "The time the backup operation completed.",
          "type": "string",
          "format": "google-datetime"
        },
        "errorMessage": {
          "description": "Additional information about the error encountered.",
          "type": "string"
        }
      },
      "description": "Metadata about latest backup run state for a database resource.",
      "type": "object"
    },
    "RegulatoryStandard": {
      "description": "Compliances associated with signals.",
      "type": "object",
      "id": "RegulatoryStandard",
      "properties": {
        "standard": {
          "description": "Name of industry compliance standards, such as such as CIS, PCI, and OWASP.",
          "type": "string"
        },
        "version": {
          "description": "Version of the standard or benchmark, for example, 1.1.",
          "type": "string"
        }
      }
    },
    "AggregateQueryStatsRequest": {
      "description": "AggregateQueryStatsRequest represents the input to the AggregateQueryStats method.",
      "type": "object",
      "id": "AggregateQueryStatsRequest",
      "properties": {
        "pageToken": {
          "description": "Optional. A page token, received from a previous `AggregateQueryStatsRequest` call. Provide this to retrieve the subsequent page. All parameters except page_token should match the parameters in the call that provided the page token.",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional. If unspecified, at most 100 query stats will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
          "type": "integer",
          "format": "int32"
        },
        "orderBy": {
          "description": "Optional. The expression to order the results by. Example: `order_by=\"execution_count\"` Example: `order_by=\"execution_count desc\"` Supported order by fields are `execution_count`, `rows_processed`, `total_cpu_time`, `avg_cpu_time`.",
          "type": "string"
        },
        "filter": {
          "description": "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\"` Additional specific fields for query stats are: `metric_window`, `query_hash`, `normalized_query`. Example: `metric_window=\"LAST_ONE_DAY\"` (Possible values for `metric_window` are: `LAST_ONE_DAY`, `LAST_ONE_WEEK`, `LAST_TWO_WEEKS`) Example: `query_hash=\"12345678\"` Example: `normalized_query=\"SELECT * FROM table\"`",
          "type": "string"
        }
      }
    },
    "SignalFilter": {
      "description": "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.",
      "type": "object",
      "id": "SignalFilter",
      "properties": {
        "signalStatus": {
          "description": "Optional. Represents the status of the Signal for which the filter is for.",
          "type": "string",
          "enum": [
            "SIGNAL_STATUS_UNSPECIFIED",
            "SIGNAL_STATUS_NOT_APPLICABLE",
            "SIGNAL_STATUS_OK",
            "SIGNAL_STATUS_ISSUE",
            "SIGNAL_STATUS_NOT_ENABLED"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Signal is not applicable to the resource.",
            "Signal is not an issue.",
            "Signal is an issue.",
            "Signal is not enabled for the resource."
          ]
        },
        "signalType": {
          "description": "Optional. Represents the type of the Signal for which the filter is for.",
          "type": "string",
          "enum": [
            "SIGNAL_TYPE_UNSPECIFIED",
            "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
            "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
            "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
            "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
            "SIGNAL_TYPE_LAST_BACKUP_FAILED",
            "SIGNAL_TYPE_LAST_BACKUP_OLD",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
            "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
            "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
            "SIGNAL_TYPE_VIOLATES_ISO_27001",
            "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
            "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
            "SIGNAL_TYPE_VIOLATES_HIPAA",
            "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
            "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
            "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
            "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
            "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
            "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_STATS_LOGGED",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
            "SIGNAL_TYPE_LOGGING_QUERY_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
            "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
            "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
            "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
            "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
            "SIGNAL_TYPE_NO_ROOT_PASSWORD",
            "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
            "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
            "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
            "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
            "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
            "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
            "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
            "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
            "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
            "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
            "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
            "SIGNAL_TYPE_IDLE",
            "SIGNAL_TYPE_OVERPROVISIONED",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
            "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
            "SIGNAL_TYPE_UNDERPROVISIONED",
            "SIGNAL_TYPE_OUT_OF_DISK",
            "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
            "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
            "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
            "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
            "SIGNAL_TYPE_QUOTA_LIMIT",
            "SIGNAL_TYPE_NO_PASSWORD_POLICY",
            "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
            "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
            "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
            "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
            "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
            "SIGNAL_TYPE_HOT_NODE",
            "SIGNAL_TYPE_NO_DELETION_PROTECTION",
            "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
            "SIGNAL_TYPE_RESOURCE_SUSPENDED",
            "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
            "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
            "SIGNAL_TYPE_INEFFICIENT_QUERY",
            "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
            "SIGNAL_TYPE_MEMORY_LIMIT",
            "SIGNAL_TYPE_MAX_SERVER_MEMORY",
            "SIGNAL_TYPE_LARGE_ROWS",
            "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
            "SIGNAL_TYPE_HIGH_READ_PRESSURE",
            "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
            "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
            "SIGNAL_TYPE_REPLICATION_LAG",
            "SIGNAL_TYPE_OUTDATED_CLIENT",
            "SIGNAL_TYPE_DATABOOST_DISABLED",
            "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
            "SIGNAL_TYPE_EXTENDED_SUPPORT",
            "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
            "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
            "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
            "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "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.",
            "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
            "Represents if a resource has an automated backup policy.",
            "Represents if a resources has a short backup retention period.",
            "Represents if the last backup of a resource failed.",
            "Represents if the last backup of a resource is older than some threshold value.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
            "Represents if a resource violates CIS Controls 8.0.",
            "Represents if a resource violates NIST 800-53.",
            "Represents if a resource violates NIST 800-53 R5.",
            "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
            "Represents if a resource violates ISO-27001.",
            "Represents if a resource violates ISO 27001 2022.",
            "Represents if a resource violates PCI-DSS v3.2.1.",
            "Represents if a resource violates PCI-DSS v4.0.",
            "Represents if a resource violates Cloud Controls Matrix v4.0.",
            "Represents if a resource violates HIPAA.",
            "Represents if a resource violates SOC2 v2017.",
            "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "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).",
            "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
            "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
            "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
            "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
            "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
            "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
            "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
            "Represents if a resource is exposed to public access.",
            "Represents if a resources requires all incoming connections to use SSL or not.",
            "Represents if a Cloud SQL database has a password configured for the root account or not.",
            "Represents if a Cloud SQL database has a weak password configured for the root account.",
            "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
            "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
            "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
            "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
            "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
            "Represents if public IP is enabled.",
            "Represents idle instance helps to reduce costs.",
            "Represents instances that are unnecessarily large for given workload.",
            "Represents high number of concurrently opened tables.",
            "Represents high table count close to SLA limit.",
            "Represents high number of unvacuumed transactions",
            "Represents need for more CPU and/or memory",
            "Represents out of disk.",
            "Represents server certificate is near expiry.",
            "Represents database auditing is disabled.",
            "Represents not restricted to authorized networks.",
            "Represents violate org policy restrict public ip.",
            "Cluster nearing quota limit",
            "No password policy set on resources",
            "Performance impact of connections settings",
            "Performance impact of temporary tables settings",
            "Performance impact of transaction logs settings",
            "Performance impact of high joins without indexes",
            "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
            "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.",
            "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
            "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
            "Detects if a database instance is using a weak password hash algorithm.",
            "Detects if a database instance has no user password policy set.",
            "Detects if a database instance/cluster has a hot node.",
            "Deletion Protection Disabled for the resource",
            "Detects if a database instance has no point in time recovery enabled.",
            "Detects if a database instance/cluster has suspended resources.",
            "Detects that expensive commands are being run on a database instance impacting overall performance.",
            "Indicates that the instance does not have a maintenance policy configured.",
            "Indicates that the instance has inefficient queries detected.",
            "Indicates that the instance has read intensive workload.",
            "Indicates that the instance is nearing memory limit.",
            "Indicates that the instance's max server memory is configured higher than the recommended value.",
            "Indicates that the database has large rows beyond the recommended limit.",
            "Heavy write pressure on the database rows.",
            "Heavy read pressure on the database rows.",
            "Encryption org policy not satisfied.",
            "Location org policy not satisfied.",
            "Outdated DB minor version.",
            "Schema not optimized.",
            "Replication delay.",
            "Outdated client.",
            "Databoost is disabled.",
            "Recommended maintenance policy.",
            "Resource version is in extended support.",
            "Represents a database version nearing end of life.",
            "Indicates a high risk of maintenance downtime.",
            "Indicates both a low cache hit rate and a risk of maintenance downtime.",
            "Indicates that the resource is missing enhanced protection."
          ]
        }
      }
    },
    "TypedValue": {
      "id": "TypedValue",
      "properties": {
        "int64Value": {
          "description": "The value of the metric as int.",
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "format": "double",
          "description": "The value of the metric as double.",
          "type": "number"
        }
      },
      "description": "TypedValue represents the value of the metric based on data type.",
      "type": "object"
    },
    "IssueStats": {
      "id": "IssueStats",
      "properties": {
        "signalType": {
          "enum": [
            "SIGNAL_TYPE_UNSPECIFIED",
            "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
            "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
            "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
            "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
            "SIGNAL_TYPE_LAST_BACKUP_FAILED",
            "SIGNAL_TYPE_LAST_BACKUP_OLD",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
            "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
            "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
            "SIGNAL_TYPE_VIOLATES_ISO_27001",
            "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
            "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
            "SIGNAL_TYPE_VIOLATES_HIPAA",
            "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
            "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
            "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
            "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
            "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
            "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_STATS_LOGGED",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
            "SIGNAL_TYPE_LOGGING_QUERY_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
            "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
            "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
            "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
            "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
            "SIGNAL_TYPE_NO_ROOT_PASSWORD",
            "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
            "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
            "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
            "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
            "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
            "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
            "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
            "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
            "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
            "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
            "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
            "SIGNAL_TYPE_IDLE",
            "SIGNAL_TYPE_OVERPROVISIONED",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
            "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
            "SIGNAL_TYPE_UNDERPROVISIONED",
            "SIGNAL_TYPE_OUT_OF_DISK",
            "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
            "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
            "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
            "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
            "SIGNAL_TYPE_QUOTA_LIMIT",
            "SIGNAL_TYPE_NO_PASSWORD_POLICY",
            "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
            "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
            "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
            "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
            "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
            "SIGNAL_TYPE_HOT_NODE",
            "SIGNAL_TYPE_NO_DELETION_PROTECTION",
            "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
            "SIGNAL_TYPE_RESOURCE_SUSPENDED",
            "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
            "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
            "SIGNAL_TYPE_INEFFICIENT_QUERY",
            "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
            "SIGNAL_TYPE_MEMORY_LIMIT",
            "SIGNAL_TYPE_MAX_SERVER_MEMORY",
            "SIGNAL_TYPE_LARGE_ROWS",
            "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
            "SIGNAL_TYPE_HIGH_READ_PRESSURE",
            "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
            "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
            "SIGNAL_TYPE_REPLICATION_LAG",
            "SIGNAL_TYPE_OUTDATED_CLIENT",
            "SIGNAL_TYPE_DATABOOST_DISABLED",
            "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
            "SIGNAL_TYPE_EXTENDED_SUPPORT",
            "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
            "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
            "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
            "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
          ],
          "description": "Type of signal which is an issue.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "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.",
            "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
            "Represents if a resource has an automated backup policy.",
            "Represents if a resources has a short backup retention period.",
            "Represents if the last backup of a resource failed.",
            "Represents if the last backup of a resource is older than some threshold value.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
            "Represents if a resource violates CIS Controls 8.0.",
            "Represents if a resource violates NIST 800-53.",
            "Represents if a resource violates NIST 800-53 R5.",
            "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
            "Represents if a resource violates ISO-27001.",
            "Represents if a resource violates ISO 27001 2022.",
            "Represents if a resource violates PCI-DSS v3.2.1.",
            "Represents if a resource violates PCI-DSS v4.0.",
            "Represents if a resource violates Cloud Controls Matrix v4.0.",
            "Represents if a resource violates HIPAA.",
            "Represents if a resource violates SOC2 v2017.",
            "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "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).",
            "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
            "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
            "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
            "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
            "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
            "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
            "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
            "Represents if a resource is exposed to public access.",
            "Represents if a resources requires all incoming connections to use SSL or not.",
            "Represents if a Cloud SQL database has a password configured for the root account or not.",
            "Represents if a Cloud SQL database has a weak password configured for the root account.",
            "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
            "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
            "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
            "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
            "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
            "Represents if public IP is enabled.",
            "Represents idle instance helps to reduce costs.",
            "Represents instances that are unnecessarily large for given workload.",
            "Represents high number of concurrently opened tables.",
            "Represents high table count close to SLA limit.",
            "Represents high number of unvacuumed transactions",
            "Represents need for more CPU and/or memory",
            "Represents out of disk.",
            "Represents server certificate is near expiry.",
            "Represents database auditing is disabled.",
            "Represents not restricted to authorized networks.",
            "Represents violate org policy restrict public ip.",
            "Cluster nearing quota limit",
            "No password policy set on resources",
            "Performance impact of connections settings",
            "Performance impact of temporary tables settings",
            "Performance impact of transaction logs settings",
            "Performance impact of high joins without indexes",
            "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
            "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.",
            "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
            "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
            "Detects if a database instance is using a weak password hash algorithm.",
            "Detects if a database instance has no user password policy set.",
            "Detects if a database instance/cluster has a hot node.",
            "Deletion Protection Disabled for the resource",
            "Detects if a database instance has no point in time recovery enabled.",
            "Detects if a database instance/cluster has suspended resources.",
            "Detects that expensive commands are being run on a database instance impacting overall performance.",
            "Indicates that the instance does not have a maintenance policy configured.",
            "Indicates that the instance has inefficient queries detected.",
            "Indicates that the instance has read intensive workload.",
            "Indicates that the instance is nearing memory limit.",
            "Indicates that the instance's max server memory is configured higher than the recommended value.",
            "Indicates that the database has large rows beyond the recommended limit.",
            "Heavy write pressure on the database rows.",
            "Heavy read pressure on the database rows.",
            "Encryption org policy not satisfied.",
            "Location org policy not satisfied.",
            "Outdated DB minor version.",
            "Schema not optimized.",
            "Replication delay.",
            "Outdated client.",
            "Databoost is disabled.",
            "Recommended maintenance policy.",
            "Resource version is in extended support.",
            "Represents a database version nearing end of life.",
            "Indicates a high risk of maintenance downtime.",
            "Indicates both a low cache hit rate and a risk of maintenance downtime.",
            "Indicates that the resource is missing enhanced protection."
          ]
        },
        "issueSeverity": {
          "enum": [
            "ISSUE_SEVERITY_UNSPECIFIED",
            "ISSUE_SEVERITY_LOW",
            "ISSUE_SEVERITY_MEDIUM",
            "ISSUE_SEVERITY_HIGH",
            "ISSUE_SEVERITY_CRITICAL",
            "ISSUE_SEVERITY_IRRELEVANT"
          ],
          "description": "Severity of the issue.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "Low severity.",
            "Medium severity.",
            "High severity.",
            "Critical severity.",
            "Irrelevant severity. This means the issue should not be surfaced at all."
          ]
        },
        "resourceCount": {
          "format": "int32",
          "description": "Number of resources having issues of a given type.",
          "type": "integer"
        },
        "deltaDetails": {
          "description": "Optional. Delta counts and details of resources for which issue was raised or fixed.",
          "$ref": "DeltaDetails"
        }
      },
      "description": "IssueStats holds stats for a particular signal category.",
      "type": "object"
    },
    "SubResource": {
      "description": "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.",
      "type": "object",
      "id": "SubResource",
      "properties": {
        "fullResourceName": {
          "description": "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",
          "type": "string"
        },
        "product": {
          "description": "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",
          "$ref": "Product"
        },
        "container": {
          "description": "Specifies where the resource is created. For Google Cloud resources, it is the full name of the project.",
          "type": "string"
        },
        "resourceType": {
          "description": "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",
          "type": "string"
        }
      }
    },
    "Affiliation": {
      "id": "Affiliation",
      "properties": {
        "resourceId": {
          "description": "Optional. resource id of affiliated resource",
          "type": "string"
        },
        "fullResourceName": {
          "description": "Optional. Full resource name",
          "type": "string"
        },
        "lineages": {
          "items": {
            "$ref": "Lineage"
          },
          "description": "Optional. Multiple lineages can be created from a resource. For example, a resource can be replicated to multiple target resources. In this case, there will be multiple lineages for the resource, one for each target resource.",
          "type": "array"
        }
      },
      "description": "Affiliation information of a resource",
      "type": "object"
    },
    "BackupDRConfig": {
      "id": "BackupDRConfig",
      "properties": {
        "backupdrManaged": {
          "description": "Indicates if the resource is managed by BackupDR.",
          "type": "boolean"
        }
      },
      "description": "BackupDRConfig to capture the backup and disaster recovery details of database resource.",
      "type": "object"
    },
    "IssueGroupStats": {
      "description": "IssueGroupStats refers to stats for a particulare combination of relevant health issues of database resources.",
      "type": "object",
      "id": "IssueGroupStats",
      "properties": {
        "healthyResourcesCount": {
          "description": "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.",
          "type": "integer",
          "format": "int32"
        },
        "issueStats": {
          "items": {
            "$ref": "IssueStats"
          },
          "description": "List of issues stats containing count of resources having particular issue category.",
          "type": "array"
        },
        "resourceGroupsCount": {
          "format": "int32",
          "description": "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.",
          "type": "integer"
        },
        "resourcesCount": {
          "format": "int32",
          "description": "Total count of resources returned by the filter for which any of the specified issues are applicable.",
          "type": "integer"
        },
        "displayName": {
          "description": "Database resource level health card name. This will corresponds to one of the requested input group names.",
          "type": "string"
        },
        "healthyResourceGroupsCount": {
          "description": "The number of resource groups from the total groups as defined above that are healthy with respect to all of the specified issues.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "IssueCount": {
      "description": "Count of issues for a group of signals.",
      "type": "object",
      "id": "IssueCount",
      "properties": {
        "displayName": {
          "description": "Title of a signal group corresponding to the request.",
          "type": "string"
        },
        "issueCount": {
          "format": "int32",
          "description": "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.",
          "type": "integer"
        }
      }
    },
    "DatabaseResource": {
      "id": "DatabaseResource",
      "properties": {
        "resourceType": {
          "description": "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",
          "type": "string"
        },
        "container": {
          "description": "Specifies where the resource is created. For Google Cloud resources, it is the full name of the project.",
          "type": "string"
        },
        "subResourceType": {
          "enumDescriptions": [
            "Unspecified.",
            "A resource acting as a primary.",
            "A resource acting as a secondary.",
            "A resource acting as a read-replica.",
            "A resource acting as an external primary.",
            "A resource acting as a read pool.",
            "Represents a reservation resource.",
            "Represents a dataset resource.",
            "For the rest of the categories."
          ],
          "enum": [
            "SUB_RESOURCE_TYPE_UNSPECIFIED",
            "SUB_RESOURCE_TYPE_PRIMARY",
            "SUB_RESOURCE_TYPE_SECONDARY",
            "SUB_RESOURCE_TYPE_READ_REPLICA",
            "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY",
            "SUB_RESOURCE_TYPE_READ_POOL",
            "SUB_RESOURCE_TYPE_RESERVATION",
            "SUB_RESOURCE_TYPE_DATASET",
            "SUB_RESOURCE_TYPE_OTHER"
          ],
          "description": "Subtype of the resource specified at creation time.",
          "type": "string"
        },
        "backupdrConfig": {
          "description": "Optional. Backup and disaster recovery details for the resource.",
          "$ref": "BackupDRConfig"
        },
        "location": {
          "description": "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.",
          "type": "string"
        },
        "machineConfig": {
          "description": "Machine configuration like CPU, memory, etc for the resource.",
          "$ref": "MachineConfig"
        },
        "maintenanceInfo": {
          "description": "Optional. The maintenance information of the resource.",
          "$ref": "MaintenanceInfo"
        },
        "affiliations": {
          "items": {
            "$ref": "Affiliation"
          },
          "description": "Optional. Affiliation details of the resource.",
          "type": "array"
        },
        "metrics": {
          "description": "Observable metrics for the resource e.g. CPU utilization, memory utilization, etc.",
          "$ref": "Metrics"
        },
        "resourceCategory": {
          "enumDescriptions": [
            "Unspecified.",
            "A resource that is an Instance.",
            "A resource that is a Cluster.",
            "A resource that is a Database.",
            "A resource that is a Dataset.",
            "A resource that is a Reservation."
          ],
          "enum": [
            "RESOURCE_CATEGORY_UNSPECIFIED",
            "INSTANCE",
            "CLUSTER",
            "DATABASE",
            "DATASET",
            "RESERVATION"
          ],
          "description": "The category of the resource.",
          "type": "string"
        },
        "product": {
          "description": "The product this resource represents.",
          "$ref": "Product"
        },
        "signalGroups": {
          "items": {
            "$ref": "SignalGroup"
          },
          "description": "The list of signal groups and count of issues related to the resource. Only those signals which have been requested would be included.",
          "type": "array"
        },
        "fullResourceName": {
          "description": "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`",
          "type": "string"
        },
        "resourceName": {
          "description": "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.",
          "type": "string"
        },
        "labels": {
          "items": {
            "$ref": "Label"
          },
          "description": "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",
          "type": "array"
        },
        "edition": {
          "enum": [
            "EDITION_UNSPECIFIED",
            "EDITION_ENTERPRISE",
            "EDITION_ENTERPRISE_PLUS",
            "EDITION_STANDARD"
          ],
          "description": "The edition of the resource.",
          "type": "string",
          "enumDescriptions": [
            "Default, to make it consistent with instance edition enum.",
            "Represents the enterprise edition.",
            "Represents the enterprise plus edition.",
            "Represents the standard edition."
          ]
        },
        "tags": {
          "description": "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",
          "type": "array",
          "items": {
            "$ref": "Tag"
          }
        },
        "childResources": {
          "description": "List of children associated with a database group.",
          "type": "array",
          "items": {
            "$ref": "DatabaseResource"
          }
        }
      },
      "description": "DatabaseResource represents every individually configured database unit representing compute and/or storage.",
      "type": "object"
    },
    "AggregateFleetResponse": {
      "description": "The response message to aggregate a fleet by some group by fields.",
      "type": "object",
      "id": "AggregateFleetResponse",
      "properties": {
        "totalSize": {
          "readOnly": true,
          "format": "int64",
          "description": "Output only. The total number of rows in the entire list.",
          "type": "string"
        },
        "resourceGroupsTotalCount": {
          "format": "int32",
          "description": "Count of all resource groups in the fleet. This includes counts from all pages.",
          "type": "integer"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "rows": {
          "description": "Represents a row grouped by the fields in the input.",
          "type": "array",
          "items": {
            "$ref": "AggregateFleetRow"
          }
        },
        "resourceTotalCount": {
          "format": "int32",
          "description": "Count of all resources in the fleet. This includes counts from all pages.",
          "type": "integer"
        },
        "unreachable": {
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "RecommendationInfo": {
      "id": "RecommendationInfo",
      "properties": {
        "recommender": {
          "description": "Name of recommendation. Examples: organizations/1234/locations/us-central1/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations/9876",
          "type": "string"
        },
        "recommenderId": {
          "description": "ID of recommender. Examples: \"google.cloudsql.instance.PerformanceRecommender\"",
          "type": "string"
        },
        "recommenderSubtype": {
          "description": "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\"",
          "type": "string"
        }
      },
      "description": "Info associated with recommendation.",
      "type": "object"
    },
    "Product": {
      "id": "Product",
      "properties": {
        "type": {
          "enumDescriptions": [
            "PRODUCT_TYPE_UNSPECIFIED means product type is not known or that the user didn't provide this field in the request.",
            "Cloud SQL product area in Google Cloud",
            "AlloyDB product area in Google Cloud",
            "Spanner product area in Google Cloud",
            "Bigtable product area in Google Cloud",
            "Memorystore product area in Google Cloud",
            "Firestore product area in Google Cloud",
            "Compute Engine self managed databases",
            "Oracle product area in Google Cloud",
            "BigQuery product area in Google Cloud",
            "Other refers to rest of other product type. This is to be when product type is known, but it is not present in this enum."
          ],
          "enum": [
            "PRODUCT_TYPE_UNSPECIFIED",
            "PRODUCT_TYPE_CLOUD_SQL",
            "PRODUCT_TYPE_ALLOYDB",
            "PRODUCT_TYPE_SPANNER",
            "PRODUCT_TYPE_BIGTABLE",
            "PRODUCT_TYPE_MEMORYSTORE",
            "PRODUCT_TYPE_FIRESTORE",
            "PRODUCT_TYPE_COMPUTE_ENGINE",
            "PRODUCT_TYPE_ORACLE_ON_GCP",
            "PRODUCT_TYPE_BIGQUERY",
            "PRODUCT_TYPE_OTHER"
          ],
          "description": "Optional. Type of specific database product. It could be CloudSQL, AlloyDB etc..",
          "type": "string"
        },
        "engine": {
          "enum": [
            "ENGINE_UNSPECIFIED",
            "ENGINE_MYSQL",
            "ENGINE_POSTGRES",
            "ENGINE_SQL_SERVER",
            "ENGINE_NATIVE",
            "ENGINE_MEMORYSTORE_FOR_REDIS",
            "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER",
            "ENGINE_MEMORSTORE_FOR_VALKEY",
            "ENGINE_MEMORYSTORE_FOR_VALKEY",
            "ENGINE_FIRESTORE_WITH_NATIVE_MODE",
            "ENGINE_FIRESTORE_WITH_DATASTORE_MODE",
            "ENGINE_EXADATA_ORACLE",
            "ENGINE_ADB_SERVERLESS_ORACLE",
            "ENGINE_FIRESTORE_WITH_MONGODB_COMPATIBILITY_MODE",
            "ENGINE_OTHER"
          ],
          "description": "Optional. The specific engine that the underlying database is running.",
          "type": "string",
          "enumDescriptions": [
            "UNSPECIFIED means engine type is not known or available.",
            "MySQL binary running as an engine in the database instance.",
            "Postgres binary running as engine in database instance.",
            "SQLServer binary running as engine in database instance.",
            "Native database binary running as engine in instance.",
            "Memorystore with Redis dialect.",
            "Memorystore with Redis cluster dialect.",
            "Deprecated: Use ENGINE_MEMORYSTORE_FOR_VALKEY instead.",
            "Memorystore with Valkey dialect.",
            "Firestore with native mode.",
            "Firestore with datastore mode.",
            "Oracle Exadata engine.",
            "Oracle Autonomous DB Serverless engine.",
            "Firestore with MongoDB compatibility.",
            "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum."
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ]
        },
        "version": {
          "description": "Optional. Version of the underlying database engine. Example values: For MySQL, it could be \"8.0\", \"5.7\" etc. For Postgres, it could be \"14\", \"15\" etc.",
          "type": "string"
        },
        "minorVersion": {
          "description": "Optional. 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.",
          "type": "string"
        }
      },
      "description": "Product specification for databasecenter resources.",
      "type": "object"
    },
    "AutomatedBackupPolicyInfo": {
      "id": "AutomatedBackupPolicyInfo",
      "properties": {
        "subResource": {
          "description": "Optional. Sub resource details associated with the signal.",
          "$ref": "SubResource"
        },
        "isEnabled": {
          "description": "Is automated policy enabled.",
          "type": "boolean"
        }
      },
      "description": "Automated backup policy signal info",
      "type": "object"
    },
    "QueryProductsResponse": {
      "id": "QueryProductsResponse",
      "properties": {
        "products": {
          "items": {
            "$ref": "Product"
          },
          "description": "List of database products returned.",
          "type": "array"
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages",
          "type": "string"
        }
      },
      "description": "QueryProductsResponse represents the response containing a list of products.",
      "type": "object"
    },
    "QueryDatabaseResourceGroupsRequest": {
      "description": "QueryDatabaseResourceGroupsRequest is the request to get a list of database groups.",
      "type": "object",
      "id": "QueryDatabaseResourceGroupsRequest",
      "properties": {
        "pageToken": {
          "description": "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.",
          "type": "string"
        },
        "orderBy": {
          "description": "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.",
          "type": "string"
        },
        "signalProductsFilters": {
          "items": {
            "$ref": "SignalProductsFilters"
          },
          "description": "Optional. Filters based on signal and product. The filter list will be ORed across pairs and ANDed within a signal and products pair.",
          "type": "array"
        },
        "signalTypeGroups": {
          "description": "Optional. Groups of signal types that are requested.",
          "type": "array",
          "items": {
            "$ref": "SignalTypeGroup"
          }
        },
        "pageSize": {
          "format": "int32",
          "description": "Optional. If unspecified, at most 50 resource groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
          "type": "integer"
        },
        "signalFilters": {
          "description": "Optional. Filters based on signals. The list will be ORed together and then ANDed with the `filters` field above.",
          "type": "array",
          "items": {
            "$ref": "SignalFilter"
          }
        },
        "filter": {
          "description": "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\"`",
          "type": "string"
        },
        "parent": {
          "description": "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\")",
          "type": "string"
        }
      }
    },
    "SignalTypeGroup": {
      "description": "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] }",
      "type": "object",
      "id": "SignalTypeGroup",
      "properties": {
        "displayName": {
          "description": "Required. The display name of a signal group.",
          "type": "string"
        },
        "signalTypes": {
          "description": "Optional. List of signal types present in the group.",
          "type": "array",
          "items": {
            "enumDescriptions": [
              "Unspecified.",
              "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.",
              "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
              "Represents if a resource has an automated backup policy.",
              "Represents if a resources has a short backup retention period.",
              "Represents if the last backup of a resource failed.",
              "Represents if the last backup of a resource is older than some threshold value.",
              "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
              "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
              "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
              "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
              "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
              "Represents if a resource violates CIS Controls 8.0.",
              "Represents if a resource violates NIST 800-53.",
              "Represents if a resource violates NIST 800-53 R5.",
              "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
              "Represents if a resource violates ISO-27001.",
              "Represents if a resource violates ISO 27001 2022.",
              "Represents if a resource violates PCI-DSS v3.2.1.",
              "Represents if a resource violates PCI-DSS v4.0.",
              "Represents if a resource violates Cloud Controls Matrix v4.0.",
              "Represents if a resource violates HIPAA.",
              "Represents if a resource violates SOC2 v2017.",
              "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
              "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
              "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).",
              "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
              "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
              "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
              "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
              "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
              "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
              "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
              "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
              "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
              "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
              "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
              "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
              "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
              "Represents if a resource is exposed to public access.",
              "Represents if a resources requires all incoming connections to use SSL or not.",
              "Represents if a Cloud SQL database has a password configured for the root account or not.",
              "Represents if a Cloud SQL database has a weak password configured for the root account.",
              "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
              "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
              "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
              "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
              "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
              "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
              "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
              "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
              "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
              "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
              "Represents if public IP is enabled.",
              "Represents idle instance helps to reduce costs.",
              "Represents instances that are unnecessarily large for given workload.",
              "Represents high number of concurrently opened tables.",
              "Represents high table count close to SLA limit.",
              "Represents high number of unvacuumed transactions",
              "Represents need for more CPU and/or memory",
              "Represents out of disk.",
              "Represents server certificate is near expiry.",
              "Represents database auditing is disabled.",
              "Represents not restricted to authorized networks.",
              "Represents violate org policy restrict public ip.",
              "Cluster nearing quota limit",
              "No password policy set on resources",
              "Performance impact of connections settings",
              "Performance impact of temporary tables settings",
              "Performance impact of transaction logs settings",
              "Performance impact of high joins without indexes",
              "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
              "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.",
              "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
              "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
              "Detects if a database instance is using a weak password hash algorithm.",
              "Detects if a database instance has no user password policy set.",
              "Detects if a database instance/cluster has a hot node.",
              "Deletion Protection Disabled for the resource",
              "Detects if a database instance has no point in time recovery enabled.",
              "Detects if a database instance/cluster has suspended resources.",
              "Detects that expensive commands are being run on a database instance impacting overall performance.",
              "Indicates that the instance does not have a maintenance policy configured.",
              "Indicates that the instance has inefficient queries detected.",
              "Indicates that the instance has read intensive workload.",
              "Indicates that the instance is nearing memory limit.",
              "Indicates that the instance's max server memory is configured higher than the recommended value.",
              "Indicates that the database has large rows beyond the recommended limit.",
              "Heavy write pressure on the database rows.",
              "Heavy read pressure on the database rows.",
              "Encryption org policy not satisfied.",
              "Location org policy not satisfied.",
              "Outdated DB minor version.",
              "Schema not optimized.",
              "Replication delay.",
              "Outdated client.",
              "Databoost is disabled.",
              "Recommended maintenance policy.",
              "Resource version is in extended support.",
              "Represents a database version nearing end of life.",
              "Indicates a high risk of maintenance downtime.",
              "Indicates both a low cache hit rate and a risk of maintenance downtime.",
              "Indicates that the resource is missing enhanced protection."
            ],
            "enum": [
              "SIGNAL_TYPE_UNSPECIFIED",
              "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
              "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
              "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
              "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
              "SIGNAL_TYPE_LAST_BACKUP_FAILED",
              "SIGNAL_TYPE_LAST_BACKUP_OLD",
              "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
              "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
              "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
              "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
              "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
              "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
              "SIGNAL_TYPE_VIOLATES_NIST_800_53",
              "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
              "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
              "SIGNAL_TYPE_VIOLATES_ISO_27001",
              "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
              "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
              "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
              "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
              "SIGNAL_TYPE_VIOLATES_HIPAA",
              "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
              "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
              "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
              "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
              "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
              "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
              "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
              "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
              "SIGNAL_TYPE_QUERY_STATS_LOGGED",
              "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
              "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
              "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
              "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
              "SIGNAL_TYPE_LOGGING_QUERY_STATS",
              "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
              "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
              "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
              "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
              "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
              "SIGNAL_TYPE_NO_ROOT_PASSWORD",
              "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
              "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
              "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
              "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
              "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
              "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
              "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
              "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
              "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
              "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
              "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
              "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
              "SIGNAL_TYPE_IDLE",
              "SIGNAL_TYPE_OVERPROVISIONED",
              "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
              "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
              "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
              "SIGNAL_TYPE_UNDERPROVISIONED",
              "SIGNAL_TYPE_OUT_OF_DISK",
              "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
              "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
              "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
              "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
              "SIGNAL_TYPE_QUOTA_LIMIT",
              "SIGNAL_TYPE_NO_PASSWORD_POLICY",
              "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
              "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
              "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
              "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
              "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
              "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
              "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
              "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
              "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
              "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
              "SIGNAL_TYPE_HOT_NODE",
              "SIGNAL_TYPE_NO_DELETION_PROTECTION",
              "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
              "SIGNAL_TYPE_RESOURCE_SUSPENDED",
              "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
              "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
              "SIGNAL_TYPE_INEFFICIENT_QUERY",
              "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
              "SIGNAL_TYPE_MEMORY_LIMIT",
              "SIGNAL_TYPE_MAX_SERVER_MEMORY",
              "SIGNAL_TYPE_LARGE_ROWS",
              "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
              "SIGNAL_TYPE_HIGH_READ_PRESSURE",
              "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
              "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
              "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
              "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
              "SIGNAL_TYPE_REPLICATION_LAG",
              "SIGNAL_TYPE_OUTDATED_CLIENT",
              "SIGNAL_TYPE_DATABOOST_DISABLED",
              "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
              "SIGNAL_TYPE_EXTENDED_SUPPORT",
              "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
              "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
              "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
              "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
            ],
            "type": "string"
          }
        }
      }
    },
    "DatabaseResourceGroup": {
      "description": "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.",
      "type": "object",
      "id": "DatabaseResourceGroup",
      "properties": {
        "rootResources": {
          "items": {
            "$ref": "DatabaseResource"
          },
          "description": "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.",
          "type": "array"
        },
        "signalGroups": {
          "description": "The filtered signal groups and the count of issues associated with the resources that have been filtered in.",
          "type": "array",
          "items": {
            "$ref": "IssueCount"
          }
        }
      }
    },
    "Signal": {
      "description": "Represents a signal.",
      "type": "object",
      "id": "Signal",
      "properties": {
        "signalStatus": {
          "enumDescriptions": [
            "Unspecified.",
            "Signal is not applicable to the resource.",
            "Signal is not an issue.",
            "Signal is an issue.",
            "Signal is not enabled for the resource."
          ],
          "enum": [
            "SIGNAL_STATUS_UNSPECIFIED",
            "SIGNAL_STATUS_NOT_APPLICABLE",
            "SIGNAL_STATUS_OK",
            "SIGNAL_STATUS_ISSUE",
            "SIGNAL_STATUS_NOT_ENABLED"
          ],
          "description": "Status of the signal.",
          "type": "string"
        },
        "signalType": {
          "enumDescriptions": [
            "Unspecified.",
            "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.",
            "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.",
            "Represents if a resource has an automated backup policy.",
            "Represents if a resources has a short backup retention period.",
            "Represents if the last backup of a resource failed.",
            "Represents if the last backup of a resource is older than some threshold value.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 2.0.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.3.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.2.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.1.",
            "Represents if a resource violates CIS Google Cloud Platform Foundation 1.0.",
            "Represents if a resource violates CIS Controls 8.0.",
            "Represents if a resource violates NIST 800-53.",
            "Represents if a resource violates NIST 800-53 R5.",
            "Represents if a resource violates NIST Cybersecurity Framework 1.0.",
            "Represents if a resource violates ISO-27001.",
            "Represents if a resource violates ISO 27001 2022.",
            "Represents if a resource violates PCI-DSS v3.2.1.",
            "Represents if a resource violates PCI-DSS v4.0.",
            "Represents if a resource violates Cloud Controls Matrix v4.0.",
            "Represents if a resource violates HIPAA.",
            "Represents if a resource violates SOC2 v2017.",
            "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "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).",
            "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.",
            "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.",
            "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.",
            "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.",
            "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).",
            "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.",
            "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)",
            "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.",
            "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.",
            "Represents if a resource is exposed to public access.",
            "Represents if a resources requires all incoming connections to use SSL or not.",
            "Represents if a Cloud SQL database has a password configured for the root account or not.",
            "Represents if a Cloud SQL database has a weak password configured for the root account.",
            "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).",
            "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.",
            "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.",
            "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.",
            "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.",
            "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.",
            "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.",
            "Represents if public IP is enabled.",
            "Represents idle instance helps to reduce costs.",
            "Represents instances that are unnecessarily large for given workload.",
            "Represents high number of concurrently opened tables.",
            "Represents high table count close to SLA limit.",
            "Represents high number of unvacuumed transactions",
            "Represents need for more CPU and/or memory",
            "Represents out of disk.",
            "Represents server certificate is near expiry.",
            "Represents database auditing is disabled.",
            "Represents not restricted to authorized networks.",
            "Represents violate org policy restrict public ip.",
            "Cluster nearing quota limit",
            "No password policy set on resources",
            "Performance impact of connections settings",
            "Performance impact of temporary tables settings",
            "Performance impact of transaction logs settings",
            "Performance impact of high joins without indexes",
            "Detects events where a database superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.",
            "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.",
            "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.",
            "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.",
            "Detects if a database instance is using a weak password hash algorithm.",
            "Detects if a database instance has no user password policy set.",
            "Detects if a database instance/cluster has a hot node.",
            "Deletion Protection Disabled for the resource",
            "Detects if a database instance has no point in time recovery enabled.",
            "Detects if a database instance/cluster has suspended resources.",
            "Detects that expensive commands are being run on a database instance impacting overall performance.",
            "Indicates that the instance does not have a maintenance policy configured.",
            "Indicates that the instance has inefficient queries detected.",
            "Indicates that the instance has read intensive workload.",
            "Indicates that the instance is nearing memory limit.",
            "Indicates that the instance's max server memory is configured higher than the recommended value.",
            "Indicates that the database has large rows beyond the recommended limit.",
            "Heavy write pressure on the database rows.",
            "Heavy read pressure on the database rows.",
            "Encryption org policy not satisfied.",
            "Location org policy not satisfied.",
            "Outdated DB minor version.",
            "Schema not optimized.",
            "Replication delay.",
            "Outdated client.",
            "Databoost is disabled.",
            "Recommended maintenance policy.",
            "Resource version is in extended support.",
            "Represents a database version nearing end of life.",
            "Indicates a high risk of maintenance downtime.",
            "Indicates both a low cache hit rate and a risk of maintenance downtime.",
            "Indicates that the resource is missing enhanced protection."
          ],
          "enum": [
            "SIGNAL_TYPE_UNSPECIFIED",
            "SIGNAL_TYPE_RESOURCE_FAILOVER_PROTECTED",
            "SIGNAL_TYPE_GROUP_MULTIREGIONAL",
            "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY",
            "SIGNAL_TYPE_SHORT_BACKUP_RETENTION",
            "SIGNAL_TYPE_LAST_BACKUP_FAILED",
            "SIGNAL_TYPE_LAST_BACKUP_OLD",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1",
            "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0",
            "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53",
            "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5",
            "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0",
            "SIGNAL_TYPE_VIOLATES_ISO_27001",
            "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1",
            "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0",
            "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4",
            "SIGNAL_TYPE_VIOLATES_HIPAA",
            "SIGNAL_TYPE_VIOLATES_SOC2_V2017",
            "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING",
            "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED",
            "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_MOST_ERRORS",
            "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS",
            "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING",
            "SIGNAL_TYPE_QUERY_STATS_LOGGED",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATS",
            "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS",
            "SIGNAL_TYPE_LOGGING_QUERY_STATS",
            "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES",
            "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED",
            "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED",
            "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS",
            "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS",
            "SIGNAL_TYPE_NO_ROOT_PASSWORD",
            "SIGNAL_TYPE_WEAK_ROOT_PASSWORD",
            "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED",
            "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED",
            "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS",
            "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS",
            "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED",
            "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED",
            "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO",
            "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS",
            "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED",
            "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED",
            "SIGNAL_TYPE_PUBLIC_IP_ENABLED",
            "SIGNAL_TYPE_IDLE",
            "SIGNAL_TYPE_OVERPROVISIONED",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES",
            "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES",
            "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION",
            "SIGNAL_TYPE_UNDERPROVISIONED",
            "SIGNAL_TYPE_OUT_OF_DISK",
            "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY",
            "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED",
            "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS",
            "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP",
            "SIGNAL_TYPE_QUOTA_LIMIT",
            "SIGNAL_TYPE_NO_PASSWORD_POLICY",
            "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT",
            "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES",
            "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES",
            "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS",
            "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET",
            "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM",
            "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY",
            "SIGNAL_TYPE_HOT_NODE",
            "SIGNAL_TYPE_NO_DELETION_PROTECTION",
            "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY",
            "SIGNAL_TYPE_RESOURCE_SUSPENDED",
            "SIGNAL_TYPE_EXPENSIVE_COMMANDS",
            "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED",
            "SIGNAL_TYPE_INEFFICIENT_QUERY",
            "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD",
            "SIGNAL_TYPE_MEMORY_LIMIT",
            "SIGNAL_TYPE_MAX_SERVER_MEMORY",
            "SIGNAL_TYPE_LARGE_ROWS",
            "SIGNAL_TYPE_HIGH_WRITE_PRESSURE",
            "SIGNAL_TYPE_HIGH_READ_PRESSURE",
            "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED",
            "SIGNAL_TYPE_OUTDATED_MINOR_VERSION",
            "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED",
            "SIGNAL_TYPE_REPLICATION_LAG",
            "SIGNAL_TYPE_OUTDATED_CLIENT",
            "SIGNAL_TYPE_DATABOOST_DISABLED",
            "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
            "SIGNAL_TYPE_EXTENDED_SUPPORT",
            "SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
            "SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
            "SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME",
            "SIGNAL_TYPE_MISSING_ENHANCED_PROTECTION"
          ],
          "description": "Type of the signal.",
          "type": "string"
        },
        "issueCreateTime": {
          "description": "Timestamp when the issue was created (when signal status is ISSUE).",
          "type": "string",
          "format": "google-datetime"
        },
        "additionalDetails": {
          "items": {
            "$ref": "AdditionalDetail"
          },
          "description": "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.",
          "type": "array"
        },
        "issueSeverity": {
          "enum": [
            "ISSUE_SEVERITY_UNSPECIFIED",
            "ISSUE_SEVERITY_LOW",
            "ISSUE_SEVERITY_MEDIUM",
            "ISSUE_SEVERITY_HIGH",
            "ISSUE_SEVERITY_CRITICAL",
            "ISSUE_SEVERITY_IRRELEVANT"
          ],
          "description": "Severity of the issue.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "Low severity.",
            "Medium severity.",
            "High severity.",
            "Critical severity.",
            "Irrelevant severity. This means the issue should not be surfaced at all."
          ]
        }
      }
    },
    "DeletionProtectionInfo": {
      "id": "DeletionProtectionInfo",
      "properties": {
        "subResource": {
          "description": "Optional. Sub resource details associated with the signal.",
          "$ref": "SubResource"
        },
        "deletionProtectionEnabled": {
          "description": "Is deletion protection enabled.",
          "type": "boolean"
        }
      },
      "description": "Deletion protection signal info for a database resource.",
      "type": "object"
    },
    "SignalGroup": {
      "id": "SignalGroup",
      "properties": {
        "issueCount": {
          "format": "int32",
          "description": "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.",
          "type": "integer"
        },
        "signals": {
          "description": "List of signals present in the group and associated with the resource. Only applies to a DatabaseResource.",
          "type": "array",
          "items": {
            "$ref": "Signal"
          }
        },
        "displayName": {
          "description": "Title of a signal group corresponding to the request.",
          "type": "string"
        }
      },
      "description": "A group of signals and their counts.",
      "type": "object"
    },
    "Lineage": {
      "description": "lineage information of the affiliated resources This captures source, target and process which created the lineage.",
      "type": "object",
      "id": "Lineage",
      "properties": {
        "processType": {
          "enumDescriptions": [
            "Unspecified process type.",
            "Composer process type.",
            "Datastream process type.",
            "Dataflow process type.",
            "Bigquery process type.",
            "Data fusion process type.",
            "Dataproc process type."
          ],
          "description": "Optional. Type of process which created the lineage.",
          "type": "string",
          "enum": [
            "PROCESS_TYPE_UNSPECIFIED",
            "COMPOSER",
            "DATASTREAM",
            "DATAFLOW",
            "BIGQUERY",
            "DATA_FUSION",
            "DATAPROC"
          ]
        },
        "targetFqn": {
          "description": "Optional. FQN of target table / column",
          "type": "string"
        },
        "processFqn": {
          "description": "Optional. FQN of process which created the lineage i.e. dataplex, datastream etc.",
          "type": "string"
        },
        "sourceFqn": {
          "description": "Optional. FQN of source table / column",
          "type": "string"
        }
      }
    },
    "MaintenanceInfo": {
      "description": "MaintenanceInfo to capture the maintenance details of database resource.",
      "type": "object",
      "id": "MaintenanceInfo",
      "properties": {
        "currentVersionReleaseDate": {
          "readOnly": true,
          "$ref": "Date",
          "description": "Output only. The date when the maintenance version was released."
        },
        "maintenanceVersion": {
          "readOnly": true,
          "description": "Output only. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"",
          "type": "string"
        },
        "upcomingMaintenance": {
          "description": "Output only. Upcoming maintenance window for the database resource. This is only populated for an engine, if upcoming maintenance is scheduled for the resource. This schedule is generated per engine and engine version, and there is only one upcoming maintenance window at any given time. In case of upcoming maintenance, the maintenance_state will be set to SCHEDULED first, and then IN_PROGRESS when the maintenance window starts.",
          "readOnly": true,
          "$ref": "UpcomingMaintenance"
        },
        "previousMaintenanceVersion": {
          "description": "Output only. Previous maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\". This is available once a minor version maintenance is complete on a database resource.",
          "type": "string",
          "readOnly": true
        },
        "maintenanceSchedule": {
          "description": "Optional. Maintenance window for the database resource.",
          "$ref": "ResourceMaintenanceSchedule"
        },
        "state": {
          "description": "Output only. Resource maintenance state. This is to capture the current state of the maintenance.",
          "type": "string",
          "enum": [
            "MAINTENANCE_STATE_UNSPECIFIED",
            "MAINTENANCE_STATE_SCHEDULED",
            "MAINTENANCE_STATE_IN_PROGRESS",
            "MAINTENANCE_STATE_COMPLETED",
            "MAINTENANCE_STATE_FAILED"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "Status is unspecified.",
            "Maintenance is scheduled.",
            "Maintenance is in progress.",
            "Maintenance is completed.",
            "Maintenance has failed."
          ]
        },
        "denyMaintenanceSchedules": {
          "description": "Optional. List of Deny maintenance period for the database resource.",
          "type": "array",
          "items": {
            "$ref": "ResourceMaintenanceDenySchedule"
          }
        },
        "possibleFailureReasons": {
          "readOnly": true,
          "items": {
            "enumDescriptions": [
              "Failure reason is unspecified.",
              "Maintenance may not be completed because there is a deny policy overlapping with upcoming maintenance schedule.",
              "Maintenance may not be completed because the instance is stopped."
            ],
            "type": "string",
            "enum": [
              "POSSIBLE_FAILURE_REASON_UNSPECIFIED",
              "POSSIBLE_FAILURE_REASON_DENY_POLICY_CONFLICT",
              "POSSIBLE_FAILURE_REASON_INSTANCE_IN_STOPPED_STATE"
            ]
          },
          "description": "Output only. List of possible reasons why the maintenance is not completed. This is an optional field and is only populated if there are any reasons for failures recorded for the maintenance by DB Center. FAILURE maintenance status may not always have a failure reason.",
          "type": "array"
        }
      }
    },
    "Dimension": {
      "description": "Dimension used to aggregate the fleet.",
      "type": "object",
      "id": "Dimension",
      "properties": {
        "tagValue": {
          "description": "Tag value of the resource.",
          "type": "string"
        },
        "labelValue": {
          "description": "Label value of the resource.",
          "type": "string"
        },
        "tagSource": {
          "description": "Tag source of the resource.",
          "type": "string"
        },
        "labelSource": {
          "description": "Label source of the resource.",
          "type": "string"
        },
        "edition": {
          "enum": [
            "EDITION_UNSPECIFIED",
            "EDITION_ENTERPRISE",
            "EDITION_ENTERPRISE_PLUS",
            "EDITION_STANDARD"
          ],
          "description": "The edition of the resource.",
          "type": "string",
          "enumDescriptions": [
            "Default, to make it consistent with instance edition enum.",
            "Represents the enterprise edition.",
            "Represents the enterprise plus edition.",
            "Represents the standard edition."
          ]
        },
        "managementType": {
          "enumDescriptions": [
            "Unspecified.",
            "Google-managed resource.",
            "Self-managed resource."
          ],
          "enum": [
            "MANAGEMENT_TYPE_UNSPECIFIED",
            "MANAGEMENT_TYPE_GCP_MANAGED",
            "MANAGEMENT_TYPE_SELF_MANAGED"
          ],
          "description": "The management type of the resource.",
          "type": "string"
        },
        "resourceCategory": {
          "description": "The category of the resource.",
          "type": "string",
          "enum": [
            "RESOURCE_CATEGORY_UNSPECIFIED",
            "INSTANCE",
            "CLUSTER",
            "DATABASE",
            "DATASET",
            "RESERVATION"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "A resource that is an Instance.",
            "A resource that is a Cluster.",
            "A resource that is a Database.",
            "A resource that is a Dataset.",
            "A resource that is a Reservation."
          ]
        },
        "hasMaintenanceSchedule": {
          "description": "Whether the resource has a maintenance schedule.",
          "type": "boolean"
        },
        "productVersion": {
          "description": "Version of the underlying database engine",
          "type": "string"
        },
        "hasDenyMaintenanceSchedules": {
          "description": "Whether the resource has deny maintenance schedules.",
          "type": "boolean"
        },
        "productEngine": {
          "description": "Engine refers to underlying database binary running in an instance.",
          "type": "string",
          "enum": [
            "ENGINE_UNSPECIFIED",
            "ENGINE_MYSQL",
            "ENGINE_POSTGRES",
            "ENGINE_SQL_SERVER",
            "ENGINE_NATIVE",
            "ENGINE_MEMORYSTORE_FOR_REDIS",
            "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER",
            "ENGINE_MEMORSTORE_FOR_VALKEY",
            "ENGINE_MEMORYSTORE_FOR_VALKEY",
            "ENGINE_FIRESTORE_WITH_NATIVE_MODE",
            "ENGINE_FIRESTORE_WITH_DATASTORE_MODE",
            "ENGINE_EXADATA_ORACLE",
            "ENGINE_ADB_SERVERLESS_ORACLE",
            "ENGINE_FIRESTORE_WITH_MONGODB_COMPATIBILITY_MODE",
            "ENGINE_OTHER"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enumDescriptions": [
            "UNSPECIFIED means engine type is not known or available.",
            "MySQL binary running as an engine in the database instance.",
            "Postgres binary running as engine in database instance.",
            "SQLServer binary running as engine in database instance.",
            "Native database binary running as engine in instance.",
            "Memorystore with Redis dialect.",
            "Memorystore with Redis cluster dialect.",
            "Deprecated: Use ENGINE_MEMORYSTORE_FOR_VALKEY instead.",
            "Memorystore with Valkey dialect.",
            "Firestore with native mode.",
            "Firestore with datastore mode.",
            "Oracle Exadata engine.",
            "Oracle Autonomous DB Serverless engine.",
            "Firestore with MongoDB compatibility.",
            "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum."
          ]
        },
        "tagKey": {
          "description": "Tag key of the resource.",
          "type": "string"
        },
        "tagInherited": {
          "description": "Tag inheritance value of the resource.",
          "type": "boolean"
        },
        "container": {
          "description": "Specifies where the resource is created. For Google Cloud resources, it is the full name of the project.",
          "type": "string"
        },
        "subResourceType": {
          "enumDescriptions": [
            "Unspecified.",
            "A resource acting as a primary.",
            "A resource acting as a secondary.",
            "A resource acting as a read-replica.",
            "A resource acting as an external primary.",
            "A resource acting as a read pool.",
            "Represents a reservation resource.",
            "Represents a dataset resource.",
            "For the rest of the categories."
          ],
          "enum": [
            "SUB_RESOURCE_TYPE_UNSPECIFIED",
            "SUB_RESOURCE_TYPE_PRIMARY",
            "SUB_RESOURCE_TYPE_SECONDARY",
            "SUB_RESOURCE_TYPE_READ_REPLICA",
            "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY",
            "SUB_RESOURCE_TYPE_READ_POOL",
            "SUB_RESOURCE_TYPE_RESERVATION",
            "SUB_RESOURCE_TYPE_DATASET",
            "SUB_RESOURCE_TYPE_OTHER"
          ],
          "description": "Subtype of the resource specified at creation time.",
          "type": "string"
        },
        "resourceType": {
          "description": "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",
          "type": "string"
        },
        "labelKey": {
          "description": "Label key of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resources. It supports returning only regional locations in Google Cloud.",
          "type": "string"
        },
        "productType": {
          "enumDescriptions": [
            "PRODUCT_TYPE_UNSPECIFIED means product type is not known or that the user didn't provide this field in the request.",
            "Cloud SQL product area in Google Cloud",
            "AlloyDB product area in Google Cloud",
            "Spanner product area in Google Cloud",
            "Bigtable product area in Google Cloud",
            "Memorystore product area in Google Cloud",
            "Firestore product area in Google Cloud",
            "Compute Engine self managed databases",
            "Oracle product area in Google Cloud",
            "BigQuery product area in Google Cloud",
            "Other refers to rest of other product type. This is to be when product type is known, but it is not present in this enum."
          ],
          "enum": [
            "PRODUCT_TYPE_UNSPECIFIED",
            "PRODUCT_TYPE_CLOUD_SQL",
            "PRODUCT_TYPE_ALLOYDB",
            "PRODUCT_TYPE_SPANNER",
            "PRODUCT_TYPE_BIGTABLE",
            "PRODUCT_TYPE_MEMORYSTORE",
            "PRODUCT_TYPE_FIRESTORE",
            "PRODUCT_TYPE_COMPUTE_ENGINE",
            "PRODUCT_TYPE_ORACLE_ON_GCP",
            "PRODUCT_TYPE_BIGQUERY",
            "PRODUCT_TYPE_OTHER"
          ],
          "description": "Type to identify a product",
          "type": "string"
        }
      }
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "type": "object",
      "id": "Date",
      "properties": {
        "month": {
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "type": "integer",
          "format": "int32"
        },
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer",
          "format": "int32"
        },
        "day": {
          "format": "int32",
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "type": "integer"
        }
      }
    },
    "AggregateFleetRow": {
      "description": "Individual row grouped by a particular dimension.",
      "type": "object",
      "id": "AggregateFleetRow",
      "properties": {
        "resourceGroupsCount": {
          "format": "int32",
          "description": "Number of resource groups that have a particular dimension.",
          "type": "integer"
        },
        "resourcesCount": {
          "format": "int32",
          "description": "Number of resources that have a particular dimension.",
          "type": "integer"
        },
        "deltaDetails": {
          "description": "Optional. Delta counts and details of resources which were added to/deleted from fleet.",
          "$ref": "DeltaDetails"
        },
        "dimension": {
          "items": {
            "$ref": "Dimension"
          },
          "description": "Group by dimension.",
          "type": "array"
        }
      }
    },
    "Label": {
      "id": "Label",
      "properties": {
        "source": {
          "description": "The source of the Label. Source is empty if the label is directly attached to the resource and not inherited.",
          "type": "string"
        },
        "key": {
          "description": "The key part of the label.",
          "type": "string"
        },
        "value": {
          "description": "The value part of the label.",
          "type": "string"
        }
      },
      "description": "Label is a key value pair applied to a resource.",
      "type": "object"
    },
    "Metrics": {
      "description": "Metrics represents the metrics for a database resource.",
      "type": "object",
      "id": "Metrics",
      "properties": {
        "peakMemoryUtilization": {
          "description": "Peak memory utilization observed for the resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).",
          "$ref": "MetricData"
        },
        "currentStorageUsedBytes": {
          "description": "Current storage used by the resource in bytes.",
          "$ref": "MetricData"
        },
        "currentMemoryUsedBytes": {
          "description": "Current memory used by the resource in bytes.",
          "$ref": "MetricData"
        },
        "p95CpuUtilization": {
          "description": "P95 CPU utilization observed for the resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).",
          "$ref": "MetricData"
        },
        "p99CpuUtilization": {
          "description": "P99 CPU utilization observed for the resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).",
          "$ref": "MetricData"
        },
        "peakNumberConnections": {
          "description": "Peak number of connections observed for the resource. The value is a positive integer.",
          "$ref": "MetricData"
        },
        "processingUnitCount": {
          "description": "Number of processing units in spanner.",
          "$ref": "MetricData"
        },
        "peakStorageUtilization": {
          "description": "Peak storage utilization observed for the resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).",
          "$ref": "MetricData"
        },
        "nodeCount": {
          "description": "Number of nodes in instance for spanner or bigtable.",
          "$ref": "MetricData"
        }
      }
    },
    "ResourceMaintenanceDenySchedule": {
      "id": "ResourceMaintenanceDenySchedule",
      "properties": {
        "startDate": {
          "description": "Optional. The start date of the deny maintenance period.",
          "$ref": "Date"
        },
        "endDate": {
          "description": "Optional. Deny period end date.",
          "$ref": "Date"
        },
        "time": {
          "description": "Optional. Time in UTC when the deny period starts on start_date and ends on end_date.",
          "$ref": "TimeOfDay"
        }
      },
      "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.",
      "type": "object"
    },
    "MaintenanceRecommendationInfo": {
      "description": "Info associated with maintenance recommendation.",
      "type": "object",
      "id": "MaintenanceRecommendationInfo",
      "properties": {
        "resourceMaintenanceSchedules": {
          "items": {
            "$ref": "ResourceMaintenanceSchedule"
          },
          "description": "Optional. List of recommended maintenance schedules for the database resource.",
          "type": "array"
        }
      }
    },
    "RetentionSettingsInfo": {
      "description": "Metadata about backup retention settings for a database resource.",
      "type": "object",
      "id": "RetentionSettingsInfo",
      "properties": {
        "subResource": {
          "description": "Optional. Sub resource details associated with the backup configuration.",
          "$ref": "SubResource"
        },
        "quantityBasedRetention": {
          "format": "int32",
          "description": "Number of backups that will be retained.",
          "type": "integer"
        },
        "durationBasedRetention": {
          "description": "Duration based retention period i.e. 172800 seconds (2 days)",
          "type": "string",
          "format": "google-duration"
        },
        "timestampBasedRetentionTime": {
          "description": "Timestamp based retention period i.e. till 2024-05-01T00:00:00Z",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "InefficientQueryInfo": {
      "description": "Metadata about inefficient query signal info for a database resource.",
      "type": "object",
      "id": "InefficientQueryInfo",
      "properties": {
        "table": {
          "description": "Name of the table where index is required",
          "type": "string"
        },
        "impactedQueriesCount": {
          "format": "int64",
          "description": "Count of queries to be impacted if index is applied",
          "type": "string"
        },
        "database": {
          "description": "Name of the database where index is required. For example, \"db1\", which is the name of the database present in the instance.",
          "type": "string"
        },
        "sqlIndexStatement": {
          "description": "SQL statement of the index. Based on the ddl type, this will be either CREATE INDEX or DROP INDEX.",
          "type": "string"
        },
        "storageCostBytes": {
          "format": "int64",
          "description": "Cost of additional disk usage in bytes",
          "type": "string"
        }
      }
    },
    "QueryIssuesResponse": {
      "description": "QueryIssuesResponse is the response containing a list of issues.",
      "type": "object",
      "id": "QueryIssuesResponse",
      "properties": {
        "unreachable": {
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "resourceIssues": {
          "items": {
            "$ref": "DatabaseResourceIssue"
          },
          "description": "List of issues and resource details.",
          "type": "array"
        }
      }
    },
    "UpcomingMaintenance": {
      "id": "UpcomingMaintenance",
      "properties": {
        "endTime": {
          "readOnly": true,
          "description": "Output only. End time of the upcoming maintenance. This is only populated for an engine, if end time is public for the engine.",
          "type": "string",
          "format": "google-datetime"
        },
        "startTime": {
          "description": "Output only. Start time of the upcoming maintenance. Start time is always populated when an upcoming maintenance is scheduled.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        }
      },
      "description": "Upcoming maintenance window for the database resource.",
      "type": "object"
    },
    "QueryDatabaseResourceGroupsResponse": {
      "description": "QueryDatabaseResourceGroupsResponse represents the response message containing a list of resource groups.",
      "type": "object",
      "id": "QueryDatabaseResourceGroupsResponse",
      "properties": {
        "unreachable": {
          "description": "Unordered list. List of unreachable regions from where data could not be retrieved.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "totalSize": {
          "readOnly": true,
          "format": "int64",
          "description": "Output only. The total number of resource groups in the entire list.",
          "type": "string"
        },
        "resourceGroups": {
          "description": "List of database resource groups that pass the filter.",
          "type": "array",
          "items": {
            "$ref": "DatabaseResourceGroup"
          }
        }
      }
    }
  }
}
