From fbe5adbd1dc6a3c7d3268d4507c6c1a9a28bf36e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 5 May 2026 06:53:22 +0000 Subject: [PATCH] chore: regenerate models from upstream schemas (2026-05-05) --- .../extensions/models/evaluator.ts | 20 +- model/aws/bedrockagentcore/manifest.yaml | 4 +- model/aws/chime/README.md | 14 +- .../extensions/models/app_instance_bot.ts | 309 ++++++++++++++++++ model/aws/chime/manifest.yaml | 5 +- .../aws/datazone/extensions/models/domain.ts | 9 +- .../extensions/models/group_profile.ts | 26 +- .../aws/datazone/extensions/models/project.ts | 43 ++- .../extensions/models/user_profile.ts | 22 +- model/aws/datazone/manifest.yaml | 4 +- model/aws/deadline/extensions/models/fleet.ts | 9 +- model/aws/deadline/manifest.yaml | 4 +- .../extensions/models/connection.ts | 28 +- model/aws/interconnect/manifest.yaml | 4 +- .../extensions/models/resource_gateway.ts | 18 +- model/aws/vpclattice/manifest.yaml | 4 +- .../extensions/models/app_platform.ts | 39 ++- model/digitalocean/manifest.yaml | 4 +- model/gcp/accesscontextmanager/manifest.yaml | 2 - model/gcp/bigquerydatapolicy/manifest.yaml | 2 - model/gcp/bigtableadmin/manifest.yaml | 2 - model/gcp/cloudsearch/manifest.yaml | 2 - model/gcp/compute/manifest.yaml | 2 - .../firestore/extensions/models/databases.ts | 11 +- model/gcp/firestore/manifest.yaml | 2 +- model/gcp/networkservices/manifest.yaml | 2 - .../models/scans_vulnerabilities.ts | 18 +- model/gcp/ondemandscanning/manifest.yaml | 4 +- model/gcp/pubsub/manifest.yaml | 2 - .../extensions/models/jobs.ts | 14 +- .../gcp/storagebatchoperations/manifest.yaml | 4 +- 31 files changed, 554 insertions(+), 79 deletions(-) create mode 100644 model/aws/chime/extensions/models/app_instance_bot.ts diff --git a/model/aws/bedrockagentcore/extensions/models/evaluator.ts b/model/aws/bedrockagentcore/extensions/models/evaluator.ts index e6635025f..ecde373da 100644 --- a/model/aws/bedrockagentcore/extensions/models/evaluator.ts +++ b/model/aws/bedrockagentcore/extensions/models/evaluator.ts @@ -131,6 +131,12 @@ const GlobalArgsSchema = z.object({ Level: z.enum(["TOOL_CALL", "TRACE", "SESSION"]).describe( "The evaluation level that determines the scope of evaluation.", ), + KmsKeyArn: z.string().min(1).max(2048).regex( + new RegExp( + "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + ), + ).describe("The ARN of the KMS key used to encrypt evaluator data.") + .optional(), Tags: z.array(TagSchema).describe( "A list of tags to assign to the evaluator.", ).optional(), @@ -149,6 +155,7 @@ const StateSchema = z.object({ Status: z.string().optional(), CreatedAt: z.string().optional(), UpdatedAt: z.string().optional(), + KmsKeyArn: z.string().optional(), Tags: z.array(TagSchema).optional(), }).passthrough(); @@ -173,6 +180,12 @@ const InputsSchema = z.object({ Level: z.enum(["TOOL_CALL", "TRACE", "SESSION"]).describe( "The evaluation level that determines the scope of evaluation.", ).optional(), + KmsKeyArn: z.string().min(1).max(2048).regex( + new RegExp( + "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + ), + ).describe("The ARN of the KMS key used to encrypt evaluator data.") + .optional(), Tags: z.array(TagSchema).describe( "A list of tags to assign to the evaluator.", ).optional(), @@ -181,7 +194,7 @@ const InputsSchema = z.object({ /** Swamp extension model for BedrockAgentCore Evaluator. Registered at `@swamp/aws/bedrockagentcore/evaluator`. */ export const model = { type: "@swamp/aws/bedrockagentcore/evaluator", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -213,6 +226,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "Added: KmsKeyArn", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/aws/bedrockagentcore/manifest.yaml b/model/aws/bedrockagentcore/manifest.yaml index 947a47fce..603da89fd 100644 --- a/model/aws/bedrockagentcore/manifest.yaml +++ b/model/aws/bedrockagentcore/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/bedrockagentcore" -version: "2026.05.01.1" +version: "2026.05.05.1" description: "AWS BEDROCKAGENTCORE infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,6 +9,8 @@ labels: - bedrockagentcore - cloud - infrastructure +releaseNotes: | + - Updated: evaluator models: - api_key_credential_provider.ts - browser_custom.ts diff --git a/model/aws/chime/README.md b/model/aws/chime/README.md index 047acb539..5880c562a 100644 --- a/model/aws/chime/README.md +++ b/model/aws/chime/README.md @@ -14,8 +14,8 @@ methods: - **delete** — remove the resource from AWS - **sync** — refresh all resource properties from AWS -Use `swamp model type describe @swamp/aws/chime/app_instance` to see the full -list of configurable properties and available methods for this model. +Use `swamp model type describe @swamp/aws/chime/app_instance_bot` to see the +full list of configurable properties and available methods for this model. ## Authentication @@ -47,17 +47,17 @@ export AWS_SECRET_ACCESS_KEY=wJal... ## Usage ```bash -# Create a new app_instance model -swamp model create @swamp/aws/chime/app_instance my-app_instance +# Create a new app_instance_bot model +swamp model create @swamp/aws/chime/app_instance_bot my-app_instance_bot # Edit the model to configure its properties -swamp model edit my-app_instance +swamp model edit my-app_instance_bot # Create the resource in AWS -swamp model method run my-app_instance create +swamp model method run my-app_instance_bot create # Sync current state from AWS -swamp model method run my-app_instance sync +swamp model method run my-app_instance_bot sync ``` ## License diff --git a/model/aws/chime/extensions/models/app_instance_bot.ts b/model/aws/chime/extensions/models/app_instance_bot.ts new file mode 100644 index 000000000..3db2d073d --- /dev/null +++ b/model/aws/chime/extensions/models/app_instance_bot.ts @@ -0,0 +1,309 @@ +// Auto-generated extension model for @swamp/aws/chime/app-instance-bot +// Do not edit manually. Re-generate with: deno task generate:aws + +// deno-lint-ignore-file no-explicit-any no-control-regex + +/** + * Swamp extension model for Chime AppInstanceBot (AWS::Chime::AppInstanceBot). + * + * Wraps the CloudFormation resource type as a swamp model so create, + * get, update, delete, and sync can be driven through `swamp model`. + * + * @module + */ + +import { z } from "npm:zod@4.3.6"; +import { + createResource, + deleteResource, + isResourceNotFoundError, + readResource, + updateResource, +} from "./_lib/aws.ts"; + +const InvokedBySchema = z.object({ + StandardMessages: z.enum(["AUTO", "ALL", "MENTIONS", "NONE"]).describe( + "Sets standard messages as the bot trigger.", + ), + TargetedMessages: z.enum(["ALL", "NONE"]).describe( + "Sets targeted messages as the bot trigger.", + ), +}); + +const LexConfigurationSchema = z.object({ + RespondsTo: z.enum(["STANDARD_MESSAGES"]).describe( + "Determines whether the Amazon Lex V2 bot responds to all standard messages. Control messages are not supported.", + ).optional(), + InvokedBy: InvokedBySchema.describe( + "Specifies the type of message that triggers a bot.", + ).optional(), + LexBotAliasArn: z.string().min(15).max(2048).regex( + new RegExp( + "^arn:aws:lex:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:bot-alias/[A-Z0-9]{10}/[A-Z0-9]{10}$", + ), + ).describe("The ARN of the Amazon Lex V2 bot's alias."), + LocaleId: z.string().describe( + "Identifies the Amazon Lex V2 bot's language and locale.", + ), + WelcomeIntent: z.string().min(1).max(100).regex(new RegExp("^([A-Za-z]_?)+$")) + .describe( + "The name of the welcome intent configured in the Amazon Lex V2 bot.", + ).optional(), +}); + +const TagSchema = z.object({ + Key: z.string().min(1).max(128).describe("The key in a tag."), + Value: z.string().min(1).max(256).describe("The value in a tag."), +}); + +const GlobalArgsSchema = z.object({ + name: z.string().describe( + "Instance name for this resource (used as the unique identifier in the factory pattern)", + ), + AppInstanceArn: z.string().min(5).max(1600).regex( + new RegExp( + "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + ), + ).describe("The ARN of the AppInstance."), + Name: z.string().min(0).max(256).regex( + new RegExp( + "^[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*$", + ), + ).describe("The name of the AppInstanceBot.").optional(), + Metadata: z.string().min(0).max(1024).regex(new RegExp(".*")).describe( + "The metadata of the AppInstanceBot.", + ).optional(), + Configuration: z.object({ + Lex: LexConfigurationSchema.describe( + "The configuration for an Amazon Lex V2 bot.", + ), + }).describe("A structure that contains configuration data."), + Tags: z.array(TagSchema).describe("The tags assigned to the AppInstanceBot.") + .optional(), +}); + +const StateSchema = z.object({ + AppInstanceArn: z.string().optional(), + AppInstanceBotArn: z.string(), + Name: z.string().optional(), + Metadata: z.string().optional(), + Configuration: z.object({ + Lex: LexConfigurationSchema, + }).optional(), + CreatedTimestamp: z.number().optional(), + LastUpdatedTimestamp: z.number().optional(), + Tags: z.array(TagSchema).optional(), +}).passthrough(); + +type StateData = z.infer; + +const InputsSchema = z.object({ + name: z.string().optional(), + AppInstanceArn: z.string().min(5).max(1600).regex( + new RegExp( + "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + ), + ).describe("The ARN of the AppInstance.").optional(), + Name: z.string().min(0).max(256).regex( + new RegExp( + "^[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*$", + ), + ).describe("The name of the AppInstanceBot.").optional(), + Metadata: z.string().min(0).max(1024).regex(new RegExp(".*")).describe( + "The metadata of the AppInstanceBot.", + ).optional(), + Configuration: z.object({ + Lex: LexConfigurationSchema.describe( + "The configuration for an Amazon Lex V2 bot.", + ).optional(), + }).describe("A structure that contains configuration data.").optional(), + Tags: z.array(TagSchema).describe("The tags assigned to the AppInstanceBot.") + .optional(), +}); + +/** Swamp extension model for Chime AppInstanceBot. Registered at `@swamp/aws/chime/app-instance-bot`. */ +export const model = { + type: "@swamp/aws/chime/app-instance-bot", + version: "2026.05.05.1", + globalArguments: GlobalArgsSchema, + inputsSchema: InputsSchema, + resources: { + state: { + description: "Chime AppInstanceBot resource state", + schema: StateSchema, + lifetime: "infinite", + garbageCollection: 10, + }, + }, + methods: { + create: { + description: "Create a Chime AppInstanceBot", + arguments: z.object({}), + execute: async (_args: Record, context: any) => { + const g = context.globalArgs; + const desiredState: Record = {}; + for (const [key, value] of Object.entries(g)) { + if (key === "name") continue; + if (value !== undefined) desiredState[key] = value; + } + const result = await createResource( + "AWS::Chime::AppInstanceBot", + desiredState, + ) as StateData; + const instanceName = (g.name?.toString() ?? "current").replace( + /[\/\\]/g, + "_", + ).replace(/\.\./g, "_").replace(/\0/g, ""); + const handle = await context.writeResource( + "state", + instanceName, + result, + ); + return { dataHandles: [handle] }; + }, + }, + get: { + description: "Get a Chime AppInstanceBot", + arguments: z.object({ + identifier: z.string().describe( + "The primary identifier of the Chime AppInstanceBot", + ), + }), + execute: async (args: { identifier: string }, context: any) => { + const result = await readResource( + "AWS::Chime::AppInstanceBot", + args.identifier, + ) as StateData; + const instanceName = + (context.globalArgs.name?.toString() ?? args.identifier).replace( + /[\/\\]/g, + "_", + ).replace(/\.\./g, "_").replace(/\0/g, ""); + const handle = await context.writeResource( + "state", + instanceName, + result, + ); + return { dataHandles: [handle] }; + }, + }, + update: { + description: "Update a Chime AppInstanceBot", + arguments: z.object({}), + execute: async (_args: Record, context: any) => { + const g = context.globalArgs; + const instanceName = (g.name?.toString() ?? "current").replace( + /[\/\\]/g, + "_", + ).replace(/\.\./g, "_").replace(/\0/g, ""); + const content = await context.dataRepository.getContent( + context.modelType, + context.modelId, + instanceName, + ); + if (!content) { + throw new Error("No existing state found - run create or get first"); + } + const existing = JSON.parse(new TextDecoder().decode(content)); + const identifier = existing.AppInstanceBotArn?.toString(); + if (!identifier) { + throw new Error("No identifier found in existing state"); + } + const currentState = await readResource( + "AWS::Chime::AppInstanceBot", + identifier, + ) as StateData; + const desiredState: Record = { ...currentState }; + for (const [key, value] of Object.entries(g)) { + if (key === "name") continue; + if (value !== undefined) desiredState[key] = value; + } + const result = await updateResource( + "AWS::Chime::AppInstanceBot", + identifier, + currentState, + desiredState, + ["AppInstanceArn"], + ); + const handle = await context.writeResource( + "state", + instanceName, + result, + ); + return { dataHandles: [handle] }; + }, + }, + delete: { + description: "Delete a Chime AppInstanceBot", + arguments: z.object({ + identifier: z.string().describe( + "The primary identifier of the Chime AppInstanceBot", + ), + }), + execute: async (args: { identifier: string }, context: any) => { + const { existed } = await deleteResource( + "AWS::Chime::AppInstanceBot", + args.identifier, + ); + const instanceName = + (context.globalArgs.name?.toString() ?? args.identifier).replace( + /[\/\\]/g, + "_", + ).replace(/\.\./g, "_").replace(/\0/g, ""); + const handle = await context.writeResource("state", instanceName, { + identifier: args.identifier, + existed, + status: existed ? "deleted" : "not_found", + deletedAt: new Date().toISOString(), + }); + return { dataHandles: [handle] }; + }, + }, + sync: { + description: "Sync Chime AppInstanceBot state from AWS", + arguments: z.object({}), + execute: async (_args: Record, context: any) => { + const g = context.globalArgs; + const instanceName = (g.name?.toString() ?? "current").replace( + /[\/\\]/g, + "_", + ).replace(/\.\./g, "_").replace(/\0/g, ""); + const content = await context.dataRepository.getContent( + context.modelType, + context.modelId, + instanceName, + ); + if (!content) { + throw new Error("No existing state found - run create or get first"); + } + const existing = JSON.parse(new TextDecoder().decode(content)); + const identifier = existing.AppInstanceBotArn?.toString(); + if (!identifier) { + throw new Error("No identifier found in existing state"); + } + try { + const result = await readResource( + "AWS::Chime::AppInstanceBot", + identifier, + ) as StateData; + const handle = await context.writeResource( + "state", + instanceName, + result, + ); + return { dataHandles: [handle] }; + } catch (error: unknown) { + if (isResourceNotFoundError(error)) { + const handle = await context.writeResource("state", instanceName, { + identifier, + status: "not_found", + syncedAt: new Date().toISOString(), + }); + return { dataHandles: [handle] }; + } + throw error; + } + }, + }, + }, +}; diff --git a/model/aws/chime/manifest.yaml b/model/aws/chime/manifest.yaml index c72e64630..83145c5fa 100644 --- a/model/aws/chime/manifest.yaml +++ b/model/aws/chime/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/chime" -version: "2026.05.01.1" +version: "2026.05.05.1" description: "AWS CHIME infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,8 +9,11 @@ labels: - chime - cloud - infrastructure +releaseNotes: | + - Added: app_instance_bot models: - app_instance.ts + - app_instance_bot.ts additionalFiles: - LICENSE.txt - README.md diff --git a/model/aws/datazone/extensions/models/domain.ts b/model/aws/datazone/extensions/models/domain.ts index b525d5898..641927a1f 100644 --- a/model/aws/datazone/extensions/models/domain.ts +++ b/model/aws/datazone/extensions/models/domain.ts @@ -39,7 +39,7 @@ const GlobalArgsSchema = z.object({ ), ).describe( "The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.", - ), + ).optional(), ServiceRole: z.string().regex( new RegExp( "^arn:aws[^:]*:iam::\\d{12}:role(/[a-zA-Z0-9+=,.@_-]+)*/[a-zA-Z0-9+=,.@_-]+$", @@ -149,7 +149,7 @@ const InputsSchema = z.object({ /** Swamp extension model for DataZone Domain. Registered at `@swamp/aws/datazone/domain`. */ export const model = { type: "@swamp/aws/datazone/domain", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.2", @@ -176,6 +176,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/aws/datazone/extensions/models/group_profile.ts b/model/aws/datazone/extensions/models/group_profile.ts index 3387df45c..83b663a48 100644 --- a/model/aws/datazone/extensions/models/group_profile.ts +++ b/model/aws/datazone/extensions/models/group_profile.ts @@ -34,10 +34,16 @@ const GlobalArgsSchema = z.object({ "(^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$|[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+)", "u", ), - ).describe("The ID of the group."), + ).describe("The ID of the group.").optional(), + GroupType: z.enum(["DATAZONE_SSO_GROUP", "IAM_ROLE_SESSION_GROUP"]).describe( + "The type of the group.", + ).optional(), Status: z.enum(["ASSIGNED", "NOT_ASSIGNED"]).describe( "The status of the group profile.", ).optional(), + RolePrincipalArn: z.string().describe( + "The ARN of the role principal for the group profile.", + ).optional(), }); const StateSchema = z.object({ @@ -45,8 +51,11 @@ const StateSchema = z.object({ DomainIdentifier: z.string().optional(), GroupIdentifier: z.string().optional(), GroupName: z.string().optional(), + GroupType: z.string().optional(), Id: z.string(), Status: z.string().optional(), + RolePrincipalArn: z.string().optional(), + RolePrincipalId: z.string().optional(), }).passthrough(); type StateData = z.infer; @@ -63,15 +72,21 @@ const InputsSchema = z.object({ "u", ), ).describe("The ID of the group.").optional(), + GroupType: z.enum(["DATAZONE_SSO_GROUP", "IAM_ROLE_SESSION_GROUP"]).describe( + "The type of the group.", + ).optional(), Status: z.enum(["ASSIGNED", "NOT_ASSIGNED"]).describe( "The status of the group profile.", ).optional(), + RolePrincipalArn: z.string().describe( + "The ARN of the role principal for the group profile.", + ).optional(), }); /** Swamp extension model for DataZone GroupProfile. Registered at `@swamp/aws/datazone/group-profile`. */ export const model = { type: "@swamp/aws/datazone/group-profile", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.2", @@ -98,6 +113,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "Added: GroupType, RolePrincipalArn", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -203,7 +223,7 @@ export const model = { identifier, currentState, desiredState, - ["DomainIdentifier", "GroupIdentifier"], + ["DomainIdentifier", "GroupIdentifier", "RolePrincipalArn"], ); const handle = await context.writeResource( "state", diff --git a/model/aws/datazone/extensions/models/project.ts b/model/aws/datazone/extensions/models/project.ts index 9e4e39b19..b25f56e7a 100644 --- a/model/aws/datazone/extensions/models/project.ts +++ b/model/aws/datazone/extensions/models/project.ts @@ -40,6 +40,16 @@ const ResourceTagSchema = z.object({ Value: z.string().min(0).max(256).regex(new RegExp("^[\\w \\.:/=+@-]*$")), }); +const MemberSchema = z.object({ + UserIdentifier: z.string().optional(), + GroupIdentifier: z.string().optional(), +}); + +const ProjectMembershipAssignmentSchema = z.object({ + Member: MemberSchema.describe("The member of the project."), + Designation: z.enum(["PROJECT_OWNER", "PROJECT_CONTRIBUTOR"]), +}); + const GlobalArgsSchema = z.object({ name: z.string().describe( "Instance name for this resource (used as the unique identifier in the factory pattern)", @@ -72,6 +82,13 @@ const GlobalArgsSchema = z.object({ ResourceTags: z.array(ResourceTagSchema).describe( "The resource tags of the project.", ).optional(), + MembershipAssignments: z.array(ProjectMembershipAssignmentSchema).describe( + "The project membership assignments.", + ).optional(), + ProjectCategory: z.string().describe("The project category.").optional(), + ProjectExecutionRole: z.string().regex( + new RegExp("^arn:aws[^:]*:iam::\\d{12}:role/[\\w+=,.@/-]+$"), + ).describe("The project execution role ARN.").optional(), }); const StateSchema = z.object({ @@ -91,6 +108,9 @@ const StateSchema = z.object({ UserParameters: z.array(EnvironmentConfigurationUserParameterSchema) .optional(), ResourceTags: z.array(ResourceTagSchema).optional(), + MembershipAssignments: z.array(ProjectMembershipAssignmentSchema).optional(), + ProjectCategory: z.string().optional(), + ProjectExecutionRole: z.string().optional(), }).passthrough(); type StateData = z.infer; @@ -125,12 +145,19 @@ const InputsSchema = z.object({ ResourceTags: z.array(ResourceTagSchema).describe( "The resource tags of the project.", ).optional(), + MembershipAssignments: z.array(ProjectMembershipAssignmentSchema).describe( + "The project membership assignments.", + ).optional(), + ProjectCategory: z.string().describe("The project category.").optional(), + ProjectExecutionRole: z.string().regex( + new RegExp("^arn:aws[^:]*:iam::\\d{12}:role/[\\w+=,.@/-]+$"), + ).describe("The project execution role ARN.").optional(), }); /** Swamp extension model for DataZone Project. Registered at `@swamp/aws/datazone/project`. */ export const model = { type: "@swamp/aws/datazone/project", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -167,6 +194,12 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: + "Added: MembershipAssignments, ProjectCategory, ProjectExecutionRole", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -272,7 +305,13 @@ export const model = { identifier, currentState, desiredState, - ["ProjectProfileId", "DomainIdentifier"], + [ + "ProjectProfileId", + "DomainIdentifier", + "MembershipAssignments", + "ProjectCategory", + "ProjectExecutionRole", + ], ); const handle = await context.writeResource( "state", diff --git a/model/aws/datazone/extensions/models/user_profile.ts b/model/aws/datazone/extensions/models/user_profile.ts index 980ca5a29..973eb063e 100644 --- a/model/aws/datazone/extensions/models/user_profile.ts +++ b/model/aws/datazone/extensions/models/user_profile.ts @@ -36,8 +36,10 @@ const GlobalArgsSchema = z.object({ "(^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$|^[a-zA-Z_0-9+=,.@-]+$|^arn:aws:iam::\\d{12}:.+$)", ), ).describe("The ID of the user."), - UserType: z.enum(["IAM_USER", "IAM_ROLE", "SSO_USER"]).describe( - "The type of the user.", + UserType: z.enum(["IAM_USER", "IAM_ROLE", "SSO_USER", "IAM_ROLE_SESSION"]) + .describe("The type of the user.").optional(), + SessionName: z.string().min(2).max(64).describe( + "The session name of the user profile.", ).optional(), }); @@ -45,6 +47,8 @@ const StateSchema = z.object({ Details: z.object({ Iam: z.object({ Arn: z.string(), + SessionName: z.string(), + GroupProfileId: z.string(), }), Sso: z.object({ Username: z.string(), @@ -59,6 +63,7 @@ const StateSchema = z.object({ Type: z.string().optional(), UserIdentifier: z.string().optional(), UserType: z.string().optional(), + SessionName: z.string().optional(), }).passthrough(); type StateData = z.infer; @@ -76,15 +81,17 @@ const InputsSchema = z.object({ "(^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$|^[a-zA-Z_0-9+=,.@-]+$|^arn:aws:iam::\\d{12}:.+$)", ), ).describe("The ID of the user.").optional(), - UserType: z.enum(["IAM_USER", "IAM_ROLE", "SSO_USER"]).describe( - "The type of the user.", + UserType: z.enum(["IAM_USER", "IAM_ROLE", "SSO_USER", "IAM_ROLE_SESSION"]) + .describe("The type of the user.").optional(), + SessionName: z.string().min(2).max(64).describe( + "The session name of the user profile.", ).optional(), }); /** Swamp extension model for DataZone UserProfile. Registered at `@swamp/aws/datazone/user-profile`. */ export const model = { type: "@swamp/aws/datazone/user-profile", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.2", @@ -111,6 +118,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "Added: SessionName", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/aws/datazone/manifest.yaml b/model/aws/datazone/manifest.yaml index cf52e3c5e..04571c815 100644 --- a/model/aws/datazone/manifest.yaml +++ b/model/aws/datazone/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/datazone" -version: "2026.04.23.3" +version: "2026.05.05.1" description: "AWS DATAZONE infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,6 +9,8 @@ labels: - datazone - cloud - infrastructure +releaseNotes: | + - Updated: domain, group_profile, project, user_profile models: - connection.ts - data_source.ts diff --git a/model/aws/deadline/extensions/models/fleet.ts b/model/aws/deadline/extensions/models/fleet.ts index d5291b0d8..5fa10c377 100644 --- a/model/aws/deadline/extensions/models/fleet.ts +++ b/model/aws/deadline/extensions/models/fleet.ts @@ -102,7 +102,7 @@ const Ec2EbsVolumeSchema = z.object({ }); const AcceleratorSelectionSchema = z.object({ - Name: z.enum(["t4", "a10g", "l4", "l40s"]), + Name: z.enum(["t4", "a10g", "l4", "l40s", "rtx-pro-server-6000"]), Runtime: z.string().min(1).max(100).optional(), }); @@ -249,7 +249,7 @@ const InputsSchema = z.object({ /** Swamp extension model for Deadline Fleet. Registered at `@swamp/aws/deadline/fleet`. */ export const model = { type: "@swamp/aws/deadline/fleet", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -281,6 +281,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/aws/deadline/manifest.yaml b/model/aws/deadline/manifest.yaml index b867b3953..933d4026d 100644 --- a/model/aws/deadline/manifest.yaml +++ b/model/aws/deadline/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/deadline" -version: "2026.04.23.3" +version: "2026.05.05.1" description: "AWS DEADLINE infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,6 +9,8 @@ labels: - deadline - cloud - infrastructure +releaseNotes: | + - Updated: fleet models: - farm.ts - fleet.ts diff --git a/model/aws/interconnect/extensions/models/connection.ts b/model/aws/interconnect/extensions/models/connection.ts index 07dd5f981..45f53cfdb 100644 --- a/model/aws/interconnect/extensions/models/connection.ts +++ b/model/aws/interconnect/extensions/models/connection.ts @@ -54,7 +54,13 @@ const GlobalArgsSchema = z.object({ RemoteOwnerAccount: z.string().max(255).regex( new RegExp("^[-a-zA-Z0-9_@\\.]+$"), ).describe( - "The account ID of the remote owner. Required when creating a connection through AWS.", + "Deprecated. Use RemoteAccount instead. The account ID of the remote owner. Required when creating a connection through AWS.", + ).optional(), + RemoteAccount: z.object({ + Identifier: z.string().max(255).regex(new RegExp("^[-a-zA-Z0-9_@\\.]+$")) + .describe("The identifier of the remote account."), + }).describe( + "The remote account identifier for the connection. Required when creating a connection through AWS. Replaces RemoteOwnerAccount.", ).optional(), ActivationKey: z.string().describe( "The activation key for accepting a connection proposal from a partner CSP. Mutually exclusive with EnvironmentId.", @@ -83,6 +89,9 @@ const StateSchema = z.object({ }).optional(), EnvironmentId: z.string().optional(), RemoteOwnerAccount: z.string().optional(), + RemoteAccount: z.object({ + Identifier: z.string(), + }).optional(), ActivationKey: z.string().optional(), Provider: z.object({ CloudServiceProvider: z.string(), @@ -120,7 +129,13 @@ const InputsSchema = z.object({ RemoteOwnerAccount: z.string().max(255).regex( new RegExp("^[-a-zA-Z0-9_@\\.]+$"), ).describe( - "The account ID of the remote owner. Required when creating a connection through AWS.", + "Deprecated. Use RemoteAccount instead. The account ID of the remote owner. Required when creating a connection through AWS.", + ).optional(), + RemoteAccount: z.object({ + Identifier: z.string().max(255).regex(new RegExp("^[-a-zA-Z0-9_@\\.]+$")) + .describe("The identifier of the remote account.").optional(), + }).describe( + "The remote account identifier for the connection. Required when creating a connection through AWS. Replaces RemoteOwnerAccount.", ).optional(), ActivationKey: z.string().describe( "The activation key for accepting a connection proposal from a partner CSP. Mutually exclusive with EnvironmentId.", @@ -141,7 +156,7 @@ const InputsSchema = z.object({ /** Swamp extension model for Interconnect Connection. Registered at `@swamp/aws/interconnect/connection`. */ export const model = { type: "@swamp/aws/interconnect/connection", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -168,6 +183,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "Added: RemoteAccount", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -267,7 +287,7 @@ export const model = { identifier, currentState, desiredState, - ["AttachPoint", "EnvironmentId", "ActivationKey"], + ["AttachPoint", "EnvironmentId", "ActivationKey", "RemoteAccount"], ); const handle = await context.writeResource( "state", diff --git a/model/aws/interconnect/manifest.yaml b/model/aws/interconnect/manifest.yaml index a028dafc7..63510dcb5 100644 --- a/model/aws/interconnect/manifest.yaml +++ b/model/aws/interconnect/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/interconnect" -version: "2026.04.23.3" +version: "2026.05.05.1" description: "AWS INTERCONNECT infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,6 +9,8 @@ labels: - interconnect - cloud - infrastructure +releaseNotes: | + - Updated: connection models: - connection.ts additionalFiles: diff --git a/model/aws/vpclattice/extensions/models/resource_gateway.ts b/model/aws/vpclattice/extensions/models/resource_gateway.ts index 0cc325820..250bb8932 100644 --- a/model/aws/vpclattice/extensions/models/resource_gateway.ts +++ b/model/aws/vpclattice/extensions/models/resource_gateway.ts @@ -35,6 +35,7 @@ const GlobalArgsSchema = z.object({ Ipv4AddressesPerEni: z.number().int().describe( "The number of IPv4 addresses to allocate per ENI for the resource gateway", ).optional(), + ResourceConfigDnsResolution: z.enum(["IN_VPC", "PUBLIC"]).optional(), SubnetIds: z.array(z.string()).describe( "The ID of one or more subnets in which to create an endpoint network interface.", ), @@ -52,6 +53,7 @@ const StateSchema = z.object({ VpcIdentifier: z.string().optional(), Ipv4AddressesPerEni: z.number().optional(), Id: z.string().optional(), + ResourceConfigDnsResolution: z.string().optional(), Arn: z.string(), SubnetIds: z.array(z.string()).optional(), SecurityGroupIds: z.array(z.string()).optional(), @@ -68,6 +70,7 @@ const InputsSchema = z.object({ Ipv4AddressesPerEni: z.number().int().describe( "The number of IPv4 addresses to allocate per ENI for the resource gateway", ).optional(), + ResourceConfigDnsResolution: z.enum(["IN_VPC", "PUBLIC"]).optional(), SubnetIds: z.array(z.string()).describe( "The ID of one or more subnets in which to create an endpoint network interface.", ).optional(), @@ -83,7 +86,7 @@ const InputsSchema = z.object({ /** Swamp extension model for VpcLattice ResourceGateway. Registered at `@swamp/aws/vpclattice/resource-gateway`. */ export const model = { type: "@swamp/aws/vpclattice/resource-gateway", - version: "2026.04.23.2", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -110,6 +113,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "Added: ResourceConfigDnsResolution", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, @@ -209,7 +217,13 @@ export const model = { identifier, currentState, desiredState, - ["VpcIdentifier", "SubnetIds", "IpAddressType", "Name"], + [ + "VpcIdentifier", + "SubnetIds", + "IpAddressType", + "Name", + "ResourceConfigDnsResolution", + ], ); const handle = await context.writeResource( "state", diff --git a/model/aws/vpclattice/manifest.yaml b/model/aws/vpclattice/manifest.yaml index c88f73203..66dee4498 100644 --- a/model/aws/vpclattice/manifest.yaml +++ b/model/aws/vpclattice/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/aws/vpclattice" -version: "2026.04.23.3" +version: "2026.05.05.1" description: "AWS VPCLATTICE infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -9,6 +9,8 @@ labels: - vpclattice - cloud - infrastructure +releaseNotes: | + - Updated: resource_gateway models: - access_log_subscription.ts - auth_policy.ts diff --git a/model/digitalocean/extensions/models/app_platform.ts b/model/digitalocean/extensions/models/app_platform.ts index 84d485db3..84d30dd96 100644 --- a/model/digitalocean/extensions/models/app_platform.ts +++ b/model/digitalocean/extensions/models/app_platform.ts @@ -137,8 +137,8 @@ const GlobalArgsSchema = z.object({ }).optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -255,8 +255,8 @@ const GlobalArgsSchema = z.object({ output_dir: z.string().optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -453,8 +453,8 @@ const GlobalArgsSchema = z.object({ functions: z.array(z.object({ cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -589,8 +589,8 @@ const GlobalArgsSchema = z.object({ }).optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -3641,8 +3641,8 @@ const InputsSchema = z.object({ }).optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -3759,8 +3759,8 @@ const InputsSchema = z.object({ output_dir: z.string().optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -3957,8 +3957,8 @@ const InputsSchema = z.object({ functions: z.array(z.object({ cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -4093,8 +4093,8 @@ const InputsSchema = z.object({ }).optional(), cors: z.object({ allow_origins: z.array(z.object({ - exact: z.string().min(1).max(256).optional(), - prefix: z.string().min(1).max(256).optional(), + exact: z.string().max(256).optional(), + prefix: z.string().max(256).optional(), regex: z.string().min(1).max(256).optional(), })).optional(), allow_methods: z.array(z.string()).optional(), @@ -4139,7 +4139,7 @@ const InputsSchema = z.object({ /** Swamp extension model for DigitalOcean app platform. Registered at `@swamp/digitalocean/app-platform`. */ export const model = { type: "@swamp/digitalocean/app-platform", - version: "2026.05.01.1", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.03.27.1", @@ -4171,6 +4171,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/digitalocean/manifest.yaml b/model/digitalocean/manifest.yaml index 543501ed8..55c7800af 100644 --- a/model/digitalocean/manifest.yaml +++ b/model/digitalocean/manifest.yaml @@ -1,13 +1,15 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/digitalocean" -version: "2026.05.02.1" +version: "2026.05.05.1" description: "DigitalOcean infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: - digitalocean - cloud - infrastructure +releaseNotes: | + - Updated: app_platform models: - app_platform.ts - byoip_prefix.ts diff --git a/model/gcp/accesscontextmanager/manifest.yaml b/model/gcp/accesscontextmanager/manifest.yaml index bab1fdd6d..b09975cf2 100644 --- a/model/gcp/accesscontextmanager/manifest.yaml +++ b/model/gcp/accesscontextmanager/manifest.yaml @@ -10,8 +10,6 @@ labels: - accesscontextmanager - cloud - infrastructure -releaseNotes: | - - Updated: permissions models: - accesspolicies.ts - accesspolicies_accesslevels.ts diff --git a/model/gcp/bigquerydatapolicy/manifest.yaml b/model/gcp/bigquerydatapolicy/manifest.yaml index 501b85675..2987bbe19 100644 --- a/model/gcp/bigquerydatapolicy/manifest.yaml +++ b/model/gcp/bigquerydatapolicy/manifest.yaml @@ -10,8 +10,6 @@ labels: - bigquerydatapolicy - cloud - infrastructure -releaseNotes: | - - Updated: datapolicies models: - datapolicies.ts additionalFiles: diff --git a/model/gcp/bigtableadmin/manifest.yaml b/model/gcp/bigtableadmin/manifest.yaml index 5c8d0485c..209a6f3c9 100644 --- a/model/gcp/bigtableadmin/manifest.yaml +++ b/model/gcp/bigtableadmin/manifest.yaml @@ -10,8 +10,6 @@ labels: - bigtableadmin - cloud - infrastructure -releaseNotes: | - - Updated: instances_clusters models: - instances.ts - instances_appprofiles.ts diff --git a/model/gcp/cloudsearch/manifest.yaml b/model/gcp/cloudsearch/manifest.yaml index f0e472de9..da49ff113 100644 --- a/model/gcp/cloudsearch/manifest.yaml +++ b/model/gcp/cloudsearch/manifest.yaml @@ -10,8 +10,6 @@ labels: - cloudsearch - cloud - infrastructure -releaseNotes: | - - Updated: query_sources models: - debug_datasources_items_unmappedids.ts - debug_identitysources_unmappedids.ts diff --git a/model/gcp/compute/manifest.yaml b/model/gcp/compute/manifest.yaml index cbdfa2de1..1ffff032f 100644 --- a/model/gcp/compute/manifest.yaml +++ b/model/gcp/compute/manifest.yaml @@ -10,8 +10,6 @@ labels: - compute - cloud - infrastructure -releaseNotes: | - - Updated: autoscalers, disks, firewallpolicies, images, instancegroupmanagers, instancetemplates, instances, licensecodes, licenses, machineimages, networkfirewallpolicies, networks, regionautoscalers, regioncommitments, regiondisks, regioninstancegroupmanagers, regioninstancetemplates, regionnetworkfirewallpolicies, regionsnapshots, regionsslpolicies, snapshots, sslpolicies, storagepools models: - acceleratortypes.ts - addresses.ts diff --git a/model/gcp/firestore/extensions/models/databases.ts b/model/gcp/firestore/extensions/models/databases.ts index 132754384..cc9bb6740 100644 --- a/model/gcp/firestore/extensions/models/databases.ts +++ b/model/gcp/firestore/extensions/models/databases.ts @@ -123,7 +123,7 @@ const GlobalArgsSchema = z.object({ "PESSIMISTIC", "OPTIMISTIC_WITH_ENTITY_GROUPS", ]).describe( - "The concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases.", + "The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.", ).optional(), databaseEdition: z.enum([ "DATABASE_EDITION_UNSPECIFIED", @@ -258,7 +258,7 @@ const InputsSchema = z.object({ "PESSIMISTIC", "OPTIMISTIC_WITH_ENTITY_GROUPS", ]).describe( - "The concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases.", + "The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting.", ).optional(), databaseEdition: z.enum([ "DATABASE_EDITION_UNSPECIFIED", @@ -336,7 +336,7 @@ const InputsSchema = z.object({ /** Swamp extension model for Google Cloud Firestore Databases. Registered at `@swamp/gcp/firestore/databases`. */ export const model = { type: "@swamp/gcp/firestore/databases", - version: "2026.05.04.1", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -378,6 +378,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/firestore/manifest.yaml b/model/gcp/firestore/manifest.yaml index 0c61c51f1..b7f4f1cee 100644 --- a/model/gcp/firestore/manifest.yaml +++ b/model/gcp/firestore/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/firestore" -version: "2026.05.04.1" +version: "2026.05.05.1" description: "Google Cloud firestore infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: diff --git a/model/gcp/networkservices/manifest.yaml b/model/gcp/networkservices/manifest.yaml index de031c33b..3bad3967c 100644 --- a/model/gcp/networkservices/manifest.yaml +++ b/model/gcp/networkservices/manifest.yaml @@ -10,8 +10,6 @@ labels: - networkservices - cloud - infrastructure -releaseNotes: | - - Updated: httproutes models: - authzextensions.ts - endpointpolicies.ts diff --git a/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts b/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts index 2ba8db8f3..97e6d26ca 100644 --- a/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts +++ b/model/gcp/ondemandscanning/extensions/models/scans_vulnerabilities.ts @@ -58,13 +58,14 @@ const StateSchema = z.object({ aiSkillAnalysis: z.object({ findings: z.array(z.object({ category: z.string(), - description: z.string(), - filePath: z.string(), - ruleId: z.string(), + location: z.object({ + filePath: z.string(), + lineNumber: z.string(), + }), + scanner: z.string(), severity: z.string(), - snippet: z.string(), - title: z.string(), })), + maxSeverity: z.string(), skillName: z.string(), }).optional(), attestation: z.object({ @@ -678,7 +679,7 @@ const InputsSchema = z.object({ /** Swamp extension model for Google Cloud On-Demand Scanning Scans.Vulnerabilities. Registered at `@swamp/gcp/ondemandscanning/scans-vulnerabilities`. */ export const model = { type: "@swamp/gcp/ondemandscanning/scans-vulnerabilities", - version: "2026.05.01.1", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.04.01.1", @@ -750,6 +751,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.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 10dc762d6..d44a66fe1 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.05.01.1" +version: "2026.05.05.1" description: "Google Cloud ondemandscanning infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -10,6 +10,8 @@ labels: - ondemandscanning - cloud - infrastructure +releaseNotes: | + - Updated: scans_vulnerabilities models: - scans_vulnerabilities.ts additionalFiles: diff --git a/model/gcp/pubsub/manifest.yaml b/model/gcp/pubsub/manifest.yaml index 33f89ae1d..073798799 100644 --- a/model/gcp/pubsub/manifest.yaml +++ b/model/gcp/pubsub/manifest.yaml @@ -10,8 +10,6 @@ labels: - pubsub - cloud - infrastructure -releaseNotes: | - - Updated: snapshots, subscriptions, topics models: - schemas.ts - snapshots.ts diff --git a/model/gcp/storagebatchoperations/extensions/models/jobs.ts b/model/gcp/storagebatchoperations/extensions/models/jobs.ts index 5c1c75904..15f3a2f62 100644 --- a/model/gcp/storagebatchoperations/extensions/models/jobs.ts +++ b/model/gcp/storagebatchoperations/extensions/models/jobs.ts @@ -128,6 +128,9 @@ const GlobalArgsSchema = z.object({ totalBytesFound: z.string().describe( "Output only. Number of bytes found from source. This field is only populated for jobs with a prefix list object configuration.", ).optional(), + totalBytesTransformed: z.string().describe( + "Output only. The total number of bytes affected by the transformation. For example, this counts bytes deleted for `DeleteObject` operations and bytes rewritten for `RewriteObject` operations.", + ).optional(), totalObjectCount: z.string().describe( "Output only. Number of objects listed.", ).optional(), @@ -254,6 +257,7 @@ const StateSchema = z.object({ objectCustomContextsUpdated: z.string(), succeededObjectCount: z.string(), totalBytesFound: z.string(), + totalBytesTransformed: z.string(), totalObjectCount: z.string(), }).optional(), createTime: z.string().optional(), @@ -350,6 +354,9 @@ const InputsSchema = z.object({ totalBytesFound: z.string().describe( "Output only. Number of bytes found from source. This field is only populated for jobs with a prefix list object configuration.", ).optional(), + totalBytesTransformed: z.string().describe( + "Output only. The total number of bytes affected by the transformation. For example, this counts bytes deleted for `DeleteObject` operations and bytes rewritten for `RewriteObject` operations.", + ).optional(), totalObjectCount: z.string().describe( "Output only. Number of objects listed.", ).optional(), @@ -459,7 +466,7 @@ const InputsSchema = z.object({ /** Swamp extension model for Google Cloud Storage Batch Operations Jobs. Registered at `@swamp/gcp/storagebatchoperations/jobs`. */ export const model = { type: "@swamp/gcp/storagebatchoperations/jobs", - version: "2026.04.23.1", + version: "2026.05.05.1", upgrades: [ { toVersion: "2026.03.31.1", @@ -506,6 +513,11 @@ export const model = { description: "No schema changes", upgradeAttributes: (old: Record) => old, }, + { + toVersion: "2026.05.05.1", + description: "No schema changes", + upgradeAttributes: (old: Record) => old, + }, ], globalArguments: GlobalArgsSchema, inputsSchema: InputsSchema, diff --git a/model/gcp/storagebatchoperations/manifest.yaml b/model/gcp/storagebatchoperations/manifest.yaml index f81d0c338..6415c7a3e 100644 --- a/model/gcp/storagebatchoperations/manifest.yaml +++ b/model/gcp/storagebatchoperations/manifest.yaml @@ -1,7 +1,7 @@ # Auto-generated manifest. Re-generate with the appropriate deno task. manifestVersion: 1 name: "@swamp/gcp/storagebatchoperations" -version: "2026.04.23.1" +version: "2026.05.05.1" description: "Google Cloud storagebatchoperations infrastructure models" repository: "https://github.com/systeminit/swamp-extensions" labels: @@ -10,6 +10,8 @@ labels: - storagebatchoperations - cloud - infrastructure +releaseNotes: | + - Updated: jobs models: - jobs.ts - locations.ts