From 022c85c3d443e58228ea3eb51ee621f2a20d3a45 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 2 Mar 2024 00:22:15 -0800 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#2447) --- alloydb/v1/alloydb-api.json | 29 +- alloydb/v1/alloydb-gen.go | 19 +- alloydb/v1alpha/alloydb-api.json | 33 +- alloydb/v1alpha/alloydb-gen.go | 25 +- cloudtasks/v2/cloudtasks-api.json | 6 +- cloudtasks/v2/cloudtasks-gen.go | 12 +- cloudtasks/v2beta2/cloudtasks-api.json | 6 +- cloudtasks/v2beta2/cloudtasks-gen.go | 12 +- cloudtasks/v2beta3/cloudtasks-api.json | 6 +- cloudtasks/v2beta3/cloudtasks-gen.go | 12 +- redis/v1beta1/redis-api.json | 1129 +++++++++++++++++++++- redis/v1beta1/redis-gen.go | 1196 ++++++++++++++++++++++++ 12 files changed, 2450 insertions(+), 35 deletions(-) diff --git a/alloydb/v1/alloydb-api.json b/alloydb/v1/alloydb-api.json index 0640538328a..db7aba08acc 100644 --- a/alloydb/v1/alloydb-api.json +++ b/alloydb/v1/alloydb-api.json @@ -1489,7 +1489,7 @@ } } }, - "revision": "20240216", + "revision": "20240223", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AutomatedBackupPolicy": { @@ -1885,7 +1885,7 @@ }, "network": { "deprecated": true, - "description": "Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: \"projects/{project}/global/networks/{network_id}\". This is required to create a cluster. Deprecated, use network_config.network instead.", + "description": "Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project}/global/networks/{network_id}`. This is required to create a cluster. Deprecated, use network_config.network instead.", "type": "string" }, "networkConfig": { @@ -2651,7 +2651,7 @@ "type": "string" }, "network": { - "description": "Optional. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: \"projects/{project_number}/global/networks/{network_id}\". This is required to create a cluster.", + "description": "Optional. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project_number}/global/networks/{network_id}`. This is required to create a cluster.", "type": "string" } }, @@ -3676,7 +3676,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Any other additional metadata specific to recommendation", + "description": "Optional. Any other additional metadata specific to recommendation", "type": "object" }, "lastRefreshTime": { @@ -3957,6 +3957,27 @@ "description": "Identifies the specific error that occurred. REQUIRED", "type": "string" }, + "errorType": { + "enum": [ + "OPERATION_ERROR_TYPE_UNSPECIFIED", + "KMS_KEY_ERROR", + "DATABASE_ERROR", + "STOCKOUT_ERROR", + "CANCELLATION_ERROR", + "SQLSERVER_ERROR", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "UNSPECIFIED means product 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." + ], + "type": "string" + }, "message": { "description": "Additional information about the error encountered. REQUIRED", "type": "string" diff --git a/alloydb/v1/alloydb-gen.go b/alloydb/v1/alloydb-gen.go index fc7a60a45ff..14257029c9d 100644 --- a/alloydb/v1/alloydb-gen.go +++ b/alloydb/v1/alloydb-gen.go @@ -674,7 +674,7 @@ type Cluster struct { // cluster resources are created and from which they are accessible via // Private IP. The network must belong to the same project as the // cluster. It is specified in the form: - // "projects/{project}/global/networks/{network_id}". This is required + // `projects/{project}/global/networks/{network_id}`. This is required // to create a cluster. Deprecated, use network_config.network instead. Network string `json:"network,omitempty"` @@ -1870,7 +1870,7 @@ type NetworkConfig struct { // cluster resources are created and from which they are accessible via // Private IP. The network must belong to the same project as the // cluster. It is specified in the form: - // "projects/{project_number}/global/networks/{network_id}". This is + // `projects/{project_number}/global/networks/{network_id}`. This is // required to create a cluster. Network string `json:"network,omitempty"` @@ -3267,7 +3267,7 @@ func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata) MarshalJ // nalData: Common model for database resource recommendation signal // data. type StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData struct { - // AdditionalMetadata: Required. Any other additional metadata specific + // AdditionalMetadata: Optional. Any other additional metadata specific // to recommendation AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"` @@ -3554,6 +3554,19 @@ type StorageDatabasecenterPartnerapiV1mainOperationError struct { // Code: Identifies the specific error that occurred. REQUIRED Code string `json:"code,omitempty"` + // Possible values: + // "OPERATION_ERROR_TYPE_UNSPECIFIED" - UNSPECIFIED means product type + // is not known or available. + // "KMS_KEY_ERROR" - key destroyed, expired, not found, unreachable or + // permission denied. + // "DATABASE_ERROR" - Database is not accessible + // "STOCKOUT_ERROR" - The zone or region does not have sufficient + // resources to handle the request at the moment + // "CANCELLATION_ERROR" - User initiated cancellation + // "SQLSERVER_ERROR" - SQL server specific error + // "INTERNAL_ERROR" - Any other internal error. + ErrorType string `json:"errorType,omitempty"` + // Message: Additional information about the error encountered. REQUIRED Message string `json:"message,omitempty"` diff --git a/alloydb/v1alpha/alloydb-api.json b/alloydb/v1alpha/alloydb-api.json index 51d65ff2792..eb773be8ddc 100644 --- a/alloydb/v1alpha/alloydb-api.json +++ b/alloydb/v1alpha/alloydb-api.json @@ -1489,7 +1489,7 @@ } } }, - "revision": "20240216", + "revision": "20240223", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1901,7 +1901,7 @@ }, "network": { "deprecated": true, - "description": "Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: \"projects/{project}/global/networks/{network_id}\". This is required to create a cluster. Deprecated, use network_config.network instead.", + "description": "Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project}/global/networks/{network_id}`. This is required to create a cluster. Deprecated, use network_config.network instead.", "type": "string" }, "networkConfig": { @@ -2746,7 +2746,7 @@ "type": "string" }, "network": { - "description": "Optional. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: \"projects/{project_number}/global/networks/{network_id}\". This is required to create a cluster.", + "description": "Optional. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project_number}/global/networks/{network_id}`. This is required to create a cluster.", "type": "string" } }, @@ -2936,7 +2936,7 @@ "type": "array" }, "serviceAttachmentLink": { - "description": "Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of projects//regions//serviceAttachments/", + "description": "Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of `projects//regions//serviceAttachments/`", "readOnly": true, "type": "string" } @@ -2955,7 +2955,7 @@ "type": "array" }, "networkAttachment": { - "description": "The NetworkAttachment resource created in the consumer VPC to which the PSC interface will be linked, in the form of: \"projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}\". NetworkAttachment has to be provided when the PSC interface is created.", + "description": "The NetworkAttachment resource created in the consumer VPC to which the PSC interface will be linked, in the form of: `projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}`. NetworkAttachment has to be provided when the PSC interface is created.", "type": "string" } }, @@ -3844,7 +3844,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Any other additional metadata specific to recommendation", + "description": "Optional. Any other additional metadata specific to recommendation", "type": "object" }, "lastRefreshTime": { @@ -4125,6 +4125,27 @@ "description": "Identifies the specific error that occurred. REQUIRED", "type": "string" }, + "errorType": { + "enum": [ + "OPERATION_ERROR_TYPE_UNSPECIFIED", + "KMS_KEY_ERROR", + "DATABASE_ERROR", + "STOCKOUT_ERROR", + "CANCELLATION_ERROR", + "SQLSERVER_ERROR", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "UNSPECIFIED means product 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." + ], + "type": "string" + }, "message": { "description": "Additional information about the error encountered. REQUIRED", "type": "string" diff --git a/alloydb/v1alpha/alloydb-gen.go b/alloydb/v1alpha/alloydb-gen.go index 42444b6bde4..9d487fafd8e 100644 --- a/alloydb/v1alpha/alloydb-gen.go +++ b/alloydb/v1alpha/alloydb-gen.go @@ -706,7 +706,7 @@ type Cluster struct { // cluster resources are created and from which they are accessible via // Private IP. The network must belong to the same project as the // cluster. It is specified in the form: - // "projects/{project}/global/networks/{network_id}". This is required + // `projects/{project}/global/networks/{network_id}`. This is required // to create a cluster. Deprecated, use network_config.network instead. Network string `json:"network,omitempty"` @@ -1987,7 +1987,7 @@ type NetworkConfig struct { // cluster resources are created and from which they are accessible via // Private IP. The network must belong to the same project as the // cluster. It is specified in the form: - // "projects/{project_number}/global/networks/{network_id}". This is + // `projects/{project_number}/global/networks/{network_id}`. This is // required to create a cluster. Network string `json:"network,omitempty"` @@ -2316,7 +2316,7 @@ type PscInstanceConfig struct { // ServiceAttachmentLink: Output only. The service attachment created // when Private Service Connect (PSC) is enabled for the instance. The // name of the resource will be in the format of - // projects//regions//serviceAttachments/ + // `projects//regions//serviceAttachments/` ServiceAttachmentLink string `json:"serviceAttachmentLink,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -2358,8 +2358,8 @@ type PscInterfaceConfig struct { // NetworkAttachment: The NetworkAttachment resource created in the // consumer VPC to which the PSC interface will be linked, in the form // of: - // "projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${N - // ETWORK_ATTACHMENT_NAME}". NetworkAttachment has to be provided when + // `projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${N + // ETWORK_ATTACHMENT_NAME}`. NetworkAttachment has to be provided when // the PSC interface is created. NetworkAttachment string `json:"networkAttachment,omitempty"` @@ -3518,7 +3518,7 @@ func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata) MarshalJ // nalData: Common model for database resource recommendation signal // data. type StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData struct { - // AdditionalMetadata: Required. Any other additional metadata specific + // AdditionalMetadata: Optional. Any other additional metadata specific // to recommendation AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"` @@ -3805,6 +3805,19 @@ type StorageDatabasecenterPartnerapiV1mainOperationError struct { // Code: Identifies the specific error that occurred. REQUIRED Code string `json:"code,omitempty"` + // Possible values: + // "OPERATION_ERROR_TYPE_UNSPECIFIED" - UNSPECIFIED means product type + // is not known or available. + // "KMS_KEY_ERROR" - key destroyed, expired, not found, unreachable or + // permission denied. + // "DATABASE_ERROR" - Database is not accessible + // "STOCKOUT_ERROR" - The zone or region does not have sufficient + // resources to handle the request at the moment + // "CANCELLATION_ERROR" - User initiated cancellation + // "SQLSERVER_ERROR" - SQL server specific error + // "INTERNAL_ERROR" - Any other internal error. + ErrorType string `json:"errorType,omitempty"` + // Message: Additional information about the error encountered. REQUIRED Message string `json:"message,omitempty"` diff --git a/cloudtasks/v2/cloudtasks-api.json b/cloudtasks/v2/cloudtasks-api.json index a181386343e..7b8394e3dbf 100644 --- a/cloudtasks/v2/cloudtasks-api.json +++ b/cloudtasks/v2/cloudtasks-api.json @@ -779,7 +779,7 @@ } } }, - "revision": "20240130", + "revision": "20240223", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -1040,7 +1040,7 @@ "properties": { "header": { "$ref": "Header", - "description": "header embodying a key and a value." + "description": "Header embodying a key and a value. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms)." } }, "type": "object" @@ -1132,7 +1132,7 @@ "id": "HttpTarget", "properties": { "headerOverrides": { - "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Several predefined headers, prefixed with \"X-CloudTasks-\", can be used to define properties of the task. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example,`Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. The default value is set to \"application/json\"`. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue.", + "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Several predefined headers, prefixed with \"X-CloudTasks-\", can be used to define properties of the task. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example,`Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. The default value is set to \"application/json\"`. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms).", "items": { "$ref": "HeaderOverride" }, diff --git a/cloudtasks/v2/cloudtasks-gen.go b/cloudtasks/v2/cloudtasks-gen.go index 759eac92d7f..7e2f7df53b4 100644 --- a/cloudtasks/v2/cloudtasks-gen.go +++ b/cloudtasks/v2/cloudtasks-gen.go @@ -913,7 +913,11 @@ func (s *Header) MarshalJSON() ([]byte, error) { // HeaderOverride: Wraps the Header object. type HeaderOverride struct { - // Header: header embodying a key and a value. + // Header: Header embodying a key and a value. Do not put business + // sensitive or personally identifying data in the HTTP Header Override + // Configuration or other similar fields in accordance with Section 12 + // (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). Header *Header `json:"header,omitempty"` // ForceSendFields is a list of field names (e.g. "Header") to @@ -1116,7 +1120,11 @@ type HttpTarget struct { // to "Google-Cloud-Tasks". Headers which can have multiple values // (according to RFC2616) can be specified using comma-separated values. // The size of the headers must be less than 80KB. Queue-level headers - // to override headers of all the tasks in the queue. + // to override headers of all the tasks in the queue. Do not put + // business sensitive or personally identifying data in the HTTP Header + // Override Configuration or other similar fields in accordance with + // Section 12 (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). HeaderOverrides []*HeaderOverride `json:"headerOverrides,omitempty"` // HttpMethod: The HTTP method to use for the request. When specified, diff --git a/cloudtasks/v2beta2/cloudtasks-api.json b/cloudtasks/v2beta2/cloudtasks-api.json index 6201eb03c93..4131263c9cb 100644 --- a/cloudtasks/v2beta2/cloudtasks-api.json +++ b/cloudtasks/v2beta2/cloudtasks-api.json @@ -935,7 +935,7 @@ } } }, - "revision": "20240205", + "revision": "20240223", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { @@ -1245,7 +1245,7 @@ "properties": { "header": { "$ref": "Header", - "description": "header embodying a key and a value." + "description": "Header embodying a key and a value. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms)." } }, "type": "object" @@ -1337,7 +1337,7 @@ "id": "HttpTarget", "properties": { "headerOverrides": { - "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the task is created and/or task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-CloudTasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue.", + "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the task is created and/or task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-CloudTasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms).", "items": { "$ref": "HeaderOverride" }, diff --git a/cloudtasks/v2beta2/cloudtasks-gen.go b/cloudtasks/v2beta2/cloudtasks-gen.go index 3519420173a..656edbddf63 100644 --- a/cloudtasks/v2beta2/cloudtasks-gen.go +++ b/cloudtasks/v2beta2/cloudtasks-gen.go @@ -1079,7 +1079,11 @@ func (s *Header) MarshalJSON() ([]byte, error) { // HeaderOverride: Wraps the Header object. type HeaderOverride struct { - // Header: header embodying a key and a value. + // Header: Header embodying a key and a value. Do not put business + // sensitive or personally identifying data in the HTTP Header Override + // Configuration or other similar fields in accordance with Section 12 + // (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). Header *Header `json:"header,omitempty"` // ForceSendFields is a list of field names (e.g. "Header") to @@ -1269,7 +1273,11 @@ type HttpTarget struct { // "application/json". Headers which can have multiple values // (according to RFC2616) can be specified using comma-separated values. // The size of the headers must be less than 80KB. Queue-level headers - // to override headers of all the tasks in the queue. + // to override headers of all the tasks in the queue. Do not put + // business sensitive or personally identifying data in the HTTP Header + // Override Configuration or other similar fields in accordance with + // Section 12 (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). HeaderOverrides []*HeaderOverride `json:"headerOverrides,omitempty"` // HttpMethod: The HTTP method to use for the request. When specified, diff --git a/cloudtasks/v2beta3/cloudtasks-api.json b/cloudtasks/v2beta3/cloudtasks-api.json index dca2e0eebc1..8c84008e3dc 100644 --- a/cloudtasks/v2beta3/cloudtasks-api.json +++ b/cloudtasks/v2beta3/cloudtasks-api.json @@ -791,7 +791,7 @@ } } }, - "revision": "20240130", + "revision": "20240223", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -1063,7 +1063,7 @@ "properties": { "header": { "$ref": "Header", - "description": "header embodying a key and a value." + "description": "Header embodying a key and a value. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms)." } }, "type": "object" @@ -1155,7 +1155,7 @@ "id": "HttpTarget", "properties": { "headerOverrides": { - "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Several predefined headers, prefixed with \"X-CloudTasks-\", can be used to define properties of the task. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example,`Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. The default value is set to `\"application/json\"`. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue.", + "description": "HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Several predefined headers, prefixed with \"X-CloudTasks-\", can be used to define properties of the task. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example,`Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. The default value is set to `\"application/json\"`. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue. Do not put business sensitive or personally identifying data in the HTTP Header Override Configuration or other similar fields in accordance with Section 12 (Resource Fields) of the [Service Specific Terms](https://cloud.google.com/terms/service-terms).", "items": { "$ref": "HeaderOverride" }, diff --git a/cloudtasks/v2beta3/cloudtasks-gen.go b/cloudtasks/v2beta3/cloudtasks-gen.go index 07a43655ee8..509258b9d44 100644 --- a/cloudtasks/v2beta3/cloudtasks-gen.go +++ b/cloudtasks/v2beta3/cloudtasks-gen.go @@ -948,7 +948,11 @@ func (s *Header) MarshalJSON() ([]byte, error) { // HeaderOverride: Wraps the Header object. type HeaderOverride struct { - // Header: header embodying a key and a value. + // Header: Header embodying a key and a value. Do not put business + // sensitive or personally identifying data in the HTTP Header Override + // Configuration or other similar fields in accordance with Section 12 + // (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). Header *Header `json:"header,omitempty"` // ForceSendFields is a list of field names (e.g. "Header") to @@ -1154,7 +1158,11 @@ type HttpTarget struct { // to "Google-Cloud-Tasks". Headers which can have multiple values // (according to RFC2616) can be specified using comma-separated values. // The size of the headers must be less than 80KB. Queue-level headers - // to override headers of all the tasks in the queue. + // to override headers of all the tasks in the queue. Do not put + // business sensitive or personally identifying data in the HTTP Header + // Override Configuration or other similar fields in accordance with + // Section 12 (Resource Fields) of the Service Specific Terms + // (https://cloud.google.com/terms/service-terms). HeaderOverrides []*HeaderOverride `json:"headerOverrides,omitempty"` // HttpMethod: The HTTP method to use for the request. When specified, diff --git a/redis/v1beta1/redis-api.json b/redis/v1beta1/redis-api.json index 5185e8ee4bd..a312eac1c87 100644 --- a/redis/v1beta1/redis-api.json +++ b/redis/v1beta1/redis-api.json @@ -821,9 +821,94 @@ } } }, - "revision": "20240220", + "revision": "20240226", "rootUrl": "https://redis.googleapis.com/", "schemas": { + "AvailabilityConfiguration": { + "description": "Configuration for availability of database instance", + "id": "AvailabilityConfiguration", + "properties": { + "availabilityType": { + "description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available).", + "enum": [ + "AVAILABILITY_TYPE_UNSPECIFIED", + "ZONAL", + "REGIONAL", + "MULTI_REGIONAL", + "AVAILABILITY_TYPE_OTHER" + ], + "enumDescriptions": [ + "", + "Zonal available instance.", + "Regional available instance.", + "Multi regional instance", + "For rest of the other category" + ], + "type": "string" + }, + "externalReplicaConfigured": { + "type": "boolean" + }, + "promotableReplicaConfigured": { + "type": "boolean" + } + }, + "type": "object" + }, + "BackupConfiguration": { + "description": "Configuration for automatic backups", + "id": "BackupConfiguration", + "properties": { + "automatedBackupEnabled": { + "description": "Whether customer visible automated backups are enabled on the instance.", + "type": "boolean" + }, + "backupRetentionSettings": { + "$ref": "RetentionSettings", + "description": "Backup retention settings." + }, + "pointInTimeRecoveryEnabled": { + "description": "Whether point-in-time recovery is enabled. This is optional field, if the database service does not have this feature or metadata is not available in control plane, this can be omitted.", + "type": "boolean" + } + }, + "type": "object" + }, + "BackupRun": { + "description": "A backup run.", + "id": "BackupRun", + "properties": { + "endTime": { + "description": "The time the backup operation completed. REQUIRED", + "format": "google-datetime", + "type": "string" + }, + "error": { + "$ref": "OperationError", + "description": "Information about why the backup operation failed. This is only present if the run has the FAILED status. OPTIONAL" + }, + "startTime": { + "description": "The time the backup operation started. REQUIRED", + "format": "google-datetime", + "type": "string" + }, + "status": { + "description": "The status of this run. REQUIRED", + "enum": [ + "STATUS_UNSPECIFIED", + "SUCCESSFUL", + "FAILED" + ], + "enumDescriptions": [ + "", + "The backup was successful.", + "The backup was unsuccessful." + ], + "type": "string" + } + }, + "type": "object" + }, "CertChain": { "id": "CertChain", "properties": { @@ -964,6 +1049,846 @@ }, "type": "object" }, + "Compliance": { + "description": "Contains compliance information about a security standard indicating unmet recommendations.", + "id": "Compliance", + "properties": { + "standard": { + "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", + "type": "string" + }, + "version": { + "description": "Version of the standard or benchmark, for example, 1.1", + "type": "string" + } + }, + "type": "object" + }, + "CustomMetadataData": { + "description": "Any custom metadata associated with the resource. i.e. A spanner instance can have multiple databases with its own unique metadata. Information for these individual databases can be captured in custom metadata data", + "id": "CustomMetadataData", + "properties": { + "databaseMetadata": { + "items": { + "$ref": "DatabaseMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "DatabaseMetadata": { + "description": "Metadata for individual databases created in an instance. i.e. spanner instance can have multiple databases with unique configuration settings.", + "id": "DatabaseMetadata", + "properties": { + "backupConfiguration": { + "$ref": "BackupConfiguration", + "description": "Backup configuration for this database" + }, + "backupRun": { + "$ref": "BackupRun", + "description": "Information about the last backup attempt for this database" + }, + "product": { + "$ref": "Product" + }, + "resourceId": { + "$ref": "DatabaseResourceId" + }, + "resourceName": { + "description": "Required. Database name. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseResourceFeed": { + "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform.", + "id": "DatabaseResourceFeed", + "properties": { + "feedTimestamp": { + "description": "Required. Timestamp when feed is generated.", + "format": "google-datetime", + "type": "string" + }, + "feedType": { + "description": "Required. Type feed to be ingested into condor", + "enum": [ + "FEEDTYPE_UNSPECIFIED", + "RESOURCE_METADATA", + "OBSERVABILITY_DATA", + "SECURITY_FINDING_DATA", + "RECOMMENDATION_SIGNAL_DATA" + ], + "enumDescriptions": [ + "", + "Database resource metadata feed from control plane", + "Database resource monitoring data", + "Database resource security health signal data", + "Database resource recommendation signal data" + ], + "type": "string" + }, + "recommendationSignalData": { + "$ref": "DatabaseResourceRecommendationSignalData", + "description": "More feed data would be added in subsequent CLs" + }, + "resourceHealthSignalData": { + "$ref": "DatabaseResourceHealthSignalData" + }, + "resourceId": { + "$ref": "DatabaseResourceId", + "deprecated": true, + "description": "Primary key associated with the Resource. resource_id is available in individual feed level as well." + }, + "resourceMetadata": { + "$ref": "DatabaseResourceMetadata" + } + }, + "type": "object" + }, + "DatabaseResourceHealthSignalData": { + "description": "Common model for database resource health signal data.", + "id": "DatabaseResourceHealthSignalData", + "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Any other additional metadata", + "type": "object" + }, + "compliance": { + "description": "Industry standards associated with this signal; if this signal is an issue, that could be a violation of the associated industry standard(s). For example, AUTO_BACKUP_DISABLED signal is associated with CIS GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 and ISO-27001 compliance standards. If a database resource does not have automated backup enable, it will violate these following industry standards.", + "items": { + "$ref": "Compliance" + }, + "type": "array" + }, + "description": { + "description": "Description associated with signal", + "type": "string" + }, + "eventTime": { + "description": "Required. The last time at which the event described by this signal took place", + "format": "google-datetime", + "type": "string" + }, + "externalUri": { + "description": "The external-uri of the signal, using which more information about this signal can be obtained. In GCP, this will take user to SCC page to get more details about signals.", + "type": "string" + }, + "name": { + "description": "Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc.", + "type": "string" + }, + "provider": { + "description": "Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", + "enum": [ + "PROVIDER_UNSPECIFIED", + "GCP", + "AWS", + "AZURE", + "ONPREM", + "SELFMANAGED", + "PROVIDER_OTHER" + ], + "enumDescriptions": [ + "", + "Google cloud platform provider", + "Amazon web service", + "Azure web service", + "On-prem database resources.", + "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", + "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." + ], + "type": "string" + }, + "resourceContainer": { + "description": "Closest parent container of this resource. In GCP, 'container' refers to a Cloud Resource Manager project. It must be resource name of a Cloud Resource Manager project with the format of \"provider//\", such as \"projects/123\". For GCP provided resources, number should be project number.", + "type": "string" + }, + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "signalClass": { + "description": "Required. The class of the signal, such as if it's a THREAT or VULNERABILITY.", + "enum": [ + "CLASS_UNSPECIFIED", + "THREAT", + "VULNERABILITY", + "MISCONFIGURATION", + "OBSERVATION", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified signal class.", + "Describes unwanted or malicious activity.", + "Describes a potential weakness in software that increases risk to Confidentiality \u0026 Integrity \u0026 Availability.", + "Describes a potential weakness in cloud resource/asset configuration that increases risk.", + "Describes a security observation that is for informational purposes.", + "Describes an error that prevents some SCC functionality." + ], + "type": "string" + }, + "signalId": { + "description": "Required. Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a signal.", + "type": "string" + }, + "signalType": { + "description": "Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.", + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", + "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", + "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", + "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_NIST_800_53", + "SIGNAL_TYPE_VIOLATES_ISO_27001", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", + "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_STATISTICS_LOGGED", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", + "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", + "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_BY_OWNERSHIP_CHAINING", + "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" + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "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 the resource is available in multiple zones or not.", + "Represents if a resource is available in multiple regions.", + "Represents if a resource has a promotable replica.", + "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 GCP Foundation 2.0.", + "Represents if a resource violates CIS GCP Foundation 1.3.", + "Represents if a resource violates CIS GCP Foundation 1.2.", + "Represents if a resource violates CIS GCP Foundation 1.1.", + "Represents if a resource violates CIS GCP Foundation 1.0.", + "Represents if a resource violates NIST 800-53.", + "Represents if a resource violates ISO-27001.", + "Represents if a resource violates PCI-DSS v3.2.1.", + "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 the cross_db_ownership_chaining 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." + ], + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "RESOLVED", + "MUTED" + ], + "enumDescriptions": [ + "Unspecified state.", + "The signal requires attention and has not been addressed yet.", + "The signal has been fixed, triaged as a non-issue or otherwise addressed and is no longer active.", + "The signal has been muted." + ], + "type": "string" + } + }, + "type": "object" + }, + "DatabaseResourceId": { + "description": "DatabaseResourceId will serve as primary key for any resource ingestion event.", + "id": "DatabaseResourceId", + "properties": { + "provider": { + "description": "Required. Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", + "enum": [ + "PROVIDER_UNSPECIFIED", + "GCP", + "AWS", + "AZURE", + "ONPREM", + "SELFMANAGED", + "PROVIDER_OTHER" + ], + "enumDescriptions": [ + "", + "Google cloud platform provider", + "Amazon web service", + "Azure web service", + "On-prem database resources.", + "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", + "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." + ], + "type": "string" + }, + "providerDescription": { + "description": "Optional. Needs to be used only when the provider is PROVIDER_OTHER.", + "type": "string" + }, + "resourceType": { + "description": "Required. The type of resource this ID is identifying. Ex redis.googleapis.com/Instance, redis.googleapis.com/Cluster, alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel", + "type": "string" + }, + "uniqueId": { + "description": "Required. A service-local token that distinguishes this resource from other resources within the same service.", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseResourceMetadata": { + "description": "Common model for database resource instance metadata.", + "id": "DatabaseResourceMetadata", + "properties": { + "availabilityConfiguration": { + "$ref": "AvailabilityConfiguration", + "description": "Availability configuration for this instance" + }, + "backupConfiguration": { + "$ref": "BackupConfiguration", + "description": "Backup configuration for this instance" + }, + "backupRun": { + "$ref": "BackupRun", + "description": "Latest backup run information for this instance" + }, + "creationTime": { + "description": "The creation time of the resource, i.e. the time when resource is created and recorded in partner service.", + "format": "google-datetime", + "type": "string" + }, + "currentState": { + "description": "Current state of the instance.", + "enum": [ + "STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "SUSPENDED", + "DELETED", + "STATE_OTHER" + ], + "enumDescriptions": [ + "", + "The instance is running.", + "Instance being created, updated, deleted or under maintenance", + "When instance is suspended", + "Instance is deleted.", + "For rest of the other category" + ], + "type": "string" + }, + "customMetadata": { + "$ref": "CustomMetadataData", + "description": "Any custom metadata associated with the resource" + }, + "entitlements": { + "description": "Entitlements associated with the resource", + "items": { + "$ref": "Entitlement" + }, + "type": "array" + }, + "expectedState": { + "description": "The state that the instance is expected to be in. For example, an instance state can transition to UNHEALTHY due to wrong patch update, while the expected state will remain at the HEALTHY.", + "enum": [ + "STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "SUSPENDED", + "DELETED", + "STATE_OTHER" + ], + "enumDescriptions": [ + "", + "The instance is running.", + "Instance being created, updated, deleted or under maintenance", + "When instance is suspended", + "Instance is deleted.", + "For rest of the other category" + ], + "type": "string" + }, + "id": { + "$ref": "DatabaseResourceId", + "description": "Required. Unique identifier for a Database resource" + }, + "instanceType": { + "description": "The type of the instance. Specified at creation time.", + "enum": [ + "INSTANCE_TYPE_UNSPECIFIED", + "SUB_RESOURCE_TYPE_UNSPECIFIED", + "PRIMARY", + "SECONDARY", + "READ_REPLICA", + "OTHER", + "SUB_RESOURCE_TYPE_PRIMARY", + "SUB_RESOURCE_TYPE_SECONDARY", + "SUB_RESOURCE_TYPE_READ_REPLICA", + "SUB_RESOURCE_TYPE_OTHER" + ], + "enumDeprecated": [ + true, + false, + true, + true, + true, + true, + false, + false, + false, + false + ], + "enumDescriptions": [ + "", + "For rest of the other categories.", + "A regular primary database instance.", + "A cluster or an instance acting as a secondary.", + "An instance acting as a read-replica.", + "For rest of the other categories.", + "A regular primary database instance.", + "A cluster or an instance acting as a secondary.", + "An instance acting as a read-replica.", + "For rest of the other categories." + ], + "type": "string" + }, + "location": { + "description": "The resource location. REQUIRED", + "type": "string" + }, + "primaryResourceId": { + "$ref": "DatabaseResourceId", + "description": "Identifier for this resource's immediate parent/primary resource if the current resource is a replica or derived form of another Database resource. Else it would be NULL. REQUIRED if the immediate parent exists when first time resource is getting ingested" + }, + "product": { + "$ref": "Product", + "description": "The product this resource represents." + }, + "resourceContainer": { + "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", + "type": "string" + }, + "resourceName": { + "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "updationTime": { + "description": "The time at which the resource was updated and recorded at partner service.", + "format": "google-datetime", + "type": "string" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-provided labels, represented as a dictionary where each label is a single key value pair.", + "type": "object" + } + }, + "type": "object" + }, + "DatabaseResourceRecommendationSignalData": { + "description": "Common model for database resource recommendation signal data.", + "id": "DatabaseResourceRecommendationSignalData", + "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Any other additional metadata specific to recommendation", + "type": "object" + }, + "lastRefreshTime": { + "description": "Required. last time recommendationw as refreshed", + "format": "google-datetime", + "type": "string" + }, + "recommendationState": { + "description": "Required. Recommendation state", + "enum": [ + "UNSPECIFIED", + "ACTIVE", + "CLAIMED", + "SUCCEEDED", + "FAILED", + "DISMISSED" + ], + "enumDescriptions": [ + "", + "Recommendation is active and can be applied. ACTIVE recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in claimed state. Recommendations content is immutable and cannot be updated by Google. CLAIMED recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in succeeded state. Recommendations content is immutable and cannot be updated by Google. SUCCEEDED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in failed state. Recommendations content is immutable and cannot be updated by Google. FAILED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in dismissed state. Recommendation content can be updated by Google. DISMISSED recommendations can be marked as ACTIVE." + ], + "type": "string" + }, + "recommender": { + "description": "Required. Name of recommendation. Examples: organizations/1234/locations/us-central1/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations/9876", + "type": "string" + }, + "recommenderId": { + "description": "Required. ID of recommender. Examples: \"google.cloudsql.instance.PerformanceRecommender\"", + "type": "string" + }, + "recommenderSubtype": { + "description": "Required. 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" + }, + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "signalType": { + "description": "Required. Type of signal, for example, `SIGNAL_TYPE_IDLE`, `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc.", + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", + "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", + "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", + "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_NIST_800_53", + "SIGNAL_TYPE_VIOLATES_ISO_27001", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", + "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_STATISTICS_LOGGED", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", + "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", + "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_BY_OWNERSHIP_CHAINING", + "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" + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "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 the resource is available in multiple zones or not.", + "Represents if a resource is available in multiple regions.", + "Represents if a resource has a promotable replica.", + "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 GCP Foundation 2.0.", + "Represents if a resource violates CIS GCP Foundation 1.3.", + "Represents if a resource violates CIS GCP Foundation 1.2.", + "Represents if a resource violates CIS GCP Foundation 1.1.", + "Represents if a resource violates CIS GCP Foundation 1.0.", + "Represents if a resource violates NIST 800-53.", + "Represents if a resource violates ISO-27001.", + "Represents if a resource violates PCI-DSS v3.2.1.", + "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 the cross_db_ownership_chaining 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." + ], + "type": "string" + } + }, + "type": "object" + }, "DiscoveryEndpoint": { "description": "Endpoints on each network, for Redis clients to connect to the cluster.", "id": "DiscoveryEndpoint", @@ -993,6 +1918,39 @@ "properties": {}, "type": "object" }, + "Entitlement": { + "description": "Proto representing the access that a user has to a specific feature/service. NextId: 3.", + "id": "Entitlement", + "properties": { + "entitlementState": { + "description": "The current state of user's accessibility to a feature/benefit.", + "enum": [ + "ENTITLEMENT_STATE_UNSPECIFIED", + "ENTITLED", + "REVOKED" + ], + "enumDescriptions": [ + "", + "User is entitled to a feature/benefit, but whether it has been successfully provisioned is decided by provisioning state.", + "User is entitled to a feature/benefit, but it was requested to be revoked. Whether the revoke has been successful is decided by provisioning state." + ], + "type": "string" + }, + "type": { + "description": "An enum that represents the type of this entitlement.", + "enum": [ + "ENTITLEMENT_TYPE_UNSPECIFIED", + "DUET_AI" + ], + "enumDescriptions": [ + "", + "The root entitlement representing Duet AI package ownership." + ], + "type": "string" + } + }, + "type": "object" + }, "ExportInstanceRequest": { "description": "Request for Export.", "id": "ExportInstanceRequest", @@ -1652,6 +2610,42 @@ }, "type": "object" }, + "OperationError": { + "description": "An error that occurred during a backup creation operation.", + "id": "OperationError", + "properties": { + "code": { + "description": "Identifies the specific error that occurred. REQUIRED", + "type": "string" + }, + "errorType": { + "enum": [ + "OPERATION_ERROR_TYPE_UNSPECIFIED", + "KMS_KEY_ERROR", + "DATABASE_ERROR", + "STOCKOUT_ERROR", + "CANCELLATION_ERROR", + "SQLSERVER_ERROR", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "UNSPECIFIED means product 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." + ], + "type": "string" + }, + "message": { + "description": "Additional information about the error encountered. REQUIRED", + "type": "string" + } + }, + "type": "object" + }, "OperationMetadata": { "description": "Pre-defined metadata fields.", "id": "OperationMetadata", @@ -1757,6 +2751,109 @@ }, "type": "object" }, + "Product": { + "description": "Product specification for Condor resources.", + "id": "Product", + "properties": { + "engine": { + "description": "The specific engine that the underlying database is running.", + "enum": [ + "ENGINE_UNSPECIFIED", + "ENGINE_MYSQL", + "MYSQL", + "ENGINE_POSTGRES", + "POSTGRES", + "ENGINE_SQL_SERVER", + "SQL_SERVER", + "ENGINE_NATIVE", + "NATIVE", + "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT", + "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", + "ENGINE_MEMORYSTORE_FOR_REDIS", + "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_OTHER" + ], + "enumDeprecated": [ + false, + false, + true, + false, + true, + false, + true, + false, + true, + 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.", + "MySQL binary running as engine in database instance.", + "Postgres binary running as engine in database instance.", + "Postgres binary running as engine in database instance.", + "SQLServer binary running as engine in database instance.", + "SQLServer binary running as engine in database instance.", + "Native database binary running as engine in instance.", + "Native database binary running as engine in instance.", + "Cloud Spanner with PostgreSQL dialect.", + "Cloud Spanner with Google SQL dialect.", + "Memorystore with Redis dialect.", + "Memorystore with Redis cluster dialect.", + "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum." + ], + "type": "string" + }, + "type": { + "description": "Type of specific database product. It could be CloudSQL, AlloyDB etc..", + "enum": [ + "PRODUCT_TYPE_UNSPECIFIED", + "PRODUCT_TYPE_CLOUD_SQL", + "CLOUD_SQL", + "PRODUCT_TYPE_ALLOYDB", + "ALLOYDB", + "PRODUCT_TYPE_SPANNER", + "PRODUCT_TYPE_ON_PREM", + "ON_PREM", + "PRODUCT_TYPE_MEMORYSTORE", + "PRODUCT_TYPE_OTHER" + ], + "enumDeprecated": [ + false, + false, + true, + false, + true, + false, + false, + true, + false, + false + ], + "enumDescriptions": [ + "UNSPECIFIED means product type is not known or available.", + "Cloud SQL product area in GCP", + "Cloud SQL product area in GCP", + "AlloyDB product area in GCP", + "AlloyDB product area in GCP", + "Spanner product area in GCP", + "On premises database product.", + "On premises database product.", + "Memorystore product area in GCP", + "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." + ], + "type": "string" + }, + "version": { + "description": "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" + } + }, + "type": "object" + }, "PscConfig": { "id": "PscConfig", "properties": { @@ -1857,6 +2954,36 @@ }, "type": "object" }, + "RetentionSettings": { + "id": "RetentionSettings", + "properties": { + "quantityBasedRetention": { + "format": "int32", + "type": "integer" + }, + "retentionUnit": { + "description": "The unit that 'retained_backups' represents.", + "enum": [ + "RETENTION_UNIT_UNSPECIFIED", + "COUNT", + "TIME", + "RETENTION_UNIT_OTHER" + ], + "enumDescriptions": [ + "Backup retention unit is unspecified, will be treated as COUNT.", + "Retention will be by count, eg. \"retain the most recent 7 backups\".", + "Retention will be by Time, eg. \"retain the last 7 days backups\".", + "For rest of the other category" + ], + "type": "string" + }, + "timeBasedRetention": { + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "StateInfo": { "description": "Represents additional information about the state of the cluster.", "id": "StateInfo", diff --git a/redis/v1beta1/redis-gen.go b/redis/v1beta1/redis-gen.go index 797c96a3a71..5e9b7d1aebc 100644 --- a/redis/v1beta1/redis-gen.go +++ b/redis/v1beta1/redis-gen.go @@ -214,6 +214,133 @@ type ProjectsLocationsOperationsService struct { s *Service } +// AvailabilityConfiguration: Configuration for availability of database +// instance +type AvailabilityConfiguration struct { + // AvailabilityType: Availability type. Potential values: * `ZONAL`: The + // instance serves data from only one zone. Outages in that zone affect + // data accessibility. * `REGIONAL`: The instance can serve data from + // more than one zone in a region (it is highly available). + // + // Possible values: + // "AVAILABILITY_TYPE_UNSPECIFIED" + // "ZONAL" - Zonal available instance. + // "REGIONAL" - Regional available instance. + // "MULTI_REGIONAL" - Multi regional instance + // "AVAILABILITY_TYPE_OTHER" - For rest of the other category + AvailabilityType string `json:"availabilityType,omitempty"` + + ExternalReplicaConfigured bool `json:"externalReplicaConfigured,omitempty"` + + PromotableReplicaConfigured bool `json:"promotableReplicaConfigured,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AvailabilityType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AvailabilityType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AvailabilityConfiguration) MarshalJSON() ([]byte, error) { + type NoMethod AvailabilityConfiguration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BackupConfiguration: Configuration for automatic backups +type BackupConfiguration struct { + // AutomatedBackupEnabled: Whether customer visible automated backups + // are enabled on the instance. + AutomatedBackupEnabled bool `json:"automatedBackupEnabled,omitempty"` + + // BackupRetentionSettings: Backup retention settings. + BackupRetentionSettings *RetentionSettings `json:"backupRetentionSettings,omitempty"` + + // PointInTimeRecoveryEnabled: Whether point-in-time recovery is + // enabled. This is optional field, if the database service does not + // have this feature or metadata is not available in control plane, this + // can be omitted. + PointInTimeRecoveryEnabled bool `json:"pointInTimeRecoveryEnabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AutomatedBackupEnabled") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutomatedBackupEnabled") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BackupConfiguration) MarshalJSON() ([]byte, error) { + type NoMethod BackupConfiguration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BackupRun: A backup run. +type BackupRun struct { + // EndTime: The time the backup operation completed. REQUIRED + EndTime string `json:"endTime,omitempty"` + + // Error: Information about why the backup operation failed. This is + // only present if the run has the FAILED status. OPTIONAL + Error *OperationError `json:"error,omitempty"` + + // StartTime: The time the backup operation started. REQUIRED + StartTime string `json:"startTime,omitempty"` + + // Status: The status of this run. REQUIRED + // + // Possible values: + // "STATUS_UNSPECIFIED" + // "SUCCESSFUL" - The backup was successful. + // "FAILED" - The backup was unsuccessful. + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EndTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackupRun) MarshalJSON() ([]byte, error) { + type NoMethod BackupRun + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type CertChain struct { // Certificates: The certificates that form the CA chain, from leaf to // root order. @@ -384,6 +511,861 @@ func (s *Cluster) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Compliance: Contains compliance information about a security standard +// indicating unmet recommendations. +type Compliance struct { + // Standard: Industry-wide compliance standards or benchmarks, such as + // CIS, PCI, and OWASP. + Standard string `json:"standard,omitempty"` + + // Version: Version of the standard or benchmark, for example, 1.1 + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Standard") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Standard") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Compliance) MarshalJSON() ([]byte, error) { + type NoMethod Compliance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomMetadataData: Any custom metadata associated with the resource. +// i.e. A spanner instance can have multiple databases with its own +// unique metadata. Information for these individual databases can be +// captured in custom metadata data +type CustomMetadataData struct { + DatabaseMetadata []*DatabaseMetadata `json:"databaseMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DatabaseMetadata") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DatabaseMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CustomMetadataData) MarshalJSON() ([]byte, error) { + type NoMethod CustomMetadataData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseMetadata: Metadata for individual databases created in an +// instance. i.e. spanner instance can have multiple databases with +// unique configuration settings. +type DatabaseMetadata struct { + // BackupConfiguration: Backup configuration for this database + BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"` + + // BackupRun: Information about the last backup attempt for this + // database + BackupRun *BackupRun `json:"backupRun,omitempty"` + + Product *Product `json:"product,omitempty"` + + ResourceId *DatabaseResourceId `json:"resourceId,omitempty"` + + // ResourceName: Required. Database name. Resource name to follow CAIS + // resource_name format as noted here go/condor-common-datamodel + ResourceName string `json:"resourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BackupConfiguration") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BackupConfiguration") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseMetadata) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseResourceFeed: DatabaseResourceFeed is the top level proto to +// be used to ingest different database resource level events into +// Condor platform. +type DatabaseResourceFeed struct { + // FeedTimestamp: Required. Timestamp when feed is generated. + FeedTimestamp string `json:"feedTimestamp,omitempty"` + + // FeedType: Required. Type feed to be ingested into condor + // + // Possible values: + // "FEEDTYPE_UNSPECIFIED" + // "RESOURCE_METADATA" - Database resource metadata feed from control + // plane + // "OBSERVABILITY_DATA" - Database resource monitoring data + // "SECURITY_FINDING_DATA" - Database resource security health signal + // data + // "RECOMMENDATION_SIGNAL_DATA" - Database resource recommendation + // signal data + FeedType string `json:"feedType,omitempty"` + + // RecommendationSignalData: More feed data would be added in subsequent + // CLs + RecommendationSignalData *DatabaseResourceRecommendationSignalData `json:"recommendationSignalData,omitempty"` + + ResourceHealthSignalData *DatabaseResourceHealthSignalData `json:"resourceHealthSignalData,omitempty"` + + // ResourceId: Primary key associated with the Resource. resource_id is + // available in individual feed level as well. + ResourceId *DatabaseResourceId `json:"resourceId,omitempty"` + + ResourceMetadata *DatabaseResourceMetadata `json:"resourceMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FeedTimestamp") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FeedTimestamp") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseResourceFeed) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseResourceFeed + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseResourceHealthSignalData: Common model for database resource +// health signal data. +type DatabaseResourceHealthSignalData struct { + // AdditionalMetadata: Any other additional metadata + AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"` + + // Compliance: Industry standards associated with this signal; if this + // signal is an issue, that could be a violation of the associated + // industry standard(s). For example, AUTO_BACKUP_DISABLED signal is + // associated with CIS GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 + // and ISO-27001 compliance standards. If a database resource does not + // have automated backup enable, it will violate these following + // industry standards. + Compliance []*Compliance `json:"compliance,omitempty"` + + // Description: Description associated with signal + Description string `json:"description,omitempty"` + + // EventTime: Required. The last time at which the event described by + // this signal took place + EventTime string `json:"eventTime,omitempty"` + + // ExternalUri: The external-uri of the signal, using which more + // information about this signal can be obtained. In GCP, this will take + // user to SCC page to get more details about signals. + ExternalUri string `json:"externalUri,omitempty"` + + // Name: Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, + // SQL_LOG_ERROR_VERBOSITY etc. + Name string `json:"name,omitempty"` + + // Provider: Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged + // + // Possible values: + // "PROVIDER_UNSPECIFIED" + // "GCP" - Google cloud platform provider + // "AWS" - Amazon web service + // "AZURE" - Azure web service + // "ONPREM" - On-prem database resources. + // "SELFMANAGED" - Self-managed database provider. These are resources + // on a cloud platform, e.g., database resource installed in a GCE VM, + // but not a managed database service. + // "PROVIDER_OTHER" - For the rest of the other categories. Other + // refers to the rest of other database service providers, this could be + // smaller cloud provider. This needs to be provided when the provider + // is known, but it is not present in the existing set of enum values. + Provider string `json:"provider,omitempty"` + + // ResourceContainer: Closest parent container of this resource. In GCP, + // 'container' refers to a Cloud Resource Manager project. It must be + // resource name of a Cloud Resource Manager project with the format of + // "provider//", such as "projects/123". For GCP provided resources, + // number should be project number. + ResourceContainer string `json:"resourceContainer,omitempty"` + + // ResourceName: Required. Database resource name associated with the + // signal. Resource name to follow CAIS resource_name format as noted + // here go/condor-common-datamodel + ResourceName string `json:"resourceName,omitempty"` + + // SignalClass: Required. The class of the signal, such as if it's a + // THREAT or VULNERABILITY. + // + // Possible values: + // "CLASS_UNSPECIFIED" - Unspecified signal class. + // "THREAT" - Describes unwanted or malicious activity. + // "VULNERABILITY" - Describes a potential weakness in software that + // increases risk to Confidentiality & Integrity & Availability. + // "MISCONFIGURATION" - Describes a potential weakness in cloud + // resource/asset configuration that increases risk. + // "OBSERVATION" - Describes a security observation that is for + // informational purposes. + // "ERROR" - Describes an error that prevents some SCC functionality. + SignalClass string `json:"signalClass,omitempty"` + + // SignalId: Required. Unique identifier for the signal. This is an + // unique id which would be mainatined by partner to identify a signal. + SignalId string `json:"signalId,omitempty"` + + // SignalType: Required. Type of signal, for example, + // `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc. + // + // Possible values: + // "SIGNAL_TYPE_UNSPECIFIED" - Unspecified. + // "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a + // resource is protected by automatic failover. Checks for resources + // that are configured to have redundancy within a region that enables + // automatic failover. + // "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if + // a group is replicating across regions. Checks for resources that are + // configured to have redundancy, and ongoing replication, across + // regions. + // "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the + // resource is available in multiple zones or not. + // "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a + // resource is available in multiple regions. + // "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has + // a promotable replica. + // "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource + // has an automated backup policy. + // "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources + // has a short backup retention period. + // "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of + // a resource failed. + // "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a + // resource is older than some threshold value. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a + // resource violates CIS GCP Foundation 2.0. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a + // resource violates CIS GCP Foundation 1.3. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a + // resource violates CIS GCP Foundation 1.2. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a + // resource violates CIS GCP Foundation 1.1. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a + // resource violates CIS GCP Foundation 1.0. + // "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource + // violates NIST 800-53. + // "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource + // violates ISO-27001. + // "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource + // violates PCI-DSS v3.2.1. + // "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents + // if log_checkpoints database flag for a Cloud SQL for PostgreSQL + // instance is not set to on. + // "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the + // log_duration database flag for a Cloud SQL for PostgreSQL instance is + // not set to on. + // "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the + // log_error_verbosity database flag for a Cloud SQL for PostgreSQL + // instance is not set to default or stricter (default or terse). + // "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the + // log_lock_waits database flag for a Cloud SQL for PostgreSQL instance + // is not set to on. + // "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the + // log_min_error_statement database flag for a Cloud SQL for PostgreSQL + // instance is not set appropriately. + // "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the + // log_min_error_statement database flag for a Cloud SQL for PostgreSQL + // instance does not have an appropriate severity level. + // "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the + // log_min_messages database flag for a Cloud SQL for PostgreSQL + // instance is not set to warning or another recommended value. + // "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the + // databaseFlags property of instance metadata for the + // log_executor_status field is set to on. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if + // the log_hostname database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents + // if the log_parser_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents + // if the log_planner_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the + // log_statement database flag for a Cloud SQL for PostgreSQL instance + // is not set to DDL (all data definition statements). + // "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the + // log_statement_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the + // log_temp_files database flag for a Cloud SQL for PostgreSQL instance + // is not set to "0". (NOTE: 0 = ON) + // "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the + // user connections database flag for a Cloud SQL for SQL Server + // instance is configured. + // "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user + // options database flag for Cloud SQL SQL Server instance is configured + // or not. + // "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource + // is exposed to public access. + // "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources + // requires all incoming connections to use SSL or not. + // "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database + // has a password configured for the root account or not. + // "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL + // database has a weak password configured for the root account. + // "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a + // SQL database instance is not encrypted with customer-managed + // encryption keys (CMEK). + // "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if + // The contained database authentication database flag for a Cloud SQL + // for SQL Server instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the + // cross_db_ownership_chaining database flag for a Cloud SQL for SQL + // Server instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he + // external scripts enabled database flag for a Cloud SQL for SQL Server + // instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the + // local_infile database flag for a Cloud SQL for MySQL instance is not + // set to off. + // "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the + // log_connections database flag for a Cloud SQL for PostgreSQL instance + // is not set to on. + // "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the + // log_disconnections database flag for a Cloud SQL for PostgreSQL + // instance is not set to on. + // "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the + // log_min_duration_statement database flag for a Cloud SQL for + // PostgreSQL instance is not set to -1. + // "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote + // access database flag for a Cloud SQL for SQL Server instance is not + // set to off. + // "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the + // skip_show_database database flag for a Cloud SQL for MySQL instance + // is not set to on. + // "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the + // 3625 (trace flag) database flag for a Cloud SQL for SQL Server + // instance is not set to on. + // "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is + // enabled. + // "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce + // costs. + // "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are + // unnecessarily large for given workload. + // "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number + // of concurrently opened tables. + // "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count + // close to SLA limit. + // "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high + // number of unvacuumed transactions + // "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU + // and/or memory + // "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk. + // "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server + // certificate is near expiry. + // "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database + // auditing is disabled. + // "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not + // restricted to authorized networks. + // "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents + // violate org policy restrict public ip. + SignalType string `json:"signalType,omitempty"` + + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified state. + // "ACTIVE" - The signal requires attention and has not been addressed + // yet. + // "RESOLVED" - The signal has been fixed, triaged as a non-issue or + // otherwise addressed and is no longer active. + // "MUTED" - The signal has been muted. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdditionalMetadata") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdditionalMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseResourceHealthSignalData) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseResourceHealthSignalData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseResourceId: DatabaseResourceId will serve as primary key for +// any resource ingestion event. +type DatabaseResourceId struct { + // Provider: Required. Cloud provider name. Ex: + // GCP/AWS/Azure/OnPrem/SelfManaged + // + // Possible values: + // "PROVIDER_UNSPECIFIED" + // "GCP" - Google cloud platform provider + // "AWS" - Amazon web service + // "AZURE" - Azure web service + // "ONPREM" - On-prem database resources. + // "SELFMANAGED" - Self-managed database provider. These are resources + // on a cloud platform, e.g., database resource installed in a GCE VM, + // but not a managed database service. + // "PROVIDER_OTHER" - For the rest of the other categories. Other + // refers to the rest of other database service providers, this could be + // smaller cloud provider. This needs to be provided when the provider + // is known, but it is not present in the existing set of enum values. + Provider string `json:"provider,omitempty"` + + // ProviderDescription: Optional. Needs to be used only when the + // provider is PROVIDER_OTHER. + ProviderDescription string `json:"providerDescription,omitempty"` + + // ResourceType: Required. The type of resource this ID is identifying. + // Ex redis.googleapis.com/Instance, redis.googleapis.com/Cluster, + // alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance, + // spanner.googleapis.com/Instance REQUIRED Please refer + // go/condor-common-datamodel + ResourceType string `json:"resourceType,omitempty"` + + // UniqueId: Required. A service-local token that distinguishes this + // resource from other resources within the same service. + UniqueId string `json:"uniqueId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Provider") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Provider") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseResourceId) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseResourceId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseResourceMetadata: Common model for database resource instance +// metadata. +type DatabaseResourceMetadata struct { + // AvailabilityConfiguration: Availability configuration for this + // instance + AvailabilityConfiguration *AvailabilityConfiguration `json:"availabilityConfiguration,omitempty"` + + // BackupConfiguration: Backup configuration for this instance + BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"` + + // BackupRun: Latest backup run information for this instance + BackupRun *BackupRun `json:"backupRun,omitempty"` + + // CreationTime: The creation time of the resource, i.e. the time when + // resource is created and recorded in partner service. + CreationTime string `json:"creationTime,omitempty"` + + // CurrentState: Current state of the instance. + // + // Possible values: + // "STATE_UNSPECIFIED" + // "HEALTHY" - The instance is running. + // "UNHEALTHY" - Instance being created, updated, deleted or under + // maintenance + // "SUSPENDED" - When instance is suspended + // "DELETED" - Instance is deleted. + // "STATE_OTHER" - For rest of the other category + CurrentState string `json:"currentState,omitempty"` + + // CustomMetadata: Any custom metadata associated with the resource + CustomMetadata *CustomMetadataData `json:"customMetadata,omitempty"` + + // Entitlements: Entitlements associated with the resource + Entitlements []*Entitlement `json:"entitlements,omitempty"` + + // ExpectedState: The state that the instance is expected to be in. For + // example, an instance state can transition to UNHEALTHY due to wrong + // patch update, while the expected state will remain at the HEALTHY. + // + // Possible values: + // "STATE_UNSPECIFIED" + // "HEALTHY" - The instance is running. + // "UNHEALTHY" - Instance being created, updated, deleted or under + // maintenance + // "SUSPENDED" - When instance is suspended + // "DELETED" - Instance is deleted. + // "STATE_OTHER" - For rest of the other category + ExpectedState string `json:"expectedState,omitempty"` + + // Id: Required. Unique identifier for a Database resource + Id *DatabaseResourceId `json:"id,omitempty"` + + // InstanceType: The type of the instance. Specified at creation time. + // + // Possible values: + // "INSTANCE_TYPE_UNSPECIFIED" + // "SUB_RESOURCE_TYPE_UNSPECIFIED" - For rest of the other categories. + // "PRIMARY" - A regular primary database instance. + // "SECONDARY" - A cluster or an instance acting as a secondary. + // "READ_REPLICA" - An instance acting as a read-replica. + // "OTHER" - For rest of the other categories. + // "SUB_RESOURCE_TYPE_PRIMARY" - A regular primary database instance. + // "SUB_RESOURCE_TYPE_SECONDARY" - A cluster or an instance acting as + // a secondary. + // "SUB_RESOURCE_TYPE_READ_REPLICA" - An instance acting as a + // read-replica. + // "SUB_RESOURCE_TYPE_OTHER" - For rest of the other categories. + InstanceType string `json:"instanceType,omitempty"` + + // Location: The resource location. REQUIRED + Location string `json:"location,omitempty"` + + // PrimaryResourceId: Identifier for this resource's immediate + // parent/primary resource if the current resource is a replica or + // derived form of another Database resource. Else it would be NULL. + // REQUIRED if the immediate parent exists when first time resource is + // getting ingested + PrimaryResourceId *DatabaseResourceId `json:"primaryResourceId,omitempty"` + + // Product: The product this resource represents. + Product *Product `json:"product,omitempty"` + + // ResourceContainer: Closest parent Cloud Resource Manager container of + // this resource. It must be resource name of a Cloud Resource Manager + // project with the format of "/", such as "projects/123". For GCP + // provided resources, number should be project number. + ResourceContainer string `json:"resourceContainer,omitempty"` + + // ResourceName: Required. Different from DatabaseResourceId.unique_id, + // a resource name can be reused over time. That is, after a resource + // named "ABC" is deleted, the name "ABC" can be used to to create a new + // resource within the same source. Resource name to follow CAIS + // resource_name format as noted here go/condor-common-datamodel + ResourceName string `json:"resourceName,omitempty"` + + // UpdationTime: The time at which the resource was updated and recorded + // at partner service. + UpdationTime string `json:"updationTime,omitempty"` + + // UserLabels: User-provided labels, represented as a dictionary where + // each label is a single key value pair. + UserLabels map[string]string `json:"userLabels,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AvailabilityConfiguration") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "AvailabilityConfiguration") to include in API requests with the JSON + // null value. By default, fields with empty values are omitted from API + // requests. However, any field with an empty value appearing in + // NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseResourceMetadata) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseResourceMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatabaseResourceRecommendationSignalData: Common model for database +// resource recommendation signal data. +type DatabaseResourceRecommendationSignalData struct { + // AdditionalMetadata: Optional. Any other additional metadata specific + // to recommendation + AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"` + + // LastRefreshTime: Required. last time recommendationw as refreshed + LastRefreshTime string `json:"lastRefreshTime,omitempty"` + + // RecommendationState: Required. Recommendation state + // + // Possible values: + // "UNSPECIFIED" + // "ACTIVE" - Recommendation is active and can be applied. ACTIVE + // recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED. + // "CLAIMED" - Recommendation is in claimed state. Recommendations + // content is immutable and cannot be updated by Google. CLAIMED + // recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED. + // "SUCCEEDED" - Recommendation is in succeeded state. Recommendations + // content is immutable and cannot be updated by Google. SUCCEEDED + // recommendations can be marked as SUCCEEDED, or FAILED. + // "FAILED" - Recommendation is in failed state. Recommendations + // content is immutable and cannot be updated by Google. FAILED + // recommendations can be marked as SUCCEEDED, or FAILED. + // "DISMISSED" - Recommendation is in dismissed state. Recommendation + // content can be updated by Google. DISMISSED recommendations can be + // marked as ACTIVE. + RecommendationState string `json:"recommendationState,omitempty"` + + // Recommender: Required. Name of recommendation. Examples: + // organizations/1234/locations/us-central1/recommenders/google.cloudsql. + // instance.PerformanceRecommender/recommendations/9876 + Recommender string `json:"recommender,omitempty"` + + // RecommenderId: Required. ID of recommender. Examples: + // "google.cloudsql.instance.PerformanceRecommender" + RecommenderId string `json:"recommenderId,omitempty"` + + // RecommenderSubtype: Required. 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_TRANSA + // CTION_ID_UTILIZATION_BEST_PRACTICE" + RecommenderSubtype string `json:"recommenderSubtype,omitempty"` + + // ResourceName: Required. Database resource name associated with the + // signal. Resource name to follow CAIS resource_name format as noted + // here go/condor-common-datamodel + ResourceName string `json:"resourceName,omitempty"` + + // SignalType: Required. Type of signal, for example, + // `SIGNAL_TYPE_IDLE`, `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc. + // + // Possible values: + // "SIGNAL_TYPE_UNSPECIFIED" - Unspecified. + // "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a + // resource is protected by automatic failover. Checks for resources + // that are configured to have redundancy within a region that enables + // automatic failover. + // "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if + // a group is replicating across regions. Checks for resources that are + // configured to have redundancy, and ongoing replication, across + // regions. + // "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the + // resource is available in multiple zones or not. + // "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a + // resource is available in multiple regions. + // "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has + // a promotable replica. + // "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource + // has an automated backup policy. + // "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources + // has a short backup retention period. + // "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of + // a resource failed. + // "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a + // resource is older than some threshold value. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a + // resource violates CIS GCP Foundation 2.0. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a + // resource violates CIS GCP Foundation 1.3. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a + // resource violates CIS GCP Foundation 1.2. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a + // resource violates CIS GCP Foundation 1.1. + // "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a + // resource violates CIS GCP Foundation 1.0. + // "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource + // violates NIST 800-53. + // "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource + // violates ISO-27001. + // "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource + // violates PCI-DSS v3.2.1. + // "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents + // if log_checkpoints database flag for a Cloud SQL for PostgreSQL + // instance is not set to on. + // "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the + // log_duration database flag for a Cloud SQL for PostgreSQL instance is + // not set to on. + // "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the + // log_error_verbosity database flag for a Cloud SQL for PostgreSQL + // instance is not set to default or stricter (default or terse). + // "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the + // log_lock_waits database flag for a Cloud SQL for PostgreSQL instance + // is not set to on. + // "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the + // log_min_error_statement database flag for a Cloud SQL for PostgreSQL + // instance is not set appropriately. + // "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the + // log_min_error_statement database flag for a Cloud SQL for PostgreSQL + // instance does not have an appropriate severity level. + // "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the + // log_min_messages database flag for a Cloud SQL for PostgreSQL + // instance is not set to warning or another recommended value. + // "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the + // databaseFlags property of instance metadata for the + // log_executor_status field is set to on. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if + // the log_hostname database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents + // if the log_parser_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents + // if the log_planner_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the + // log_statement database flag for a Cloud SQL for PostgreSQL instance + // is not set to DDL (all data definition statements). + // "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the + // log_statement_stats database flag for a Cloud SQL for PostgreSQL + // instance is not set to off. + // "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the + // log_temp_files database flag for a Cloud SQL for PostgreSQL instance + // is not set to "0". (NOTE: 0 = ON) + // "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the + // user connections database flag for a Cloud SQL for SQL Server + // instance is configured. + // "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user + // options database flag for Cloud SQL SQL Server instance is configured + // or not. + // "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource + // is exposed to public access. + // "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources + // requires all incoming connections to use SSL or not. + // "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database + // has a password configured for the root account or not. + // "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL + // database has a weak password configured for the root account. + // "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a + // SQL database instance is not encrypted with customer-managed + // encryption keys (CMEK). + // "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if + // The contained database authentication database flag for a Cloud SQL + // for SQL Server instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the + // cross_db_ownership_chaining database flag for a Cloud SQL for SQL + // Server instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he + // external scripts enabled database flag for a Cloud SQL for SQL Server + // instance is not set to off. + // "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the + // local_infile database flag for a Cloud SQL for MySQL instance is not + // set to off. + // "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the + // log_connections database flag for a Cloud SQL for PostgreSQL instance + // is not set to on. + // "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the + // log_disconnections database flag for a Cloud SQL for PostgreSQL + // instance is not set to on. + // "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the + // log_min_duration_statement database flag for a Cloud SQL for + // PostgreSQL instance is not set to -1. + // "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote + // access database flag for a Cloud SQL for SQL Server instance is not + // set to off. + // "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the + // skip_show_database database flag for a Cloud SQL for MySQL instance + // is not set to on. + // "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the + // 3625 (trace flag) database flag for a Cloud SQL for SQL Server + // instance is not set to on. + // "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is + // enabled. + // "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce + // costs. + // "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are + // unnecessarily large for given workload. + // "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number + // of concurrently opened tables. + // "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count + // close to SLA limit. + // "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high + // number of unvacuumed transactions + // "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU + // and/or memory + // "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk. + // "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server + // certificate is near expiry. + // "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database + // auditing is disabled. + // "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not + // restricted to authorized networks. + // "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents + // violate org policy restrict public ip. + SignalType string `json:"signalType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdditionalMetadata") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdditionalMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DatabaseResourceRecommendationSignalData) MarshalJSON() ([]byte, error) { + type NoMethod DatabaseResourceRecommendationSignalData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DiscoveryEndpoint: Endpoints on each network, for Redis clients to // connect to the cluster. type DiscoveryEndpoint struct { @@ -433,6 +1415,53 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Entitlement: Proto representing the access that a user has to a +// specific feature/service. NextId: 3. +type Entitlement struct { + // EntitlementState: The current state of user's accessibility to a + // feature/benefit. + // + // Possible values: + // "ENTITLEMENT_STATE_UNSPECIFIED" + // "ENTITLED" - User is entitled to a feature/benefit, but whether it + // has been successfully provisioned is decided by provisioning state. + // "REVOKED" - User is entitled to a feature/benefit, but it was + // requested to be revoked. Whether the revoke has been successful is + // decided by provisioning state. + EntitlementState string `json:"entitlementState,omitempty"` + + // Type: An enum that represents the type of this entitlement. + // + // Possible values: + // "ENTITLEMENT_TYPE_UNSPECIFIED" + // "DUET_AI" - The root entitlement representing Duet AI package + // ownership. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EntitlementState") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EntitlementState") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Entitlement) MarshalJSON() ([]byte, error) { + type NoMethod Entitlement + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ExportInstanceRequest: Request for Export. type ExportInstanceRequest struct { // OutputConfig: Required. Specify data to be exported. @@ -1437,6 +2466,51 @@ func (s *Operation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationError: An error that occurred during a backup creation +// operation. +type OperationError struct { + // Code: Identifies the specific error that occurred. REQUIRED + Code string `json:"code,omitempty"` + + // Possible values: + // "OPERATION_ERROR_TYPE_UNSPECIFIED" - UNSPECIFIED means product type + // is not known or available. + // "KMS_KEY_ERROR" - key destroyed, expired, not found, unreachable or + // permission denied. + // "DATABASE_ERROR" - Database is not accessible + // "STOCKOUT_ERROR" - The zone or region does not have sufficient + // resources to handle the request at the moment + // "CANCELLATION_ERROR" - User initiated cancellation + // "SQLSERVER_ERROR" - SQL server specific error + // "INTERNAL_ERROR" - Any other internal error. + ErrorType string `json:"errorType,omitempty"` + + // Message: Additional information about the error encountered. REQUIRED + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationError) MarshalJSON() ([]byte, error) { + type NoMethod OperationError + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // OperationMetadata: Pre-defined metadata fields. type OperationMetadata struct { // ApiVersion: Output only. API version used to start the operation. @@ -1578,6 +2652,86 @@ func (s *PersistenceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Product: Product specification for Condor resources. +type Product struct { + // Engine: The specific engine that the underlying database is running. + // + // Possible values: + // "ENGINE_UNSPECIFIED" - UNSPECIFIED means engine type is not known + // or available. + // "ENGINE_MYSQL" - MySQL binary running as an engine in the database + // instance. + // "MYSQL" - MySQL binary running as engine in database instance. + // "ENGINE_POSTGRES" - Postgres binary running as engine in database + // instance. + // "POSTGRES" - Postgres binary running as engine in database + // instance. + // "ENGINE_SQL_SERVER" - SQLServer binary running as engine in + // database instance. + // "SQL_SERVER" - SQLServer binary running as engine in database + // instance. + // "ENGINE_NATIVE" - Native database binary running as engine in + // instance. + // "NATIVE" - Native database binary running as engine in instance. + // "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT" - Cloud Spanner with + // PostgreSQL dialect. + // "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT" - Cloud Spanner with + // Google SQL dialect. + // "ENGINE_MEMORYSTORE_FOR_REDIS" - Memorystore with Redis dialect. + // "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER" - Memorystore with Redis + // cluster dialect. + // "ENGINE_OTHER" - Other refers to rest of other database engine. + // This is to be when engine is known, but it is not present in this + // enum. + Engine string `json:"engine,omitempty"` + + // Type: Type of specific database product. It could be CloudSQL, + // AlloyDB etc.. + // + // Possible values: + // "PRODUCT_TYPE_UNSPECIFIED" - UNSPECIFIED means product type is not + // known or available. + // "PRODUCT_TYPE_CLOUD_SQL" - Cloud SQL product area in GCP + // "CLOUD_SQL" - Cloud SQL product area in GCP + // "PRODUCT_TYPE_ALLOYDB" - AlloyDB product area in GCP + // "ALLOYDB" - AlloyDB product area in GCP + // "PRODUCT_TYPE_SPANNER" - Spanner product area in GCP + // "PRODUCT_TYPE_ON_PREM" - On premises database product. + // "ON_PREM" - On premises database product. + // "PRODUCT_TYPE_MEMORYSTORE" - Memorystore product area in GCP + // "PRODUCT_TYPE_OTHER" - 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. + Type string `json:"type,omitempty"` + + // Version: 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.. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Engine") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Engine") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Product) MarshalJSON() ([]byte, error) { + type NoMethod Product + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type PscConfig struct { // Network: Required. The network where the IP address of the discovery // endpoint will be reserved, in the form of @@ -1741,6 +2895,48 @@ func (s *RescheduleMaintenanceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type RetentionSettings struct { + QuantityBasedRetention int64 `json:"quantityBasedRetention,omitempty"` + + // RetentionUnit: The unit that 'retained_backups' represents. + // + // Possible values: + // "RETENTION_UNIT_UNSPECIFIED" - Backup retention unit is + // unspecified, will be treated as COUNT. + // "COUNT" - Retention will be by count, eg. "retain the most recent 7 + // backups". + // "TIME" - Retention will be by Time, eg. "retain the last 7 days + // backups". + // "RETENTION_UNIT_OTHER" - For rest of the other category + RetentionUnit string `json:"retentionUnit,omitempty"` + + TimeBasedRetention string `json:"timeBasedRetention,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "QuantityBasedRetention") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QuantityBasedRetention") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RetentionSettings) MarshalJSON() ([]byte, error) { + type NoMethod RetentionSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // StateInfo: Represents additional information about the state of the // cluster. type StateInfo struct {