DatabaseResource

DatabaseResource represents every individually configured database unit representing compute and/or storage.

JSON representation
{
  "childResources": [
    {
      object (DatabaseResource)
    }
  ],
  "fullResourceName": string,
  "container": string,
  "product": {
    object (Product)
  },
  "location": string,
  "labels": [
    {
      object (Label)
    }
  ],
  "tags": [
    {
      object (Tag)
    }
  ],
  "resourceType": string,
  "subResourceType": enum (SubResourceType),
  "machineConfig": {
    object (MachineConfig)
  },
  "signalGroups": [
    {
      object (SignalGroup)
    }
  ],
  "metrics": {
    object (Metrics)
  },
  "resourceCategory": enum (ResourceCategory),
  "resourceName": string,
  "backupdrConfig": {
    object (BackupDRConfig)
  },
  "edition": enum (Edition),
  "maintenanceInfo": {
    object (MaintenanceInfo)
  }
}
Fields
childResources[]

object (DatabaseResource)

List of children associated with a database group.

fullResourceName

string

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

container

string

Specifies where the resource is created. For Google Cloud resources, it is the full name of the project.

product

object (Product)

The product this resource represents.

location

string

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.

labels[]

object (Label)

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

tags[]

object (Tag)

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

resourceType

string

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

subResourceType

enum (SubResourceType)

Subtype of the resource specified at creation time.

machineConfig

object (MachineConfig)

Machine configuration like CPU, memory, etc for the resource.

signalGroups[]

object (SignalGroup)

The list of signal groups and count of issues related to the resource. Only those signals which have been requested would be included.

metrics

object (Metrics)

Observable metrics for the resource e.g. CPU utilization, memory utilization, etc.

resourceCategory

enum (ResourceCategory)

The category of the resource.

resourceName

string

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.

backupdrConfig

object (BackupDRConfig)

Optional. Backup and disaster recovery details for the resource.

edition

enum (Edition)

The edition of the resource.

maintenanceInfo

object (MaintenanceInfo)

Optional. The maintenance information of the resource.

Label

Label is a key value pair applied to a resource.

JSON representation
{
  "key": string,
  "value": string,
  "source": string
}
Fields
key

string

The key part of the label.

value

string

The value part of the label.

source

string

The source of the Label. Source is empty if the label is directly attached to the resource and not inherited.

Tag

Tag is a key value pair attached to a resource.

JSON representation
{
  "key": string,
  "value": string,
  "source": string,
  "inherited": boolean
}
Fields
key

string

value

string

The value part of the tag.

source

string

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}"

inherited

boolean

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.

MachineConfig

MachineConfig describes the configuration of a machine specific to a Database Resource.

JSON representation
{
  "memorySizeBytes": string,
  "shardCount": integer,
  "vcpuCount": number
}
Fields
memorySizeBytes

string (int64 format)

Memory size in bytes.

shardCount

integer

Optional. The number of Shards (if applicable).

vcpuCount

number

Optional. The number of vCPUs (if applicable).

SignalGroup

A group of signals and their counts.

JSON representation
{
  "displayName": string,
  "issueCount": integer,
  "signals": [
    {
      object (Signal)
    }
  ]
}
Fields
displayName

string

Title of a signal group corresponding to the request.

issueCount

integer

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.

signals[]

object (Signal)

List of signals present in the group and associated with the resource.

Only applies to a DatabaseResource.

Metrics

Metrics represents the metrics for a database resource.

JSON representation
{
  "p99CpuUtilization": {
    object (MetricData)
  },
  "p95CpuUtilization": {
    object (MetricData)
  },
  "currentStorageUsedBytes": {
    object (MetricData)
  },
  "peakStorageUtilization": {
    object (MetricData)
  },
  "peakMemoryUtilization": {
    object (MetricData)
  },
  "peakNumberConnections": {
    object (MetricData)
  },
  "nodeCount": {
    object (MetricData)
  },
  "processingUnitCount": {
    object (MetricData)
  },
  "currentMemoryUsedBytes": {
    object (MetricData)
  }
}
Fields
p99CpuUtilization

object (MetricData)

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).

p95CpuUtilization

object (MetricData)

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).

currentStorageUsedBytes

object (MetricData)

Current storage used by the resource in bytes.

peakStorageUtilization

object (MetricData)

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).

peakMemoryUtilization

object (MetricData)

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).

peakNumberConnections

object (MetricData)

Peak number of connections observed for the resource. The value is a positive integer.

nodeCount

object (MetricData)

Number of nodes in instance for spanner or bigtable.

processingUnitCount

object (MetricData)

Number of processing units in spanner.

currentMemoryUsedBytes

object (MetricData)

Current memory used by the resource in bytes.

MetricData

MetricData represents the metric data for a database resource.

JSON representation
{
  "value": {
    object (TypedValue)
  },
  "observationTime": string
}
Fields
value

object (TypedValue)

The value associated with the metric.

observationTime

string (Timestamp format)

The time the metric was observed in the metric source service.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

TypedValue

TypedValue represents the value of the metric based on data type.

JSON representation
{

  // Union field value can be only one of the following:
  "doubleValue": number,
  "int64Value": string
  // End of list of possible types for union field value.
}
Fields
Union field value. The data type of metric value would be chosen based on the metric type. value can be only one of the following:
doubleValue

number

The value of the metric as double.

int64Value

string (int64 format)

The value of the metric as int.

BackupDRConfig

BackupDRConfig to capture the backup and disaster recovery details of database resource.

JSON representation
{
  "backupdrManaged": boolean
}
Fields
backupdrManaged

boolean

Indicates if the resource is managed by BackupDR.

MaintenanceInfo

MaintenanceInfo to capture the maintenance details of database resource.

JSON representation
{
  "maintenanceSchedule": {
    object (ResourceMaintenanceSchedule)
  },
  "denyMaintenanceSchedules": [
    {
      object (ResourceMaintenanceDenySchedule)
    }
  ],
  "maintenanceVersion": string
}
Fields
maintenanceSchedule

object (ResourceMaintenanceSchedule)

Optional. Maintenance window for the database resource.

denyMaintenanceSchedules[]

object (ResourceMaintenanceDenySchedule)

Optional. List of Deny maintenance period for the database resource.

maintenanceVersion

string

Output only. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15"

ResourceMaintenanceDenySchedule

Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.

JSON representation
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  },
  "time": {
    object (TimeOfDay)
  }
}
Fields
startDate

object (Date)

Optional. The start date of the deny maintenance period.

endDate

object (Date)

Optional. Deny period end date.

time

object (TimeOfDay)

Optional. Time in UTC when the deny period starts on startDate and ends on endDate.