diff --git a/model/gcp/beyondcorp/extensions/models/appconnections.ts b/model/gcp/beyondcorp/extensions/models/appconnections.ts index 88756bd22..6ae5d4cfb 100644 --- a/model/gcp/beyondcorp/extensions/models/appconnections.ts +++ b/model/gcp/beyondcorp/extensions/models/appconnections.ts @@ -118,7 +118,7 @@ const GlobalArgsSchema = z.object({ }).describe("ApplicationEndpoint represents a remote application endpoint.") .optional(), connectors: z.array(z.string()).describe( - "Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are authorised to be associated with this AppConnection.", + "Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are authorized to be associated with this AppConnection.", ).optional(), displayName: z.string().describe( "Optional. An arbitrary user-provided name for the AppConnection. Cannot exceed 64 characters.", @@ -155,7 +155,7 @@ const GlobalArgsSchema = z.object({ "Optional. User-settable AppConnection resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", ).optional(), requestId: z.string().describe( - "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", @@ -200,7 +200,7 @@ const InputsSchema = z.object({ }).describe("ApplicationEndpoint represents a remote application endpoint.") .optional(), connectors: z.array(z.string()).describe( - "Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are authorised to be associated with this AppConnection.", + "Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are authorized to be associated with this AppConnection.", ).optional(), displayName: z.string().describe( "Optional. An arbitrary user-provided name for the AppConnection. Cannot exceed 64 characters.", @@ -237,7 +237,7 @@ const InputsSchema = z.object({ "Optional. User-settable AppConnection resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", ).optional(), requestId: z.string().describe( - "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", @@ -246,7 +246,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/beyondcorp/appconnections", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -273,6 +273,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/beyondcorp/extensions/models/appconnectors.ts b/model/gcp/beyondcorp/extensions/models/appconnectors.ts index 62e97c010..63c4bcbd9 100644 --- a/model/gcp/beyondcorp/extensions/models/appconnectors.ts +++ b/model/gcp/beyondcorp/extensions/models/appconnectors.ts @@ -141,7 +141,7 @@ const GlobalArgsSchema = z.object({ "The timestamp to collect the info. It is suggested to be set by the topmost level resource only.", ).optional(), }).describe( - "ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent", + "ResourceInfo represents the information or status of an app connector resource component that's used to report on various parts of the system. For example, ResourceInfo can be used to convey the status of a remote_agent, including the status of an appgateway for an runtime environment in a container instance.", ).optional(), appConnectorId: z.string().describe( "Optional. User-settable AppConnector resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", @@ -215,7 +215,7 @@ const InputsSchema = z.object({ "The timestamp to collect the info. It is suggested to be set by the topmost level resource only.", ).optional(), }).describe( - "ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent", + "ResourceInfo represents the information or status of an app connector resource component that's used to report on various parts of the system. For example, ResourceInfo can be used to convey the status of a remote_agent, including the status of an appgateway for an runtime environment in a container instance.", ).optional(), appConnectorId: z.string().describe( "Optional. User-settable AppConnector resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", @@ -230,7 +230,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/beyondcorp/appconnectors", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -257,6 +257,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/beyondcorp/extensions/models/securitygateways.ts b/model/gcp/beyondcorp/extensions/models/securitygateways.ts index 6b6f0b986..081def10e 100644 --- a/model/gcp/beyondcorp/extensions/models/securitygateways.ts +++ b/model/gcp/beyondcorp/extensions/models/securitygateways.ts @@ -172,7 +172,7 @@ const GlobalArgsSchema = z.object({ apiGateway: z.object({ resourceOverride: z.object({ path: z.string().describe( - "Required. Contains the URI path fragment where HTTP request is sent.", + "Optional. Contains the URI path fragment where HTTP request is sent.", ).optional(), }).describe("API operation descriptor.").optional(), }).describe( @@ -303,7 +303,7 @@ const InputsSchema = z.object({ apiGateway: z.object({ resourceOverride: z.object({ path: z.string().describe( - "Required. Contains the URI path fragment where HTTP request is sent.", + "Optional. Contains the URI path fragment where HTTP request is sent.", ).optional(), }).describe("API operation descriptor.").optional(), }).describe( @@ -323,7 +323,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/beyondcorp/securitygateways", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -350,6 +350,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/beyondcorp/extensions/models/securitygateways_applications.ts b/model/gcp/beyondcorp/extensions/models/securitygateways_applications.ts index 7886ef940..fdc4710e5 100644 --- a/model/gcp/beyondcorp/extensions/models/securitygateways_applications.ts +++ b/model/gcp/beyondcorp/extensions/models/securitygateways_applications.ts @@ -180,7 +180,7 @@ const GlobalArgsSchema = z.object({ "Optional. User-settable Application resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter.", ).optional(), requestId: z.string().describe( - "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", + "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", @@ -315,7 +315,7 @@ const InputsSchema = z.object({ "Optional. User-settable Application resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter.", ).optional(), requestId: z.string().describe( - "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", + "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", @@ -324,7 +324,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/beyondcorp/securitygateways-applications", - version: "2026.04.04.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -356,6 +356,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/beyondcorp/manifest.yaml b/model/gcp/beyondcorp/manifest.yaml index d12af9fc8..df5e05969 100644 --- a/model/gcp/beyondcorp/manifest.yaml +++ b/model/gcp/beyondcorp/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/beyondcorp" -version: "2026.04.04.1" +version: "2026.04.13.1" description: "Google Cloud beyondcorp infrastructure models" labels: - gcp @@ -10,7 +10,7 @@ labels: - cloud - infrastructure releaseNotes: | - - Updated: securitygateways_applications + - Updated: appconnections, appconnectors, securitygateways, securitygateways_applications models: - appconnections.ts - appconnectors.ts diff --git a/model/gcp/bigquerydatapolicy/extensions/models/datapolicies.ts b/model/gcp/bigquerydatapolicy/extensions/models/datapolicies.ts index 22ae544c2..4f06705f9 100644 --- a/model/gcp/bigquerydatapolicy/extensions/models/datapolicies.ts +++ b/model/gcp/bigquerydatapolicy/extensions/models/datapolicies.ts @@ -88,16 +88,6 @@ const DELETE_CONFIG = { const GlobalArgsSchema = z.object({ dataPolicy: z.object({ - dataGovernanceTag: z.object({ - key: z.string().describe( - "Optional. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example `parent-id/pii` where `parent-id` is the ID of the parent organization or project resource for this tag key.", - ).optional(), - value: z.string().describe( - "Optional. Specifies the tag value as the short name, for example `sensitive`.", - ).optional(), - }).describe( - "Data Governance tag This is a namespaced name specifying the key and the value. For example: `project-id/pii/sensitive`.", - ).optional(), dataMaskingPolicy: z.object({ predefinedExpression: z.enum([ "PREDEFINED_EXPRESSION_UNSPECIFIED", @@ -142,16 +132,6 @@ const GlobalArgsSchema = z.object({ dataPolicyId: z.string().describe( "Output only. User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {data_policy_id} in part of the resource name.", ).optional(), - dataGovernanceTag: z.object({ - key: z.string().describe( - "Optional. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example `parent-id/pii` where `parent-id` is the ID of the parent organization or project resource for this tag key.", - ).optional(), - value: z.string().describe( - "Optional. Specifies the tag value as the short name, for example `sensitive`.", - ).optional(), - }).describe( - "Data Governance tag This is a namespaced name specifying the key and the value. For example: `project-id/pii/sensitive`.", - ).optional(), dataMaskingPolicy: z.object({ predefinedExpression: z.enum([ "PREDEFINED_EXPRESSION_UNSPECIFIED", @@ -195,10 +175,6 @@ const GlobalArgsSchema = z.object({ }); const StateSchema = z.object({ - dataGovernanceTag: z.object({ - key: z.string(), - value: z.string(), - }).optional(), dataMaskingPolicy: z.object({ predefinedExpression: z.string(), routine: z.string(), @@ -216,16 +192,6 @@ type StateData = z.infer; const InputsSchema = z.object({ dataPolicy: z.object({ - dataGovernanceTag: z.object({ - key: z.string().describe( - "Optional. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example `parent-id/pii` where `parent-id` is the ID of the parent organization or project resource for this tag key.", - ).optional(), - value: z.string().describe( - "Optional. Specifies the tag value as the short name, for example `sensitive`.", - ).optional(), - }).describe( - "Data Governance tag This is a namespaced name specifying the key and the value. For example: `project-id/pii/sensitive`.", - ).optional(), dataMaskingPolicy: z.object({ predefinedExpression: z.enum([ "PREDEFINED_EXPRESSION_UNSPECIFIED", @@ -270,16 +236,6 @@ const InputsSchema = z.object({ dataPolicyId: z.string().describe( "Output only. User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {data_policy_id} in part of the resource name.", ).optional(), - dataGovernanceTag: z.object({ - key: z.string().describe( - "Optional. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example `parent-id/pii` where `parent-id` is the ID of the parent organization or project resource for this tag key.", - ).optional(), - value: z.string().describe( - "Optional. Specifies the tag value as the short name, for example `sensitive`.", - ).optional(), - }).describe( - "Data Governance tag This is a namespaced name specifying the key and the value. For example: `project-id/pii/sensitive`.", - ).optional(), dataMaskingPolicy: z.object({ predefinedExpression: z.enum([ "PREDEFINED_EXPRESSION_UNSPECIFIED", @@ -324,7 +280,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/bigquerydatapolicy/datapolicies", - version: "2026.04.09.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -382,6 +338,14 @@ export const model = { description: "Added: dataGovernanceTag", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "Removed: dataGovernanceTag", + upgradeAttributes: (old: Record) => { + const { dataGovernanceTag: _dataGovernanceTag, ...rest } = old; + return rest; + }, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -489,9 +453,6 @@ export const model = { if (g["dataPolicyId"] !== undefined) { body["dataPolicyId"] = g["dataPolicyId"]; } - if (g["dataGovernanceTag"] !== undefined) { - body["dataGovernanceTag"] = g["dataGovernanceTag"]; - } if (g["dataMaskingPolicy"] !== undefined) { body["dataMaskingPolicy"] = g["dataMaskingPolicy"]; } diff --git a/model/gcp/bigquerydatapolicy/manifest.yaml b/model/gcp/bigquerydatapolicy/manifest.yaml index cbe940453..13351d25a 100644 --- a/model/gcp/bigquerydatapolicy/manifest.yaml +++ b/model/gcp/bigquerydatapolicy/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/bigquerydatapolicy" -version: "2026.04.09.1" +version: "2026.04.13.1" description: "Google Cloud bigquerydatapolicy infrastructure models" labels: - gcp diff --git a/model/gcp/ces/extensions/models/apps.ts b/model/gcp/ces/extensions/models/apps.ts index c7f24d40c..cf9ff60e2 100644 --- a/model/gcp/ces/extensions/models/apps.ts +++ b/model/gcp/ces/extensions/models/apps.ts @@ -230,12 +230,27 @@ const GlobalArgsSchema = z.object({ displayName: z.string().describe("Required. Display name of the app.") .optional(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean().describe( + "Optional. Whether to escalate the session in EndSession. If session is escalated, metadata in EndSession will contain `session_escalated = true`. See https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent for details.", + ).optional(), + }).describe( + "Configuration for ending the session in case of system errors (e.g. LLM errors).", + ).optional(), errorHandlingStrategy: z.enum([ "ERROR_HANDLING_STRATEGY_UNSPECIFIED", "NONE", "FALLBACK_RESPONSE", "END_SESSION", ]).describe("Optional. The strategy to use for error handling.").optional(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.string()).describe( + "Optional. The fallback messages in case of system errors (e.g. LLM errors), mapped by [supported language code](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/language).", + ).optional(), + maxFallbackAttempts: z.number().int().describe( + "Optional. The maximum number of fallback attempts to make before the agent emitting EndSession Signal.", + ).optional(), + }).describe("Configuration for handling fallback responses.").optional(), }).describe("Settings to describe how errors should be handled in the app.") .optional(), evaluationMetricsThresholds: z.object({ @@ -349,6 +364,9 @@ const GlobalArgsSchema = z.object({ disableConversationLogging: z.boolean().describe( "Optional. Whether to disable conversation logging for the sessions.", ).optional(), + retentionWindow: z.string().describe( + "Optional. Controls the retention window for the conversation. If not set, the conversation will be retained for 365 days.", + ).optional(), }).describe( "Settings to describe the conversation logging behaviors for the app.", ).optional(), @@ -546,7 +564,14 @@ const StateSchema = z.object({ description: z.string().optional(), displayName: z.string().optional(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean(), + }), errorHandlingStrategy: z.string(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.unknown()), + maxFallbackAttempts: z.number(), + }), }).optional(), etag: z.string().optional(), evaluationMetricsThresholds: z.object({ @@ -591,6 +616,7 @@ const StateSchema = z.object({ }), conversationLoggingSettings: z.object({ disableConversationLogging: z.boolean(), + retentionWindow: z.string(), }), evaluationAudioRecordingConfig: z.object({ gcsBucket: z.string(), @@ -813,12 +839,27 @@ const InputsSchema = z.object({ displayName: z.string().describe("Required. Display name of the app.") .optional(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean().describe( + "Optional. Whether to escalate the session in EndSession. If session is escalated, metadata in EndSession will contain `session_escalated = true`. See https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent for details.", + ).optional(), + }).describe( + "Configuration for ending the session in case of system errors (e.g. LLM errors).", + ).optional(), errorHandlingStrategy: z.enum([ "ERROR_HANDLING_STRATEGY_UNSPECIFIED", "NONE", "FALLBACK_RESPONSE", "END_SESSION", ]).describe("Optional. The strategy to use for error handling.").optional(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.string()).describe( + "Optional. The fallback messages in case of system errors (e.g. LLM errors), mapped by [supported language code](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/language).", + ).optional(), + maxFallbackAttempts: z.number().int().describe( + "Optional. The maximum number of fallback attempts to make before the agent emitting EndSession Signal.", + ).optional(), + }).describe("Configuration for handling fallback responses.").optional(), }).describe("Settings to describe how errors should be handled in the app.") .optional(), evaluationMetricsThresholds: z.object({ @@ -932,6 +973,9 @@ const InputsSchema = z.object({ disableConversationLogging: z.boolean().describe( "Optional. Whether to disable conversation logging for the sessions.", ).optional(), + retentionWindow: z.string().describe( + "Optional. Controls the retention window for the conversation. If not set, the conversation will be retained for 365 days.", + ).optional(), }).describe( "Settings to describe the conversation logging behaviors for the app.", ).optional(), @@ -1079,7 +1123,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/ces/apps", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -1116,6 +1160,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -1430,6 +1479,7 @@ export const model = { arguments: z.object({ args: z.any().optional(), context: z.any().optional(), + mockConfig: z.any().optional(), tool: z.any().optional(), toolsetTool: z.any().optional(), variables: z.any().optional(), @@ -1442,6 +1492,9 @@ export const model = { const body: Record = {}; if (args["args"] !== undefined) body["args"] = args["args"]; if (args["context"] !== undefined) body["context"] = args["context"]; + if (args["mockConfig"] !== undefined) { + body["mockConfig"] = args["mockConfig"]; + } if (args["tool"] !== undefined) body["tool"] = args["tool"]; if (args["toolsetTool"] !== undefined) { body["toolsetTool"] = args["toolsetTool"]; diff --git a/model/gcp/ces/extensions/models/apps_tools.ts b/model/gcp/ces/extensions/models/apps_tools.ts index 1b549c4f7..03fcbbf3a 100644 --- a/model/gcp/ces/extensions/models/apps_tools.ts +++ b/model/gcp/ces/extensions/models/apps_tools.ts @@ -94,13 +94,16 @@ const DELETE_CONFIG = { const GlobalArgsSchema = z.object({ agentTool: z.object({ + agent: z.string().describe( + "Optional. The resource name of the agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + ).optional(), description: z.string().describe( "Optional. Description of the tool's purpose.", ).optional(), name: z.string().describe("Required. The name of the agent tool.") .optional(), rootAgent: z.string().describe( - "Optional. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "Optional. Deprecated: Use `agent` instead. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", ).optional(), }).describe("Represents a tool that allows the agent to call another agent.") .optional(), @@ -941,6 +944,7 @@ const GlobalArgsSchema = z.object({ const StateSchema = z.object({ agentTool: z.object({ + agent: z.string(), description: z.string(), name: z.string(), rootAgent: z.string(), @@ -1279,13 +1283,16 @@ type StateData = z.infer; const InputsSchema = z.object({ agentTool: z.object({ + agent: z.string().describe( + "Optional. The resource name of the agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + ).optional(), description: z.string().describe( "Optional. Description of the tool's purpose.", ).optional(), name: z.string().describe("Required. The name of the agent tool.") .optional(), rootAgent: z.string().describe( - "Optional. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "Optional. Deprecated: Use `agent` instead. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", ).optional(), }).describe("Represents a tool that allows the agent to call another agent.") .optional(), @@ -2126,7 +2133,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/ces/apps-tools", - version: "2026.04.04.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.2", @@ -2158,6 +2165,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/ces/extensions/models/apps_versions.ts b/model/gcp/ces/extensions/models/apps_versions.ts index 57e72e519..05af48b53 100644 --- a/model/gcp/ces/extensions/models/apps_versions.ts +++ b/model/gcp/ces/extensions/models/apps_versions.ts @@ -414,6 +414,13 @@ const GlobalArgsSchema = z.object({ displayName: z.string().describe("Required. Display name of the app.") .optional(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean().describe( + "Optional. Whether to escalate the session in EndSession. If session is escalated, metadata in EndSession will contain `session_escalated = true`. See https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent for details.", + ).optional(), + }).describe( + "Configuration for ending the session in case of system errors (e.g. LLM errors).", + ).optional(), errorHandlingStrategy: z.enum([ "ERROR_HANDLING_STRATEGY_UNSPECIFIED", "NONE", @@ -421,6 +428,15 @@ const GlobalArgsSchema = z.object({ "END_SESSION", ]).describe("Optional. The strategy to use for error handling.") .optional(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.unknown()).describe( + "Optional. The fallback messages in case of system errors (e.g. LLM errors), mapped by [supported language code](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/language).", + ).optional(), + maxFallbackAttempts: z.number().int().describe( + "Optional. The maximum number of fallback attempts to make before the agent emitting EndSession Signal.", + ).optional(), + }).describe("Configuration for handling fallback responses.") + .optional(), }).describe( "Settings to describe how errors should be handled in the app.", ).optional(), @@ -532,6 +548,9 @@ const GlobalArgsSchema = z.object({ disableConversationLogging: z.boolean().describe( "Optional. Whether to disable conversation logging for the sessions.", ).optional(), + retentionWindow: z.string().describe( + "Optional. Controls the retention window for the conversation. If not set, the conversation will be retained for 365 days.", + ).optional(), }).describe( "Settings to describe the conversation logging behaviors for the app.", ).optional(), @@ -988,13 +1007,16 @@ const GlobalArgsSchema = z.object({ })).describe("Optional. List of guardrails in the app.").optional(), tools: z.array(z.object({ agentTool: z.object({ + agent: z.string().describe( + "Optional. The resource name of the agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + ).optional(), description: z.string().describe( "Optional. Description of the tool's purpose.", ).optional(), name: z.string().describe("Required. The name of the agent tool.") .optional(), rootAgent: z.string().describe( - "Optional. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "Optional. Deprecated: Use `agent` instead. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", ).optional(), }).describe( "Represents a tool that allows the agent to call another agent.", @@ -1884,7 +1906,14 @@ const StateSchema = z.object({ description: z.string(), displayName: z.string(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean(), + }), errorHandlingStrategy: z.string(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.unknown()), + maxFallbackAttempts: z.number(), + }), }), etag: z.string(), evaluationMetricsThresholds: z.object({ @@ -1929,6 +1958,7 @@ const StateSchema = z.object({ }), conversationLoggingSettings: z.object({ disableConversationLogging: z.boolean(), + retentionWindow: z.string(), }), evaluationAudioRecordingConfig: z.object({ gcsBucket: z.string(), @@ -2105,6 +2135,7 @@ const StateSchema = z.object({ })), tools: z.array(z.object({ agentTool: z.object({ + agent: z.string(), description: z.string(), name: z.string(), rootAgent: z.string(), @@ -2748,6 +2779,13 @@ const InputsSchema = z.object({ displayName: z.string().describe("Required. Display name of the app.") .optional(), errorHandlingSettings: z.object({ + endSessionConfig: z.object({ + escalateSession: z.boolean().describe( + "Optional. Whether to escalate the session in EndSession. If session is escalated, metadata in EndSession will contain `session_escalated = true`. See https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent for details.", + ).optional(), + }).describe( + "Configuration for ending the session in case of system errors (e.g. LLM errors).", + ).optional(), errorHandlingStrategy: z.enum([ "ERROR_HANDLING_STRATEGY_UNSPECIFIED", "NONE", @@ -2755,6 +2793,15 @@ const InputsSchema = z.object({ "END_SESSION", ]).describe("Optional. The strategy to use for error handling.") .optional(), + fallbackResponseConfig: z.object({ + customFallbackMessages: z.record(z.string(), z.unknown()).describe( + "Optional. The fallback messages in case of system errors (e.g. LLM errors), mapped by [supported language code](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/language).", + ).optional(), + maxFallbackAttempts: z.number().int().describe( + "Optional. The maximum number of fallback attempts to make before the agent emitting EndSession Signal.", + ).optional(), + }).describe("Configuration for handling fallback responses.") + .optional(), }).describe( "Settings to describe how errors should be handled in the app.", ).optional(), @@ -2866,6 +2913,9 @@ const InputsSchema = z.object({ disableConversationLogging: z.boolean().describe( "Optional. Whether to disable conversation logging for the sessions.", ).optional(), + retentionWindow: z.string().describe( + "Optional. Controls the retention window for the conversation. If not set, the conversation will be retained for 365 days.", + ).optional(), }).describe( "Settings to describe the conversation logging behaviors for the app.", ).optional(), @@ -3322,13 +3372,16 @@ const InputsSchema = z.object({ })).describe("Optional. List of guardrails in the app.").optional(), tools: z.array(z.object({ agentTool: z.object({ + agent: z.string().describe( + "Optional. The resource name of the agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + ).optional(), description: z.string().describe( "Optional. Description of the tool's purpose.", ).optional(), name: z.string().describe("Required. The name of the agent tool.") .optional(), rootAgent: z.string().describe( - "Optional. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "Optional. Deprecated: Use `agent` instead. The resource name of the root agent that is the entry point of the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`", ).optional(), }).describe( "Represents a tool that allows the agent to call another agent.", @@ -4088,7 +4141,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/ces/apps-versions", - version: "2026.04.04.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -4130,6 +4183,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/ces/manifest.yaml b/model/gcp/ces/manifest.yaml index 1ec65eeca..fb3c4d7fc 100644 --- a/model/gcp/ces/manifest.yaml +++ b/model/gcp/ces/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/ces" -version: "2026.04.04.1" +version: "2026.04.13.1" description: "Google Cloud ces infrastructure models" labels: - gcp @@ -10,7 +10,7 @@ labels: - cloud - infrastructure releaseNotes: | - - Updated: apps_conversations, apps_examples, apps_tools, apps_versions + - Updated: apps, apps_tools, apps_versions models: - apps.ts - apps_agents.ts diff --git a/model/gcp/dataproc/extensions/models/batches.ts b/model/gcp/dataproc/extensions/models/batches.ts index 8a1235d86..0efd72364 100644 --- a/model/gcp/dataproc/extensions/models/batches.ts +++ b/model/gcp/dataproc/extensions/models/batches.ts @@ -149,27 +149,6 @@ const GlobalArgsSchema = z.object({ }).describe( "A configuration for running an Apache PySpark (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.", ).optional(), - pysparkNotebookBatch: z.object({ - archiveUris: z.array(z.string()).describe( - "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types:.jar,.tar,.tar.gz,.tgz, and.zip.", - ).optional(), - fileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of files to be placed in the working directory of each executor", - ).optional(), - jarFileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", - ).optional(), - notebookFileUri: z.string().describe( - "Required. The HCFS URI of the notebook file to execute.", - ).optional(), - params: z.record(z.string(), z.string()).describe( - "Optional. The parameters to pass to the notebook.", - ).optional(), - pythonFileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of Python files to pass to the PySpark framework.", - ).optional(), - }).describe("A configuration for running a PySpark Notebook batch workload.") - .optional(), runtimeConfig: z.object({ autotuningConfig: z.object({ scenarios: z.array( @@ -381,14 +360,6 @@ const StateSchema = z.object({ mainPythonFileUri: z.string(), pythonFileUris: z.array(z.string()), }).optional(), - pysparkNotebookBatch: z.object({ - archiveUris: z.array(z.string()), - fileUris: z.array(z.string()), - jarFileUris: z.array(z.string()), - notebookFileUri: z.string(), - params: z.record(z.string(), z.unknown()), - pythonFileUris: z.array(z.string()), - }).optional(), runtimeConfig: z.object({ autotuningConfig: z.object({ scenarios: z.array(z.string()), @@ -540,27 +511,6 @@ const InputsSchema = z.object({ }).describe( "A configuration for running an Apache PySpark (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.", ).optional(), - pysparkNotebookBatch: z.object({ - archiveUris: z.array(z.string()).describe( - "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types:.jar,.tar,.tar.gz,.tgz, and.zip.", - ).optional(), - fileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of files to be placed in the working directory of each executor", - ).optional(), - jarFileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", - ).optional(), - notebookFileUri: z.string().describe( - "Required. The HCFS URI of the notebook file to execute.", - ).optional(), - params: z.record(z.string(), z.string()).describe( - "Optional. The parameters to pass to the notebook.", - ).optional(), - pythonFileUris: z.array(z.string()).describe( - "Optional. HCFS URIs of Python files to pass to the PySpark framework.", - ).optional(), - }).describe("A configuration for running a PySpark Notebook batch workload.") - .optional(), runtimeConfig: z.object({ autotuningConfig: z.object({ scenarios: z.array( @@ -739,7 +689,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/dataproc/batches", - version: "2026.04.11.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -771,6 +721,14 @@ export const model = { description: "Added: pysparkNotebookBatch", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "Removed: pysparkNotebookBatch", + upgradeAttributes: (old: Record) => { + const { pysparkNotebookBatch: _pysparkNotebookBatch, ...rest } = old; + return rest; + }, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -803,9 +761,6 @@ export const model = { if (g["pysparkBatch"] !== undefined) { body["pysparkBatch"] = g["pysparkBatch"]; } - if (g["pysparkNotebookBatch"] !== undefined) { - body["pysparkNotebookBatch"] = g["pysparkNotebookBatch"]; - } if (g["runtimeConfig"] !== undefined) { body["runtimeConfig"] = g["runtimeConfig"]; } diff --git a/model/gcp/dataproc/manifest.yaml b/model/gcp/dataproc/manifest.yaml index a2ed6902c..330680541 100644 --- a/model/gcp/dataproc/manifest.yaml +++ b/model/gcp/dataproc/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/dataproc" -version: "2026.04.11.1" +version: "2026.04.13.1" description: "Google Cloud dataproc infrastructure models" labels: - gcp diff --git a/model/gcp/firebaseappcheck/extensions/models/apps_debugtokens.ts b/model/gcp/firebaseappcheck/extensions/models/apps_debugtokens.ts index d6190d831..9bb00b841 100644 --- a/model/gcp/firebaseappcheck/extensions/models/apps_debugtokens.ts +++ b/model/gcp/firebaseappcheck/extensions/models/apps_debugtokens.ts @@ -76,6 +76,9 @@ const DELETE_CONFIG = { "name", ], "parameters": { + "etag": { + "location": "query", + }, "name": { "location": "path", "required": true, @@ -100,6 +103,7 @@ const GlobalArgsSchema = z.object({ const StateSchema = z.object({ displayName: z.string().optional(), + etag: z.string().optional(), name: z.string(), token: z.string().optional(), updateTime: z.string().optional(), @@ -124,7 +128,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/firebaseappcheck/apps-debugtokens", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -151,6 +155,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/firebaseappcheck/extensions/models/services.ts b/model/gcp/firebaseappcheck/extensions/models/services.ts index e26b990d5..900c96937 100644 --- a/model/gcp/firebaseappcheck/extensions/models/services.ts +++ b/model/gcp/firebaseappcheck/extensions/models/services.ts @@ -56,9 +56,18 @@ const GlobalArgsSchema = z.object({ enforcementMode: z.enum(["OFF", "UNENFORCED", "ENFORCED"]).describe( "Required. The App Check enforcement mode for this service.", ).optional(), + etag: z.string().describe( + "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.", + ).optional(), name: z.string().describe( "Required. The relative resource name of the service configuration object, in the format: ` projects/{project_number}/services/{service_id} ` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)", ).optional(), + replayProtection: z.enum(["OFF", "UNENFORCED", "ENFORCED"]).describe( + "Optional. The replay protection enforcement mode for this service. Note that this field cannot be set to a level higher than the overall App Check enforcement mode. For example, if the overall App Check enforcement mode is set to `UNENFORCED`, this field cannot be set to `ENFORCED`. In order to enforce replay protection, you must first enforce App Check. An HTTP 400 error will be returned in this case. By default, this field is set to `OFF`. Setting this field to `UNENFORCED` or `ENFORCED` is considered opting into replay protection. Once opted in, requests to your protected services may experience higher latency. To opt out of replay protection after opting in, set this field to `OFF`.", + ).optional(), + updateTime: z.string().describe( + "Output only. Timestamp when this service configuration object was most recently updated.", + ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", ).optional(), @@ -66,7 +75,10 @@ const GlobalArgsSchema = z.object({ const StateSchema = z.object({ enforcementMode: z.string().optional(), + etag: z.string().optional(), name: z.string(), + replayProtection: z.string().optional(), + updateTime: z.string().optional(), }).passthrough(); type StateData = z.infer; @@ -75,9 +87,18 @@ const InputsSchema = z.object({ enforcementMode: z.enum(["OFF", "UNENFORCED", "ENFORCED"]).describe( "Required. The App Check enforcement mode for this service.", ).optional(), + etag: z.string().describe( + "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.", + ).optional(), name: z.string().describe( "Required. The relative resource name of the service configuration object, in the format: ` projects/{project_number}/services/{service_id} ` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) * `oauth2.googleapis.com` (Google Identity for iOS)", ).optional(), + replayProtection: z.enum(["OFF", "UNENFORCED", "ENFORCED"]).describe( + "Optional. The replay protection enforcement mode for this service. Note that this field cannot be set to a level higher than the overall App Check enforcement mode. For example, if the overall App Check enforcement mode is set to `UNENFORCED`, this field cannot be set to `ENFORCED`. In order to enforce replay protection, you must first enforce App Check. An HTTP 400 error will be returned in this case. By default, this field is set to `OFF`. Setting this field to `UNENFORCED` or `ENFORCED` is considered opting into replay protection. Once opted in, requests to your protected services may experience higher latency. To opt out of replay protection after opting in, set this field to `OFF`.", + ).optional(), + updateTime: z.string().describe( + "Output only. Timestamp when this service configuration object was most recently updated.", + ).optional(), location: z.string().describe( "The location for this resource (e.g., 'us', 'us-central1', 'europe-west1')", ).optional(), @@ -85,7 +106,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/firebaseappcheck/services", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -112,6 +133,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "Added: etag, replayProtection, updateTime", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -184,6 +210,11 @@ export const model = { if (g["enforcementMode"] !== undefined) { body["enforcementMode"] = g["enforcementMode"]; } + if (g["etag"] !== undefined) body["etag"] = g["etag"]; + if (g["replayProtection"] !== undefined) { + body["replayProtection"] = g["replayProtection"]; + } + if (g["updateTime"] !== undefined) body["updateTime"] = g["updateTime"]; for (const key of Object.keys(existing)) { if ( key === "fingerprint" || key === "labelFingerprint" || diff --git a/model/gcp/firebaseappcheck/manifest.yaml b/model/gcp/firebaseappcheck/manifest.yaml index 6f8c932d4..ac69d4a76 100644 --- a/model/gcp/firebaseappcheck/manifest.yaml +++ b/model/gcp/firebaseappcheck/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/firebaseappcheck" -version: "2026.04.03.3" +version: "2026.04.13.1" description: "Google Cloud firebaseappcheck infrastructure models" labels: - gcp @@ -10,7 +10,7 @@ labels: - cloud - infrastructure releaseNotes: | - - Updated: jwks, apps_appattestconfig, apps_debugtokens, apps_devicecheckconfig, apps_playintegrityconfig, apps_recaptchaenterpriseconfig, apps_recaptchav3config, apps_safetynetconfig, services, services_resourcepolicies + - Updated: apps_debugtokens, services models: - apps_appattestconfig.ts - apps_debugtokens.ts diff --git a/model/gcp/notebooks/extensions/models/instances.ts b/model/gcp/notebooks/extensions/models/instances.ts index a38ef848a..fc574b8e3 100644 --- a/model/gcp/notebooks/extensions/models/instances.ts +++ b/model/gcp/notebooks/extensions/models/instances.ts @@ -151,6 +151,10 @@ const GlobalArgsSchema = z.object({ "PD_BALANCED", "PD_EXTREME", "HYPERDISK_BALANCED", + "HYPERDISK_EXTREME", + "HYPERDISK_THROUGHPUT", + "HYPERDISK_BALANCED_HIGH_AVAILABILITY", + "HYPERDISK_ML", ]).describe("Optional. Indicates the type of the disk.").optional(), kmsKey: z.string().describe( "Optional. Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` Learn more about using your own encryption keys.", @@ -189,6 +193,10 @@ const GlobalArgsSchema = z.object({ "PD_BALANCED", "PD_EXTREME", "HYPERDISK_BALANCED", + "HYPERDISK_EXTREME", + "HYPERDISK_THROUGHPUT", + "HYPERDISK_BALANCED_HIGH_AVAILABILITY", + "HYPERDISK_ML", ]).describe("Optional. Input only. Indicates the type of the disk.") .optional(), kmsKey: z.string().describe( @@ -472,6 +480,10 @@ const InputsSchema = z.object({ "PD_BALANCED", "PD_EXTREME", "HYPERDISK_BALANCED", + "HYPERDISK_EXTREME", + "HYPERDISK_THROUGHPUT", + "HYPERDISK_BALANCED_HIGH_AVAILABILITY", + "HYPERDISK_ML", ]).describe("Optional. Indicates the type of the disk.").optional(), kmsKey: z.string().describe( "Optional. Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` Learn more about using your own encryption keys.", @@ -510,6 +522,10 @@ const InputsSchema = z.object({ "PD_BALANCED", "PD_EXTREME", "HYPERDISK_BALANCED", + "HYPERDISK_EXTREME", + "HYPERDISK_THROUGHPUT", + "HYPERDISK_BALANCED_HIGH_AVAILABILITY", + "HYPERDISK_ML", ]).describe("Optional. Input only. Indicates the type of the disk.") .optional(), kmsKey: z.string().describe( @@ -643,7 +659,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/notebooks/instances", - version: "2026.04.04.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -675,6 +691,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/notebooks/manifest.yaml b/model/gcp/notebooks/manifest.yaml index 2b114e453..338af5f6b 100644 --- a/model/gcp/notebooks/manifest.yaml +++ b/model/gcp/notebooks/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/notebooks" -version: "2026.04.04.1" +version: "2026.04.13.1" description: "Google Cloud notebooks infrastructure models" labels: - gcp diff --git a/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts b/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts index 4bd224743..9d88e6410 100644 --- a/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts +++ b/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts @@ -44,6 +44,18 @@ const GlobalArgsSchema = z.object({ const StateSchema = z.object({ advisoryPublishTime: z.string().optional(), + aiSkillAnalysis: z.object({ + findings: z.array(z.object({ + category: z.string(), + description: z.string(), + filePath: z.string(), + ruleId: z.string(), + severity: z.string(), + snippet: z.string(), + title: z.string(), + })), + skillName: z.string(), + }).optional(), attestation: z.object({ jwts: z.array(z.object({ compactJwt: z.string(), @@ -654,7 +666,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/ondemandscanning/scans-vulnerabilities", - version: "2026.04.09.1", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -696,6 +708,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/ondemandscanning/manifest.yaml b/model/gcp/ondemandscanning/manifest.yaml index f241f505d..3feca6d60 100644 --- a/model/gcp/ondemandscanning/manifest.yaml +++ b/model/gcp/ondemandscanning/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/ondemandscanning" -version: "2026.04.09.1" +version: "2026.04.13.1" description: "Google Cloud ondemandscanning infrastructure models" labels: - gcp diff --git a/model/gcp/storage/extensions/models/anywherecaches.ts b/model/gcp/storage/extensions/models/anywherecaches.ts index 34c1ac274..0064f34e3 100644 --- a/model/gcp/storage/extensions/models/anywherecaches.ts +++ b/model/gcp/storage/extensions/models/anywherecaches.ts @@ -87,6 +87,9 @@ const GlobalArgsSchema = z.object({ id: z.string().describe( "The ID of the resource, including the project number, bucket name and anywhere cache ID.", ).optional(), + ingestOnWrite: z.boolean().describe( + "Specifies whether objects are ingested into the cache upon write.", + ).optional(), pendingUpdate: z.boolean().describe( "True if the cache instance has an active Update long-running operation.", ).optional(), @@ -109,6 +112,7 @@ const StateSchema = z.object({ bucket: z.string().optional(), createTime: z.string().optional(), id: z.string().optional(), + ingestOnWrite: z.boolean().optional(), kind: z.string().optional(), pendingUpdate: z.boolean().optional(), selfLink: z.string().optional(), @@ -136,6 +140,9 @@ const InputsSchema = z.object({ id: z.string().describe( "The ID of the resource, including the project number, bucket name and anywhere cache ID.", ).optional(), + ingestOnWrite: z.boolean().describe( + "Specifies whether objects are ingested into the cache upon write.", + ).optional(), pendingUpdate: z.boolean().describe( "True if the cache instance has an active Update long-running operation.", ).optional(), @@ -154,7 +161,7 @@ const InputsSchema = z.object({ export const model = { type: "@swamp/gcp/storage/anywherecaches", - version: "2026.04.03.3", + version: "2026.04.13.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -181,6 +188,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.04.13.1", + description: "Added: ingestOnWrite", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -210,6 +222,9 @@ export const model = { } if (g["createTime"] !== undefined) body["createTime"] = g["createTime"]; if (g["id"] !== undefined) body["id"] = g["id"]; + if (g["ingestOnWrite"] !== undefined) { + body["ingestOnWrite"] = g["ingestOnWrite"]; + } if (g["pendingUpdate"] !== undefined) { body["pendingUpdate"] = g["pendingUpdate"]; } @@ -298,6 +313,9 @@ export const model = { } if (g["createTime"] !== undefined) body["createTime"] = g["createTime"]; if (g["id"] !== undefined) body["id"] = g["id"]; + if (g["ingestOnWrite"] !== undefined) { + body["ingestOnWrite"] = g["ingestOnWrite"]; + } if (g["pendingUpdate"] !== undefined) { body["pendingUpdate"] = g["pendingUpdate"]; } diff --git a/model/gcp/storage/manifest.yaml b/model/gcp/storage/manifest.yaml index 13a5e19d3..101508e6e 100644 --- a/model/gcp/storage/manifest.yaml +++ b/model/gcp/storage/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/storage" -version: "2026.04.04.1" +version: "2026.04.13.1" description: "Google Cloud storage infrastructure models" labels: - gcp @@ -10,7 +10,7 @@ labels: - cloud - infrastructure releaseNotes: | - - Updated: buckets + - Updated: anywherecaches models: - anywherecaches.ts - bucketaccesscontrols.ts