/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; export type GCPMarketplaceAgreement = { /** * writes the customer mapping; not read in the report payload */ accountId: string; /** * -> services.report's metricName (always "{service_name}/usage_fee") */ metricName: string; /** * -> services.report URL's service_name; identifies the product */ serviceName: string; /** * -> services.report's consumerId; identifies the buyer */ usageReportingId: string; }; /** @internal */ export type GCPMarketplaceAgreement$Outbound = { account_id: string; metric_name: string; service_name: string; usage_reporting_id: string; }; /** @internal */ export const GCPMarketplaceAgreement$outboundSchema: z.ZodMiniType< GCPMarketplaceAgreement$Outbound, GCPMarketplaceAgreement > = z.pipe( z.object({ accountId: z.string(), metricName: z.string(), serviceName: z.string(), usageReportingId: z.string(), }), z.transform((v) => { return remap$(v, { accountId: "account_id", metricName: "metric_name", serviceName: "service_name", usageReportingId: "usage_reporting_id", }); }), ); export function gcpMarketplaceAgreementToJSON( gcpMarketplaceAgreement: GCPMarketplaceAgreement, ): string { return JSON.stringify( GCPMarketplaceAgreement$outboundSchema.parse(gcpMarketplaceAgreement), ); }