/**
 * Azure Marketplaceordering 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 MarketplaceAgreementsCancelInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "POST",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/cancel",
}));
// Output Schema
export const MarketplaceAgreementsCancelOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
    type: Schema.optional(Schema.String),
});
// The operation
/**
 * Cancel marketplace terms.
 */
export const MarketplaceAgreementsCancel = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsCancelInput,
    outputSchema: MarketplaceAgreementsCancelOutput,
}));
// Input Schema
export const MarketplaceAgreementsCreateInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "PUT",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current",
}));
// Output Schema
export const MarketplaceAgreementsCreateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
    type: Schema.optional(Schema.String),
});
// The operation
/**
 * Save marketplace terms.
 */
export const MarketplaceAgreementsCreate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsCreateInput,
    outputSchema: MarketplaceAgreementsCreateOutput,
}));
// Input Schema
export const MarketplaceAgreementsGetInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current",
}));
// Output Schema
export const MarketplaceAgreementsGetOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
    type: Schema.optional(Schema.String),
});
// The operation
/**
 * Get marketplace terms.
 */
export const MarketplaceAgreementsGet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsGetInput,
    outputSchema: MarketplaceAgreementsGetOutput,
}));
// Input Schema
export const MarketplaceAgreementsGetAgreementInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}",
}));
// Output Schema
export const MarketplaceAgreementsGetAgreementOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
    type: Schema.optional(Schema.String),
});
// The operation
/**
 * Get marketplace agreement.
 */
export const MarketplaceAgreementsGetAgreement = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsGetAgreementInput,
    outputSchema: MarketplaceAgreementsGetAgreementOutput,
}));
// Input Schema
export const MarketplaceAgreementsListInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements",
}));
// Output Schema
export const MarketplaceAgreementsListOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.String),
        name: Schema.optional(Schema.String),
        type: Schema.optional(Schema.String),
    }))),
});
// The operation
/**
 * List marketplace agreements in the subscription.
 */
export const MarketplaceAgreementsList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsListInput,
    outputSchema: MarketplaceAgreementsListOutput,
}));
// Input Schema
export const MarketplaceAgreementsSignInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "POST",
    path: "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/sign",
}));
// Output Schema
export const MarketplaceAgreementsSignOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
    type: Schema.optional(Schema.String),
});
// The operation
/**
 * Sign marketplace terms.
 */
export const MarketplaceAgreementsSign = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: MarketplaceAgreementsSignInput,
    outputSchema: MarketplaceAgreementsSignOutput,
}));
// Input Schema
export const OperationsListInput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({}).pipe(T.Http({
    method: "GET",
    path: "/providers/Microsoft.MarketplaceOrdering/operations",
}));
// Output Schema
export const OperationsListOutput = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    value: Schema.optional(Schema.Array(Schema.Struct({
        name: Schema.optional(Schema.String),
        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),
        })),
    }))),
    nextLink: Schema.optional(Schema.String),
});
// The operation
/**
 * Lists all of the available Microsoft.MarketplaceOrdering REST API operations.
 */
export const OperationsList = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: OperationsListInput,
    outputSchema: OperationsListOutput,
}));
//# sourceMappingURL=marketplaceordering.js.map