/**
 * Azure Servicelinker API
 *
 * Generated from the Azure REST API specs.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
import { API } from "../client.js";
import * as T from "../traits.js";
// Input Schema
export const ConfigurationNamesListInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
    $filter: Schema.optional(Schema.String),
    $skipToken: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "GET",
    path: "/providers/Microsoft.ServiceLinker/configurationNames",
}));
// Output Schema
export const ConfigurationNamesListOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        properties: Schema.optional(Schema.Struct({
            targetService: Schema.optional(Schema.String),
            clientType: Schema.optional(Schema.Literals([
                "none",
                "dotnet",
                "java",
                "python",
                "go",
                "php",
                "ruby",
                "django",
                "nodejs",
                "springBoot",
                "kafka-springBoot",
                "jms-springBoot",
                "dapr",
            ])),
            authType: Schema.optional(Schema.Literals([
                "systemAssignedIdentity",
                "userAssignedIdentity",
                "servicePrincipalSecret",
                "servicePrincipalCertificate",
                "secret",
                "accessKey",
                "userAccount",
                "easyAuthMicrosoftEntraID",
            ])),
            secretType: Schema.optional(Schema.Literals(["rawValue", "keyVaultSecret"])),
            daprProperties: Schema.optional(Schema.Struct({
                version: Schema.optional(Schema.NullOr(Schema.String)),
                componentType: Schema.optional(Schema.NullOr(Schema.String)),
                secretStoreComponent: Schema.optional(Schema.NullOr(Schema.String)),
                metadata: Schema.optional(Schema.Array(Schema.Struct({
                    name: Schema.optional(Schema.String),
                    value: Schema.optional(Schema.String),
                    secretRef: Schema.optional(Schema.String),
                    description: Schema.optional(Schema.String),
                    required: Schema.optional(Schema.Literals(["true", "false"])),
                }))),
                scopes: Schema.optional(Schema.Array(Schema.String)),
                runtimeVersion: Schema.optional(Schema.NullOr(Schema.String)),
                bindingComponentDirection: Schema.optional(Schema.NullOr(Schema.Literals(["input", "output"]))),
            })),
            names: Schema.optional(Schema.Array(Schema.Struct({
                value: Schema.optional(Schema.String),
                description: Schema.optional(Schema.String),
                required: Schema.optional(Schema.Boolean),
            }))),
        })),
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Lists the configuration names generated by Service Connector for all target, client types, auth types.
 *
 * @param api-version - The API version to use for this operation.
 * @param $filter - OData filter options.
 * @param $skipToken - OData skipToken option for pagination.
 */
export const ConfigurationNamesList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConfigurationNamesListInput,
    outputSchema: ConfigurationNamesListOutput,
}));
// Input Schema
export const ConnectorCreateDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PUT",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns/{dryrunName}",
}));
// Output Schema
export const ConnectorCreateDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * create a dryrun job to do necessary check before actual creation
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const ConnectorCreateDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorCreateDryrunInput,
    outputSchema: ConnectorCreateDryrunOutput,
}));
// Input Schema
export const ConnectorCreateOrUpdateInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PUT",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}",
}));
// Output Schema
export const ConnectorCreateOrUpdateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Create or update Connector resource.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorCreateOrUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorCreateOrUpdateInput,
    outputSchema: ConnectorCreateOrUpdateOutput,
}));
// Input Schema
export const ConnectorDeleteInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "DELETE",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}",
}));
// Output Schema
export const ConnectorDeleteOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * Delete a Connector.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorDelete = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorDeleteInput,
    outputSchema: ConnectorDeleteOutput,
}));
// Input Schema
export const ConnectorDeleteDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "DELETE",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns/{dryrunName}",
}));
// Output Schema
export const ConnectorDeleteDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * delete a dryrun job
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const ConnectorDeleteDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorDeleteDryrunInput,
    outputSchema: ConnectorDeleteDryrunOutput,
}));
// Input Schema
export const ConnectorGenerateConfigurationsInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "POST",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}/generateConfigurations",
}));
// Output Schema
export const ConnectorGenerateConfigurationsOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    configurations: Schema.optional(Schema.Array(Schema.Struct({
        name: Schema.optional(Schema.String),
        value: Schema.optional(Schema.NullOr(Schema.String)),
        configType: Schema.optional(Schema.Literals(["Default", "KeyVaultSecret"])),
        keyVaultReferenceIdentity: Schema.optional(Schema.NullOr(Schema.String)),
        description: Schema.optional(Schema.NullOr(Schema.String)),
    }))),
});
// The operation
/**
 * Generate configurations for a Connector.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorGenerateConfigurations = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorGenerateConfigurationsInput,
    outputSchema: ConnectorGenerateConfigurationsOutput,
}));
// Input Schema
export const ConnectorGetInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}",
}));
// Output Schema
export const ConnectorGetOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Returns Connector resource for a given name.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorGet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorGetInput,
    outputSchema: ConnectorGetOutput,
}));
// Input Schema
export const ConnectorGetDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns/{dryrunName}",
}));
// Output Schema
export const ConnectorGetDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * get a dryrun job
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const ConnectorGetDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorGetDryrunInput,
    outputSchema: ConnectorGetDryrunOutput,
}));
// Input Schema
export const ConnectorListInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors",
}));
// Output Schema
export const ConnectorListOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    nextLink: Schema.optional(Schema.NullOr(Schema.String)),
    value: Schema.optional(Schema.Array(Schema.Struct({}))),
});
// The operation
/**
 * Returns list of connector which connects to the resource, which supports to config the target service during the resource provision.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorListInput,
    outputSchema: ConnectorListOutput,
}));
// Input Schema
export const ConnectorListDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns",
}));
// Output Schema
export const ConnectorListDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    nextLink: Schema.optional(Schema.NullOr(Schema.String)),
    value: Schema.optional(Schema.Array(Schema.Struct({}))),
});
// The operation
/**
 * list dryrun jobs
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorListDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorListDryrunInput,
    outputSchema: ConnectorListDryrunOutput,
}));
// Input Schema
export const ConnectorUpdateInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PATCH",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}",
}));
// Output Schema
export const ConnectorUpdateOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Operation to update an existing Connector.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorUpdateInput,
    outputSchema: ConnectorUpdateOutput,
}));
// Input Schema
export const ConnectorUpdateDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PATCH",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns/{dryrunName}",
}));
// Output Schema
export const ConnectorUpdateDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * update a dryrun job to do necessary check before actual creation
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const ConnectorUpdateDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorUpdateDryrunInput,
    outputSchema: ConnectorUpdateDryrunOutput,
}));
// Input Schema
export const ConnectorValidateInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    location: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "POST",
    path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}/validate",
}));
// Output Schema
export const ConnectorValidateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    properties: Schema.optional(Schema.Struct({
        linkerName: Schema.optional(Schema.NullOr(Schema.String)),
        isConnectionAvailable: Schema.optional(Schema.NullOr(Schema.Boolean)),
        reportStartTimeUtc: Schema.optional(Schema.NullOr(Schema.String)),
        reportEndTimeUtc: Schema.optional(Schema.NullOr(Schema.String)),
        sourceId: Schema.optional(Schema.NullOr(Schema.String)),
        targetId: Schema.optional(Schema.NullOr(Schema.String)),
        authType: Schema.optional(Schema.Literals([
            "systemAssignedIdentity",
            "userAssignedIdentity",
            "servicePrincipalSecret",
            "servicePrincipalCertificate",
            "secret",
            "accessKey",
            "userAccount",
            "easyAuthMicrosoftEntraID",
        ])),
        validationDetail: Schema.optional(Schema.Array(Schema.Struct({
            name: Schema.optional(Schema.String),
            description: Schema.optional(Schema.NullOr(Schema.String)),
            result: Schema.optional(Schema.NullOr(Schema.Literals(["success", "failure", "warning"]))),
            errorMessage: Schema.optional(Schema.NullOr(Schema.String)),
            errorCode: Schema.optional(Schema.NullOr(Schema.String)),
        }))),
    })),
    resourceId: Schema.optional(Schema.NullOr(Schema.String)),
    status: Schema.optional(Schema.NullOr(Schema.String)),
});
// The operation
/**
 * Validate a Connector.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param location - The name of Azure region.
 * @param api-version - The API version to use for this operation.
 */
export const ConnectorValidate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ConnectorValidateInput,
    outputSchema: ConnectorValidateOutput,
}));
// Input Schema
export const LinkerCreateOrUpdateInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PUT",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}",
}));
// Output Schema
export const LinkerCreateOrUpdateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Create or update Linker resource.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerCreateOrUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerCreateOrUpdateInput,
    outputSchema: LinkerCreateOrUpdateOutput,
}));
// Input Schema
export const LinkerDeleteInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "DELETE",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}",
}));
// Output Schema
export const LinkerDeleteOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * Delete a Linker.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerDelete = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerDeleteInput,
    outputSchema: LinkerDeleteOutput,
}));
// Input Schema
export const LinkerGetInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}",
}));
// Output Schema
export const LinkerGetOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Returns Linker resource for a given name.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerGet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerGetInput,
    outputSchema: LinkerGetOutput,
}));
// Input Schema
export const LinkerListInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers",
}));
// Output Schema
export const LinkerListOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    nextLink: Schema.optional(Schema.NullOr(Schema.String)),
    value: Schema.optional(Schema.Array(Schema.Struct({}))),
});
// The operation
/**
 * Returns list of Linkers which connects to the resource. which supports to config both application and target service during the resource provision.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerListInput,
    outputSchema: LinkerListOutput,
}));
// Input Schema
export const LinkerListConfigurationsInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "POST",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/listConfigurations",
}));
// Output Schema
export const LinkerListConfigurationsOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    configurations: Schema.optional(Schema.Array(Schema.Struct({
        name: Schema.optional(Schema.String),
        value: Schema.optional(Schema.NullOr(Schema.String)),
        configType: Schema.optional(Schema.Literals(["Default", "KeyVaultSecret"])),
        keyVaultReferenceIdentity: Schema.optional(Schema.NullOr(Schema.String)),
        description: Schema.optional(Schema.NullOr(Schema.String)),
    }))),
});
// The operation
/**
 * list source configurations for a Linker.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerListConfigurations = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerListConfigurationsInput,
    outputSchema: LinkerListConfigurationsOutput,
}));
// Input Schema
export const LinkersCreateDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PUT",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns/{dryrunName}",
}));
// Output Schema
export const LinkersCreateDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * create a dryrun job to do necessary check before actual creation
 *
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const LinkersCreateDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersCreateDryrunInput,
    outputSchema: LinkersCreateDryrunOutput,
}));
// Input Schema
export const LinkersDeleteDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "DELETE",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns/{dryrunName}",
}));
// Output Schema
export const LinkersDeleteDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * delete a dryrun job
 *
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const LinkersDeleteDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersDeleteDryrunInput,
    outputSchema: LinkersDeleteDryrunOutput,
}));
// Input Schema
export const LinkersGenerateConfigurationsInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "POST",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/generateConfigurations",
}));
// Output Schema
export const LinkersGenerateConfigurationsOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    configurations: Schema.optional(Schema.Array(Schema.Struct({
        name: Schema.optional(Schema.String),
        value: Schema.optional(Schema.NullOr(Schema.String)),
        configType: Schema.optional(Schema.Literals(["Default", "KeyVaultSecret"])),
        keyVaultReferenceIdentity: Schema.optional(Schema.NullOr(Schema.String)),
        description: Schema.optional(Schema.NullOr(Schema.String)),
    }))),
});
// The operation
/**
 * Generate configurations for a Linker.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkersGenerateConfigurations = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersGenerateConfigurationsInput,
    outputSchema: LinkersGenerateConfigurationsOutput,
}));
// Input Schema
export const LinkersGetDryrunInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns/{dryrunName}",
}));
// Output Schema
export const LinkersGetDryrunOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * get a dryrun job
 *
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const LinkersGetDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersGetDryrunInput,
    outputSchema: LinkersGetDryrunOutput,
}));
// Input Schema
export const LinkersListDaprConfigurationsInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/daprConfigurations",
}));
// Output Schema
export const LinkersListDaprConfigurationsOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        properties: Schema.optional(Schema.Struct({
            targetType: Schema.optional(Schema.String),
            authType: Schema.optional(Schema.Literals([
                "systemAssignedIdentity",
                "userAssignedIdentity",
                "servicePrincipalSecret",
                "servicePrincipalCertificate",
                "secret",
                "accessKey",
                "userAccount",
                "easyAuthMicrosoftEntraID",
            ])),
            daprProperties: Schema.optional(Schema.Struct({
                version: Schema.optional(Schema.NullOr(Schema.String)),
                componentType: Schema.optional(Schema.NullOr(Schema.String)),
                secretStoreComponent: Schema.optional(Schema.NullOr(Schema.String)),
                metadata: Schema.optional(Schema.Array(Schema.Struct({
                    name: Schema.optional(Schema.String),
                    value: Schema.optional(Schema.String),
                    secretRef: Schema.optional(Schema.String),
                    description: Schema.optional(Schema.String),
                    required: Schema.optional(Schema.Literals(["true", "false"])),
                }))),
                scopes: Schema.optional(Schema.Array(Schema.String)),
                runtimeVersion: Schema.optional(Schema.NullOr(Schema.String)),
                bindingComponentDirection: Schema.optional(Schema.NullOr(Schema.Literals(["input", "output"]))),
            })),
        })),
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * List the dapr configuration supported by Service Connector.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkersListDaprConfigurations = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersListDaprConfigurationsInput,
    outputSchema: LinkersListDaprConfigurationsOutput,
}));
// Input Schema
export const LinkersListDryrunInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns",
}));
// Output Schema
export const LinkersListDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    nextLink: Schema.optional(Schema.NullOr(Schema.String)),
    value: Schema.optional(Schema.Array(Schema.Struct({}))),
});
// The operation
/**
 * list dryrun jobs
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkersListDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersListDryrunInput,
    outputSchema: LinkersListDryrunOutput,
}));
// Input Schema
export const LinkersUpdateDryrunInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dryrunName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PATCH",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns/{dryrunName}",
}));
// Output Schema
export const LinkersUpdateDryrunOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * add a dryrun job to do necessary check before actual creation
 *
 * @param api-version - The API version to use for this operation.
 * @param dryrunName - The name of dryrun.
 */
export const LinkersUpdateDryrun = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkersUpdateDryrunInput,
    outputSchema: LinkersUpdateDryrunOutput,
}));
// Input Schema
export const LinkerUpdateInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "PATCH",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}",
}));
// Output Schema
export const LinkerUpdateOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
// The operation
/**
 * Operation to update an existing Linker.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerUpdateInput,
    outputSchema: LinkerUpdateOutput,
}));
// Input Schema
export const LinkerValidateInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "POST",
    path: "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/validateLinker",
}));
// Output Schema
export const LinkerValidateOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    properties: Schema.optional(Schema.Struct({
        linkerName: Schema.optional(Schema.NullOr(Schema.String)),
        isConnectionAvailable: Schema.optional(Schema.NullOr(Schema.Boolean)),
        reportStartTimeUtc: Schema.optional(Schema.NullOr(Schema.String)),
        reportEndTimeUtc: Schema.optional(Schema.NullOr(Schema.String)),
        sourceId: Schema.optional(Schema.NullOr(Schema.String)),
        targetId: Schema.optional(Schema.NullOr(Schema.String)),
        authType: Schema.optional(Schema.Literals([
            "systemAssignedIdentity",
            "userAssignedIdentity",
            "servicePrincipalSecret",
            "servicePrincipalCertificate",
            "secret",
            "accessKey",
            "userAccount",
            "easyAuthMicrosoftEntraID",
        ])),
        validationDetail: Schema.optional(Schema.Array(Schema.Struct({
            name: Schema.optional(Schema.String),
            description: Schema.optional(Schema.NullOr(Schema.String)),
            result: Schema.optional(Schema.NullOr(Schema.Literals(["success", "failure", "warning"]))),
            errorMessage: Schema.optional(Schema.NullOr(Schema.String)),
            errorCode: Schema.optional(Schema.NullOr(Schema.String)),
        }))),
    })),
    resourceId: Schema.optional(Schema.NullOr(Schema.String)),
    status: Schema.optional(Schema.NullOr(Schema.String)),
});
// The operation
/**
 * Validate a Linker.
 *
 * @param api-version - The API version to use for this operation.
 */
export const LinkerValidate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: LinkerValidateInput,
    outputSchema: LinkerValidateOutput,
}));
// Input Schema
export const OperationsListInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/providers/Microsoft.ServiceLinker/operations",
}));
// Output Schema
export const OperationsListOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        name: Schema.optional(Schema.String),
        isDataAction: Schema.optional(Schema.Boolean),
        display: Schema.optional(Schema.Struct({
            provider: Schema.optional(Schema.String),
            resource: Schema.optional(Schema.String),
            operation: Schema.optional(Schema.String),
            description: Schema.optional(Schema.String),
        })),
        origin: Schema.optional(Schema.Literals(["user", "system", "user,system"])),
        actionType: Schema.optional(Schema.Literals(["Internal"])),
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Lists the available ServiceLinker REST API operations.
 *
 * @param api-version - The API version to use for this operation.
 */
export const OperationsList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: OperationsListInput,
    outputSchema: OperationsListOutput,
}));
//# sourceMappingURL=servicelinker.js.map