/**
 * Azure Applicationinsights 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 WorkbooksCreateOrUpdateInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
    sourceId: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PUT",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}",
}));
// Output Schema
export const WorkbooksCreateOrUpdateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
    location: Schema.String,
});
// The operation
/**
 * Create a new workbook.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 * @param sourceId - Azure Resource Id that will fetch all linked workbooks.
 */
export const WorkbooksCreateOrUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksCreateOrUpdateInput,
    outputSchema: WorkbooksCreateOrUpdateOutput,
}));
// Input Schema
export const WorkbooksDeleteInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "DELETE",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}",
}));
// Output Schema
export const WorkbooksDeleteOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * Delete a workbook.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 */
export const WorkbooksDelete = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksDeleteInput,
    outputSchema: WorkbooksDeleteOutput,
}));
// Input Schema
export const WorkbooksGetInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
    canFetchContent: Schema.optional(Schema.Boolean),
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}",
}));
// Output Schema
export const WorkbooksGetOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
    location: Schema.String,
});
// The operation
/**
 * Get a single workbook by its resourceName.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 * @param canFetchContent - Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.
 */
export const WorkbooksGet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksGetInput,
    outputSchema: WorkbooksGetOutput,
}));
// Input Schema
export const WorkbooksListByResourceGroupInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
    category: Schema.Literals(["workbook", "TSG", "performance", "retention"]),
    tags: Schema.optional(Schema.String),
    sourceId: Schema.optional(Schema.String),
    canFetchContent: Schema.optional(Schema.Boolean),
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks",
}));
// Output Schema
export const WorkbooksListByResourceGroupOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        location: Schema.String,
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Get all Workbooks defined within a specified resource group and category.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param category - Category of workbook to return.
 * @param tags - Tags presents on each workbook returned.
 * @param sourceId - Azure Resource Id that will fetch all linked workbooks.
 * @param canFetchContent - Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.
 */
export const WorkbooksListByResourceGroup = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksListByResourceGroupInput,
    outputSchema: WorkbooksListByResourceGroupOutput,
}));
// Input Schema
export const WorkbooksListBySubscriptionInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
    category: Schema.Literals(["workbook", "TSG", "performance", "retention"]),
    tags: Schema.optional(Schema.String),
    canFetchContent: Schema.optional(Schema.Boolean),
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/workbooks",
}));
// Output Schema
export const WorkbooksListBySubscriptionOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        location: Schema.String,
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Get all Workbooks defined within a specified subscription and category.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param category - Category of workbook to return.
 * @param tags - Tags presents on each workbook returned.
 * @param canFetchContent - Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.
 */
export const WorkbooksListBySubscription = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksListBySubscriptionInput,
    outputSchema: WorkbooksListBySubscriptionOutput,
}));
// Input Schema
export const WorkbooksRevisionGetInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    revisionId: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions/{revisionId}",
}));
// Output Schema
export const WorkbooksRevisionGetOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
    location: Schema.String,
});
// The operation
/**
 * Get a single workbook revision defined by its revisionId.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 * @param revisionId - The id of the workbook's revision.
 */
export const WorkbooksRevisionGet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksRevisionGetInput,
    outputSchema: WorkbooksRevisionGetOutput,
}));
// Input Schema
export const WorkbooksRevisionsListInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions",
}));
// Output Schema
export const WorkbooksRevisionsListOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
        location: Schema.String,
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Get the revisions for the workbook defined by its resourceName.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 */
export const WorkbooksRevisionsList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksRevisionsListInput,
    outputSchema: WorkbooksRevisionsListOutput,
}));
// Input Schema
export const WorkbooksUpdateInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    subscriptionId: Schema.String.pipe(T.PathParam()),
    resourceGroupName: Schema.String.pipe(T.PathParam()),
    resourceName: Schema.String.pipe(T.PathParam()),
    "api-version": Schema.String,
    sourceId: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PATCH",
    path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}",
}));
// Output Schema
export const WorkbooksUpdateOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    tags: Schema.optional(Schema.Record(Schema.String, Schema.String)),
    location: Schema.String,
});
// The operation
/**
 * Updates a workbook that has already been added.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceName - The name of the workbook resource. The value must be an UUID.
 * @param sourceId - Azure Resource Id that will fetch all linked workbooks.
 */
export const WorkbooksUpdate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: WorkbooksUpdateInput,
    outputSchema: WorkbooksUpdateOutput,
}));
//# sourceMappingURL=applicationinsights.js.map