/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/api/content/patterns/resource": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get pattern resources
         * @description Returns a paginated list of pattern resources owned by the
         *     authenticated user, optionally filtered by resource identity
         *     fields and organization or workspace scope.
         */
        get: operations["getPatternResources"];
        put?: never;
        /**
         * Save pattern resource
         * @description Creates a new pattern resource when no `id` is supplied, or
         *     updates the entry matching the provided `id`. Ownership is
         *     derived from the authenticated session; any client-supplied
         *     owner is ignored.
         */
        post: operations["upsertPatternResource"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/content/patterns/resource/{patternResourceId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get pattern resource by ID */
        get: operations["getPatternResource"];
        put?: never;
        post?: never;
        /**
         * Delete pattern resource
         * @description Soft-deletes the pattern resource and returns the deleted
         *     entity. The live meshery-cloud handler responds 200 with the
         *     deleted resource body (not 204), so the deleted record's
         *     identity remains available to the caller.
         */
        delete: operations["deletePatternResource"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        /**
         * Pattern Resource Schema
         * @description Server-returned Meshery pattern resource as persisted by meshery-cloud
         *     (`meshery_pattern_resources` table). A pattern resource records the
         *     Kubernetes-addressable identity (name, namespace, type, OAM type) of a
         *     resource provisioned from a design, and is used by the design engine to
         *     deduplicate provisioned resources. This v1beta3 shape supersedes the
         *     legacy v1alpha2 snake_case wire form and corrects its `Namepace` typo
         *     to `namespace`.
         */
        MesheryPatternResource: {
            /**
             * Format: uuid
             * @description Server-generated pattern resource ID.
             */
            id: string;
            /**
             * Format: uuid
             * @description Owning user ID. Persisted in the `owner` column of the
             *     `meshery_pattern_resources` table (confirmed against the
             *     production schema dump); the wire identifier stays camelCase
             *     `userId` per the identifier-naming contract.
             */
            userId: string;
            /** @description Name of the provisioned resource. */
            name: string;
            /**
             * @description Kubernetes namespace the resource was provisioned into. Corrects
             *     the legacy v1alpha2 `Namepace` typo.
             */
            namespace: string;
            /** @description Resource type discriminator (e.g. the Kubernetes kind). */
            type: string;
            /**
             * @description OAM (Open Application Model) categorization of the resource,
             *     stored in the `oam_type` column (e.g. `workload`, `trait`,
             *     `scope`).
             */
            oamType: string;
            /**
             * @description Soft-delete marker. Server-managed; rows are flagged rather than
             *     removed so the design engine can reconcile prior provisions.
             * @default false
             */
            deleted: boolean;
            /**
             * Format: date-time
             * @description Timestamp of pattern resource creation.
             */
            createdAt: string;
            /**
             * Format: date-time
             * @description Timestamp of last pattern resource modification.
             */
            updatedAt: string;
        };
        /**
         * @description Payload for creating or updating a pattern resource via
         *     `POST /api/content/patterns/resource`. Contains only
         *     client-settable fields; the owning `userId` (derived from the
         *     authenticated session), the `deleted` marker, and the
         *     server-generated `createdAt` / `updatedAt` timestamps are
         *     intentionally excluded.
         */
        MesheryPatternResourcePayload: {
            /**
             * Format: uuid
             * @description Existing pattern resource ID for updates; omit on create.
             */
            id?: string;
            /** @description Name of the provisioned resource. */
            name: string;
            /** @description Kubernetes namespace the resource was provisioned into. */
            namespace: string;
            /** @description Resource type discriminator (e.g. the Kubernetes kind). */
            type: string;
            /** @description OAM categorization of the resource (e.g. workload, trait, scope). */
            oamType: string;
        };
        /** @description Paginated collection of pattern resources. */
        MesheryPatternResourcePage: {
            /** @description Current page number of the result set. */
            page?: number;
            /** @description Number of items per page. */
            pageSize?: number;
            /** @description Total number of items available. */
            totalCount?: number;
            /** @description Pattern resources included on this page of results. */
            resources?: {
                /**
                 * Format: uuid
                 * @description Server-generated pattern resource ID.
                 */
                id: string;
                /**
                 * Format: uuid
                 * @description Owning user ID. Persisted in the `owner` column of the
                 *     `meshery_pattern_resources` table (confirmed against the
                 *     production schema dump); the wire identifier stays camelCase
                 *     `userId` per the identifier-naming contract.
                 */
                userId: string;
                /** @description Name of the provisioned resource. */
                name: string;
                /**
                 * @description Kubernetes namespace the resource was provisioned into. Corrects
                 *     the legacy v1alpha2 `Namepace` typo.
                 */
                namespace: string;
                /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                type: string;
                /**
                 * @description OAM (Open Application Model) categorization of the resource,
                 *     stored in the `oam_type` column (e.g. `workload`, `trait`,
                 *     `scope`).
                 */
                oamType: string;
                /**
                 * @description Soft-delete marker. Server-managed; rows are flagged rather than
                 *     removed so the design engine can reconcile prior provisions.
                 * @default false
                 */
                deleted: boolean;
                /**
                 * Format: date-time
                 * @description Timestamp of pattern resource creation.
                 */
                createdAt: string;
                /**
                 * Format: date-time
                 * @description Timestamp of last pattern resource modification.
                 */
                updatedAt: string;
            }[];
        };
    };
    responses: {
        /** @description Invalid request body or request param */
        400: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Expired JWT token used or insufficient privilege */
        401: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Result not found */
        404: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Internal server error */
        500: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
    };
    parameters: {
        /** @description Pattern resource ID */
        patternResourceId: string;
        /** @description Get responses by page */
        page: number;
        /** @description Number of items per page (canonical camelCase form). */
        pageSize: number;
        /**
         * @deprecated
         * @description Number of items per page. Deprecated alias of pageSize kept for
         *     the meshery server's remote provider, which still sends the
         *     lowercase form; canonical `pageSize` wins when both are present.
         */
        pagesize: number;
        /** @description Get responses that match search param value */
        search: string;
        /** @description Get ordered responses */
        order: string;
    };
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    getPatternResources: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: number;
                /** @description Number of items per page (canonical camelCase form). */
                pageSize?: number;
                /**
                 * @deprecated
                 * @description Number of items per page. Deprecated alias of pageSize kept for
                 *     the meshery server's remote provider, which still sends the
                 *     lowercase form; canonical `pageSize` wins when both are present.
                 */
                pagesize?: number;
                /** @description Get responses that match search param value */
                search?: string;
                /** @description Get ordered responses */
                order?: string;
                /** @description Filter by resource name. */
                name?: string;
                /** @description Filter by Kubernetes namespace. */
                namespace?: string;
                /** @description Filter by resource type discriminator. */
                type?: string;
                /** @description Filter by OAM categorization (e.g. workload, trait, scope). */
                oamType?: string;
                /** @description Scope results to an organization. */
                orgId?: string;
                /** @description Scope results to a workspace. */
                workspaceId?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Pattern resources page */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Current page number of the result set. */
                        page?: number;
                        /** @description Number of items per page. */
                        pageSize?: number;
                        /** @description Total number of items available. */
                        totalCount?: number;
                        /** @description Pattern resources included on this page of results. */
                        resources?: {
                            /**
                             * Format: uuid
                             * @description Server-generated pattern resource ID.
                             */
                            id: string;
                            /**
                             * Format: uuid
                             * @description Owning user ID. Persisted in the `owner` column of the
                             *     `meshery_pattern_resources` table (confirmed against the
                             *     production schema dump); the wire identifier stays camelCase
                             *     `userId` per the identifier-naming contract.
                             */
                            userId: string;
                            /** @description Name of the provisioned resource. */
                            name: string;
                            /**
                             * @description Kubernetes namespace the resource was provisioned into. Corrects
                             *     the legacy v1alpha2 `Namepace` typo.
                             */
                            namespace: string;
                            /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                            type: string;
                            /**
                             * @description OAM (Open Application Model) categorization of the resource,
                             *     stored in the `oam_type` column (e.g. `workload`, `trait`,
                             *     `scope`).
                             */
                            oamType: string;
                            /**
                             * @description Soft-delete marker. Server-managed; rows are flagged rather than
                             *     removed so the design engine can reconcile prior provisions.
                             * @default false
                             */
                            deleted: boolean;
                            /**
                             * Format: date-time
                             * @description Timestamp of pattern resource creation.
                             */
                            createdAt: string;
                            /**
                             * Format: date-time
                             * @description Timestamp of last pattern resource modification.
                             */
                            updatedAt: string;
                        }[];
                    };
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    upsertPatternResource: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /**
                     * Format: uuid
                     * @description Existing pattern resource ID for updates; omit on create.
                     */
                    id?: string;
                    /** @description Name of the provisioned resource. */
                    name: string;
                    /** @description Kubernetes namespace the resource was provisioned into. */
                    namespace: string;
                    /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                    type: string;
                    /** @description OAM categorization of the resource (e.g. workload, trait, scope). */
                    oamType: string;
                };
            };
        };
        responses: {
            /** @description Pattern resource saved */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description Server-generated pattern resource ID.
                         */
                        id: string;
                        /**
                         * Format: uuid
                         * @description Owning user ID. Persisted in the `owner` column of the
                         *     `meshery_pattern_resources` table (confirmed against the
                         *     production schema dump); the wire identifier stays camelCase
                         *     `userId` per the identifier-naming contract.
                         */
                        userId: string;
                        /** @description Name of the provisioned resource. */
                        name: string;
                        /**
                         * @description Kubernetes namespace the resource was provisioned into. Corrects
                         *     the legacy v1alpha2 `Namepace` typo.
                         */
                        namespace: string;
                        /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                        type: string;
                        /**
                         * @description OAM (Open Application Model) categorization of the resource,
                         *     stored in the `oam_type` column (e.g. `workload`, `trait`,
                         *     `scope`).
                         */
                        oamType: string;
                        /**
                         * @description Soft-delete marker. Server-managed; rows are flagged rather than
                         *     removed so the design engine can reconcile prior provisions.
                         * @default false
                         */
                        deleted: boolean;
                        /**
                         * Format: date-time
                         * @description Timestamp of pattern resource creation.
                         */
                        createdAt: string;
                        /**
                         * Format: date-time
                         * @description Timestamp of last pattern resource modification.
                         */
                        updatedAt: string;
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    getPatternResource: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Pattern resource ID */
                patternResourceId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Pattern resource response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description Server-generated pattern resource ID.
                         */
                        id: string;
                        /**
                         * Format: uuid
                         * @description Owning user ID. Persisted in the `owner` column of the
                         *     `meshery_pattern_resources` table (confirmed against the
                         *     production schema dump); the wire identifier stays camelCase
                         *     `userId` per the identifier-naming contract.
                         */
                        userId: string;
                        /** @description Name of the provisioned resource. */
                        name: string;
                        /**
                         * @description Kubernetes namespace the resource was provisioned into. Corrects
                         *     the legacy v1alpha2 `Namepace` typo.
                         */
                        namespace: string;
                        /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                        type: string;
                        /**
                         * @description OAM (Open Application Model) categorization of the resource,
                         *     stored in the `oam_type` column (e.g. `workload`, `trait`,
                         *     `scope`).
                         */
                        oamType: string;
                        /**
                         * @description Soft-delete marker. Server-managed; rows are flagged rather than
                         *     removed so the design engine can reconcile prior provisions.
                         * @default false
                         */
                        deleted: boolean;
                        /**
                         * Format: date-time
                         * @description Timestamp of pattern resource creation.
                         */
                        createdAt: string;
                        /**
                         * Format: date-time
                         * @description Timestamp of last pattern resource modification.
                         */
                        updatedAt: string;
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    deletePatternResource: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Pattern resource ID */
                patternResourceId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Deleted pattern resource */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description Server-generated pattern resource ID.
                         */
                        id: string;
                        /**
                         * Format: uuid
                         * @description Owning user ID. Persisted in the `owner` column of the
                         *     `meshery_pattern_resources` table (confirmed against the
                         *     production schema dump); the wire identifier stays camelCase
                         *     `userId` per the identifier-naming contract.
                         */
                        userId: string;
                        /** @description Name of the provisioned resource. */
                        name: string;
                        /**
                         * @description Kubernetes namespace the resource was provisioned into. Corrects
                         *     the legacy v1alpha2 `Namepace` typo.
                         */
                        namespace: string;
                        /** @description Resource type discriminator (e.g. the Kubernetes kind). */
                        type: string;
                        /**
                         * @description OAM (Open Application Model) categorization of the resource,
                         *     stored in the `oam_type` column (e.g. `workload`, `trait`,
                         *     `scope`).
                         */
                        oamType: string;
                        /**
                         * @description Soft-delete marker. Server-managed; rows are flagged rather than
                         *     removed so the design engine can reconcile prior provisions.
                         * @default false
                         */
                        deleted: boolean;
                        /**
                         * Format: date-time
                         * @description Timestamp of pattern resource creation.
                         */
                        createdAt: string;
                        /**
                         * Format: date-time
                         * @description Timestamp of last pattern resource modification.
                         */
                        updatedAt: string;
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
}
