diff --git a/connectors/v1/connectors-api.json b/connectors/v1/connectors-api.json index 3a7a6c5cced..c0053724182 100644 --- a/connectors/v1/connectors-api.json +++ b/connectors/v1/connectors-api.json @@ -1095,6 +1095,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", "required": true, "type": "string" + }, + "schemaAsString": { + "description": "Optional. Flag to indicate if schema should be returned as string or not", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/runtimeActionSchemas", @@ -2497,7 +2502,7 @@ } } }, - "revision": "20240924", + "revision": "20241015", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -3463,6 +3468,10 @@ "format": "int64", "type": "string" }, + "connectorVersioningEnabled": { + "description": "Indicate whether connector versioning is enabled.", + "type": "boolean" + }, "deploymentModel": { "description": "Indicate whether connector is deployed on GKE/CloudRun", "enum": [ @@ -7036,6 +7045,11 @@ "readOnly": true, "type": "array" }, + "inputSchemaAsString": { + "description": "Output only. Input schema as string.", + "readOnly": true, + "type": "string" + }, "resultJsonSchema": { "$ref": "JsonSchema", "description": "Output only. JsonSchema representation of this action's result metadata", @@ -7048,6 +7062,11 @@ }, "readOnly": true, "type": "array" + }, + "resultSchemaAsString": { + "description": "Output only. Result schema as string.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -7671,22 +7690,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/connectors/v1/connectors-gen.go b/connectors/v1/connectors-gen.go index f1bc0db1b75..34df551c87c 100644 --- a/connectors/v1/connectors-gen.go +++ b/connectors/v1/connectors-gen.go @@ -1273,6 +1273,9 @@ type ConnectorInfraConfig struct { // ConnectionRatelimitWindowSeconds: The window used for ratelimiting runtime // requests to connections. ConnectionRatelimitWindowSeconds int64 `json:"connectionRatelimitWindowSeconds,omitempty,string"` + // ConnectorVersioningEnabled: Indicate whether connector versioning is + // enabled. + ConnectorVersioningEnabled bool `json:"connectorVersioningEnabled,omitempty"` // DeploymentModel: Indicate whether connector is deployed on GKE/CloudRun // // Possible values: @@ -4746,11 +4749,15 @@ type RuntimeActionSchema struct { // InputParameters: Output only. List of input parameter metadata for the // action. InputParameters []*InputParameter `json:"inputParameters,omitempty"` + // InputSchemaAsString: Output only. Input schema as string. + InputSchemaAsString string `json:"inputSchemaAsString,omitempty"` // ResultJsonSchema: Output only. JsonSchema representation of this action's // result metadata ResultJsonSchema *JsonSchema `json:"resultJsonSchema,omitempty"` // ResultMetadata: Output only. List of result field metadata. ResultMetadata []*ResultMetadata `json:"resultMetadata,omitempty"` + // ResultSchemaAsString: Output only. Result schema as string. + ResultSchemaAsString string `json:"resultSchemaAsString,omitempty"` // ForceSendFields is a list of field names (e.g. "Action") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See @@ -5456,16 +5463,19 @@ func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. type TimeOfDay struct { - // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may - // choose to allow the value "24:00:00" for scenarios like business closing - // time. + // Hours: Hours of a day in 24 hour format. Must be greater than or equal to 0 + // and typically must be less than or equal to 23. An API may choose to allow + // the value "24:00:00" for scenarios like business closing time. Hours int64 `json:"hours,omitempty"` - // Minutes: Minutes of hour of day. Must be from 0 to 59. + // Minutes: Minutes of an hour. Must be greater than or equal to 0 and less + // than or equal to 59. Minutes int64 `json:"minutes,omitempty"` - // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // Nanos: Fractions of seconds, in nanoseconds. Must be greater than or equal + // to 0 and less than or equal to 999,999,999. Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. + // Seconds: Seconds of a minute. Must be greater than or equal to 0 and + // typically must be less than or equal to 59. An API may allow the value 60 if + // it allows leap-seconds. Seconds int64 `json:"seconds,omitempty"` // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally // include in API requests. By default, fields with empty or default values are @@ -9056,6 +9066,13 @@ func (c *ProjectsLocationsConnectionsRuntimeActionSchemasListCall) PageToken(pag return c } +// SchemaAsString sets the optional parameter "schemaAsString": Flag to +// indicate if schema should be returned as string or not +func (c *ProjectsLocationsConnectionsRuntimeActionSchemasListCall) SchemaAsString(schemaAsString bool) *ProjectsLocationsConnectionsRuntimeActionSchemasListCall { + c.urlParams_.Set("schemaAsString", fmt.Sprint(schemaAsString)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. diff --git a/connectors/v2/connectors-api.json b/connectors/v2/connectors-api.json index 080f2b678a2..dbdc7540aaa 100644 --- a/connectors/v2/connectors-api.json +++ b/connectors/v2/connectors-api.json @@ -660,7 +660,7 @@ } } }, - "revision": "20240729", + "revision": "20241015", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AccessCredentials": { @@ -2403,22 +2403,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/connectors/v2/connectors-gen.go b/connectors/v2/connectors-gen.go index 550eaa66093..083d25a5523 100644 --- a/connectors/v2/connectors-gen.go +++ b/connectors/v2/connectors-gen.go @@ -1814,16 +1814,19 @@ func (s SloMetadata) MarshalJSON() ([]byte, error) { // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. type TimeOfDay struct { - // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may - // choose to allow the value "24:00:00" for scenarios like business closing - // time. + // Hours: Hours of a day in 24 hour format. Must be greater than or equal to 0 + // and typically must be less than or equal to 23. An API may choose to allow + // the value "24:00:00" for scenarios like business closing time. Hours int64 `json:"hours,omitempty"` - // Minutes: Minutes of hour of day. Must be from 0 to 59. + // Minutes: Minutes of an hour. Must be greater than or equal to 0 and less + // than or equal to 59. Minutes int64 `json:"minutes,omitempty"` - // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // Nanos: Fractions of seconds, in nanoseconds. Must be greater than or equal + // to 0 and less than or equal to 999,999,999. Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. + // Seconds: Seconds of a minute. Must be greater than or equal to 0 and + // typically must be less than or equal to 59. An API may allow the value 60 if + // it allows leap-seconds. Seconds int64 `json:"seconds,omitempty"` // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally // include in API requests. By default, fields with empty or default values are diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index c30637a8b95..5533c9a6eea 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -1457,7 +1457,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4705,7 +4705,7 @@ } } }, - "revision": "20241015", + "revision": "20241022", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index c9eeecb7d3c..2e1c2733dba 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -17572,8 +17572,8 @@ func (r *ConversionsourcesService) Patch(merchantId int64, conversionSourceId st return c } -// UpdateMask sets the optional parameter "updateMask": Required. List of -// fields being updated. +// UpdateMask sets the optional parameter "updateMask": List of fields being +// updated. func (c *ConversionsourcesPatchCall) UpdateMask(updateMask string) *ConversionsourcesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c diff --git a/dialogflow/v2beta1/dialogflow-api.json b/dialogflow/v2beta1/dialogflow-api.json index dfa13c901b6..fdd85c0877b 100644 --- a/dialogflow/v2beta1/dialogflow-api.json +++ b/dialogflow/v2beta1/dialogflow-api.json @@ -8082,7 +8082,7 @@ } } }, - "revision": "20241018", + "revision": "20241019", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -14451,6 +14451,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -17230,6 +17238,11 @@ "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings", "description": "Determines how recent conversation context is filtered when generating suggestions. If unspecified, no messages will be dropped." }, + "contextSize": { + "description": "Optional. The number of recent messages to include in the context. Supported features: KNOWLEDGE_ASSIST.", + "format": "int32", + "type": "integer" + }, "dialogflowQuerySource": { "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource", "description": "Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST, ENTITY_EXTRACTION." @@ -17672,6 +17685,13 @@ }, "type": "array" }, + "phraseSets": { + "description": "A collection of phrase set resources to use for speech adaptation.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", @@ -19072,6 +19092,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -20092,6 +20120,14 @@ "description": "The sources of the answers.", "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata associated with the article.", + "type": "object" + }, "snippet": { "description": "The relevant snippet of the article.", "type": "string" @@ -20119,6 +20155,18 @@ "description": "Required. The conversation profile used to configure the search. Format: `projects//locations//conversationProfiles/`.", "type": "string" }, + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { \"subscription plan\": \"Business Premium Plus\", \"devices owned\": [ {\"model\": \"Google Pixel 7\"}, {\"model\": \"Google Pixel Tablet\"} ] } ```", + "type": "object" + }, + "exactSearch": { + "description": "Optional. Whether to search the query exactly without query rewrite.", + "type": "boolean" + }, "latestMessage": { "description": "Optional. The name of the latest conversation message when the request is triggered. Format: `projects//locations//conversations//messages/`.", "type": "string" @@ -20131,6 +20179,24 @@ "$ref": "GoogleCloudDialogflowV2beta1TextInput", "description": "Required. The natural language text query for knowledge search." }, + "querySource": { + "description": "Optional. The source of the query in the request.", + "enum": [ + "QUERY_SOURCE_UNSPECIFIED", + "AGENT_QUERY", + "SUGGESTED_QUERY" + ], + "enumDescriptions": [ + "Unknown query source.", + "The query is from agents.", + "The query is a suggested query from Participants.SuggestKnowledgeAssist." + ], + "type": "string" + }, + "searchConfig": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig", + "description": "Optional. Configuration specific to search queries with data stores." + }, "sessionId": { "description": "Required. The ID of the search session. The session_id can be combined with Dialogflow V3 Agent ID retrieved from conversation profile or on its own to identify a search session. The search history of the same session will impact the search result. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length must not exceed 36 characters.", "type": "string" @@ -20138,6 +20204,160 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig": { + "description": "Configuration specific to search queries with data stores.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specifications for data stores.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs" + }, + "type": "array" + }, + "filterSpecs": { + "description": "Optional. Filter specification for data store queries.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs": { + "description": "Boost specifications for data stores.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs", + "properties": { + "dataStores": { + "description": "Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Optional. A list of boosting specifications.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec": { + "description": "Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec": { + "description": "Boost applies to documents which match a condition.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": * (id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\",\"Blue\"))", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs": { + "description": "Filter specification for data store queries.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs", + "properties": { + "dataStores": { + "description": "Optional. The data store where the filter configuration is applied. Full resource name of data store, such as projects/{project}/locations/{location}/collections/{collectionId}/ dataStores/{dataStoreId}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SearchKnowledgeResponse": { "description": "The response message for Conversations.SearchKnowledge.", "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeResponse", @@ -20391,6 +20611,13 @@ "description": "Which Speech model to select. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then Dialogflow auto-selects a model based on other parameters in the SpeechToTextConfig and Agent settings. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) for more details. If you specify a model, the following models typically have the best performance: - phone_call (best for Agent Assist and telephony) - latest_short (best for Dialogflow non-telephony) - command_and_search Leave this field unspecified to use [Agent Speech settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) for model selection.", "type": "string" }, + "phraseSets": { + "description": "List of names of Cloud Speech phrase sets that are used for transcription.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go index c7ad6f31271..4b2338543c8 100644 --- a/dialogflow/v2beta1/dialogflow-gen.go +++ b/dialogflow/v2beta1/dialogflow-gen.go @@ -9747,21 +9747,23 @@ func (s GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSn // ippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -13657,6 +13659,9 @@ type GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfig // filtered when generating suggestions. If unspecified, no messages will be // dropped. ContextFilterSettings *GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings `json:"contextFilterSettings,omitempty"` + // ContextSize: Optional. The number of recent messages to include in the + // context. Supported features: KNOWLEDGE_ASSIST. + ContextSize int64 `json:"contextSize,omitempty"` // DialogflowQuerySource: Query from Dialogflow agent. It is used by // DIALOGFLOW_ASSIST, ENTITY_EXTRACTION. DialogflowQuerySource *GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource `json:"dialogflowQuerySource,omitempty"` @@ -14377,6 +14382,9 @@ type GoogleCloudDialogflowV2beta1InputAudioConfig struct { // If you specify both `phrase_hints` () and `speech_contexts` (), Dialogflow // will treat the `phrase_hints` () as a single additional `SpeechContext` (). PhraseHints []string `json:"phraseHints,omitempty"` + // PhraseSets: A collection of phrase set resources to use for speech + // adaptation. + PhraseSets []string `json:"phraseSets,omitempty"` // SampleRateHertz: Required. Sample rate (in Hertz) of the audio content sent // in the query. Refer to Cloud Speech API documentation // (https://cloud.google.com/speech-to-text/docs/basics) for more details. @@ -16246,21 +16254,23 @@ func (s GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerati // GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // rceSnippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -17705,19 +17715,21 @@ func (s GoogleCloudDialogflowV2beta1SearchKnowledgeAnswer) MarshalJSON() ([]byte // GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource: The sources // of the answers. type GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource struct { + // Metadata: Metadata associated with the article. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Snippet: The relevant snippet of the article. Snippet string `json:"snippet,omitempty"` // Title: The title of the article. Title string `json:"title,omitempty"` // Uri: The URI of the article. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Snippet") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Snippet") to include in API + // NullFields is a list of field names (e.g. "Metadata") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -17739,6 +17751,16 @@ type GoogleCloudDialogflowV2beta1SearchKnowledgeRequest struct { // ConversationProfile: Required. The conversation profile used to configure // the search. Format: `projects//locations//conversationProfiles/`. ConversationProfile string `json:"conversationProfile,omitempty"` + // EndUserMetadata: Optional. Information about the end-user to improve the + // relevance and accuracy of generative answers. This will be interpreted and + // used by a language model, so, for good results, the data should be + // self-descriptive, and in a simple structure. Example: ```json { + // "subscription plan": "Business Premium Plus", "devices owned": [ {"model": + // "Google Pixel 7"}, {"model": "Google Pixel Tablet"} ] } ``` + EndUserMetadata googleapi.RawMessage `json:"endUserMetadata,omitempty"` + // ExactSearch: Optional. Whether to search the query exactly without query + // rewrite. + ExactSearch bool `json:"exactSearch,omitempty"` // LatestMessage: Optional. The name of the latest conversation message when // the request is triggered. Format: // `projects//locations//conversations//messages/`. @@ -17748,6 +17770,17 @@ type GoogleCloudDialogflowV2beta1SearchKnowledgeRequest struct { Parent string `json:"parent,omitempty"` // Query: Required. The natural language text query for knowledge search. Query *GoogleCloudDialogflowV2beta1TextInput `json:"query,omitempty"` + // QuerySource: Optional. The source of the query in the request. + // + // Possible values: + // "QUERY_SOURCE_UNSPECIFIED" - Unknown query source. + // "AGENT_QUERY" - The query is from agents. + // "SUGGESTED_QUERY" - The query is a suggested query from + // Participants.SuggestKnowledgeAssist. + QuerySource string `json:"querySource,omitempty"` + // SearchConfig: Optional. Configuration specific to search queries with data + // stores. + SearchConfig *GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig `json:"searchConfig,omitempty"` // SessionId: Required. The ID of the search session. The session_id can be // combined with Dialogflow V3 Agent ID retrieved from conversation profile or // on its own to identify a search session. The search history of the same @@ -17774,6 +17807,276 @@ func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequest) MarshalJSON() ([]byt return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig: +// Configuration specific to search queries with data stores. +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig struct { + // BoostSpecs: Optional. Boost specifications for data stores. + BoostSpecs []*GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs `json:"boostSpecs,omitempty"` + // FilterSpecs: Optional. Filter specification for data store queries. + FilterSpecs []*GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs `json:"filterSpecs,omitempty"` + // ForceSendFields is a list of field names (e.g. "BoostSpecs") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BoostSpecs") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs: +// Boost specifications for data stores. +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs struct { + // DataStores: Optional. Data Stores where the boosting configuration is + // applied. The full names of the referenced data stores. Formats: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/ + // {data_store}` + // `projects/{project}/locations/{location}/dataStores/{data_store} + DataStores []string `json:"dataStores,omitempty"` + // Spec: Optional. A list of boosting specifications. + Spec []*GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec `json:"spec,omitempty"` + // ForceSendFields is a list of field names (e.g. "DataStores") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DataStores") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoost +// Spec: Boost specification to boost certain documents. A copy of +// google.cloud.discoveryengine.v1main.BoostSpec, field documentation is +// available at +// https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec struct { + // ConditionBoostSpecs: Optional. Condition boost specifications. If a document + // matches multiple conditions in the specifictions, boost scores from these + // specifications are all applied and combined in a non-linear way. Maximum + // number of specifications is 20. + ConditionBoostSpecs []*GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec `json:"conditionBoostSpecs,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConditionBoostSpecs") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ConditionBoostSpecs") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoost +// SpecConditionBoostSpec: Boost applies to documents which match a condition. +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec struct { + // Boost: Optional. Strength of the condition boost, which should be in [-1, + // 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the + // document a big promotion. However, it does not necessarily mean that the + // boosted document will be the top result at all times, nor that other + // documents will be excluded. Results could still be shown even when none of + // them matches the condition. And results that are significantly more relevant + // to the search query can still trump your heavily favored but irrelevant + // documents. Setting to -1.0 gives the document a big demotion. However, + // results that are deeply relevant might still be shown. The document will + // have an upstream battle to get a fairly high ranking, but it is not blocked + // out completely. Setting to 0.0 means no boost applied. The boosting + // condition is ignored. + Boost float64 `json:"boost,omitempty"` + // BoostControlSpec: Optional. Complex specification for custom ranking based + // on customer defined attribute value. + BoostControlSpec *GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec `json:"boostControlSpec,omitempty"` + // Condition: Optional. An expression which specifies a boost condition. The + // syntax and supported fields are the same as a filter expression. Examples: * + // To boost documents with document ID "doc_1" or "doc_2", and color "Red" or + // "Blue": * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + Condition string `json:"condition,omitempty"` + // ForceSendFields is a list of field names (e.g. "Boost") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Boost") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec + var s1 struct { + Boost gensupport.JSONFloat64 `json:"boost"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Boost = float64(s1.Boost) + return nil +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoost +// SpecConditionBoostSpecBoostControlSpec: Specification for custom ranking +// based on customer specified attribute value. It provides more controls for +// customized ranking than the simple (condition, boost) combination above. +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec struct { + // AttributeType: Optional. The attribute type to be used to determine the + // boost amount. The attribute value can be derived from the field value of the + // specified field_name. In the case of numerical it is straightforward i.e. + // attribute_value = numerical_field_value. In the case of freshness however, + // attribute_value = (time.now() - datetime_field_value). + // + // Possible values: + // "ATTRIBUTE_TYPE_UNSPECIFIED" - Unspecified AttributeType. + // "NUMERICAL" - The value of the numerical field will be used to dynamically + // update the boost amount. In this case, the attribute_value (the x value) of + // the control point will be the actual value of the numerical field for which + // the boost_amount is specified. + // "FRESHNESS" - For the freshness use case the attribute value will be the + // duration between the current time and the date in the datetime field + // specified. The value must be formatted as an XSD `dayTimeDuration` value (a + // restricted subset of an ISO 8601 duration value). The pattern for this is: + // `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`. + AttributeType string `json:"attributeType,omitempty"` + // ControlPoints: Optional. The control points used to define the curve. The + // monotonic function (defined through the interpolation_type above) passes + // through the control points listed here. + ControlPoints []*GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint `json:"controlPoints,omitempty"` + // FieldName: Optional. The name of the field whose value will be used to + // determine the boost amount. + FieldName string `json:"fieldName,omitempty"` + // InterpolationType: Optional. The interpolation type to be applied to connect + // the control points listed below. + // + // Possible values: + // "INTERPOLATION_TYPE_UNSPECIFIED" - Interpolation type is unspecified. In + // this case, it defaults to Linear. + // "LINEAR" - Piecewise linear interpolation will be applied. + InterpolationType string `json:"interpolationType,omitempty"` + // ForceSendFields is a list of field names (e.g. "AttributeType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AttributeType") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoost +// SpecConditionBoostSpecBoostControlSpecControlPoint: The control points used +// to define the curve. The curve defined through these control points can only +// be monotonically increasing or decreasing(constant values are acceptable). +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint struct { + // AttributeValue: Optional. Can be one of: 1. The numerical field value. 2. + // The duration spec for freshness: The value must be formatted as an XSD + // `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). + // The pattern for this is: `nDnM]`. + AttributeValue string `json:"attributeValue,omitempty"` + // BoostAmount: Optional. The value between -1 to 1 by which to boost the score + // if the attribute_value evaluates to the value specified above. + BoostAmount float64 `json:"boostAmount,omitempty"` + // ForceSendFields is a list of field names (e.g. "AttributeValue") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AttributeValue") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint + var s1 struct { + BoostAmount gensupport.JSONFloat64 `json:"boostAmount"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.BoostAmount = float64(s1.BoostAmount) + return nil +} + +// GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs: +// Filter specification for data store queries. +type GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs struct { + // DataStores: Optional. The data store where the filter configuration is + // applied. Full resource name of data store, such as + // projects/{project}/locations/{location}/collections/{collectionId}/ + // dataStores/{dataStoreId}. + DataStores []string `json:"dataStores,omitempty"` + // Filter: Optional. The filter expression to be applied. Expression syntax is + // documented at + // https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax + Filter string `json:"filter,omitempty"` + // ForceSendFields is a list of field names (e.g. "DataStores") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DataStores") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudDialogflowV2beta1SearchKnowledgeResponse: The response message // for Conversations.SearchKnowledge. type GoogleCloudDialogflowV2beta1SearchKnowledgeResponse struct { @@ -18213,6 +18516,9 @@ type GoogleCloudDialogflowV2beta1SpeechToTextConfig struct { // (https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) // for model selection. Model string `json:"model,omitempty"` + // PhraseSets: List of names of Cloud Speech phrase sets that are used for + // transcription. + PhraseSets []string `json:"phraseSets,omitempty"` // SampleRateHertz: Sample rate (in Hertz) of the audio content sent in the // query. Refer to Cloud Speech API documentation // (https://cloud.google.com/speech-to-text/docs/basics) for more details. diff --git a/dialogflow/v3/dialogflow-api.json b/dialogflow/v3/dialogflow-api.json index bfc9f0af24d..d4a38b42b2d 100644 --- a/dialogflow/v3/dialogflow-api.json +++ b/dialogflow/v3/dialogflow-api.json @@ -4453,7 +4453,7 @@ } } }, - "revision": "20241018", + "revision": "20241019", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -14282,6 +14282,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -16704,6 +16712,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" diff --git a/dialogflow/v3/dialogflow-gen.go b/dialogflow/v3/dialogflow-gen.go index dc4c6870a7e..ee1de38db48 100644 --- a/dialogflow/v3/dialogflow-gen.go +++ b/dialogflow/v3/dialogflow-gen.go @@ -14332,21 +14332,23 @@ func (s GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSn // ippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -17678,21 +17680,23 @@ func (s GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerati // GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // rceSnippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } diff --git a/dialogflow/v3beta1/dialogflow-api.json b/dialogflow/v3beta1/dialogflow-api.json index 992177564d0..7b24fcc7f5f 100644 --- a/dialogflow/v3beta1/dialogflow-api.json +++ b/dialogflow/v3beta1/dialogflow-api.json @@ -5185,7 +5185,7 @@ } } }, - "revision": "20241018", + "revision": "20241019", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -16352,6 +16352,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -18774,6 +18782,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" diff --git a/dialogflow/v3beta1/dialogflow-gen.go b/dialogflow/v3beta1/dialogflow-gen.go index 8d4a2c7ba0b..1fcd40b497f 100644 --- a/dialogflow/v3beta1/dialogflow-gen.go +++ b/dialogflow/v3beta1/dialogflow-gen.go @@ -16023,21 +16023,23 @@ func (s GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSn // ippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -19369,21 +19371,23 @@ func (s GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerati // GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSou // rceSnippet: Snippet Source for a Generative Prediction. type GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet struct { + // Metadata: Metadata of the document. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Text: Text taken from that URI. Text string `json:"text,omitempty"` // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: URI the data is sourced from. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "Metadata") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } diff --git a/merchantapi/datasources_v1beta/merchantapi-api.json b/merchantapi/datasources_v1beta/merchantapi-api.json index b8ac0b6e72d..e0f459476bd 100644 --- a/merchantapi/datasources_v1beta/merchantapi-api.json +++ b/merchantapi/datasources_v1beta/merchantapi-api.json @@ -321,7 +321,7 @@ } } }, - "revision": "20241016", + "revision": "20241022", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -857,6 +857,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/merchantapi/datasources_v1beta/merchantapi-gen.go b/merchantapi/datasources_v1beta/merchantapi-gen.go index 1736c8a1834..d6a18df0939 100644 --- a/merchantapi/datasources_v1beta/merchantapi-gen.go +++ b/merchantapi/datasources_v1beta/merchantapi-gen.go @@ -737,6 +737,8 @@ type ProductStatusChangeMessage struct { Attribute string `json:"attribute,omitempty"` // Changes: A message to describe the change that happened to the product Changes []*ProductChange `json:"changes,omitempty"` + // ExpirationTime: The product expiration time. + ExpirationTime string `json:"expirationTime,omitempty"` // ManagingAccount: The account that manages the merchant's account. can be the // same as merchant id if it is standalone account. Format : // `accounts/{service_provider_id}` diff --git a/merchantapi/inventories_v1beta/merchantapi-api.json b/merchantapi/inventories_v1beta/merchantapi-api.json index b39b3a56fab..cd21b293baa 100644 --- a/merchantapi/inventories_v1beta/merchantapi-api.json +++ b/merchantapi/inventories_v1beta/merchantapi-api.json @@ -300,7 +300,7 @@ } } }, - "revision": "20240827", + "revision": "20241022", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -569,6 +569,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/merchantapi/inventories_v1beta/merchantapi-gen.go b/merchantapi/inventories_v1beta/merchantapi-gen.go index 7f23e6f6a34..f2a6fb9a1fc 100644 --- a/merchantapi/inventories_v1beta/merchantapi-gen.go +++ b/merchantapi/inventories_v1beta/merchantapi-gen.go @@ -503,6 +503,8 @@ type ProductStatusChangeMessage struct { Attribute string `json:"attribute,omitempty"` // Changes: A message to describe the change that happened to the product Changes []*ProductChange `json:"changes,omitempty"` + // ExpirationTime: The product expiration time. + ExpirationTime string `json:"expirationTime,omitempty"` // ManagingAccount: The account that manages the merchant's account. can be the // same as merchant id if it is standalone account. Format : // `accounts/{service_provider_id}` diff --git a/merchantapi/products_v1beta/merchantapi-api.json b/merchantapi/products_v1beta/merchantapi-api.json index 01d35efe9ef..cdff7dd0ecf 100644 --- a/merchantapi/products_v1beta/merchantapi-api.json +++ b/merchantapi/products_v1beta/merchantapi-api.json @@ -242,7 +242,7 @@ } } }, - "revision": "20241015", + "revision": "20241022", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1441,6 +1441,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/merchantapi/products_v1beta/merchantapi-gen.go b/merchantapi/products_v1beta/merchantapi-gen.go index 23c051461a1..c04ae149cf0 100644 --- a/merchantapi/products_v1beta/merchantapi-gen.go +++ b/merchantapi/products_v1beta/merchantapi-gen.go @@ -1349,6 +1349,8 @@ type ProductStatusChangeMessage struct { Attribute string `json:"attribute,omitempty"` // Changes: A message to describe the change that happened to the product Changes []*ProductChange `json:"changes,omitempty"` + // ExpirationTime: The product expiration time. + ExpirationTime string `json:"expirationTime,omitempty"` // ManagingAccount: The account that manages the merchant's account. can be the // same as merchant id if it is standalone account. Format : // `accounts/{service_provider_id}` diff --git a/merchantapi/promotions_v1beta/merchantapi-api.json b/merchantapi/promotions_v1beta/merchantapi-api.json index 47f8eb76943..487aaca2c01 100644 --- a/merchantapi/promotions_v1beta/merchantapi-api.json +++ b/merchantapi/promotions_v1beta/merchantapi-api.json @@ -203,7 +203,7 @@ } } }, - "revision": "20241015", + "revision": "20241022", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -871,6 +871,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/merchantapi/promotions_v1beta/merchantapi-gen.go b/merchantapi/promotions_v1beta/merchantapi-gen.go index 27dd0df062b..bf1c45d7848 100644 --- a/merchantapi/promotions_v1beta/merchantapi-gen.go +++ b/merchantapi/promotions_v1beta/merchantapi-gen.go @@ -795,6 +795,8 @@ type ProductStatusChangeMessage struct { Attribute string `json:"attribute,omitempty"` // Changes: A message to describe the change that happened to the product Changes []*ProductChange `json:"changes,omitempty"` + // ExpirationTime: The product expiration time. + ExpirationTime string `json:"expirationTime,omitempty"` // ManagingAccount: The account that manages the merchant's account. can be the // same as merchant id if it is standalone account. Format : // `accounts/{service_provider_id}` diff --git a/merchantapi/reports_v1beta/merchantapi-api.json b/merchantapi/reports_v1beta/merchantapi-api.json index 72081e70c44..5f25a0ede2d 100644 --- a/merchantapi/reports_v1beta/merchantapi-api.json +++ b/merchantapi/reports_v1beta/merchantapi-api.json @@ -142,7 +142,7 @@ } } }, - "revision": "20240827", + "revision": "20241022", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1237,6 +1237,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/merchantapi/reports_v1beta/merchantapi-gen.go b/merchantapi/reports_v1beta/merchantapi-gen.go index c6694e90e73..b6b3eb00905 100644 --- a/merchantapi/reports_v1beta/merchantapi-gen.go +++ b/merchantapi/reports_v1beta/merchantapi-gen.go @@ -1365,6 +1365,8 @@ type ProductStatusChangeMessage struct { Attribute string `json:"attribute,omitempty"` // Changes: A message to describe the change that happened to the product Changes []*ProductChange `json:"changes,omitempty"` + // ExpirationTime: The product expiration time. + ExpirationTime string `json:"expirationTime,omitempty"` // ManagingAccount: The account that manages the merchant's account. can be the // same as merchant id if it is standalone account. Format : // `accounts/{service_provider_id}` diff --git a/migrationcenter/v1alpha1/migrationcenter-api.json b/migrationcenter/v1alpha1/migrationcenter-api.json index 5fb8e273a94..65236d324ec 100644 --- a/migrationcenter/v1alpha1/migrationcenter-api.json +++ b/migrationcenter/v1alpha1/migrationcenter-api.json @@ -2548,7 +2548,7 @@ } } }, - "revision": "20241001", + "revision": "20241014", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -3647,7 +3647,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -3729,7 +3729,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -4199,7 +4199,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -7469,7 +7469,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." diff --git a/migrationcenter/v1alpha1/migrationcenter-gen.go b/migrationcenter/v1alpha1/migrationcenter-gen.go index e1a05cdf526..409bc466a5b 100644 --- a/migrationcenter/v1alpha1/migrationcenter-gen.go +++ b/migrationcenter/v1alpha1/migrationcenter-gen.go @@ -1546,9 +1546,8 @@ type ComputeEnginePreferences struct { // all types are considered, based on available usage data. // // Possible values: - // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified (default value). - // Selecting this value allows the system to use any disk type according to - // reported usage. This a good value to start with. + // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified. Fallback to default + // value based on context. // "PERSISTENT_DISK_TYPE_STANDARD" - Standard HDD Persistent Disk. // "PERSISTENT_DISK_TYPE_BALANCED" - Balanced Persistent Disk. // "PERSISTENT_DISK_TYPE_SSD" - SSD Persistent Disk. @@ -1618,9 +1617,8 @@ type ComputeStorageDescriptor struct { // Type: Output only. Disk type backing the storage. // // Possible values: - // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified (default value). - // Selecting this value allows the system to use any disk type according to - // reported usage. This a good value to start with. + // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified. Fallback to default + // value based on context. // "PERSISTENT_DISK_TYPE_STANDARD" - Standard HDD Persistent Disk. // "PERSISTENT_DISK_TYPE_BALANCED" - Balanced Persistent Disk. // "PERSISTENT_DISK_TYPE_SSD" - SSD Persistent Disk. @@ -2199,9 +2197,8 @@ type DatabasePreferencesCloudSqlCommon struct { // types are available. // // Possible values: - // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified (default value). - // Selecting this value allows the system to use any disk type according to - // reported usage. This a good value to start with. + // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified. Fallback to default + // value based on context. // "PERSISTENT_DISK_TYPE_STANDARD" - Standard HDD Persistent Disk. // "PERSISTENT_DISK_TYPE_BALANCED" - Balanced Persistent Disk. // "PERSISTENT_DISK_TYPE_SSD" - SSD Persistent Disk. @@ -5947,9 +5944,8 @@ type ReportSummaryMachineFinding struct { // AllocatedDiskTypes: Set of disk types allocated to assets. // // Possible values: - // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified (default value). - // Selecting this value allows the system to use any disk type according to - // reported usage. This a good value to start with. + // "PERSISTENT_DISK_TYPE_UNSPECIFIED" - Unspecified. Fallback to default + // value based on context. // "PERSISTENT_DISK_TYPE_STANDARD" - Standard HDD Persistent Disk. // "PERSISTENT_DISK_TYPE_BALANCED" - Balanced Persistent Disk. // "PERSISTENT_DISK_TYPE_SSD" - SSD Persistent Disk. diff --git a/networkservices/v1beta1/networkservices-api.json b/networkservices/v1beta1/networkservices-api.json index cd86f26d00f..209a7904c7c 100644 --- a/networkservices/v1beta1/networkservices-api.json +++ b/networkservices/v1beta1/networkservices-api.json @@ -1885,7 +1885,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/serviceLbPolicies/[^/]+$", "required": true, @@ -2224,13 +2224,310 @@ ] } } + }, + "wasmPlugins": { + "methods": { + "create": { + "description": "Creates a new `WasmPlugin` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPlugin` resource. Must be in the format `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginId": { + "description": "Required. User-provided ID of the `WasmPlugin` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wasmPlugins", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Determine how much data should be returned by the API. See [AIP-157](https://google.aip.dev/157).", + "enum": [ + "WASM_PLUGIN_VIEW_UNSPECIFIED", + "WASM_PLUGIN_VIEW_BASIC", + "WASM_PLUGIN_VIEW_FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include just WasmPlugin record.", + "Include WasmPlugin record and all its WasmPluginVersions." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WasmPlugin" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPlugin` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPlugin` resources to return per call. If not specified, at most 50 `WasmPlugin`s are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginsResponse` call. Indicates that this is a continuation of a prior `ListWasmPlugins` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `WasmPlugin` resources are listed, specified in the following format: `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wasmPlugins", + "response": { + "$ref": "ListWasmPluginsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.wasmPlugins.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Used to specify the fields to be overwritten in the `WasmPlugin` resource by the update. The fields specified in the `update_mask` field are relative to the resource, not the full request. An omitted `update_mask` field is treated as an implied `update_mask` field equivalent to all fields that are populated (that have a non-empty value). The `update_mask` field supports a special value `*`, which means that each field in the given `WasmPlugin` resource (including the empty ones) replaces the current value.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "create": { + "description": "Creates a new `WasmPluginVersion` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPluginVersion` resource. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginVersionId": { + "description": "Required. User-provided ID of the `WasmPluginVersion` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "request": { + "$ref": "WasmPluginVersion" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPluginVersion` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPluginVersion` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WasmPluginVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPluginVersion` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion`s are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListWasmPluginVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } } } }, - "revision": "20240919", + "revision": "20241010", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -2443,7 +2740,7 @@ "id": "ExtensionChainExtension", "properties": { "authority": { - "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions.", + "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. This field is not supported for plugin extensions and must not be set.", "type": "string" }, "failOpen": { @@ -2457,12 +2754,20 @@ }, "type": "array" }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions and must not be set.", + "type": "object" + }, "name": { "description": "Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number.", "type": "string" }, "service": { - "description": "Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", + "description": "Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`. To configure a plugin extension, this must be a reference to a [wasm plugin](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) in the format: `projects/{project}/locations/{location}/wasmPlugins/{plugin}` or `//networkservices.googleapis.com/projects/{project}/locations/{location}/wasmPlugins/{wasmPlugin}`.", "type": "string" }, "supportedEvents": { @@ -2491,7 +2796,7 @@ "type": "array" }, "timeout": { - "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions.", + "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for callout extensions. This field is not supported for plugin extensions and must not be set.", "format": "google-duration", "type": "string" } @@ -3555,7 +3860,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions and must not be set.", "type": "object" }, "name": { @@ -3625,7 +3930,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions and must not be set.", "type": "object" }, "name": { @@ -3921,6 +4226,42 @@ }, "type": "object" }, + "ListWasmPluginVersionsResponse": { + "description": "Response returned by the `ListWasmPluginVersions` method.", + "id": "ListWasmPluginVersionsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPluginVersions": { + "description": "List of `WasmPluginVersion` resources.", + "items": { + "$ref": "WasmPluginVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListWasmPluginsResponse": { + "description": "Response returned by the `ListWasmPlugins` method.", + "id": "ListWasmPluginsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPlugins": { + "description": "List of `WasmPlugin` resources.", + "items": { + "$ref": "WasmPlugin" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -4271,7 +4612,7 @@ "type": "string" }, "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "type": "string" }, "updateTime": { @@ -4612,6 +4953,223 @@ } }, "type": "object" + }, + "WasmPlugin": { + "description": "`WasmPlugin` is a resource representing a service executing a customer-provided Wasm module.", + "id": "WasmPlugin", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPlugin` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "type": "object" + }, + "logConfig": { + "$ref": "WasmPluginLogConfig", + "description": "Optional. Specifies the logging options for the activity performed by this `WasmPlugin`. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code." + }, + "mainVersionId": { + "description": "Optional. The ID of the `WasmPluginVersion` resource that is the currently serving one. The version referred to must be a child of this `WasmPlugin` resource.", + "type": "string" + }, + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "usedBy": { + "description": "Output only. List of all [Service Extensions](https://cloud.google.com/service-extensions/docs/overview) that use this `WasmPlugin`.", + "items": { + "$ref": "WasmPluginUsedBy" + }, + "readOnly": true, + "type": "array" + }, + "versions": { + "additionalProperties": { + "$ref": "WasmPluginVersionDetails" + }, + "description": "Optional. All versions of this `WasmPlugin` in the key-value format. The key is the resource ID, the value is the `VersionDetails`. Allows to create or update `WasmPlugin` and its WasmPluginVersions in a single request. When the `main_version_id` field is not empty it must point to one of the VersionDetails in the map. If provided in the update request, the new versions replace the previous set. Any version omitted from the `versions` will be removed. Since the `WasmPluginVersion` resource is immutable, if the WasmPluginVersion with the same name already exists and differs the Update request will fail. Note: In the GET request, this field is populated only if the GetWasmPluginRequest.view is set to WASM_PLUGIN_VIEW_FULL.", + "type": "object" + } + }, + "type": "object" + }, + "WasmPluginLogConfig": { + "description": "Specifies the logging options for the activity performed by this `WasmPlugin`. If logging is enabled, plugin logs are exported to Cloud Logging.", + "id": "WasmPluginLogConfig", + "properties": { + "enable": { + "description": "Optional. Specifies whether to enable logging for activity by this `WasmPlugin`. Defaults to `false`.", + "type": "boolean" + }, + "minLogLevel": { + "description": "Non-empty default. Specificies the lowest level of the plugin logs that are exported to Cloud Logging. This setting relates to the logs generated by using logging statements in your Wasm code. This field is can be set only if logging is enabled for the `WasmPlugin` resource. If the field is not provided when logging is enabled, it is set to `INFO` by default.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "CRITICAL" + ], + "enumDescriptions": [ + "Unspecified value.", + "Report logs with TRACE level and above.", + "Report logs with DEBUG level and above.", + "Report logs with INFO level and above.", + "Report logs with WARN level and above.", + "Report logs with ERROR level and above.", + "Report logs with CRITICAL level only." + ], + "type": "string" + }, + "sampleRate": { + "description": "Non-empty default. Configures the sampling rate of activity logs, where `1.0` means all logged activity is reported and `0.0` means no activity is reported. A floating point value between `0.0` and `1.0` indicates that a percentage of log messages is stored. The default value when logging is enabled is `1.0`. The value of the field must be between `0` and `1` (inclusive). This field can only be specified if logging is enabled for this `WasmPlugin`.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WasmPluginUsedBy": { + "description": "Defines a resource that uses the `WasmPlugin`.", + "id": "WasmPluginUsedBy", + "properties": { + "name": { + "description": "Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, e.g. `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersion": { + "description": "A single immutable version of a `WasmPlugin`. Defines the Wasm module used and optionally its runtime config.", + "id": "WasmPluginVersion", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the Wasm plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the `WasmPluginVersion` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}/ versions/{wasm_plugin_version}`.", + "type": "string" + }, + "pluginConfigData": { + "description": "Configuration for the Wasm plugin. The configuration is provided to the Wasm plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` resource is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the Wasm plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersionDetails": { + "description": "Details of a `WasmPluginVersion` resource to be inlined in the `WasmPlugin` resource.", + "id": "WasmPluginVersionDetails", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "pluginConfigData": { + "description": "Configuration for the Wasm plugin. The configuration is provided to the Wasm plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` version is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the WasmPlugin configuration stored in the Artifact Registry. The configuration is provided to the Wasm plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/networkservices/v1beta1/networkservices-gen.go b/networkservices/v1beta1/networkservices-gen.go index c62b094c690..93c0685a628 100644 --- a/networkservices/v1beta1/networkservices-gen.go +++ b/networkservices/v1beta1/networkservices-gen.go @@ -181,6 +181,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.ServiceLbPolicies = NewProjectsLocationsServiceLbPoliciesService(s) rs.TcpRoutes = NewProjectsLocationsTcpRoutesService(s) rs.TlsRoutes = NewProjectsLocationsTlsRoutesService(s) + rs.WasmPlugins = NewProjectsLocationsWasmPluginsService(s) return rs } @@ -212,6 +213,8 @@ type ProjectsLocationsService struct { TcpRoutes *ProjectsLocationsTcpRoutesService TlsRoutes *ProjectsLocationsTlsRoutesService + + WasmPlugins *ProjectsLocationsWasmPluginsService } func NewProjectsLocationsAuthzExtensionsService(s *Service) *ProjectsLocationsAuthzExtensionsService { @@ -331,6 +334,27 @@ type ProjectsLocationsTlsRoutesService struct { s *Service } +func NewProjectsLocationsWasmPluginsService(s *Service) *ProjectsLocationsWasmPluginsService { + rs := &ProjectsLocationsWasmPluginsService{s: s} + rs.Versions = NewProjectsLocationsWasmPluginsVersionsService(s) + return rs +} + +type ProjectsLocationsWasmPluginsService struct { + s *Service + + Versions *ProjectsLocationsWasmPluginsVersionsService +} + +func NewProjectsLocationsWasmPluginsVersionsService(s *Service) *ProjectsLocationsWasmPluginsVersionsService { + rs := &ProjectsLocationsWasmPluginsVersionsService{s: s} + return rs +} + +type ProjectsLocationsWasmPluginsVersionsService struct { + s *Service +} + // AuthzExtension: `AuthzExtension` is a resource that allows traffic // forwarding to a callout backend service to make an authorization decision. type AuthzExtension struct { @@ -576,7 +600,8 @@ func (s ExtensionChain) MarshalJSON() ([]byte, error) { // matching request. type ExtensionChainExtension struct { // Authority: Optional. The `:authority` header in the gRPC request sent from - // Envoy to the extension service. Required for Callout extensions. + // Envoy to the extension service. Required for Callout extensions. This field + // is not supported for plugin extensions and must not be set. Authority string `json:"authority,omitempty"` // FailOpen: Optional. Determines how the proxy behaves if the call to the // extension fails or times out. When set to `TRUE`, request or response @@ -593,6 +618,15 @@ type ExtensionChainExtension struct { // extension (from the client or backend). If omitted, all headers are sent. // Each element is a string indicating the header name. ForwardHeaders []string `json:"forwardHeaders,omitempty"` + // Metadata: Optional. The metadata provided here is included as part of the + // `metadata_context` (of type `google.protobuf.Struct`) in the + // `ProcessingRequest` message sent to the extension server. The metadata is + // available under the namespace `com.google....`. For example: + // `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The + // following variables are supported in the metadata: `{forwarding_rule_id}` - + // substituted with the forwarding rule's fully qualified resource name. This + // field is not supported for plugin extensions and must not be set. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Required. The name for this extension. The name is logged as part of // the HTTP request logs. The name must conform with RFC-1034, is restricted to // lower-cased letters, numbers and hyphens, and can have a maximum length of @@ -608,7 +642,13 @@ type ExtensionChainExtension struct { // `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/ba // ckendServices/{backendService}` or // `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServi - // ces/{backendService}`. + // ces/{backendService}`. To configure a plugin extension, this must be a + // reference to a wasm plugin + // (https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) + // in the format: + // `projects/{project}/locations/{location}/wasmPlugins/{plugin}` or + // `//networkservices.googleapis.com/projects/{project}/locations/{location}/was + // mPlugins/{wasmPlugin}`. Service string `json:"service,omitempty"` // SupportedEvents: Optional. A set of events during request or response // processing for which this extension is called. This field is required for @@ -632,7 +672,8 @@ type ExtensionChainExtension struct { SupportedEvents []string `json:"supportedEvents,omitempty"` // Timeout: Optional. Specifies the timeout for each individual message on the // stream. The timeout must be between 10-1000 milliseconds. Required for - // Callout extensions. + // callout extensions. This field is not supported for plugin extensions and + // must not be set. Timeout string `json:"timeout,omitempty"` // ForceSendFields is a list of field names (e.g. "Authority") to // unconditionally include in API requests. By default, fields with empty or @@ -2030,7 +2071,8 @@ type LbRouteExtension struct { // available under the namespace `com.google.lb_route_extension.`. The // following variables are supported in the metadata Struct: // `{forwarding_rule_id}` - substituted with the forwarding rule's fully - // qualified resource name. + // qualified resource name. This field is not supported for plugin extensions + // and must not be set. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Required. Identifier. Name of the `LbRouteExtension` resource in the // following format: @@ -2103,7 +2145,8 @@ type LbTrafficExtension struct { // `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata // is available under the key `com.google.lb_traffic_extension.`. The following // variables are supported in the metadata: `{forwarding_rule_id}` - - // substituted with the forwarding rule's fully qualified resource name. + // substituted with the forwarding rule's fully qualified resource name. This + // field is not supported for plugin extensions and must not be set. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Required. Identifier. Name of the `LbTrafficExtension` resource in the // following format: @@ -2557,6 +2600,67 @@ func (s ListTlsRoutesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ListWasmPluginVersionsResponse: Response returned by the +// `ListWasmPluginVersions` method. +type ListWasmPluginVersionsResponse struct { + // NextPageToken: If there might be more results than those appearing in this + // response, then `next_page_token` is included. To get the next set of + // results, call this method again using the value of `next_page_token` as + // `page_token`. + NextPageToken string `json:"nextPageToken,omitempty"` + // WasmPluginVersions: List of `WasmPluginVersion` resources. + WasmPluginVersions []*WasmPluginVersion `json:"wasmPluginVersions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListWasmPluginVersionsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListWasmPluginVersionsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListWasmPluginsResponse: Response returned by the `ListWasmPlugins` method. +type ListWasmPluginsResponse struct { + // NextPageToken: If there might be more results than those appearing in this + // response, then `next_page_token` is included. To get the next set of + // results, call this method again using the value of `next_page_token` as + // `page_token`. + NextPageToken string `json:"nextPageToken,omitempty"` + // WasmPlugins: List of `WasmPlugin` resources. + WasmPlugins []*WasmPlugin `json:"wasmPlugins,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListWasmPluginsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListWasmPluginsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Location: A resource that represents a Google Cloud location. type Location struct { // DisplayName: The friendly name for this location, typically a nearby city @@ -2951,7 +3055,7 @@ type ServiceLbPolicy struct { // "WATERFALL_BY_ZONE" - Attempt to keep traffic in a single zone closest to // the client, before spilling over to other zones. LoadBalancingAlgorithm string `json:"loadBalancingAlgorithm,omitempty"` - // Name: Required. Name of the ServiceLbPolicy resource. It matches pattern + // Name: Identifier. Name of the ServiceLbPolicy resource. It matches pattern // `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy // _name}`. Name string `json:"name,omitempty"` @@ -3442,6 +3546,279 @@ func (s TrafficPortSelector) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// WasmPlugin: `WasmPlugin` is a resource representing a service executing a +// customer-provided Wasm module. +type WasmPlugin struct { + // CreateTime: Output only. The timestamp when the resource was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Optional. A human-readable description of the resource. + Description string `json:"description,omitempty"` + // Labels: Optional. Set of labels associated with the `WasmPlugin` resource. + // The format must comply with the following requirements + // (/compute/docs/labeling-resources#requirements). + Labels map[string]string `json:"labels,omitempty"` + // LogConfig: Optional. Specifies the logging options for the activity + // performed by this `WasmPlugin`. If logging is enabled, plugin logs are + // exported to Cloud Logging. Note that the settings relate to the logs + // generated by using logging statements in your Wasm code. + LogConfig *WasmPluginLogConfig `json:"logConfig,omitempty"` + // MainVersionId: Optional. The ID of the `WasmPluginVersion` resource that is + // the currently serving one. The version referred to must be a child of this + // `WasmPlugin` resource. + MainVersionId string `json:"mainVersionId,omitempty"` + // Name: Identifier. Name of the `WasmPlugin` resource in the following format: + // `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`. + Name string `json:"name,omitempty"` + // UpdateTime: Output only. The timestamp when the resource was updated. + UpdateTime string `json:"updateTime,omitempty"` + // UsedBy: Output only. List of all Service Extensions + // (https://cloud.google.com/service-extensions/docs/overview) that use this + // `WasmPlugin`. + UsedBy []*WasmPluginUsedBy `json:"usedBy,omitempty"` + // Versions: Optional. All versions of this `WasmPlugin` in the key-value + // format. The key is the resource ID, the value is the `VersionDetails`. + // Allows to create or update `WasmPlugin` and its WasmPluginVersions in a + // single request. When the `main_version_id` field is not empty it must point + // to one of the VersionDetails in the map. If provided in the update request, + // the new versions replace the previous set. Any version omitted from the + // `versions` will be removed. Since the `WasmPluginVersion` resource is + // immutable, if the WasmPluginVersion with the same name already exists and + // differs the Update request will fail. Note: In the GET request, this field + // is populated only if the GetWasmPluginRequest.view is set to + // WASM_PLUGIN_VIEW_FULL. + Versions map[string]WasmPluginVersionDetails `json:"versions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WasmPlugin) MarshalJSON() ([]byte, error) { + type NoMethod WasmPlugin + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// WasmPluginLogConfig: Specifies the logging options for the activity +// performed by this `WasmPlugin`. If logging is enabled, plugin logs are +// exported to Cloud Logging. +type WasmPluginLogConfig struct { + // Enable: Optional. Specifies whether to enable logging for activity by this + // `WasmPlugin`. Defaults to `false`. + Enable bool `json:"enable,omitempty"` + // MinLogLevel: Non-empty default. Specificies the lowest level of the plugin + // logs that are exported to Cloud Logging. This setting relates to the logs + // generated by using logging statements in your Wasm code. This field is can + // be set only if logging is enabled for the `WasmPlugin` resource. If the + // field is not provided when logging is enabled, it is set to `INFO` by + // default. + // + // Possible values: + // "LOG_LEVEL_UNSPECIFIED" - Unspecified value. + // "TRACE" - Report logs with TRACE level and above. + // "DEBUG" - Report logs with DEBUG level and above. + // "INFO" - Report logs with INFO level and above. + // "WARN" - Report logs with WARN level and above. + // "ERROR" - Report logs with ERROR level and above. + // "CRITICAL" - Report logs with CRITICAL level only. + MinLogLevel string `json:"minLogLevel,omitempty"` + // SampleRate: Non-empty default. Configures the sampling rate of activity + // logs, where `1.0` means all logged activity is reported and `0.0` means no + // activity is reported. A floating point value between `0.0` and `1.0` + // indicates that a percentage of log messages is stored. The default value + // when logging is enabled is `1.0`. The value of the field must be between `0` + // and `1` (inclusive). This field can only be specified if logging is enabled + // for this `WasmPlugin`. + SampleRate float64 `json:"sampleRate,omitempty"` + // ForceSendFields is a list of field names (e.g. "Enable") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Enable") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WasmPluginLogConfig) MarshalJSON() ([]byte, error) { + type NoMethod WasmPluginLogConfig + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *WasmPluginLogConfig) UnmarshalJSON(data []byte) error { + type NoMethod WasmPluginLogConfig + var s1 struct { + SampleRate gensupport.JSONFloat64 `json:"sampleRate"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.SampleRate = float64(s1.SampleRate) + return nil +} + +// WasmPluginUsedBy: Defines a resource that uses the `WasmPlugin`. +type WasmPluginUsedBy struct { + // Name: Output only. Full name of the resource + // https://google.aip.dev/122#full-resource-names, e.g. + // `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbR + // outeExtensions/{extension}` + Name string `json:"name,omitempty"` + // ForceSendFields is a list of field names (e.g. "Name") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Name") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WasmPluginUsedBy) MarshalJSON() ([]byte, error) { + type NoMethod WasmPluginUsedBy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// WasmPluginVersion: A single immutable version of a `WasmPlugin`. Defines the +// Wasm module used and optionally its runtime config. +type WasmPluginVersion struct { + // CreateTime: Output only. The timestamp when the resource was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Optional. A human-readable description of the resource. + Description string `json:"description,omitempty"` + // ImageDigest: Output only. The resolved digest for the image specified in + // `image`. The digest is resolved during the creation of `WasmPluginVersion` + // resource. This field holds the digest value regardless of whether a tag or + // digest was originally specified in the `image` field. + ImageDigest string `json:"imageDigest,omitempty"` + // ImageUri: Optional. URI of the container image containing the Wasm plugin, + // stored in the Artifact Registry. When a new `WasmPluginVersion` resource is + // created, the digest of the container image is saved in the `image_digest` + // field. When downloading an image, the digest value is used instead of an + // image tag. + ImageUri string `json:"imageUri,omitempty"` + // Labels: Optional. Set of labels associated with the `WasmPluginVersion` + // resource. + Labels map[string]string `json:"labels,omitempty"` + // Name: Identifier. Name of the `WasmPluginVersion` resource in the following + // format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}/ + // versions/{wasm_plugin_version}`. + Name string `json:"name,omitempty"` + // PluginConfigData: Configuration for the Wasm plugin. The configuration is + // provided to the Wasm plugin at runtime through the `ON_CONFIGURE` callback. + // When a new `WasmPluginVersion` resource is created, the digest of the + // contents is saved in the `plugin_config_digest` field. + PluginConfigData string `json:"pluginConfigData,omitempty"` + // PluginConfigDigest: Output only. This field holds the digest (usually + // checksum) value for the plugin configuration. The value is calculated based + // on the contents of the `plugin_config_data` or the container image defined + // by the `plugin_config_uri` field. + PluginConfigDigest string `json:"pluginConfigDigest,omitempty"` + // PluginConfigUri: URI of the Wasm plugin configuration stored in the Artifact + // Registry. The configuration is provided to the plugin at runtime through the + // `ON_CONFIGURE` callback. The container image must contain only a single file + // with the name `plugin.config`. When a new `WasmPluginVersion` resource is + // created, the digest of the container image is saved in the + // `plugin_config_digest` field. + PluginConfigUri string `json:"pluginConfigUri,omitempty"` + // UpdateTime: Output only. The timestamp when the resource was updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WasmPluginVersion) MarshalJSON() ([]byte, error) { + type NoMethod WasmPluginVersion + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// WasmPluginVersionDetails: Details of a `WasmPluginVersion` resource to be +// inlined in the `WasmPlugin` resource. +type WasmPluginVersionDetails struct { + // CreateTime: Output only. The timestamp when the resource was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Optional. A human-readable description of the resource. + Description string `json:"description,omitempty"` + // ImageDigest: Output only. The resolved digest for the image specified in + // `image`. The digest is resolved during the creation of a `WasmPluginVersion` + // resource. This field holds the digest value regardless of whether a tag or + // digest was originally specified in the `image` field. + ImageDigest string `json:"imageDigest,omitempty"` + // ImageUri: Optional. URI of the container image containing the Wasm module, + // stored in the Artifact Registry. The container image must contain only a + // single file with the name `plugin.wasm`. When a new `WasmPluginVersion` + // resource is created, the URI gets resolved to an image digest and saved in + // the `image_digest` field. + ImageUri string `json:"imageUri,omitempty"` + // Labels: Optional. Set of labels associated with the `WasmPluginVersion` + // resource. + Labels map[string]string `json:"labels,omitempty"` + // PluginConfigData: Configuration for the Wasm plugin. The configuration is + // provided to the Wasm plugin at runtime through the `ON_CONFIGURE` callback. + // When a new `WasmPluginVersion` version is created, the digest of the + // contents is saved in the `plugin_config_digest` field. + PluginConfigData string `json:"pluginConfigData,omitempty"` + // PluginConfigDigest: Output only. This field holds the digest (usually + // checksum) value for the plugin configuration. The value is calculated based + // on the contents of the `plugin_config_data` or the container image defined + // by the `plugin_config_uri` field. + PluginConfigDigest string `json:"pluginConfigDigest,omitempty"` + // PluginConfigUri: URI of the WasmPlugin configuration stored in the Artifact + // Registry. The configuration is provided to the Wasm plugin at runtime + // through the `ON_CONFIGURE` callback. The container image must contain only a + // single file with the name `plugin.config`. When a new `WasmPluginVersion` + // resource is created, the digest of the container image is saved in the + // `plugin_config_digest` field. + PluginConfigUri string `json:"pluginConfigUri,omitempty"` + // UpdateTime: Output only. The timestamp when the resource was updated. + UpdateTime string `json:"updateTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WasmPluginVersionDetails) MarshalJSON() ([]byte, error) { + type NoMethod WasmPluginVersionDetails + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type ProjectsLocationsGetCall struct { s *Service name string @@ -9880,7 +10257,7 @@ type ProjectsLocationsServiceLbPoliciesPatchCall struct { // Patch: Updates the parameters of a single ServiceLbPolicy. // -// - name: Name of the ServiceLbPolicy resource. It matches pattern +// - name: Identifier. Name of the ServiceLbPolicy resource. It matches pattern // `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_poli // cy_name}`. func (r *ProjectsLocationsServiceLbPoliciesService) Patch(name string, servicelbpolicy *ServiceLbPolicy) *ProjectsLocationsServiceLbPoliciesPatchCall { @@ -11124,3 +11501,1069 @@ func (c *ProjectsLocationsTlsRoutesPatchCall) Do(opts ...googleapi.CallOption) ( } return ret, nil } + +type ProjectsLocationsWasmPluginsCreateCall struct { + s *Service + parent string + wasmplugin *WasmPlugin + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new `WasmPlugin` resource in a given project and location. +// +// - parent: The parent resource of the `WasmPlugin` resource. Must be in the +// format `projects/{project}/locations/global`. +func (r *ProjectsLocationsWasmPluginsService) Create(parent string, wasmplugin *WasmPlugin) *ProjectsLocationsWasmPluginsCreateCall { + c := &ProjectsLocationsWasmPluginsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.wasmplugin = wasmplugin + return c +} + +// WasmPluginId sets the optional parameter "wasmPluginId": Required. +// User-provided ID of the `WasmPlugin` resource to be created. +func (c *ProjectsLocationsWasmPluginsCreateCall) WasmPluginId(wasmPluginId string) *ProjectsLocationsWasmPluginsCreateCall { + c.urlParams_.Set("wasmPluginId", wasmPluginId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsCreateCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.wasmplugin) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/wasmPlugins") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified `WasmPlugin` resource. +// +// - name: A name of the `WasmPlugin` resource to delete. Must be in the format +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`. +func (r *ProjectsLocationsWasmPluginsService) Delete(name string) *ProjectsLocationsWasmPluginsDeleteCall { + c := &ProjectsLocationsWasmPluginsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsDeleteCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of the specified `WasmPlugin` resource. +// +// - name: A name of the `WasmPlugin` resource to get. Must be in the format +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`. +func (r *ProjectsLocationsWasmPluginsService) Get(name string) *ProjectsLocationsWasmPluginsGetCall { + c := &ProjectsLocationsWasmPluginsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// View sets the optional parameter "view": Determine how much data should be +// returned by the API. See AIP-157 (https://google.aip.dev/157). +// +// Possible values: +// +// "WASM_PLUGIN_VIEW_UNSPECIFIED" - The default / unset value. The API will +// +// default to the BASIC view. +// +// "WASM_PLUGIN_VIEW_BASIC" - Include just WasmPlugin record. +// "WASM_PLUGIN_VIEW_FULL" - Include WasmPlugin record and all its +// +// WasmPluginVersions. +func (c *ProjectsLocationsWasmPluginsGetCall) View(view string) *ProjectsLocationsWasmPluginsGetCall { + c.urlParams_.Set("view", view) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsWasmPluginsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWasmPluginsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsGetCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *WasmPlugin.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsGetCall) Do(opts ...googleapi.CallOption) (*WasmPlugin, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &WasmPlugin{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists `WasmPlugin` resources in a given project and location. +// +// - parent: The project and location from which the `WasmPlugin` resources are +// listed, specified in the following format: +// `projects/{project}/locations/global`. +func (r *ProjectsLocationsWasmPluginsService) List(parent string) *ProjectsLocationsWasmPluginsListCall { + c := &ProjectsLocationsWasmPluginsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// `WasmPlugin` resources to return per call. If not specified, at most 50 +// `WasmPlugin`s are returned. The maximum value is 1000; values above 1000 are +// coerced to 1000. +func (c *ProjectsLocationsWasmPluginsListCall) PageSize(pageSize int64) *ProjectsLocationsWasmPluginsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned by the +// last `ListWasmPluginsResponse` call. Indicates that this is a continuation +// of a prior `ListWasmPlugins` call, and that the next page of data is to be +// returned. +func (c *ProjectsLocationsWasmPluginsListCall) PageToken(pageToken string) *ProjectsLocationsWasmPluginsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsWasmPluginsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWasmPluginsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsListCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/wasmPlugins") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListWasmPluginsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsListCall) Do(opts ...googleapi.CallOption) (*ListWasmPluginsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListWasmPluginsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsWasmPluginsListCall) Pages(ctx context.Context, f func(*ListWasmPluginsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsWasmPluginsPatchCall struct { + s *Service + name string + wasmplugin *WasmPlugin + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the parameters of the specified `WasmPlugin` resource. +// +// - name: Identifier. Name of the `WasmPlugin` resource in the following +// format: +// `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`. +func (r *ProjectsLocationsWasmPluginsService) Patch(name string, wasmplugin *WasmPlugin) *ProjectsLocationsWasmPluginsPatchCall { + c := &ProjectsLocationsWasmPluginsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.wasmplugin = wasmplugin + return c +} + +// UpdateMask sets the optional parameter "updateMask": Used to specify the +// fields to be overwritten in the `WasmPlugin` resource by the update. The +// fields specified in the `update_mask` field are relative to the resource, +// not the full request. An omitted `update_mask` field is treated as an +// implied `update_mask` field equivalent to all fields that are populated +// (that have a non-empty value). The `update_mask` field supports a special +// value `*`, which means that each field in the given `WasmPlugin` resource +// (including the empty ones) replaces the current value. +func (c *ProjectsLocationsWasmPluginsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsWasmPluginsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsPatchCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.wasmplugin) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.patch" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsVersionsCreateCall struct { + s *Service + parent string + wasmpluginversion *WasmPluginVersion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new `WasmPluginVersion` resource in a given project and +// location. +// +// - parent: The parent resource of the `WasmPluginVersion` resource. Must be +// in the format +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`. +func (r *ProjectsLocationsWasmPluginsVersionsService) Create(parent string, wasmpluginversion *WasmPluginVersion) *ProjectsLocationsWasmPluginsVersionsCreateCall { + c := &ProjectsLocationsWasmPluginsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.wasmpluginversion = wasmpluginversion + return c +} + +// WasmPluginVersionId sets the optional parameter "wasmPluginVersionId": +// Required. User-provided ID of the `WasmPluginVersion` resource to be +// created. +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) WasmPluginVersionId(wasmPluginVersionId string) *ProjectsLocationsWasmPluginsVersionsCreateCall { + c.urlParams_.Set("wasmPluginVersionId", wasmPluginVersionId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsVersionsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsVersionsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.wasmpluginversion) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/versions") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.versions.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsVersionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsVersionsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified `WasmPluginVersion` resource. +// +// - name: A name of the `WasmPluginVersion` resource to delete. Must be in the +// format +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wa +// sm_plugin_version}`. +func (r *ProjectsLocationsWasmPluginsVersionsService) Delete(name string) *ProjectsLocationsWasmPluginsVersionsDeleteCall { + c := &ProjectsLocationsWasmPluginsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsVersionsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsVersionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsVersionsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsVersionsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.versions.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsVersionsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of the specified `WasmPluginVersion` resource. +// +// - name: A name of the `WasmPluginVersion` resource to get. Must be in the +// format +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wa +// sm_plugin_version}`. +func (r *ProjectsLocationsWasmPluginsVersionsService) Get(name string) *ProjectsLocationsWasmPluginsVersionsGetCall { + c := &ProjectsLocationsWasmPluginsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsVersionsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWasmPluginsVersionsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsVersionsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.versions.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *WasmPluginVersion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsWasmPluginsVersionsGetCall) Do(opts ...googleapi.CallOption) (*WasmPluginVersion, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &WasmPluginVersion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsWasmPluginsVersionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists `WasmPluginVersion` resources in a given project and location. +// +// - parent: The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, +// specified in the following format: +// `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`. +func (r *ProjectsLocationsWasmPluginsVersionsService) List(parent string) *ProjectsLocationsWasmPluginsVersionsListCall { + c := &ProjectsLocationsWasmPluginsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// `WasmPluginVersion` resources to return per call. If not specified, at most +// 50 `WasmPluginVersion`s are returned. The maximum value is 1000; values +// above 1000 are coerced to 1000. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsWasmPluginsVersionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned by the +// last `ListWasmPluginVersionsResponse` call. Indicates that this is a +// continuation of a prior `ListWasmPluginVersions` call, and that the next +// page of data is to be returned. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) PageToken(pageToken string) *ProjectsLocationsWasmPluginsVersionsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWasmPluginsVersionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWasmPluginsVersionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) Context(ctx context.Context) *ProjectsLocationsWasmPluginsVersionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWasmPluginsVersionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/versions") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkservices.projects.locations.wasmPlugins.versions.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListWasmPluginVersionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) Do(opts ...googleapi.CallOption) (*ListWasmPluginVersionsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListWasmPluginVersionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsWasmPluginsVersionsListCall) Pages(ctx context.Context, f func(*ListWasmPluginVersionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} diff --git a/orgpolicy/v2/orgpolicy-api.json b/orgpolicy/v2/orgpolicy-api.json index 272de1ed45a..d529ce4df38 100644 --- a/orgpolicy/v2/orgpolicy-api.json +++ b/orgpolicy/v2/orgpolicy-api.json @@ -930,7 +930,7 @@ } } }, - "revision": "20240513", + "revision": "20241021", "rootUrl": "https://orgpolicy.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { @@ -996,7 +996,136 @@ "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint": { "description": "A constraint that is either enforced or not. For example, a constraint `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance.", "id": "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint", - "properties": {}, + "properties": { + "customConstraintDefinition": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", + "description": "Custom constraint definition. This is set only for Managed Constraints" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition": { + "description": "Currently used for Managed Constraints. This represents a subset of fields missing from Constraint proto that are required to describe CustomConstraint", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", + "properties": { + "actionType": { + "description": "Allow or deny type.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "Allowed action type.", + "Deny action type." + ], + "type": "string" + }, + "condition": { + "description": "Org policy condition/expression. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", + "type": "string" + }, + "methodTypes": { + "description": "All the operations being applied for this constraint.", + "items": { + "enum": [ + "METHOD_TYPE_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE", + "REMOVE_GRANT", + "GOVERN_TAGS" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "Constraint applied when creating the resource.", + "Constraint applied when updating the resource.", + "Constraint applied when deleting the resource. Not supported yet.", + "Constraint applied when removing an IAM grant.", + "Constraint applied when enforcing forced tagging." + ], + "type": "string" + }, + "type": "array" + }, + "parameters": { + "additionalProperties": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter" + }, + "description": "Stores Structure of parameters used by Constraint condition. Key of map represents name of the parameter.", + "type": "object" + }, + "resourceTypes": { + "description": "The resource instance type on which this policy applies. Format will be of the form : `/` Example: * `compute.googleapis.com/Instance`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter": { + "description": "Defines a parameter structure.", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter", + "properties": { + "defaultValue": { + "description": "Sets the value of the parameter in an assignment if no value is given.", + "type": "any" + }, + "item": { + "description": "Determines the parameter’s value structure. For example, LIST can be specified by defining type : LIST, and item type as : STRING.", + "enum": [ + "TYPE_UNSPECIFIED", + "LIST", + "STRING", + "BOOLEAN" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "List parameter type.", + "String parameter type.", + "Boolean parameter type." + ], + "type": "string" + }, + "metadata": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata", + "description": "Defines subproperties primarily used by the UI to display user-friendly information." + }, + "type": { + "description": "Type of the parameter.", + "enum": [ + "TYPE_UNSPECIFIED", + "LIST", + "STRING", + "BOOLEAN" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "List parameter type.", + "String parameter type.", + "Boolean parameter type." + ], + "type": "string" + }, + "validValuesExpr": { + "description": "Provides a CEL expression to specify the acceptable parameter values during assignment. For example, parameterName in (\"parameterValue1\", \"parameterValue2\")", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata": { + "description": "Defines Medata structure.", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata", + "properties": { + "description": { + "description": "Detailed description of what this `parameter` is and use of it. Mutable.", + "type": "string" + } + }, "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintListConstraint": { diff --git a/orgpolicy/v2/orgpolicy-gen.go b/orgpolicy/v2/orgpolicy-gen.go index 62214d78c19..2afecd91d38 100644 --- a/orgpolicy/v2/orgpolicy-gen.go +++ b/orgpolicy/v2/orgpolicy-gen.go @@ -363,6 +363,149 @@ func (s GoogleCloudOrgpolicyV2Constraint) MarshalJSON() ([]byte, error) { // `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM // instance, serial port connections will not be opened to that instance. type GoogleCloudOrgpolicyV2ConstraintBooleanConstraint struct { + // CustomConstraintDefinition: Custom constraint definition. This is set only + // for Managed Constraints + CustomConstraintDefinition *GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition `json:"customConstraintDefinition,omitempty"` + // ForceSendFields is a list of field names (e.g. "CustomConstraintDefinition") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CustomConstraintDefinition") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudOrgpolicyV2ConstraintBooleanConstraint) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudOrgpolicyV2ConstraintBooleanConstraint + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition: Currently used +// for Managed Constraints. This represents a subset of fields missing from +// Constraint proto that are required to describe CustomConstraint +type GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition struct { + // ActionType: Allow or deny type. + // + // Possible values: + // "ACTION_TYPE_UNSPECIFIED" - Unspecified. Results in an error. + // "ALLOW" - Allowed action type. + // "DENY" - Deny action type. + ActionType string `json:"actionType,omitempty"` + // Condition: Org policy condition/expression. For example: + // `resource.instanceName.matches("[production|test]_.*_(\d)+")` or, + // `resource.management.auto_upgrade == true` The max length of the condition + // is 1000 characters. + Condition string `json:"condition,omitempty"` + // MethodTypes: All the operations being applied for this constraint. + // + // Possible values: + // "METHOD_TYPE_UNSPECIFIED" - Unspecified. Results in an error. + // "CREATE" - Constraint applied when creating the resource. + // "UPDATE" - Constraint applied when updating the resource. + // "DELETE" - Constraint applied when deleting the resource. Not supported + // yet. + // "REMOVE_GRANT" - Constraint applied when removing an IAM grant. + // "GOVERN_TAGS" - Constraint applied when enforcing forced tagging. + MethodTypes []string `json:"methodTypes,omitempty"` + // Parameters: Stores Structure of parameters used by Constraint condition. Key + // of map represents name of the parameter. + Parameters map[string]GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter `json:"parameters,omitempty"` + // ResourceTypes: The resource instance type on which this policy applies. + // Format will be of the form : `/` Example: * + // `compute.googleapis.com/Instance`. + ResourceTypes []string `json:"resourceTypes,omitempty"` + // ForceSendFields is a list of field names (e.g. "ActionType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ActionType") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter: Defines +// a parameter structure. +type GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter struct { + // DefaultValue: Sets the value of the parameter in an assignment if no value + // is given. + DefaultValue interface{} `json:"defaultValue,omitempty"` + // Item: Determines the parameter’s value structure. For example, LIST can be + // specified by defining type : LIST, and item type as : STRING. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Unspecified. Results in an error. + // "LIST" - List parameter type. + // "STRING" - String parameter type. + // "BOOLEAN" - Boolean parameter type. + Item string `json:"item,omitempty"` + // Metadata: Defines subproperties primarily used by the UI to display + // user-friendly information. + Metadata *GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata `json:"metadata,omitempty"` + // Type: Type of the parameter. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Unspecified. Results in an error. + // "LIST" - List parameter type. + // "STRING" - String parameter type. + // "BOOLEAN" - Boolean parameter type. + Type string `json:"type,omitempty"` + // ValidValuesExpr: Provides a CEL expression to specify the acceptable + // parameter values during assignment. For example, parameterName in + // ("parameterValue1", "parameterValue2") + ValidValuesExpr string `json:"validValuesExpr,omitempty"` + // ForceSendFields is a list of field names (e.g. "DefaultValue") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DefaultValue") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata: +// Defines Medata structure. +type GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata struct { + // Description: Detailed description of what this `parameter` is and use of it. + // Mutable. + Description string `json:"description,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2ConstraintListConstraint: A constraint that allows or diff --git a/redis/v1/redis-api.json b/redis/v1/redis-api.json index e57b7301f8c..978f6b6b6f9 100644 --- a/redis/v1/redis-api.json +++ b/redis/v1/redis-api.json @@ -849,7 +849,7 @@ } } }, - "revision": "20241003", + "revision": "20241017", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -875,42 +875,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "AvailabilityConfiguration": { "description": "Configuration for availability of database instance", "id": "AvailabilityConfiguration", @@ -1004,19 +968,6 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CertChain": { "id": "CertChain", "properties": { @@ -1044,30 +995,6 @@ }, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Cluster": { "description": "A cluster instance.", "id": "Cluster", @@ -1086,6 +1013,13 @@ ], "type": "string" }, + "clusterEndpoints": { + "description": "Optional. A list of cluster enpoints.", + "items": { + "$ref": "ClusterEndpoint" + }, + "type": "array" + }, "createTime": { "description": "Output only. The timestamp associated with the cluster creation request.", "format": "google-datetime", @@ -1150,7 +1084,7 @@ "type": "number" }, "pscConfigs": { - "description": "Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", + "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", "items": { "$ref": "PscConfig" }, @@ -1164,6 +1098,14 @@ "readOnly": true, "type": "array" }, + "pscServiceAttachments": { + "description": "Output only. Service attachment details to configure Psc connections", + "items": { + "$ref": "PscServiceAttachment" + }, + "readOnly": true, + "type": "array" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -1237,6 +1179,20 @@ }, "type": "object" }, + "ClusterEndpoint": { + "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", + "id": "ClusterEndpoint", + "properties": { + "connections": { + "description": "A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "items": { + "$ref": "ConnectionDetail" + }, + "type": "array" + } + }, + "type": "object" + }, "ClusterMaintenancePolicy": { "description": "Maintenance policy per cluster.", "id": "ClusterMaintenancePolicy", @@ -1363,6 +1319,17 @@ }, "type": "object" }, + "ConnectionDetail": { + "description": "Detailed information of each PSC connection.", + "id": "ConnectionDetail", + "properties": { + "pscConnection": { + "$ref": "PscConnection", + "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster." + } + }, + "type": "object" + }, "CrossClusterReplicationConfig": { "description": "Cross cluster replication config.", "id": "CrossClusterReplicationConfig", @@ -2360,18 +2327,6 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DiscoveryEndpoint": { "description": "Endpoints on each network, for Redis clients to connect to the cluster.", "id": "DiscoveryEndpoint", @@ -2445,17 +2400,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "FailoverInstanceRequest": { "description": "Request for Failover.", "id": "FailoverInstanceRequest", @@ -2877,131 +2821,6 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListClustersResponse": { "description": "Response for ListClusters.", "id": "ListClustersResponse", @@ -3122,64 +2941,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "MachineConfiguration", @@ -3545,17 +3306,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Product": { "description": "Product specification for Condor resources.", "id": "Product", @@ -3689,6 +3439,23 @@ "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", "type": "string" }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, "forwardingRule": { "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", "type": "string" @@ -3705,6 +3472,21 @@ "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", "type": "string" }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, "serviceAttachment": { "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", "type": "string" @@ -3712,6 +3494,35 @@ }, "type": "object" }, + "PscServiceAttachment": { + "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", + "id": "PscServiceAttachment", + "properties": { + "connectionType": { + "description": "Output only. Type of a PSC connection targeting this service attachment.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RDBConfig": { "description": "Configuration of the RDB based persistence.", "id": "RDBConfig", @@ -3773,25 +3584,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -3808,44 +3600,6 @@ }, "type": "object" }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RescheduleClusterMaintenanceRequest": { "description": "Request for rescheduling a cluster maintenance.", "id": "RescheduleClusterMaintenanceRequest", @@ -3913,6 +3667,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -3933,26 +3688,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" - } - }, - "type": "object" - }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -4009,18 +3749,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", @@ -4186,15 +3914,6 @@ }, "type": "object" }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" - }, "ZoneDistributionConfig": { "description": "Zone distribution config for allocation of cluster resources.", "id": "ZoneDistributionConfig", diff --git a/redis/v1/redis-gen.go b/redis/v1/redis-gen.go index 76aa666057f..c24629de5fc 100644 --- a/redis/v1/redis-gen.go +++ b/redis/v1/redis-gen.go @@ -244,41 +244,6 @@ func (s AOFConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// AssetLocation: Provides the mapping of a cloud asset to a direct physical -// location or to a proxy that defines the location on its behalf. -type AssetLocation struct { - // CcfeRmsPath: Spanner path of the CCFE RMS database. It is only applicable - // for CCFE tenants that use CCFE RMS for storing resource metadata. - CcfeRmsPath string `json:"ccfeRmsPath,omitempty"` - // Expected: Defines the customer expectation around ZI/ZS for this asset and - // ZI/ZS state of the region at the time of asset creation. - Expected *IsolationExpectations `json:"expected,omitempty"` - // ExtraParameters: Defines extra parameters required for specific asset types. - ExtraParameters []*ExtraParameter `json:"extraParameters,omitempty"` - // LocationData: Contains all kinds of physical location definitions for this - // asset. - LocationData []*LocationData `json:"locationData,omitempty"` - // ParentAsset: Defines parents assets if any in order to allow later - // generation of child_asset_location data via child assets. - ParentAsset []*CloudAsset `json:"parentAsset,omitempty"` - // ForceSendFields is a list of field names (e.g. "CcfeRmsPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CcfeRmsPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s AssetLocation) MarshalJSON() ([]byte, error) { - type NoMethod AssetLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // AvailabilityConfiguration: Configuration for availability of database // instance type AvailabilityConfiguration struct { @@ -386,28 +351,6 @@ func (s BackupRun) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// BlobstoreLocation: Policy ID that identified data placement in Blobstore as -// per go/blobstore-user-guide#data-metadata-placement-and-failure-domains -type BlobstoreLocation struct { - PolicyId []string `json:"policyId,omitempty"` - // ForceSendFields is a list of field names (e.g. "PolicyId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PolicyId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s BlobstoreLocation) MarshalJSON() ([]byte, error) { - type NoMethod BlobstoreLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - type CertChain struct { // Certificates: The certificates that form the CA chain, from leaf to root // order. @@ -459,47 +402,6 @@ func (s CertificateAuthority) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type CloudAsset struct { - AssetName string `json:"assetName,omitempty"` - AssetType string `json:"assetType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AssetName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AssetName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s CloudAsset) MarshalJSON() ([]byte, error) { - type NoMethod CloudAsset - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type CloudAssetComposition struct { - ChildAsset []*CloudAsset `json:"childAsset,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChildAsset") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChildAsset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s CloudAssetComposition) MarshalJSON() ([]byte, error) { - type NoMethod CloudAssetComposition - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // Cluster: A cluster instance. type Cluster struct { // AuthorizationMode: Optional. The authorization mode of the Redis cluster. If @@ -510,6 +412,8 @@ type Cluster struct { // "AUTH_MODE_IAM_AUTH" - IAM basic authorization mode // "AUTH_MODE_DISABLED" - Authorization disabled mode AuthorizationMode string `json:"authorizationMode,omitempty"` + // ClusterEndpoints: Optional. A list of cluster enpoints. + ClusterEndpoints []*ClusterEndpoint `json:"clusterEndpoints,omitempty"` // CreateTime: Output only. The timestamp associated with the cluster creation // request. CreateTime string `json:"createTime,omitempty"` @@ -547,13 +451,16 @@ type Cluster struct { // PreciseSizeGb: Output only. Precise value of redis memory size in GB for the // entire cluster. PreciseSizeGb float64 `json:"preciseSizeGb,omitempty"` - // PscConfigs: Required. Each PscConfig configures the consumer network where + // PscConfigs: Optional. Each PscConfig configures the consumer network where // IPs will be designated to the cluster for client access through Private // Service Connect Automation. Currently, only one PscConfig is supported. PscConfigs []*PscConfig `json:"pscConfigs,omitempty"` // PscConnections: Output only. The list of PSC connections that are // auto-created through service connectivity automation. PscConnections []*PscConnection `json:"pscConnections,omitempty"` + // PscServiceAttachments: Output only. Service attachment details to configure + // Psc connections + PscServiceAttachments []*PscServiceAttachment `json:"pscServiceAttachments,omitempty"` // RedisConfigs: Optional. Key/Value pairs of customer overrides for mutable // Redis Configs RedisConfigs map[string]string `json:"redisConfigs,omitempty"` @@ -626,6 +533,32 @@ func (s *Cluster) UnmarshalJSON(data []byte) error { return nil } +// ClusterEndpoint: ClusterEndpoint consists of PSC connections that are +// created as a group in each VPC network for accessing the cluster. In each +// group, there shall be one connection for each service attachment in the +// cluster. +type ClusterEndpoint struct { + // Connections: A group of PSC connections. They are created in the same VPC + // network, one for each service attachment in the cluster. + Connections []*ConnectionDetail `json:"connections,omitempty"` + // ForceSendFields is a list of field names (e.g. "Connections") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Connections") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ClusterEndpoint) MarshalJSON() ([]byte, error) { + type NoMethod ClusterEndpoint + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ClusterMaintenancePolicy: Maintenance policy per cluster. type ClusterMaintenancePolicy struct { // CreateTime: Output only. The time when the policy was created i.e. @@ -776,6 +709,29 @@ func (s Compliance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ConnectionDetail: Detailed information of each PSC connection. +type ConnectionDetail struct { + // PscConnection: Detailed information of a PSC connection that is created by + // the customer who owns the cluster. + PscConnection *PscConnection `json:"pscConnection,omitempty"` + // ForceSendFields is a list of field names (e.g. "PscConnection") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "PscConnection") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ConnectionDetail) MarshalJSON() ([]byte, error) { + type NoMethod ConnectionDetail + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CrossClusterReplicationConfig: Cross cluster replication config. type CrossClusterReplicationConfig struct { // ClusterRole: The role of the cluster in cross cluster replication. @@ -1613,26 +1569,6 @@ func (s DatabaseResourceRecommendationSignalData) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type DirectLocationAssignment struct { - Location []*LocationAssignment `json:"location,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s DirectLocationAssignment) MarshalJSON() ([]byte, error) { - type NoMethod DirectLocationAssignment - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // DiscoveryEndpoint: Endpoints on each network, for Redis clients to connect // to the cluster. type DiscoveryEndpoint struct { @@ -1731,30 +1667,6 @@ func (s ExportInstanceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// ExtraParameter: Defines parameters that should only be used for specific -// asset types. -type ExtraParameter struct { - // RegionalMigDistributionPolicy: Details about zones used by regional - // compute.googleapis.com/InstanceGroupManager to create instances. - RegionalMigDistributionPolicy *RegionalMigDistributionPolicy `json:"regionalMigDistributionPolicy,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "RegionalMigDistributionPolicy") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RegionalMigDistributionPolicy") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s ExtraParameter) MarshalJSON() ([]byte, error) { - type NoMethod ExtraParameter - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // FailoverInstanceRequest: Request for Failover. type FailoverInstanceRequest struct { // DataProtectionMode: Optional. Available data protection modes that the user @@ -2214,81 +2126,6 @@ func (s InternalResourceMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type IsolationExpectations struct { - // RequirementOverride: Explicit overrides for ZI and ZS requirements to be - // used for resources that should be excluded from ZI/ZS verification logic. - RequirementOverride *RequirementOverride `json:"requirementOverride,omitempty"` - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZiOrgPolicy string `json:"ziOrgPolicy,omitempty"` - // Possible values: - // "ZI_REGION_POLICY_UNSPECIFIED" - // "ZI_REGION_POLICY_UNKNOWN" - To be used if tracking is not available - // "ZI_REGION_POLICY_NOT_SET" - // "ZI_REGION_POLICY_FAIL_OPEN" - // "ZI_REGION_POLICY_FAIL_CLOSED" - ZiRegionPolicy string `json:"ziRegionPolicy,omitempty"` - // Possible values: - // "ZI_REGION_UNSPECIFIED" - // "ZI_REGION_UNKNOWN" - To be used if tracking is not available - // "ZI_REGION_NOT_ENABLED" - // "ZI_REGION_ENABLED" - ZiRegionState string `json:"ziRegionState,omitempty"` - // ZoneIsolation: Deprecated: use zi_org_policy, zi_region_policy and - // zi_region_state instead for setting ZI expectations as per - // go/zicy-publish-physical-location. - // - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZoneIsolation string `json:"zoneIsolation,omitempty"` - // ZoneSeparation: Deprecated: use zs_org_policy, and zs_region_stateinstead - // for setting Zs expectations as per go/zicy-publish-physical-location. - // - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZoneSeparation string `json:"zoneSeparation,omitempty"` - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZsOrgPolicy string `json:"zsOrgPolicy,omitempty"` - // Possible values: - // "ZS_REGION_UNSPECIFIED" - // "ZS_REGION_UNKNOWN" - To be used if tracking of the asset ZS-bit is not - // available - // "ZS_REGION_NOT_ENABLED" - // "ZS_REGION_ENABLED" - ZsRegionState string `json:"zsRegionState,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequirementOverride") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequirementOverride") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s IsolationExpectations) MarshalJSON() ([]byte, error) { - type NoMethod IsolationExpectations - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // ListClustersResponse: Response for ListClusters. type ListClustersResponse struct { // Clusters: A list of Redis clusters in the project in the specified location, @@ -2460,62 +2297,6 @@ func (s Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type LocationAssignment struct { - Location string `json:"location,omitempty"` - // Possible values: - // "UNSPECIFIED" - // "CLUSTER" - 1-10: Physical failure domains. - // "POP" - // "CLOUD_ZONE" - 11-20: Logical failure domains. - // "CLOUD_REGION" - // "MULTI_REGION_GEO" - // "MULTI_REGION_JURISDICTION" - // "GLOBAL" - // "OTHER" - LocationType string `json:"locationType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s LocationAssignment) MarshalJSON() ([]byte, error) { - type NoMethod LocationAssignment - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type LocationData struct { - BlobstoreLocation *BlobstoreLocation `json:"blobstoreLocation,omitempty"` - ChildAssetLocation *CloudAssetComposition `json:"childAssetLocation,omitempty"` - DirectLocation *DirectLocationAssignment `json:"directLocation,omitempty"` - GcpProjectProxy *TenantProjectProxy `json:"gcpProjectProxy,omitempty"` - PlacerLocation *PlacerLocation `json:"placerLocation,omitempty"` - SpannerLocation *SpannerLocation `json:"spannerLocation,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobstoreLocation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlobstoreLocation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s LocationData) MarshalJSON() ([]byte, error) { - type NoMethod LocationData - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // MachineConfiguration: MachineConfiguration describes the configuration of a // machine specific to Database Resource. type MachineConfiguration struct { @@ -2928,30 +2709,6 @@ func (s PersistenceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// PlacerLocation: Message describing that the location of the customer -// resource is tied to placer allocations -type PlacerLocation struct { - // PlacerConfig: Directory with a config related to it in placer (e.g. - // "/placer/prod/home/my-root/my-dir") - PlacerConfig string `json:"placerConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "PlacerConfig") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PlacerConfig") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s PlacerLocation) MarshalJSON() ([]byte, error) { - type NoMethod PlacerLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // Product: Product specification for Condor resources. type Product struct { // Engine: The specific engine that the underlying database is running. @@ -3050,6 +2807,17 @@ type PscConnection struct { // Address: Required. The IP allocated on the consumer network for the PSC // forwarding rule. Address string `json:"address,omitempty"` + // ConnectionType: Output only. Type of the PSC connection. + // + // Possible values: + // "CONNECTION_TYPE_UNSPECIFIED" - Cluster endpoint Type is not set + // "CONNECTION_TYPE_DISCOVERY" - Cluster endpoint that will be used as for + // cluster topology discovery. + // "CONNECTION_TYPE_PRIMARY" - Cluster endpoint that will be used as primary + // endpoint to access primary. + // "CONNECTION_TYPE_READER" - Cluster endpoint that will be used as reader + // endpoint to access replicas. + ConnectionType string `json:"connectionType,omitempty"` // ForwardingRule: Required. The URI of the consumer side forwarding rule. // Example: // projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. @@ -3063,6 +2831,17 @@ type PscConnection struct { // PscConnectionId: Required. The PSC connection id of the forwarding rule // connected to the service attachment. PscConnectionId string `json:"pscConnectionId,omitempty"` + // PscConnectionStatus: Output only. The status of the PSC connection. Please + // note that this value is updated periodically. To get the latest status of a + // PSC connection, follow + // https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. + // + // Possible values: + // "PSC_CONNECTION_STATUS_UNSPECIFIED" - PSC connection status is not + // specified. + // "PSC_CONNECTION_STATUS_ACTIVE" - The connection is active + // "PSC_CONNECTION_STATUS_NOT_FOUND" - Connection not found + PscConnectionStatus string `json:"pscConnectionStatus,omitempty"` // ServiceAttachment: Required. The service attachment which is the target of // the PSC connection, in the form of // projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment @@ -3086,6 +2865,42 @@ func (s PscConnection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PscServiceAttachment: Configuration of a service attachment of the cluster, +// for creating PSC connections. +type PscServiceAttachment struct { + // ConnectionType: Output only. Type of a PSC connection targeting this service + // attachment. + // + // Possible values: + // "CONNECTION_TYPE_UNSPECIFIED" - Cluster endpoint Type is not set + // "CONNECTION_TYPE_DISCOVERY" - Cluster endpoint that will be used as for + // cluster topology discovery. + // "CONNECTION_TYPE_PRIMARY" - Cluster endpoint that will be used as primary + // endpoint to access primary. + // "CONNECTION_TYPE_READER" - Cluster endpoint that will be used as reader + // endpoint to access replicas. + ConnectionType string `json:"connectionType,omitempty"` + // ServiceAttachment: Output only. Service attachment URI which your + // self-created PscConnection should use as target + ServiceAttachment string `json:"serviceAttachment,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConnectionType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ConnectionType") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PscServiceAttachment) MarshalJSON() ([]byte, error) { + type NoMethod PscServiceAttachment + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RDBConfig: Configuration of the RDB based persistence. type RDBConfig struct { // RdbSnapshotPeriod: Optional. Period between RDB snapshots. @@ -3154,33 +2969,6 @@ func (s ReconciliationOperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// RegionalMigDistributionPolicy: To be used for specifying the intended -// distribution of regional compute.googleapis.com/InstanceGroupManager -// instances -type RegionalMigDistributionPolicy struct { - // TargetShape: The shape in which the group converges around distribution of - // resources. Instance of proto2 enum - TargetShape int64 `json:"targetShape,omitempty"` - // Zones: Cloud zones used by regional MIG to create instances. - Zones []*ZoneConfiguration `json:"zones,omitempty"` - // ForceSendFields is a list of field names (e.g. "TargetShape") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TargetShape") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s RegionalMigDistributionPolicy) MarshalJSON() ([]byte, error) { - type NoMethod RegionalMigDistributionPolicy - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // RemoteCluster: Details of the remote cluster associated with this cluster in // a cross cluster replication setup. type RemoteCluster struct { @@ -3207,38 +2995,6 @@ func (s RemoteCluster) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type RequirementOverride struct { - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZiOverride string `json:"ziOverride,omitempty"` - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZsOverride string `json:"zsOverride,omitempty"` - // ForceSendFields is a list of field names (e.g. "ZiOverride") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ZiOverride") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s RequirementOverride) MarshalJSON() ([]byte, error) { - type NoMethod RequirementOverride - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // RescheduleClusterMaintenanceRequest: Request for rescheduling a cluster // maintenance. type RescheduleClusterMaintenanceRequest struct { @@ -3327,6 +3083,9 @@ type RetentionSettings struct { // "RETENTION_UNIT_OTHER" - For rest of the other category RetentionUnit string `json:"retentionUnit,omitempty"` TimeBasedRetention string `json:"timeBasedRetention,omitempty"` + // TimestampBasedRetentionTime: Timestamp based retention period i.e. + // 2024-05-01T00:00:00Z + TimestampBasedRetentionTime string `json:"timestampBasedRetentionTime,omitempty"` // ForceSendFields is a list of field names (e.g. "DurationBasedRetention") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -3345,30 +3104,6 @@ func (s RetentionSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type SpannerLocation struct { - // BackupName: Set of backups used by the resource with name in the same format - // as what is available at http://table/spanner_automon.backup_metadata - BackupName []string `json:"backupName,omitempty"` - // DbName: Set of databases used by the resource in format /span// - DbName []string `json:"dbName,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackupName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackupName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s SpannerLocation) MarshalJSON() ([]byte, error) { - type NoMethod SpannerLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // StateInfo: Represents additional information about the state of the cluster. type StateInfo struct { // UpdateInfo: Describes ongoing update on the cluster when cluster state is @@ -3450,26 +3185,6 @@ func (s Tags) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type TenantProjectProxy struct { - ProjectNumbers []string `json:"projectNumbers,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProjectNumbers") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProjectNumbers") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s TenantProjectProxy) MarshalJSON() ([]byte, error) { - type NoMethod TenantProjectProxy - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // TimeOfDay: Represents a time of day. The date and time zone are either not // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. @@ -3691,26 +3406,6 @@ func (s WeeklyMaintenanceWindow) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type ZoneConfiguration struct { - Zone string `json:"zone,omitempty"` - // ForceSendFields is a list of field names (e.g. "Zone") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Zone") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s ZoneConfiguration) MarshalJSON() ([]byte, error) { - type NoMethod ZoneConfiguration - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // ZoneDistributionConfig: Zone distribution config for allocation of cluster // resources. type ZoneDistributionConfig struct { diff --git a/redis/v1beta1/redis-api.json b/redis/v1beta1/redis-api.json index 4ca37bb02fe..39d9be037d4 100644 --- a/redis/v1beta1/redis-api.json +++ b/redis/v1beta1/redis-api.json @@ -849,7 +849,7 @@ } } }, - "revision": "20241010", + "revision": "20241017", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -875,42 +875,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "AvailabilityConfiguration": { "description": "Configuration for availability of database instance", "id": "AvailabilityConfiguration", @@ -1004,19 +968,6 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CertChain": { "id": "CertChain", "properties": { @@ -1044,30 +995,6 @@ }, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Cluster": { "description": "A cluster instance.", "id": "Cluster", @@ -1086,6 +1013,13 @@ ], "type": "string" }, + "clusterEndpoints": { + "description": "Optional. A list of cluster enpoints.", + "items": { + "$ref": "ClusterEndpoint" + }, + "type": "array" + }, "createTime": { "description": "Output only. The timestamp associated with the cluster creation request.", "format": "google-datetime", @@ -1150,7 +1084,7 @@ "type": "number" }, "pscConfigs": { - "description": "Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", + "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", "items": { "$ref": "PscConfig" }, @@ -1164,6 +1098,14 @@ "readOnly": true, "type": "array" }, + "pscServiceAttachments": { + "description": "Output only. Service attachment details to configure Psc connections", + "items": { + "$ref": "PscServiceAttachment" + }, + "readOnly": true, + "type": "array" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -1237,6 +1179,20 @@ }, "type": "object" }, + "ClusterEndpoint": { + "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", + "id": "ClusterEndpoint", + "properties": { + "connections": { + "description": "A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "items": { + "$ref": "ConnectionDetail" + }, + "type": "array" + } + }, + "type": "object" + }, "ClusterMaintenancePolicy": { "description": "Maintenance policy per cluster.", "id": "ClusterMaintenancePolicy", @@ -1363,6 +1319,17 @@ }, "type": "object" }, + "ConnectionDetail": { + "description": "Detailed information of each PSC connection.", + "id": "ConnectionDetail", + "properties": { + "pscConnection": { + "$ref": "PscConnection", + "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster." + } + }, + "type": "object" + }, "CrossClusterReplicationConfig": { "description": "Cross cluster replication config.", "id": "CrossClusterReplicationConfig", @@ -2360,18 +2327,6 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DiscoveryEndpoint": { "description": "Endpoints on each network, for Redis clients to connect to the cluster.", "id": "DiscoveryEndpoint", @@ -2445,17 +2400,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "FailoverInstanceRequest": { "description": "Request for Failover.", "id": "FailoverInstanceRequest", @@ -2884,131 +2828,6 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListClustersResponse": { "description": "Response for ListClusters.", "id": "ListClustersResponse", @@ -3129,64 +2948,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "MachineConfiguration", @@ -3552,17 +3313,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Product": { "description": "Product specification for Condor resources.", "id": "Product", @@ -3696,6 +3446,23 @@ "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", "type": "string" }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, "forwardingRule": { "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", "type": "string" @@ -3712,6 +3479,21 @@ "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", "type": "string" }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, "serviceAttachment": { "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", "type": "string" @@ -3719,6 +3501,35 @@ }, "type": "object" }, + "PscServiceAttachment": { + "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", + "id": "PscServiceAttachment", + "properties": { + "connectionType": { + "description": "Output only. Type of a PSC connection targeting this service attachment.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RDBConfig": { "description": "Configuration of the RDB based persistence.", "id": "RDBConfig", @@ -3780,25 +3591,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -3815,44 +3607,6 @@ }, "type": "object" }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RescheduleClusterMaintenanceRequest": { "description": "Request for rescheduling a cluster maintenance.", "id": "RescheduleClusterMaintenanceRequest", @@ -3950,26 +3704,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "StateInfo": { "description": "Represents additional information about the state of the cluster.", "id": "StateInfo", @@ -4022,18 +3756,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", @@ -4199,15 +3921,6 @@ }, "type": "object" }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" - }, "ZoneDistributionConfig": { "description": "Zone distribution config for allocation of cluster resources.", "id": "ZoneDistributionConfig", diff --git a/redis/v1beta1/redis-gen.go b/redis/v1beta1/redis-gen.go index 2ec70150cac..6338f7276ce 100644 --- a/redis/v1beta1/redis-gen.go +++ b/redis/v1beta1/redis-gen.go @@ -244,41 +244,6 @@ func (s AOFConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// AssetLocation: Provides the mapping of a cloud asset to a direct physical -// location or to a proxy that defines the location on its behalf. -type AssetLocation struct { - // CcfeRmsPath: Spanner path of the CCFE RMS database. It is only applicable - // for CCFE tenants that use CCFE RMS for storing resource metadata. - CcfeRmsPath string `json:"ccfeRmsPath,omitempty"` - // Expected: Defines the customer expectation around ZI/ZS for this asset and - // ZI/ZS state of the region at the time of asset creation. - Expected *IsolationExpectations `json:"expected,omitempty"` - // ExtraParameters: Defines extra parameters required for specific asset types. - ExtraParameters []*ExtraParameter `json:"extraParameters,omitempty"` - // LocationData: Contains all kinds of physical location definitions for this - // asset. - LocationData []*LocationData `json:"locationData,omitempty"` - // ParentAsset: Defines parents assets if any in order to allow later - // generation of child_asset_location data via child assets. - ParentAsset []*CloudAsset `json:"parentAsset,omitempty"` - // ForceSendFields is a list of field names (e.g. "CcfeRmsPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CcfeRmsPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s AssetLocation) MarshalJSON() ([]byte, error) { - type NoMethod AssetLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // AvailabilityConfiguration: Configuration for availability of database // instance type AvailabilityConfiguration struct { @@ -386,28 +351,6 @@ func (s BackupRun) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// BlobstoreLocation: Policy ID that identified data placement in Blobstore as -// per go/blobstore-user-guide#data-metadata-placement-and-failure-domains -type BlobstoreLocation struct { - PolicyId []string `json:"policyId,omitempty"` - // ForceSendFields is a list of field names (e.g. "PolicyId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PolicyId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s BlobstoreLocation) MarshalJSON() ([]byte, error) { - type NoMethod BlobstoreLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - type CertChain struct { // Certificates: The certificates that form the CA chain, from leaf to root // order. @@ -459,47 +402,6 @@ func (s CertificateAuthority) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type CloudAsset struct { - AssetName string `json:"assetName,omitempty"` - AssetType string `json:"assetType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AssetName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AssetName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s CloudAsset) MarshalJSON() ([]byte, error) { - type NoMethod CloudAsset - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type CloudAssetComposition struct { - ChildAsset []*CloudAsset `json:"childAsset,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChildAsset") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChildAsset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s CloudAssetComposition) MarshalJSON() ([]byte, error) { - type NoMethod CloudAssetComposition - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // Cluster: A cluster instance. type Cluster struct { // AuthorizationMode: Optional. The authorization mode of the Redis cluster. If @@ -510,6 +412,8 @@ type Cluster struct { // "AUTH_MODE_IAM_AUTH" - IAM basic authorization mode // "AUTH_MODE_DISABLED" - Authorization disabled mode AuthorizationMode string `json:"authorizationMode,omitempty"` + // ClusterEndpoints: Optional. A list of cluster enpoints. + ClusterEndpoints []*ClusterEndpoint `json:"clusterEndpoints,omitempty"` // CreateTime: Output only. The timestamp associated with the cluster creation // request. CreateTime string `json:"createTime,omitempty"` @@ -547,13 +451,16 @@ type Cluster struct { // PreciseSizeGb: Output only. Precise value of redis memory size in GB for the // entire cluster. PreciseSizeGb float64 `json:"preciseSizeGb,omitempty"` - // PscConfigs: Required. Each PscConfig configures the consumer network where + // PscConfigs: Optional. Each PscConfig configures the consumer network where // IPs will be designated to the cluster for client access through Private // Service Connect Automation. Currently, only one PscConfig is supported. PscConfigs []*PscConfig `json:"pscConfigs,omitempty"` // PscConnections: Output only. The list of PSC connections that are // auto-created through service connectivity automation. PscConnections []*PscConnection `json:"pscConnections,omitempty"` + // PscServiceAttachments: Output only. Service attachment details to configure + // Psc connections + PscServiceAttachments []*PscServiceAttachment `json:"pscServiceAttachments,omitempty"` // RedisConfigs: Optional. Key/Value pairs of customer overrides for mutable // Redis Configs RedisConfigs map[string]string `json:"redisConfigs,omitempty"` @@ -626,6 +533,32 @@ func (s *Cluster) UnmarshalJSON(data []byte) error { return nil } +// ClusterEndpoint: ClusterEndpoint consists of PSC connections that are +// created as a group in each VPC network for accessing the cluster. In each +// group, there shall be one connection for each service attachment in the +// cluster. +type ClusterEndpoint struct { + // Connections: A group of PSC connections. They are created in the same VPC + // network, one for each service attachment in the cluster. + Connections []*ConnectionDetail `json:"connections,omitempty"` + // ForceSendFields is a list of field names (e.g. "Connections") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Connections") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ClusterEndpoint) MarshalJSON() ([]byte, error) { + type NoMethod ClusterEndpoint + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ClusterMaintenancePolicy: Maintenance policy per cluster. type ClusterMaintenancePolicy struct { // CreateTime: Output only. The time when the policy was created i.e. @@ -776,6 +709,29 @@ func (s Compliance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ConnectionDetail: Detailed information of each PSC connection. +type ConnectionDetail struct { + // PscConnection: Detailed information of a PSC connection that is created by + // the customer who owns the cluster. + PscConnection *PscConnection `json:"pscConnection,omitempty"` + // ForceSendFields is a list of field names (e.g. "PscConnection") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "PscConnection") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ConnectionDetail) MarshalJSON() ([]byte, error) { + type NoMethod ConnectionDetail + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CrossClusterReplicationConfig: Cross cluster replication config. type CrossClusterReplicationConfig struct { // ClusterRole: The role of the cluster in cross cluster replication. @@ -1613,26 +1569,6 @@ func (s DatabaseResourceRecommendationSignalData) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type DirectLocationAssignment struct { - Location []*LocationAssignment `json:"location,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s DirectLocationAssignment) MarshalJSON() ([]byte, error) { - type NoMethod DirectLocationAssignment - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // DiscoveryEndpoint: Endpoints on each network, for Redis clients to connect // to the cluster. type DiscoveryEndpoint struct { @@ -1731,30 +1667,6 @@ func (s ExportInstanceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// ExtraParameter: Defines parameters that should only be used for specific -// asset types. -type ExtraParameter struct { - // RegionalMigDistributionPolicy: Details about zones used by regional - // compute.googleapis.com/InstanceGroupManager to create instances. - RegionalMigDistributionPolicy *RegionalMigDistributionPolicy `json:"regionalMigDistributionPolicy,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "RegionalMigDistributionPolicy") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RegionalMigDistributionPolicy") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s ExtraParameter) MarshalJSON() ([]byte, error) { - type NoMethod ExtraParameter - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // FailoverInstanceRequest: Request for Failover. type FailoverInstanceRequest struct { // DataProtectionMode: Optional. Available data protection modes that the user @@ -2218,81 +2130,6 @@ func (s InternalResourceMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type IsolationExpectations struct { - // RequirementOverride: Explicit overrides for ZI and ZS requirements to be - // used for resources that should be excluded from ZI/ZS verification logic. - RequirementOverride *RequirementOverride `json:"requirementOverride,omitempty"` - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZiOrgPolicy string `json:"ziOrgPolicy,omitempty"` - // Possible values: - // "ZI_REGION_POLICY_UNSPECIFIED" - // "ZI_REGION_POLICY_UNKNOWN" - To be used if tracking is not available - // "ZI_REGION_POLICY_NOT_SET" - // "ZI_REGION_POLICY_FAIL_OPEN" - // "ZI_REGION_POLICY_FAIL_CLOSED" - ZiRegionPolicy string `json:"ziRegionPolicy,omitempty"` - // Possible values: - // "ZI_REGION_UNSPECIFIED" - // "ZI_REGION_UNKNOWN" - To be used if tracking is not available - // "ZI_REGION_NOT_ENABLED" - // "ZI_REGION_ENABLED" - ZiRegionState string `json:"ziRegionState,omitempty"` - // ZoneIsolation: Deprecated: use zi_org_policy, zi_region_policy and - // zi_region_state instead for setting ZI expectations as per - // go/zicy-publish-physical-location. - // - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZoneIsolation string `json:"zoneIsolation,omitempty"` - // ZoneSeparation: Deprecated: use zs_org_policy, and zs_region_stateinstead - // for setting Zs expectations as per go/zicy-publish-physical-location. - // - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZoneSeparation string `json:"zoneSeparation,omitempty"` - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZsOrgPolicy string `json:"zsOrgPolicy,omitempty"` - // Possible values: - // "ZS_REGION_UNSPECIFIED" - // "ZS_REGION_UNKNOWN" - To be used if tracking of the asset ZS-bit is not - // available - // "ZS_REGION_NOT_ENABLED" - // "ZS_REGION_ENABLED" - ZsRegionState string `json:"zsRegionState,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequirementOverride") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequirementOverride") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s IsolationExpectations) MarshalJSON() ([]byte, error) { - type NoMethod IsolationExpectations - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // ListClustersResponse: Response for ListClusters. type ListClustersResponse struct { // Clusters: A list of Redis clusters in the project in the specified location, @@ -2464,62 +2301,6 @@ func (s Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type LocationAssignment struct { - Location string `json:"location,omitempty"` - // Possible values: - // "UNSPECIFIED" - // "CLUSTER" - 1-10: Physical failure domains. - // "POP" - // "CLOUD_ZONE" - 11-20: Logical failure domains. - // "CLOUD_REGION" - // "MULTI_REGION_GEO" - // "MULTI_REGION_JURISDICTION" - // "GLOBAL" - // "OTHER" - LocationType string `json:"locationType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s LocationAssignment) MarshalJSON() ([]byte, error) { - type NoMethod LocationAssignment - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type LocationData struct { - BlobstoreLocation *BlobstoreLocation `json:"blobstoreLocation,omitempty"` - ChildAssetLocation *CloudAssetComposition `json:"childAssetLocation,omitempty"` - DirectLocation *DirectLocationAssignment `json:"directLocation,omitempty"` - GcpProjectProxy *TenantProjectProxy `json:"gcpProjectProxy,omitempty"` - PlacerLocation *PlacerLocation `json:"placerLocation,omitempty"` - SpannerLocation *SpannerLocation `json:"spannerLocation,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobstoreLocation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlobstoreLocation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s LocationData) MarshalJSON() ([]byte, error) { - type NoMethod LocationData - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // MachineConfiguration: MachineConfiguration describes the configuration of a // machine specific to Database Resource. type MachineConfiguration struct { @@ -2932,30 +2713,6 @@ func (s PersistenceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// PlacerLocation: Message describing that the location of the customer -// resource is tied to placer allocations -type PlacerLocation struct { - // PlacerConfig: Directory with a config related to it in placer (e.g. - // "/placer/prod/home/my-root/my-dir") - PlacerConfig string `json:"placerConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "PlacerConfig") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PlacerConfig") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s PlacerLocation) MarshalJSON() ([]byte, error) { - type NoMethod PlacerLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // Product: Product specification for Condor resources. type Product struct { // Engine: The specific engine that the underlying database is running. @@ -3054,6 +2811,17 @@ type PscConnection struct { // Address: Required. The IP allocated on the consumer network for the PSC // forwarding rule. Address string `json:"address,omitempty"` + // ConnectionType: Output only. Type of the PSC connection. + // + // Possible values: + // "CONNECTION_TYPE_UNSPECIFIED" - Cluster endpoint Type is not set + // "CONNECTION_TYPE_DISCOVERY" - Cluster endpoint that will be used as for + // cluster topology discovery. + // "CONNECTION_TYPE_PRIMARY" - Cluster endpoint that will be used as primary + // endpoint to access primary. + // "CONNECTION_TYPE_READER" - Cluster endpoint that will be used as reader + // endpoint to access replicas. + ConnectionType string `json:"connectionType,omitempty"` // ForwardingRule: Required. The URI of the consumer side forwarding rule. // Example: // projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. @@ -3067,6 +2835,17 @@ type PscConnection struct { // PscConnectionId: Required. The PSC connection id of the forwarding rule // connected to the service attachment. PscConnectionId string `json:"pscConnectionId,omitempty"` + // PscConnectionStatus: Output only. The status of the PSC connection. Please + // note that this value is updated periodically. To get the latest status of a + // PSC connection, follow + // https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. + // + // Possible values: + // "PSC_CONNECTION_STATUS_UNSPECIFIED" - PSC connection status is not + // specified. + // "PSC_CONNECTION_STATUS_ACTIVE" - The connection is active + // "PSC_CONNECTION_STATUS_NOT_FOUND" - Connection not found + PscConnectionStatus string `json:"pscConnectionStatus,omitempty"` // ServiceAttachment: Required. The service attachment which is the target of // the PSC connection, in the form of // projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment @@ -3090,6 +2869,42 @@ func (s PscConnection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PscServiceAttachment: Configuration of a service attachment of the cluster, +// for creating PSC connections. +type PscServiceAttachment struct { + // ConnectionType: Output only. Type of a PSC connection targeting this service + // attachment. + // + // Possible values: + // "CONNECTION_TYPE_UNSPECIFIED" - Cluster endpoint Type is not set + // "CONNECTION_TYPE_DISCOVERY" - Cluster endpoint that will be used as for + // cluster topology discovery. + // "CONNECTION_TYPE_PRIMARY" - Cluster endpoint that will be used as primary + // endpoint to access primary. + // "CONNECTION_TYPE_READER" - Cluster endpoint that will be used as reader + // endpoint to access replicas. + ConnectionType string `json:"connectionType,omitempty"` + // ServiceAttachment: Output only. Service attachment URI which your + // self-created PscConnection should use as target + ServiceAttachment string `json:"serviceAttachment,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConnectionType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ConnectionType") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PscServiceAttachment) MarshalJSON() ([]byte, error) { + type NoMethod PscServiceAttachment + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RDBConfig: Configuration of the RDB based persistence. type RDBConfig struct { // RdbSnapshotPeriod: Optional. Period between RDB snapshots. @@ -3158,33 +2973,6 @@ func (s ReconciliationOperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// RegionalMigDistributionPolicy: To be used for specifying the intended -// distribution of regional compute.googleapis.com/InstanceGroupManager -// instances -type RegionalMigDistributionPolicy struct { - // TargetShape: The shape in which the group converges around distribution of - // resources. Instance of proto2 enum - TargetShape int64 `json:"targetShape,omitempty"` - // Zones: Cloud zones used by regional MIG to create instances. - Zones []*ZoneConfiguration `json:"zones,omitempty"` - // ForceSendFields is a list of field names (e.g. "TargetShape") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TargetShape") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s RegionalMigDistributionPolicy) MarshalJSON() ([]byte, error) { - type NoMethod RegionalMigDistributionPolicy - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // RemoteCluster: Details of the remote cluster associated with this cluster in // a cross cluster replication setup. type RemoteCluster struct { @@ -3211,38 +2999,6 @@ func (s RemoteCluster) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type RequirementOverride struct { - // Possible values: - // "ZI_UNSPECIFIED" - // "ZI_UNKNOWN" - To be used if tracking is not available - // "ZI_NOT_REQUIRED" - // "ZI_PREFERRED" - // "ZI_REQUIRED" - ZiOverride string `json:"ziOverride,omitempty"` - // Possible values: - // "ZS_UNSPECIFIED" - // "ZS_UNKNOWN" - To be used if tracking is not available - // "ZS_NOT_REQUIRED" - // "ZS_REQUIRED" - ZsOverride string `json:"zsOverride,omitempty"` - // ForceSendFields is a list of field names (e.g. "ZiOverride") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ZiOverride") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s RequirementOverride) MarshalJSON() ([]byte, error) { - type NoMethod RequirementOverride - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // RescheduleClusterMaintenanceRequest: Request for rescheduling a cluster // maintenance. type RescheduleClusterMaintenanceRequest struct { @@ -3352,30 +3108,6 @@ func (s RetentionSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type SpannerLocation struct { - // BackupName: Set of backups used by the resource with name in the same format - // as what is available at http://table/spanner_automon.backup_metadata - BackupName []string `json:"backupName,omitempty"` - // DbName: Set of databases used by the resource in format /span// - DbName []string `json:"dbName,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackupName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackupName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s SpannerLocation) MarshalJSON() ([]byte, error) { - type NoMethod SpannerLocation - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // StateInfo: Represents additional information about the state of the cluster. type StateInfo struct { // UpdateInfo: Describes ongoing update on the cluster when cluster state is @@ -3457,26 +3189,6 @@ func (s Tags) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type TenantProjectProxy struct { - ProjectNumbers []string `json:"projectNumbers,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProjectNumbers") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProjectNumbers") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s TenantProjectProxy) MarshalJSON() ([]byte, error) { - type NoMethod TenantProjectProxy - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // TimeOfDay: Represents a time of day. The date and time zone are either not // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. @@ -3698,26 +3410,6 @@ func (s WeeklyMaintenanceWindow) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -type ZoneConfiguration struct { - Zone string `json:"zone,omitempty"` - // ForceSendFields is a list of field names (e.g. "Zone") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Zone") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s ZoneConfiguration) MarshalJSON() ([]byte, error) { - type NoMethod ZoneConfiguration - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // ZoneDistributionConfig: Zone distribution config for allocation of cluster // resources. type ZoneDistributionConfig struct { diff --git a/spanner/v1/spanner-api.json b/spanner/v1/spanner-api.json index 08f37d504b9..583cbf56e85 100644 --- a/spanner/v1/spanner-api.json +++ b/spanner/v1/spanner-api.json @@ -1122,7 +1122,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.backups.getIamPolicy", @@ -1228,7 +1228,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.backups.setIamPolicy", @@ -1257,7 +1257,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.backups.testIamPermissions", @@ -1598,7 +1598,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.getIamPolicy", @@ -1781,7 +1781,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.setIamPolicy", @@ -1810,7 +1810,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.testIamPermissions", @@ -1958,7 +1958,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.getIamPolicy", @@ -2059,7 +2059,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.setIamPolicy", @@ -2088,7 +2088,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.testIamPermissions", @@ -2158,7 +2158,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/databaseRoles/{databaseRolesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.databaseRoles.testIamPermissions", @@ -3319,7 +3319,7 @@ } } }, - "revision": "20241010", + "revision": "20241015", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "AsymmetricAutoscalingOption": { @@ -3706,6 +3706,10 @@ "description": "The request for BeginTransaction.", "id": "BeginTransactionRequest", "properties": { + "mutationKey": { + "$ref": "Mutation", + "description": "Optional. Required for read-write transactions on a multiplexed session that commit mutations but do not perform any reads or queries. Clients should randomly select one of the mutations from the mutation set and send it as a part of this request." + }, "options": { "$ref": "TransactionOptions", "description": "Required. Options for the new transaction." @@ -3815,6 +3819,10 @@ }, "type": "array" }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. If the read-write transaction was executed on a multiplexed session, the precommit token with the highest sequence number received in this transaction attempt, should be included here. Failing to do so will result in a FailedPrecondition error." + }, "requestOptions": { "$ref": "RequestOptions", "description": "Common options for this request." @@ -3847,6 +3855,10 @@ "description": "The Cloud Spanner timestamp at which the transaction committed.", "format": "google-datetime", "type": "string" + }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "If specified, transaction has not committed yet. Clients must retry the commit with the new precommit token." } }, "type": "object" @@ -4584,6 +4596,10 @@ "description": "The response for ExecuteBatchDml. Contains a list of ResultSet messages, one for each DML statement that has successfully executed, in the same order as the statements in the request. If a statement fails, the status in the response body identifies the cause of the failure. To check for DML statements that failed, use the following approach: 1. Check the status in the response message. The google.rpc.Code enum value `OK` indicates that all statements were executed successfully. 2. If the status was not `OK`, check the number of result sets in the response. If the response contains `N` ResultSet messages, then statement `N+1` in the request failed. Example 1: * Request: 5 DML statements, all executed successfully. * Response: 5 ResultSet messages, with the status `OK`. Example 2: * Request: 5 DML statements. The third statement has a syntax error. * Response: 2 ResultSet messages, and a syntax error (`INVALID_ARGUMENT`) status. The number of ResultSet messages indicates that the third statement failed, and the fourth and fifth statements were not executed.", "id": "ExecuteBatchDmlResponse", "properties": { + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "resultSets": { "description": "One ResultSet for each statement in the request that ran successfully, in the same order as the statements in the request. Each ResultSet does not contain any rows. The ResultSetStats in each ResultSet contain the number of rows modified by the statement. Only the first ResultSet in the response contains valid ResultSetMetadata.", "items": { @@ -5905,6 +5921,10 @@ "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information. Only present in the first response." }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "resumeToken": { "description": "Streaming calls might be interrupted for a variety of reasons, such as TCP connection loss. If this occurs, the stream of results can be resumed by re-sending the original request and including `resume_token`. Note that executing any other transaction in the same session invalidates the token.", "format": "byte", @@ -6380,6 +6400,11 @@ "description": "Message type to initiate a read-write transaction. Currently this transaction type has no options.", "id": "ReadWrite", "properties": { + "multiplexedSessionPreviousTransactionId": { + "description": "Optional. Clients should pass the transaction ID of the previous transaction attempt that was aborted if this transaction is being executed on a multiplexed session.", + "format": "byte", + "type": "string" + }, "readLockMode": { "description": "Read lock mode for the transaction.", "enum": [ @@ -6628,6 +6653,10 @@ "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information." }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "rows": { "description": "Each element in `rows` is a row whose format is defined by metadata.row_type. The ith element in each row matches the ith field in metadata.row_type. Elements are encoded based on type as described here.", "items": { diff --git a/spanner/v1/spanner-gen.go b/spanner/v1/spanner-gen.go index 9ee3ed9a41e..a470a783243 100644 --- a/spanner/v1/spanner-gen.go +++ b/spanner/v1/spanner-gen.go @@ -941,6 +941,11 @@ func (s BatchWriteResponse) MarshalJSON() ([]byte, error) { // BeginTransactionRequest: The request for BeginTransaction. type BeginTransactionRequest struct { + // MutationKey: Optional. Required for read-write transactions on a multiplexed + // session that commit mutations but do not perform any reads or queries. + // Clients should randomly select one of the mutations from the mutation set + // and send it as a part of this request. + MutationKey *Mutation `json:"mutationKey,omitempty"` // Options: Required. Options for the new transaction. Options *TransactionOptions `json:"options,omitempty"` // RequestOptions: Common options for this request. Priority is ignored for @@ -948,13 +953,13 @@ type BeginTransactionRequest struct { // do anything. To set the priority for a transaction, set it on the reads and // writes that are part of this transaction instead. RequestOptions *RequestOptions `json:"requestOptions,omitempty"` - // ForceSendFields is a list of field names (e.g. "Options") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "MutationKey") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Options") to include in API + // NullFields is a list of field names (e.g. "MutationKey") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -1171,6 +1176,11 @@ type CommitRequest struct { // Mutations: The mutations to be executed when this transaction commits. All // mutations are applied atomically, in the order they appear in this list. Mutations []*Mutation `json:"mutations,omitempty"` + // PrecommitToken: Optional. If the read-write transaction was executed on a + // multiplexed session, the precommit token with the highest sequence number + // received in this transaction attempt, should be included here. Failing to do + // so will result in a FailedPrecondition error. + PrecommitToken *MultiplexedSessionPrecommitToken `json:"precommitToken,omitempty"` // RequestOptions: Common options for this request. RequestOptions *RequestOptions `json:"requestOptions,omitempty"` // ReturnCommitStats: If `true`, then statistics related to the transaction @@ -1212,6 +1222,9 @@ type CommitResponse struct { // CommitTimestamp: The Cloud Spanner timestamp at which the transaction // committed. CommitTimestamp string `json:"commitTimestamp,omitempty"` + // PrecommitToken: If specified, transaction has not committed yet. Clients + // must retry the commit with the new precommit token. + PrecommitToken *MultiplexedSessionPrecommitToken `json:"precommitToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` @@ -2320,6 +2333,11 @@ func (s ExecuteBatchDmlRequest) MarshalJSON() ([]byte, error) { // the third statement failed, and the fourth and fifth statements were not // executed. type ExecuteBatchDmlResponse struct { + // PrecommitToken: Optional. A precommit token will be included if the + // read-write transaction is on a multiplexed session. The precommit token with + // the highest sequence number from this transaction attempt should be passed + // to the Commit request for this transaction. + PrecommitToken *MultiplexedSessionPrecommitToken `json:"precommitToken,omitempty"` // ResultSets: One ResultSet for each statement in the request that ran // successfully, in the same order as the statements in the request. Each // ResultSet does not contain any rows. The ResultSetStats in each ResultSet @@ -2332,15 +2350,15 @@ type ExecuteBatchDmlResponse struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ResultSets") to + // ForceSendFields is a list of field names (e.g. "PrecommitToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ResultSets") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "PrecommitToken") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -4189,6 +4207,11 @@ type PartialResultSet struct { // Metadata: Metadata about the result set, such as row type information. Only // present in the first response. Metadata *ResultSetMetadata `json:"metadata,omitempty"` + // PrecommitToken: Optional. A precommit token will be included if the + // read-write transaction is on a multiplexed session. The precommit token with + // the highest sequence number from this transaction attempt should be passed + // to the Commit request for this transaction. + PrecommitToken *MultiplexedSessionPrecommitToken `json:"precommitToken,omitempty"` // ResumeToken: Streaming calls might be interrupted for a variety of reasons, // such as TCP connection loss. If this occurs, the stream of results can be // resumed by re-sending the original request and including `resume_token`. @@ -4965,6 +4988,10 @@ func (s ReadRequest) MarshalJSON() ([]byte, error) { // ReadWrite: Message type to initiate a read-write transaction. Currently this // transaction type has no options. type ReadWrite struct { + // MultiplexedSessionPreviousTransactionId: Optional. Clients should pass the + // transaction ID of the previous transaction attempt that was aborted if this + // transaction is being executed on a multiplexed session. + MultiplexedSessionPreviousTransactionId string `json:"multiplexedSessionPreviousTransactionId,omitempty"` // ReadLockMode: Read lock mode for the transaction. // // Possible values: @@ -4977,16 +5004,18 @@ type ReadWrite struct { // commit to validate that read/queried data has not changed since the // transaction started. ReadLockMode string `json:"readLockMode,omitempty"` - // ForceSendFields is a list of field names (e.g. "ReadLockMode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // ForceSendFields is a list of field names (e.g. + // "MultiplexedSessionPreviousTransactionId") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted from + // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ReadLockMode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + // NullFields is a list of field names (e.g. + // "MultiplexedSessionPreviousTransactionId") to include in API requests with + // the JSON null value. By default, fields with empty values are omitted from + // API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields + // for more details. NullFields []string `json:"-"` } @@ -5326,6 +5355,11 @@ func (s RestoreInfo) MarshalJSON() ([]byte, error) { type ResultSet struct { // Metadata: Metadata about the result set, such as row type information. Metadata *ResultSetMetadata `json:"metadata,omitempty"` + // PrecommitToken: Optional. A precommit token will be included if the + // read-write transaction is on a multiplexed session. The precommit token with + // the highest sequence number from this transaction attempt should be passed + // to the Commit request for this transaction. + PrecommitToken *MultiplexedSessionPrecommitToken `json:"precommitToken,omitempty"` // Rows: Each element in `rows` is a row whose format is defined by // metadata.row_type. The ith element in each row matches the ith field in // metadata.row_type. Elements are encoded based on type as described here. @@ -10132,7 +10166,8 @@ type ProjectsInstancesBackupsGetIamPolicyCall struct { // not have a policy set. Authorization requires // `spanner.databases.getIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.getIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.getIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being retrieved. The format is `projects//instances/` for instance @@ -10534,7 +10569,8 @@ type ProjectsInstancesBackupsSetIamPolicyCall struct { // resource. Replaces any existing policy. Authorization requires // `spanner.databases.setIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.setIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.setIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being set. The format is `projects//instances/` for instance resources and @@ -10643,7 +10679,10 @@ type ProjectsInstancesBackupsTestIamPermissionsCall struct { // `spanner.databases.list` permission on the containing Cloud Spanner // instance. Otherwise returns an empty set of permissions. Calling this method // on a backup that does not exist will result in a NOT_FOUND error if the user -// has `spanner.backups.list` permission on the containing instance. +// has `spanner.backups.list` permission on the containing instance. Calling +// this method on a backup schedule that does not exist will result in a +// NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on +// the containing database. // // - resource: REQUIRED: The Cloud Spanner resource for which permissions are // being tested. The format is `projects//instances/` for instance resources @@ -11928,7 +11967,8 @@ type ProjectsInstancesDatabasesGetIamPolicyCall struct { // not have a policy set. Authorization requires // `spanner.databases.getIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.getIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.getIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being retrieved. The format is `projects//instances/` for instance @@ -12570,7 +12610,8 @@ type ProjectsInstancesDatabasesSetIamPolicyCall struct { // resource. Replaces any existing policy. Authorization requires // `spanner.databases.setIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.setIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.setIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being set. The format is `projects//instances/` for instance resources and @@ -12679,7 +12720,10 @@ type ProjectsInstancesDatabasesTestIamPermissionsCall struct { // `spanner.databases.list` permission on the containing Cloud Spanner // instance. Otherwise returns an empty set of permissions. Calling this method // on a backup that does not exist will result in a NOT_FOUND error if the user -// has `spanner.backups.list` permission on the containing instance. +// has `spanner.backups.list` permission on the containing instance. Calling +// this method on a backup schedule that does not exist will result in a +// NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on +// the containing database. // // - resource: REQUIRED: The Cloud Spanner resource for which permissions are // being tested. The format is `projects//instances/` for instance resources @@ -13207,7 +13251,8 @@ type ProjectsInstancesDatabasesBackupSchedulesGetIamPolicyCall struct { // not have a policy set. Authorization requires // `spanner.databases.getIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.getIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.getIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being retrieved. The format is `projects//instances/` for instance @@ -13576,7 +13621,8 @@ type ProjectsInstancesDatabasesBackupSchedulesSetIamPolicyCall struct { // resource. Replaces any existing policy. Authorization requires // `spanner.databases.setIamPolicy` permission on resource. For backups, // authorization requires `spanner.backups.setIamPolicy` permission on -// resource. +// resource. For backup schedules, authorization requires +// `spanner.backupSchedules.setIamPolicy` permission on resource. // // - resource: REQUIRED: The Cloud Spanner resource for which the policy is // being set. The format is `projects//instances/` for instance resources and @@ -13685,7 +13731,10 @@ type ProjectsInstancesDatabasesBackupSchedulesTestIamPermissionsCall struct { // `spanner.databases.list` permission on the containing Cloud Spanner // instance. Otherwise returns an empty set of permissions. Calling this method // on a backup that does not exist will result in a NOT_FOUND error if the user -// has `spanner.backups.list` permission on the containing instance. +// has `spanner.backups.list` permission on the containing instance. Calling +// this method on a backup schedule that does not exist will result in a +// NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on +// the containing database. // // - resource: REQUIRED: The Cloud Spanner resource for which permissions are // being tested. The format is `projects//instances/` for instance resources @@ -13941,7 +13990,10 @@ type ProjectsInstancesDatabasesDatabaseRolesTestIamPermissionsCall struct { // `spanner.databases.list` permission on the containing Cloud Spanner // instance. Otherwise returns an empty set of permissions. Calling this method // on a backup that does not exist will result in a NOT_FOUND error if the user -// has `spanner.backups.list` permission on the containing instance. +// has `spanner.backups.list` permission on the containing instance. Calling +// this method on a backup schedule that does not exist will result in a +// NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on +// the containing database. // // - resource: REQUIRED: The Cloud Spanner resource for which permissions are // being tested. The format is `projects//instances/` for instance resources