/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
import { PagedAsyncIterableIterator } from "@azure/core-paging";
import {
LabDetails,
LabsListAllOptionalParams,
LabsListOptionalParams,
LabsGetOptionalParams,
LabsGetResponse,
LabsDeleteOptionalParams,
LabsCreateOrUpdateOptionalParams,
LabsCreateOrUpdateResponse,
InviteCodeGenerateRequest,
LabsGenerateInviteCodeOptionalParams,
LabsGenerateInviteCodeResponse
} from "../models";
///
/** Interface representing a Labs. */
export interface Labs {
/**
* Get a list of labs associated with the provided billing account name and billing profile name.
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param options The options parameters.
*/
listAll(
billingAccountName: string,
billingProfileName: string,
options?: LabsListAllOptionalParams
): PagedAsyncIterableIterator;
/**
* Get the details for a specific lab associated with the provided billing account name, billing
* profile name, and invoice section name.
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param invoiceSectionName Invoice section name.
* @param options The options parameters.
*/
list(
billingAccountName: string,
billingProfileName: string,
invoiceSectionName: string,
options?: LabsListOptionalParams
): PagedAsyncIterableIterator;
/**
* Get the details for a specific lab associated with the provided billing account name, billing
* profile name, and invoice section name.
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param invoiceSectionName Invoice section name.
* @param options The options parameters.
*/
get(
billingAccountName: string,
billingProfileName: string,
invoiceSectionName: string,
options?: LabsGetOptionalParams
): Promise;
/**
* Delete a specific lab associated with the provided billing account name, billing profile name, and
* invoice section name. Note all students must be removed from the lab in order to delete the lab.
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param invoiceSectionName Invoice section name.
* @param options The options parameters.
*/
delete(
billingAccountName: string,
billingProfileName: string,
invoiceSectionName: string,
options?: LabsDeleteOptionalParams
): Promise;
/**
* Create a new lab or update a previously created lab.
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param invoiceSectionName Invoice section name.
* @param parameters Request parameters that are provided to create lab resource.
* @param options The options parameters.
*/
createOrUpdate(
billingAccountName: string,
billingProfileName: string,
invoiceSectionName: string,
parameters: LabDetails,
options?: LabsCreateOrUpdateOptionalParams
): Promise;
/**
* Generate invite code for a lab
* @param billingAccountName Billing account name.
* @param billingProfileName Billing profile name.
* @param invoiceSectionName Invoice section name.
* @param parameters Request parameters that are provided to generate invite code.
* @param options The options parameters.
*/
generateInviteCode(
billingAccountName: string,
billingProfileName: string,
invoiceSectionName: string,
parameters: InviteCodeGenerateRequest,
options?: LabsGenerateInviteCodeOptionalParams
): Promise;
}