/**
 * Kubernetes API Registration API
 *
 * Generated from the Kubernetes OpenAPI spec.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import { Conflict, NotFound, UnprocessableEntity } from "../errors.js";
// Input Schema
export const CreateApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
    fieldValidation: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "POST",
    path: "/apis/apiregistration.k8s.io/v1/apiservices",
}));
// Output Schema
export const CreateApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * create an APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 * @param fieldValidation - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
 */
export const createApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: CreateApiregistrationV1APIServiceInput,
    outputSchema: CreateApiregistrationV1APIServiceOutput,
    errors: [Conflict, UnprocessableEntity],
}));
// Input Schema
export const DeleteApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "DELETE",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}",
}));
// Output Schema
export const DeleteApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    code: Schema.optional(Schema.Number),
    details: Schema.optional(Schema.Struct({
        causes: Schema.optional(Schema.Array(Schema.Struct({
            field: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
        }))),
        group: Schema.optional(Schema.String),
        kind: Schema.optional(Schema.String),
        name: Schema.optional(Schema.String),
        retryAfterSeconds: Schema.optional(Schema.Number),
        uid: Schema.optional(Schema.String),
    })),
    kind: Schema.optional(Schema.String),
    message: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        continue: Schema.optional(Schema.String),
        remainingItemCount: Schema.optional(Schema.Number),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        shardInfo: Schema.optional(Schema.Struct({
            selector: Schema.String,
        })),
    })),
    reason: Schema.optional(Schema.String),
    status: Schema.optional(Schema.String),
});
// The operation
/**
 * delete an APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 */
export const deleteApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: DeleteApiregistrationV1APIServiceInput,
    outputSchema: DeleteApiregistrationV1APIServiceOutput,
    errors: [NotFound, Conflict],
}));
// Input Schema
export const DeleteApiregistrationV1CollectionAPIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "DELETE",
    path: "/apis/apiregistration.k8s.io/v1/apiservices",
}));
// Output Schema
export const DeleteApiregistrationV1CollectionAPIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    code: Schema.optional(Schema.Number),
    details: Schema.optional(Schema.Struct({
        causes: Schema.optional(Schema.Array(Schema.Struct({
            field: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
        }))),
        group: Schema.optional(Schema.String),
        kind: Schema.optional(Schema.String),
        name: Schema.optional(Schema.String),
        retryAfterSeconds: Schema.optional(Schema.Number),
        uid: Schema.optional(Schema.String),
    })),
    kind: Schema.optional(Schema.String),
    message: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        continue: Schema.optional(Schema.String),
        remainingItemCount: Schema.optional(Schema.Number),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        shardInfo: Schema.optional(Schema.Struct({
            selector: Schema.String,
        })),
    })),
    reason: Schema.optional(Schema.String),
    status: Schema.optional(Schema.String),
});
// The operation
/**
 * delete collection of APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 */
export const deleteApiregistrationV1CollectionAPIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: DeleteApiregistrationV1CollectionAPIServiceInput,
    outputSchema: DeleteApiregistrationV1CollectionAPIServiceOutput,
}));
// Input Schema
export const GetApiregistrationAPIGroupInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({ method: "GET", path: "/apis/apiregistration.k8s.io/" }));
// Output Schema
export const GetApiregistrationAPIGroupOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    name: Schema.String,
    preferredVersion: Schema.optional(Schema.Struct({
        groupVersion: Schema.String,
        version: Schema.String,
    })),
    serverAddressByClientCIDRs: Schema.optional(Schema.Array(Schema.Struct({
        clientCIDR: Schema.String,
        serverAddress: Schema.String,
    }))),
    versions: Schema.Array(Schema.Struct({
        groupVersion: Schema.String,
        version: Schema.String,
    })),
});
// The operation
/**
 * get information of a group
 */
export const getApiregistrationAPIGroup = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: GetApiregistrationAPIGroupInput,
    outputSchema: GetApiregistrationAPIGroupOutput,
}));
// Input Schema
export const GetApiregistrationV1APIResourcesInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({ method: "GET", path: "/apis/apiregistration.k8s.io/v1/" }));
// Output Schema
export const GetApiregistrationV1APIResourcesOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    groupVersion: Schema.String,
    kind: Schema.optional(Schema.String),
    resources: Schema.Array(Schema.Struct({
        categories: Schema.optional(Schema.Array(Schema.String)),
        group: Schema.optional(Schema.String),
        kind: Schema.String,
        name: Schema.String,
        namespaced: Schema.Boolean,
        shortNames: Schema.optional(Schema.Array(Schema.String)),
        singularName: Schema.String,
        storageVersionHash: Schema.optional(Schema.String),
        verbs: Schema.Array(Schema.String),
        version: Schema.optional(Schema.String),
    })),
});
// The operation
/**
 * get available resources
 */
export const getApiregistrationV1APIResources = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: GetApiregistrationV1APIResourcesInput,
    outputSchema: GetApiregistrationV1APIResourcesOutput,
}));
// Input Schema
export const ListApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/apis/apiregistration.k8s.io/v1/apiservices",
}));
// Output Schema
export const ListApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    items: Schema.Array(Schema.Struct({
        apiVersion: Schema.optional(Schema.String),
        kind: Schema.optional(Schema.String),
        metadata: Schema.optional(Schema.Struct({
            annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
            creationTimestamp: Schema.optional(Schema.String),
            deletionGracePeriodSeconds: Schema.optional(Schema.Number),
            deletionTimestamp: Schema.optional(Schema.String),
            finalizers: Schema.optional(Schema.Array(Schema.String)),
            generateName: Schema.optional(Schema.String),
            generation: Schema.optional(Schema.Number),
            labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
            managedFields: Schema.optional(Schema.Array(Schema.Struct({
                apiVersion: Schema.optional(Schema.String),
                fieldsType: Schema.optional(Schema.String),
                fieldsV1: Schema.optional(Schema.Unknown),
                manager: Schema.optional(Schema.String),
                operation: Schema.optional(Schema.String),
                subresource: Schema.optional(Schema.String),
                time: Schema.optional(Schema.String),
            }))),
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
                apiVersion: Schema.String,
                blockOwnerDeletion: Schema.optional(Schema.Boolean),
                controller: Schema.optional(Schema.Boolean),
                kind: Schema.String,
                name: Schema.String,
                uid: Schema.String,
            }))),
            resourceVersion: Schema.optional(Schema.String),
            selfLink: Schema.optional(Schema.String),
            uid: Schema.optional(Schema.String),
        })),
        spec: Schema.optional(Schema.Struct({
            caBundle: Schema.optional(Schema.String),
            group: Schema.optional(Schema.String),
            groupPriorityMinimum: Schema.Number,
            insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
            service: Schema.optional(Schema.Struct({
                name: Schema.optional(Schema.String),
                namespace: Schema.optional(Schema.String),
                port: Schema.optional(Schema.Number),
            })),
            version: Schema.optional(Schema.String),
            versionPriority: Schema.Number,
        })),
        status: Schema.optional(Schema.Struct({
            conditions: Schema.optional(Schema.Array(Schema.Struct({
                lastTransitionTime: Schema.optional(Schema.String),
                message: Schema.optional(Schema.String),
                reason: Schema.optional(Schema.String),
                status: Schema.String,
                type: Schema.String,
            }))),
        })),
    })),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        continue: Schema.optional(Schema.String),
        remainingItemCount: Schema.optional(Schema.Number),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        shardInfo: Schema.optional(Schema.Struct({
            selector: Schema.String,
        })),
    })),
});
// The operation
/**
 * list or watch objects of kind APIService
 */
export const listApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ListApiregistrationV1APIServiceInput,
    outputSchema: ListApiregistrationV1APIServiceOutput,
}));
// Input Schema
export const PatchApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
    fieldValidation: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PATCH",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}",
}));
// Output Schema
export const PatchApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * partially update the specified APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 * @param fieldValidation - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
 */
export const patchApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: PatchApiregistrationV1APIServiceInput,
    outputSchema: PatchApiregistrationV1APIServiceOutput,
    errors: [NotFound, Conflict, UnprocessableEntity],
}));
// Input Schema
export const PatchApiregistrationV1APIServiceStatusInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
    fieldValidation: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PATCH",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}/status",
}));
// Output Schema
export const PatchApiregistrationV1APIServiceStatusOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * partially update status of the specified APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 * @param fieldValidation - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
 */
export const patchApiregistrationV1APIServiceStatus = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: PatchApiregistrationV1APIServiceStatusInput,
    outputSchema: PatchApiregistrationV1APIServiceStatusOutput,
    errors: [NotFound, Conflict, UnprocessableEntity],
}));
// Input Schema
export const ReadApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}",
}));
// Output Schema
export const ReadApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * read the specified APIService
 */
export const readApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ReadApiregistrationV1APIServiceInput,
    outputSchema: ReadApiregistrationV1APIServiceOutput,
    errors: [NotFound],
}));
// Input Schema
export const ReadApiregistrationV1APIServiceStatusInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}/status",
}));
// Output Schema
export const ReadApiregistrationV1APIServiceStatusOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * read status of the specified APIService
 */
export const readApiregistrationV1APIServiceStatus = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ReadApiregistrationV1APIServiceStatusInput,
    outputSchema: ReadApiregistrationV1APIServiceStatusOutput,
    errors: [NotFound],
}));
// Input Schema
export const ReplaceApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
    fieldValidation: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PUT",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}",
}));
// Output Schema
export const ReplaceApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * replace the specified APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 * @param fieldValidation - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
 */
export const replaceApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ReplaceApiregistrationV1APIServiceInput,
    outputSchema: ReplaceApiregistrationV1APIServiceOutput,
    errors: [NotFound, Conflict, UnprocessableEntity],
}));
// Input Schema
export const ReplaceApiregistrationV1APIServiceStatusInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryRun: Schema.optional(Schema.String),
    fieldValidation: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PUT",
    path: "/apis/apiregistration.k8s.io/v1/apiservices/{name}/status",
}));
// Output Schema
export const ReplaceApiregistrationV1APIServiceStatusOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    apiVersion: Schema.optional(Schema.String),
    kind: Schema.optional(Schema.String),
    metadata: Schema.optional(Schema.Struct({
        annotations: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        creationTimestamp: Schema.optional(Schema.String),
        deletionGracePeriodSeconds: Schema.optional(Schema.Number),
        deletionTimestamp: Schema.optional(Schema.String),
        finalizers: Schema.optional(Schema.Array(Schema.String)),
        generateName: Schema.optional(Schema.String),
        generation: Schema.optional(Schema.Number),
        labels: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        managedFields: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.optional(Schema.String),
            fieldsType: Schema.optional(Schema.String),
            fieldsV1: Schema.optional(Schema.Unknown),
            manager: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            subresource: Schema.optional(Schema.String),
            time: Schema.optional(Schema.String),
        }))),
        name: Schema.optional(Schema.String),
        namespace: Schema.optional(Schema.String),
        ownerReferences: Schema.optional(Schema.Array(Schema.Struct({
            apiVersion: Schema.String,
            blockOwnerDeletion: Schema.optional(Schema.Boolean),
            controller: Schema.optional(Schema.Boolean),
            kind: Schema.String,
            name: Schema.String,
            uid: Schema.String,
        }))),
        resourceVersion: Schema.optional(Schema.String),
        selfLink: Schema.optional(Schema.String),
        uid: Schema.optional(Schema.String),
    })),
    spec: Schema.optional(Schema.Struct({
        caBundle: Schema.optional(Schema.String),
        group: Schema.optional(Schema.String),
        groupPriorityMinimum: Schema.Number,
        insecureSkipTLSVerify: Schema.optional(Schema.Boolean),
        service: Schema.optional(Schema.Struct({
            name: Schema.optional(Schema.String),
            namespace: Schema.optional(Schema.String),
            port: Schema.optional(Schema.Number),
        })),
        version: Schema.optional(Schema.String),
        versionPriority: Schema.Number,
    })),
    status: Schema.optional(Schema.Struct({
        conditions: Schema.optional(Schema.Array(Schema.Struct({
            lastTransitionTime: Schema.optional(Schema.String),
            message: Schema.optional(Schema.String),
            reason: Schema.optional(Schema.String),
            status: Schema.String,
            type: Schema.String,
        }))),
    })),
});
// The operation
/**
 * replace status of the specified APIService
 *
 * @param dryRun - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
 * @param fieldValidation - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
 */
export const replaceApiregistrationV1APIServiceStatus = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ReplaceApiregistrationV1APIServiceStatusInput,
    outputSchema: ReplaceApiregistrationV1APIServiceStatusOutput,
    errors: [NotFound, Conflict, UnprocessableEntity],
}));
// Input Schema
export const WatchApiregistrationV1APIServiceInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/apis/apiregistration.k8s.io/v1/watch/apiservices/{name}",
}));
// Output Schema
export const WatchApiregistrationV1APIServiceOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    object: Schema.Unknown,
    type: Schema.String,
});
// The operation
/**
 * watch changes to an object of kind APIService. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.
 */
export const watchApiregistrationV1APIService = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WatchApiregistrationV1APIServiceInput,
    outputSchema: WatchApiregistrationV1APIServiceOutput,
}));
// Input Schema
export const WatchApiregistrationV1APIServiceListInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/apis/apiregistration.k8s.io/v1/watch/apiservices",
}));
// Output Schema
export const WatchApiregistrationV1APIServiceListOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    object: Schema.Unknown,
    type: Schema.String,
});
// The operation
/**
 * watch individual changes to a list of APIService. deprecated: use the 'watch' parameter with a list operation instead.
 */
export const watchApiregistrationV1APIServiceList = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WatchApiregistrationV1APIServiceListInput,
    outputSchema: WatchApiregistrationV1APIServiceListOutput,
}));
//# sourceMappingURL=apiregistration.js.map