@azure/arm-education 1.0.0-alpha.20220526.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +3 -2
- package/dist/index.js +55 -2
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist-esm/src/educationManagementClient.d.ts +2 -0
- package/dist-esm/src/educationManagementClient.d.ts.map +1 -1
- package/dist-esm/src/educationManagementClient.js +30 -1
- package/dist-esm/src/educationManagementClient.js.map +1 -1
- package/dist-esm/src/models/index.d.ts +38 -12
- package/dist-esm/src/models/index.d.ts.map +1 -1
- package/dist-esm/src/models/index.js +25 -0
- package/dist-esm/src/models/index.js.map +1 -1
- package/dist-esm/test/sampleTest.js +11 -13
- package/dist-esm/test/sampleTest.js.map +1 -1
- package/package.json +10 -7
- package/review/arm-education.api.md +32 -54
- package/src/educationManagementClient.ts +35 -1
- package/src/models/index.ts +38 -12
- package/types/arm-education.d.ts +40 -12
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/operations.ts","../src/operations/grants.ts","../src/operations/labs.ts","../src/operations/joinRequests.ts","../src/operations/students.ts","../src/operations/studentLabs.ts","../src/educationManagementClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface OperationListResult {\n /**\n * List of operations supported by the resource provider\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Operation[];\n /**\n * URL to get the next set of operation list results (if there are any).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /**\n * The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly origin?: Origin;\n /**\n * Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly actionType?: ActionType;\n}\n\n/** Localized display information for this particular operation. */\nexport interface OperationDisplay {\n /**\n * The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provider?: string;\n /**\n * The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resource?: string;\n /**\n * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operation?: string;\n /**\n * The short, localized friendly description of the operation; suitable for tool tips and detailed views.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface ErrorResponseBody {\n /** The details of the error. */\n error?: ErrorResponse;\n}\n\n/** Describes the format of Error response. */\nexport interface ErrorResponse {\n /** Error code */\n code?: string;\n /** Error message indicating why the operation failed. */\n message?: string;\n}\n\n/** List of Grants info. */\nexport interface GrantListResponse {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: GrantDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The amount. */\nexport interface Amount {\n /** The type of currency being used for the value. */\n currency?: string;\n /** Amount value. */\n value?: number;\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /**\n * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the resource\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * Azure Resource Manager metadata containing createdBy and modifiedBy information.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\n/** List of labs. */\nexport interface LabListResult {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: LabDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** invite code generate request. */\nexport interface InviteCodeGenerateRequest {\n /** the total number of students that can be accepted to the lab. */\n maxStudentCount?: number;\n}\n\n/** list of join requests. */\nexport interface JoinRequestList {\n /**\n * The list of requests.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: JoinRequestDetails[];\n /**\n * the link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** redeem request. */\nexport interface RedeemRequest {\n /** redeem code */\n redeemCode: string;\n /** first name of requester */\n firstName: string;\n /** last name of requester */\n lastName: string;\n}\n\n/** List of students. */\nexport interface StudentListResult {\n /**\n * The list of students.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: StudentDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** List of labs. */\nexport interface StudentLabListResult {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: StudentLabDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Grant details. */\nexport type GrantDetails = Resource & {\n /**\n * Offer Cap\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly offerCap?: Amount;\n /**\n * Grant Effective Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * Grant Offer Type\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly offerType?: GrantType;\n /**\n * Expiration Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expirationDate?: Date;\n /**\n * Grant status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: GrantStatus;\n /**\n * allocated budget\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly allocatedBudget?: Amount;\n};\n\n/** Lab details. */\nexport type LabDetails = Resource & {\n /** Lab Display Name */\n displayName?: string;\n /** Default monetary cap for each student in this lab */\n budgetPerStudent?: Amount;\n /** Detail description of this lab */\n description?: string;\n /** Default expiration date for each student in this lab */\n expirationDate?: Date;\n /**\n * Lab creation date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * The status of this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: LabStatus;\n /**\n * the total number of students that can be accepted to the lab.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly maxStudentCount?: number;\n /**\n * invitation code for redeemable lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invitationCode?: string;\n /** The type of currency being used for the value. */\n currencyPropertiesTotalAllocatedBudgetCurrency?: string;\n /** Amount value. */\n valuePropertiesTotalAllocatedBudgetValue?: number;\n /** The type of currency being used for the value. */\n currencyPropertiesTotalBudgetCurrency?: string;\n /** Amount value. */\n valuePropertiesTotalBudgetValue?: number;\n};\n\n/** join requests. */\nexport type JoinRequestDetails = Resource & {\n /** First Name */\n firstName?: string;\n /** Last Name */\n lastName?: string;\n /** join request email */\n email?: string;\n /** Join request status */\n status?: JoinRequestStatus;\n};\n\n/** Student details. */\nexport type StudentDetails = Resource & {\n /** First Name */\n firstName?: string;\n /** Last Name */\n lastName?: string;\n /** Student Email */\n email?: string;\n /** Student Role */\n role?: StudentRole;\n /** Student Budget */\n budget?: Amount;\n /**\n * Subscription Id\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /** Date this student is set to expire from the lab. */\n expirationDate?: Date;\n /**\n * Student Lab Status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: StudentLabStatus;\n /**\n * Date student was added to the lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /** Subscription alias */\n subscriptionAlias?: string;\n /** subscription invite last sent date */\n subscriptionInviteLastSentDate?: Date;\n};\n\n/** Student lab details. */\nexport type StudentLabDetails = Resource & {\n /**\n * Student lab Display Name\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * Detail description of this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n /**\n * Date the lab will expire and by default will be the expiration date for each student in this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expirationDate?: Date;\n /**\n * Student Role\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly role?: StudentRole;\n /**\n * Student Budget\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly budget?: Amount;\n /**\n * Subscription Id\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /**\n * Student Lab Status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: StudentLabStatus;\n /**\n * User Added Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * Lab Scope. /providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly labScope?: string;\n};\n\n/** Known values of {@link Origin} that the service accepts. */\nexport enum KnownOrigin {\n User = \"user\",\n System = \"system\",\n UserSystem = \"user,system\"\n}\n\n/**\n * Defines values for Origin. \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user** \\\n * **system** \\\n * **user,system**\n */\nexport type Origin = string;\n\n/** Known values of {@link ActionType} that the service accepts. */\nexport enum KnownActionType {\n Internal = \"Internal\"\n}\n\n/**\n * Defines values for ActionType. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**\n */\nexport type ActionType = string;\n\n/** Known values of {@link GrantType} that the service accepts. */\nexport enum KnownGrantType {\n Student = \"Student\",\n Academic = \"Academic\"\n}\n\n/**\n * Defines values for GrantType. \\\n * {@link KnownGrantType} can be used interchangeably with GrantType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Student** \\\n * **Academic**\n */\nexport type GrantType = string;\n\n/** Known values of {@link GrantStatus} that the service accepts. */\nexport enum KnownGrantStatus {\n Active = \"Active\",\n Inactive = \"Inactive\"\n}\n\n/**\n * Defines values for GrantStatus. \\\n * {@link KnownGrantStatus} can be used interchangeably with GrantStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Inactive**\n */\nexport type GrantStatus = string;\n\n/** Known values of {@link CreatedByType} that the service accepts. */\nexport enum KnownCreatedByType {\n User = \"User\",\n Application = \"Application\",\n ManagedIdentity = \"ManagedIdentity\",\n Key = \"Key\"\n}\n\n/**\n * Defines values for CreatedByType. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User** \\\n * **Application** \\\n * **ManagedIdentity** \\\n * **Key**\n */\nexport type CreatedByType = string;\n\n/** Known values of {@link LabStatus} that the service accepts. */\nexport enum KnownLabStatus {\n Active = \"Active\",\n Deleted = \"Deleted\"\n}\n\n/**\n * Defines values for LabStatus. \\\n * {@link KnownLabStatus} can be used interchangeably with LabStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Deleted**\n */\nexport type LabStatus = string;\n\n/** Known values of {@link JoinRequestStatus} that the service accepts. */\nexport enum KnownJoinRequestStatus {\n Pending = \"Pending\",\n Denied = \"Denied\"\n}\n\n/**\n * Defines values for JoinRequestStatus. \\\n * {@link KnownJoinRequestStatus} can be used interchangeably with JoinRequestStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending** \\\n * **Denied**\n */\nexport type JoinRequestStatus = string;\n\n/** Known values of {@link StudentRole} that the service accepts. */\nexport enum KnownStudentRole {\n Student = \"Student\",\n Admin = \"Admin\"\n}\n\n/**\n * Defines values for StudentRole. \\\n * {@link KnownStudentRole} can be used interchangeably with StudentRole,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Student** \\\n * **Admin**\n */\nexport type StudentRole = string;\n\n/** Known values of {@link StudentLabStatus} that the service accepts. */\nexport enum KnownStudentLabStatus {\n Active = \"Active\",\n Disabled = \"Disabled\",\n Expired = \"Expired\",\n Pending = \"Pending\",\n Deleted = \"Deleted\"\n}\n\n/**\n * Defines values for StudentLabStatus. \\\n * {@link KnownStudentLabStatus} can be used interchangeably with StudentLabStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Disabled** \\\n * **Expired** \\\n * **Pending** \\\n * **Deleted**\n */\nexport type StudentLabStatus = string;\n\n/** Optional parameters. */\nexport interface OperationsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type OperationsListResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface GrantsListAllOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listAll operation. */\nexport type GrantsListAllResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsListOptionalParams extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type GrantsListResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsGetOptionalParams extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the get operation. */\nexport type GrantsGetResponse = GrantDetails;\n\n/** Optional parameters. */\nexport interface GrantsListAllNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listAllNext operation. */\nexport type GrantsListAllNextResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type GrantsListNextResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface LabsListAllOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listAll operation. */\nexport type LabsListAllResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsListOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type LabsListResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsGetOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the get operation. */\nexport type LabsGetResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsDeleteOptionalParams extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface LabsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type LabsCreateOrUpdateResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsGenerateInviteCodeOptionalParams\n extends coreClient.OperationOptions {\n /** set this flag to true if you want to update student count without generating a new invite code */\n onlyUpdateStudentCountParameter?: boolean;\n}\n\n/** Contains response data for the generateInviteCode operation. */\nexport type LabsGenerateInviteCodeResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsListAllNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listAllNext operation. */\nexport type LabsListAllNextResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type LabsListNextResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface JoinRequestsListOptionalParams\n extends coreClient.OperationOptions {\n /** Include denied */\n includeDenied?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type JoinRequestsListResponse = JoinRequestList;\n\n/** Optional parameters. */\nexport interface JoinRequestsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type JoinRequestsGetResponse = JoinRequestDetails;\n\n/** Optional parameters. */\nexport interface JoinRequestsApproveOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface JoinRequestsDenyOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface JoinRequestsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** Include denied */\n includeDenied?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type JoinRequestsListNextResponse = JoinRequestList;\n\n/** Optional parameters. */\nexport interface RedeemInvitationCodeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface StudentsListOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type StudentsListResponse = StudentListResult;\n\n/** Optional parameters. */\nexport interface StudentsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type StudentsGetResponse = StudentDetails;\n\n/** Optional parameters. */\nexport interface StudentsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface StudentsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type StudentsCreateOrUpdateResponse = StudentDetails;\n\n/** Optional parameters. */\nexport interface StudentsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type StudentsListNextResponse = StudentListResult;\n\n/** Optional parameters. */\nexport interface StudentLabsListAllOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listAll operation. */\nexport type StudentLabsListAllResponse = StudentLabListResult;\n\n/** Optional parameters. */\nexport interface StudentLabsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type StudentLabsGetResponse = StudentLabDetails;\n\n/** Optional parameters. */\nexport interface StudentLabsListAllNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listAllNext operation. */\nexport type StudentLabsListAllNextResponse = StudentLabListResult;\n\n/** Optional parameters. */\nexport interface EducationManagementClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const OperationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Operation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Operation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Operation\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isDataAction: {\n serializedName: \"isDataAction\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n display: {\n serializedName: \"display\",\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\"\n }\n },\n origin: {\n serializedName: \"origin\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n actionType: {\n serializedName: \"actionType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationDisplay: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\",\n modelProperties: {\n provider: {\n serializedName: \"provider\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resource: {\n serializedName: \"resource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operation: {\n serializedName: \"operation\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponseBody: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponseBody\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const GrantListResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GrantListResponse\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"GrantDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Amount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Amount\",\n modelProperties: {\n currency: {\n serializedName: \"currency\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n }\n }\n }\n};\n\nexport const SystemData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SystemData\",\n modelProperties: {\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n createdByType: {\n serializedName: \"createdByType\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n lastModifiedBy: {\n serializedName: \"lastModifiedBy\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedByType: {\n serializedName: \"lastModifiedByType\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedAt: {\n serializedName: \"lastModifiedAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const LabListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LabDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InviteCodeGenerateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InviteCodeGenerateRequest\",\n modelProperties: {\n maxStudentCount: {\n serializedName: \"maxStudentCount\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const JoinRequestList: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JoinRequestList\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"JoinRequestDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RedeemRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RedeemRequest\",\n modelProperties: {\n redeemCode: {\n serializedName: \"redeemCode\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n firstName: {\n serializedName: \"firstName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"lastName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StudentDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentLabListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentLabListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StudentLabDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const GrantDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GrantDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n offerCap: {\n serializedName: \"properties.offerCap\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n offerType: {\n serializedName: \"properties.offerType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n allocatedBudget: {\n serializedName: \"properties.allocatedBudget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n }\n }\n }\n};\n\nexport const LabDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n budgetPerStudent: {\n serializedName: \"properties.budgetPerStudent\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n maxStudentCount: {\n serializedName: \"properties.maxStudentCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n invitationCode: {\n serializedName: \"properties.invitationCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n currencyPropertiesTotalAllocatedBudgetCurrency: {\n serializedName: \"properties.totalAllocatedBudget.currency\",\n type: {\n name: \"String\"\n }\n },\n valuePropertiesTotalAllocatedBudgetValue: {\n serializedName: \"properties.totalAllocatedBudget.value\",\n type: {\n name: \"Number\"\n }\n },\n currencyPropertiesTotalBudgetCurrency: {\n serializedName: \"properties.totalBudget.currency\",\n type: {\n name: \"String\"\n }\n },\n valuePropertiesTotalBudgetValue: {\n serializedName: \"properties.totalBudget.value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const JoinRequestDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JoinRequestDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n firstName: {\n serializedName: \"properties.firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"properties.lastName\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"properties.email\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n firstName: {\n serializedName: \"properties.firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"properties.lastName\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"properties.email\",\n type: {\n name: \"String\"\n }\n },\n role: {\n serializedName: \"properties.role\",\n type: {\n name: \"String\"\n }\n },\n budget: {\n serializedName: \"properties.budget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n subscriptionAlias: {\n serializedName: \"properties.subscriptionAlias\",\n type: {\n name: \"String\"\n }\n },\n subscriptionInviteLastSentDate: {\n serializedName: \"properties.subscriptionInviteLastSentDate\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const StudentLabDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentLabDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n role: {\n serializedName: \"properties.role\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n budget: {\n serializedName: \"properties.budget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n labScope: {\n serializedName: \"properties.labScope\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n LabDetails as LabDetailsMapper,\n InviteCodeGenerateRequest as InviteCodeGenerateRequestMapper,\n RedeemRequest as RedeemRequestMapper,\n StudentDetails as StudentDetailsMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-12-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const includeAllocatedBudget: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeAllocatedBudget\"],\n mapper: {\n serializedName: \"includeAllocatedBudget\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const billingAccountName: OperationURLParameter = {\n parameterPath: \"billingAccountName\",\n mapper: {\n serializedName: \"billingAccountName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const billingProfileName: OperationURLParameter = {\n parameterPath: \"billingProfileName\",\n mapper: {\n serializedName: \"billingProfileName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const includeBudget: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeBudget\"],\n mapper: {\n serializedName: \"includeBudget\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const includeDeleted: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeDeleted\"],\n mapper: {\n serializedName: \"includeDeleted\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const invoiceSectionName: OperationURLParameter = {\n parameterPath: \"invoiceSectionName\",\n mapper: {\n serializedName: \"invoiceSectionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: LabDetailsMapper\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InviteCodeGenerateRequestMapper\n};\n\nexport const onlyUpdateStudentCountParameter: OperationQueryParameter = {\n parameterPath: [\"options\", \"onlyUpdateStudentCountParameter\"],\n mapper: {\n serializedName: \"onlyUpdateStudentCountParameter\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const includeDenied: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeDenied\"],\n mapper: {\n serializedName: \"includeDenied\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const joinRequestName: OperationURLParameter = {\n parameterPath: \"joinRequestName\",\n mapper: {\n serializedName: \"joinRequestName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: RedeemRequestMapper\n};\n\nexport const studentAlias: OperationURLParameter = {\n parameterPath: \"studentAlias\",\n mapper: {\n serializedName: \"studentAlias\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: StudentDetailsMapper\n};\n\nexport const studentLabName: OperationURLParameter = {\n parameterPath: \"studentLabName\",\n mapper: {\n serializedName: \"studentLabName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Operations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n OperationsListOptionalParams,\n OperationsListResponse\n} from \"../models\";\n\n/** Class containing Operations operations. */\nexport class OperationsImpl implements Operations {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Operations class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available Microsoft.Education API operations.\n * @param options The options parameters.\n */\n list(\n options?: OperationsListOptionalParams\n ): Promise<OperationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Grants } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n GrantDetails,\n GrantsListAllNextOptionalParams,\n GrantsListAllOptionalParams,\n GrantsListNextOptionalParams,\n GrantsListOptionalParams,\n GrantsListAllResponse,\n GrantsListResponse,\n GrantsGetOptionalParams,\n GrantsGetResponse,\n GrantsListAllNextResponse,\n GrantsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Grants operations. */\nexport class GrantsImpl implements Grants {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Grants class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of grants that Microsoft has provided.\n * @param options The options parameters.\n */\n public listAll(\n options?: GrantsListAllOptionalParams\n ): PagedAsyncIterableIterator<GrantDetails> {\n const iter = this.listAllPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(options);\n }\n };\n }\n\n private async *listAllPagingPage(\n options?: GrantsListAllOptionalParams\n ): AsyncIterableIterator<GrantDetails[]> {\n let result = await this._listAll(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n options?: GrantsListAllOptionalParams\n ): AsyncIterableIterator<GrantDetails> {\n for await (const page of this.listAllPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): PagedAsyncIterableIterator<GrantDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): AsyncIterableIterator<GrantDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): AsyncIterableIterator<GrantDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of grants that Microsoft has provided.\n * @param options The options parameters.\n */\n private _listAll(\n options?: GrantsListAllOptionalParams\n ): Promise<GrantsListAllResponse> {\n return this.client.sendOperationRequest({ options }, listAllOperationSpec);\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): Promise<GrantsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsGetOptionalParams\n ): Promise<GrantsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n nextLink: string,\n options?: GrantsListAllNextOptionalParams\n ): Promise<GrantsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listAllNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: GrantsListNextOptionalParams\n ): Promise<GrantsListNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/grants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/grants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/grants/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Labs } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n LabDetails,\n LabsListAllNextOptionalParams,\n LabsListAllOptionalParams,\n LabsListNextOptionalParams,\n LabsListOptionalParams,\n LabsListAllResponse,\n LabsListResponse,\n LabsGetOptionalParams,\n LabsGetResponse,\n LabsDeleteOptionalParams,\n LabsCreateOrUpdateOptionalParams,\n LabsCreateOrUpdateResponse,\n InviteCodeGenerateRequest,\n LabsGenerateInviteCodeOptionalParams,\n LabsGenerateInviteCodeResponse,\n LabsListAllNextResponse,\n LabsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Labs operations. */\nexport class LabsImpl implements Labs {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Labs class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of labs associated with the provided billing account name and billing profile name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n public listAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): PagedAsyncIterableIterator<LabDetails> {\n const iter = this.listAllPagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listAllPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): AsyncIterableIterator<LabDetails[]> {\n let result = await this._listAll(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): AsyncIterableIterator<LabDetails> {\n for await (const page of this.listAllPagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): PagedAsyncIterableIterator<LabDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): AsyncIterableIterator<LabDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): AsyncIterableIterator<LabDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of labs associated with the provided billing account name and billing profile name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n private _listAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): Promise<LabsListAllResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listAllOperationSpec\n );\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): Promise<LabsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsGetOptionalParams\n ): Promise<LabsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n getOperationSpec\n );\n }\n\n /**\n * Delete a specific lab associated with the provided billing account name, billing profile name, and\n * invoice section name. Note all students must be removed from the lab in order to delete the lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n delete(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Create a new lab or update a previously created lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param parameters Request parameters that are provided to create lab resource.\n * @param options The options parameters.\n */\n createOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: LabDetails,\n options?: LabsCreateOrUpdateOptionalParams\n ): Promise<LabsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Generate invite code for a lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param parameters Request parameters that are provided to generate invite code.\n * @param options The options parameters.\n */\n generateInviteCode(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: InviteCodeGenerateRequest,\n options?: LabsGenerateInviteCodeOptionalParams\n ): Promise<LabsGenerateInviteCodeResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n },\n generateInviteCodeOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: LabsListAllNextOptionalParams\n ): Promise<LabsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listAllNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: LabsListNextOptionalParams\n ): Promise<LabsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/labs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.includeBudget,\n Parameters.includeDeleted\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n 201: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst generateInviteCodeOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/generateInviteCode\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [\n Parameters.apiVersion,\n Parameters.onlyUpdateStudentCountParameter\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.includeBudget,\n Parameters.includeDeleted\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { JoinRequests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n JoinRequestDetails,\n JoinRequestsListNextOptionalParams,\n JoinRequestsListOptionalParams,\n JoinRequestsListResponse,\n JoinRequestsGetOptionalParams,\n JoinRequestsGetResponse,\n JoinRequestsApproveOptionalParams,\n JoinRequestsDenyOptionalParams,\n JoinRequestsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing JoinRequests operations. */\nexport class JoinRequestsImpl implements JoinRequests {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class JoinRequests class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): PagedAsyncIterableIterator<JoinRequestDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): AsyncIterableIterator<JoinRequestDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): AsyncIterableIterator<JoinRequestDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): Promise<JoinRequestsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsGetOptionalParams\n ): Promise<JoinRequestsGetResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Approve student joining the redeemable lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n approve(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsApproveOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n approveOperationSpec\n );\n }\n\n /**\n * Deny student joining the redeemable lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n deny(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsDenyOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n denyOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: JoinRequestsListNextOptionalParams\n ): Promise<JoinRequestsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestList\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDenied],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst approveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}/approve\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst denyOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}/deny\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestList\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDenied],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Students } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n StudentDetails,\n StudentsListNextOptionalParams,\n StudentsListOptionalParams,\n StudentsListResponse,\n StudentsGetOptionalParams,\n StudentsGetResponse,\n StudentsDeleteOptionalParams,\n StudentsCreateOrUpdateOptionalParams,\n StudentsCreateOrUpdateResponse,\n StudentsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Students operations. */\nexport class StudentsImpl implements Students {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Students class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of details about students that are associated with the specified lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): PagedAsyncIterableIterator<StudentDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): AsyncIterableIterator<StudentDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): AsyncIterableIterator<StudentDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of details about students that are associated with the specified lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): Promise<StudentsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get the details for a specific student in the specified lab by student alias\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n options?: StudentsGetOptionalParams\n ): Promise<StudentsGetResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Delete the specified student based on the student alias.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param options The options parameters.\n */\n delete(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n options?: StudentsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n options\n },\n deleteOperationSpec\n );\n }\n\n /**\n * Create and add a new student to the specified lab or update the details of an existing student in a\n * lab. Note the student must have a valid tenant to accept the lab after they have been added to lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param parameters Request parameters that are provided to update student properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n parameters: StudentDetails,\n options?: StudentsCreateOrUpdateOptionalParams\n ): Promise<StudentsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: StudentsListNextOptionalParams\n ): Promise<StudentsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDeleted],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentDetails\n },\n 201: {\n bodyMapper: Mappers.StudentDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDeleted],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { StudentLabs } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n StudentLabDetails,\n StudentLabsListAllNextOptionalParams,\n StudentLabsListAllOptionalParams,\n StudentLabsListAllResponse,\n StudentLabsGetOptionalParams,\n StudentLabsGetResponse,\n StudentLabsListAllNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing StudentLabs operations. */\nexport class StudentLabsImpl implements StudentLabs {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class StudentLabs class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of all labs associated with the caller of the API.\n * @param options The options parameters.\n */\n public listAll(\n options?: StudentLabsListAllOptionalParams\n ): PagedAsyncIterableIterator<StudentLabDetails> {\n const iter = this.listAllPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(options);\n }\n };\n }\n\n private async *listAllPagingPage(\n options?: StudentLabsListAllOptionalParams\n ): AsyncIterableIterator<StudentLabDetails[]> {\n let result = await this._listAll(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n options?: StudentLabsListAllOptionalParams\n ): AsyncIterableIterator<StudentLabDetails> {\n for await (const page of this.listAllPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Get a list of all labs associated with the caller of the API.\n * @param options The options parameters.\n */\n private _listAll(\n options?: StudentLabsListAllOptionalParams\n ): Promise<StudentLabsListAllResponse> {\n return this.client.sendOperationRequest({ options }, listAllOperationSpec);\n }\n\n /**\n * Get the details for a specified lab associated with the student lab.\n * @param studentLabName Student lab name.\n * @param options The options parameters.\n */\n get(\n studentLabName: string,\n options?: StudentLabsGetOptionalParams\n ): Promise<StudentLabsGetResponse> {\n return this.client.sendOperationRequest(\n { studentLabName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n nextLink: string,\n options?: StudentLabsListAllNextOptionalParams\n ): Promise<StudentLabsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listAllNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/studentLabs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/studentLabs/{studentLabName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.studentLabName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n OperationsImpl,\n GrantsImpl,\n LabsImpl,\n JoinRequestsImpl,\n StudentsImpl,\n StudentLabsImpl\n} from \"./operations\";\nimport {\n Operations,\n Grants,\n Labs,\n JoinRequests,\n Students,\n StudentLabs\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n EducationManagementClientOptionalParams,\n RedeemRequest,\n RedeemInvitationCodeOptionalParams\n} from \"./models\";\n\nexport class EducationManagementClient extends coreClient.ServiceClient {\n $host: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the EducationManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n options?: EducationManagementClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: EducationManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-education/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri:\n options.endpoint ?? options.baseUri ?? \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n\n if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {\n const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();\n const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(\n (pipelinePolicy) =>\n pipelinePolicy.name ===\n coreRestPipeline.bearerTokenAuthenticationPolicyName\n );\n if (!bearerTokenAuthenticationPolicyFound) {\n this.pipeline.removePolicy({\n name: coreRestPipeline.bearerTokenAuthenticationPolicyName\n });\n this.pipeline.addPolicy(\n coreRestPipeline.bearerTokenAuthenticationPolicy({\n scopes: `${optionsWithDefaults.baseUri}/.default`,\n challengeCallbacks: {\n authorizeRequestOnChallenge:\n coreClient.authorizeRequestOnClaimChallenge\n }\n })\n );\n }\n }\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n this.apiVersion = options.apiVersion || \"2021-12-01-preview\";\n this.operations = new OperationsImpl(this);\n this.grants = new GrantsImpl(this);\n this.labs = new LabsImpl(this);\n this.joinRequests = new JoinRequestsImpl(this);\n this.students = new StudentsImpl(this);\n this.studentLabs = new StudentLabsImpl(this);\n }\n\n /**\n * Redeem invite code to join a redeemable lab\n * @param parameters Request parameters to provide redeem code.\n * @param options The options parameters.\n */\n redeemInvitationCode(\n parameters: RedeemRequest,\n options?: RedeemInvitationCodeOptionalParams\n ): Promise<void> {\n return this.sendOperationRequest(\n { parameters, options },\n redeemInvitationCodeOperationSpec\n );\n }\n\n operations: Operations;\n grants: Grants;\n labs: Labs;\n joinRequests: JoinRequests;\n students: Students;\n studentLabs: StudentLabs;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst redeemInvitationCodeOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/redeemInvitationCode\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n"],"names":["KnownOrigin","KnownActionType","KnownGrantType","KnownGrantStatus","KnownCreatedByType","KnownLabStatus","KnownJoinRequestStatus","KnownStudentRole","KnownStudentLabStatus","LabDetailsMapper","InviteCodeGenerateRequestMapper","RedeemRequestMapper","StudentDetailsMapper","listOperationSpec","serializer","coreClient","Mappers.OperationListResult","Mappers.ErrorResponseBody","Parameters.apiVersion","Parameters.$host","Parameters.accept","__await","__asyncValues","__asyncDelegator","listAllOperationSpec","getOperationSpec","listAllNextOperationSpec","listNextOperationSpec","Mappers.GrantListResponse","Parameters.includeAllocatedBudget","Parameters.billingAccountName","Parameters.billingProfileName","Mappers.GrantDetails","Parameters.nextLink","deleteOperationSpec","createOrUpdateOperationSpec","Mappers.LabListResult","Parameters.includeBudget","Parameters.includeDeleted","Parameters.invoiceSectionName","Mappers.LabDetails","Parameters.parameters","Parameters.contentType","Parameters.parameters1","Parameters.onlyUpdateStudentCountParameter","Mappers.JoinRequestList","Parameters.includeDenied","Mappers.JoinRequestDetails","Parameters.joinRequestName","Mappers.StudentListResult","Mappers.StudentDetails","Parameters.studentAlias","Parameters.parameters3","Mappers.StudentLabListResult","Mappers.StudentLabDetails","Parameters.studentLabName","coreRestPipeline","Parameters.parameters2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/operations.ts","../src/operations/grants.ts","../src/operations/labs.ts","../src/operations/joinRequests.ts","../src/operations/students.ts","../src/operations/studentLabs.ts","../src/educationManagementClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface OperationListResult {\n /**\n * List of operations supported by the resource provider\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Operation[];\n /**\n * URL to get the next set of operation list results (if there are any).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /**\n * The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly origin?: Origin;\n /**\n * Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly actionType?: ActionType;\n}\n\n/** Localized display information for this particular operation. */\nexport interface OperationDisplay {\n /**\n * The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provider?: string;\n /**\n * The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resource?: string;\n /**\n * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operation?: string;\n /**\n * The short, localized friendly description of the operation; suitable for tool tips and detailed views.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface ErrorResponseBody {\n /** The details of the error. */\n error?: ErrorResponse;\n}\n\n/** Describes the format of Error response. */\nexport interface ErrorResponse {\n /** Error code */\n code?: string;\n /** Error message indicating why the operation failed. */\n message?: string;\n}\n\n/** List of Grants info. */\nexport interface GrantListResponse {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: GrantDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The amount. */\nexport interface Amount {\n /** The type of currency being used for the value. */\n currency?: string;\n /** Amount value. */\n value?: number;\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /**\n * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the resource\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * Azure Resource Manager metadata containing createdBy and modifiedBy information.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\n/** List of labs. */\nexport interface LabListResult {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: LabDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** invite code generate request. */\nexport interface InviteCodeGenerateRequest {\n /** the total number of students that can be accepted to the lab. */\n maxStudentCount?: number;\n}\n\n/** list of join requests. */\nexport interface JoinRequestList {\n /**\n * The list of requests.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: JoinRequestDetails[];\n /**\n * the link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** redeem request. */\nexport interface RedeemRequest {\n /** redeem code */\n redeemCode: string;\n /** first name of requester */\n firstName: string;\n /** last name of requester */\n lastName: string;\n}\n\n/** List of students. */\nexport interface StudentListResult {\n /**\n * The list of students.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: StudentDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** List of labs. */\nexport interface StudentLabListResult {\n /**\n * The list of labs.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: StudentLabDetails[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Grant details. */\nexport interface GrantDetails extends Resource {\n /**\n * Offer Cap\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly offerCap?: Amount;\n /**\n * Grant Effective Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * Grant Offer Type\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly offerType?: GrantType;\n /**\n * Expiration Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expirationDate?: Date;\n /**\n * Grant status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: GrantStatus;\n /**\n * allocated budget\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly allocatedBudget?: Amount;\n}\n\n/** Lab details. */\nexport interface LabDetails extends Resource {\n /** Lab Display Name */\n displayName?: string;\n /** Default monetary cap for each student in this lab */\n budgetPerStudent?: Amount;\n /** Detail description of this lab */\n description?: string;\n /** Default expiration date for each student in this lab */\n expirationDate?: Date;\n /**\n * Lab creation date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * The status of this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: LabStatus;\n /**\n * the total number of students that can be accepted to the lab.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly maxStudentCount?: number;\n /**\n * invitation code for redeemable lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invitationCode?: string;\n /** The type of currency being used for the value. */\n currencyPropertiesTotalAllocatedBudgetCurrency?: string;\n /** Amount value. */\n valuePropertiesTotalAllocatedBudgetValue?: number;\n /** The type of currency being used for the value. */\n currencyPropertiesTotalBudgetCurrency?: string;\n /** Amount value. */\n valuePropertiesTotalBudgetValue?: number;\n}\n\n/** join requests. */\nexport interface JoinRequestDetails extends Resource {\n /** First Name */\n firstName?: string;\n /** Last Name */\n lastName?: string;\n /** join request email */\n email?: string;\n /** Join request status */\n status?: JoinRequestStatus;\n}\n\n/** Student details. */\nexport interface StudentDetails extends Resource {\n /** First Name */\n firstName?: string;\n /** Last Name */\n lastName?: string;\n /** Student Email */\n email?: string;\n /** Student Role */\n role?: StudentRole;\n /** Student Budget */\n budget?: Amount;\n /**\n * Subscription Id\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /** Date this student is set to expire from the lab. */\n expirationDate?: Date;\n /**\n * Student Lab Status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: StudentLabStatus;\n /**\n * Date student was added to the lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /** Subscription alias */\n subscriptionAlias?: string;\n /** subscription invite last sent date */\n subscriptionInviteLastSentDate?: Date;\n}\n\n/** Student lab details. */\nexport interface StudentLabDetails extends Resource {\n /**\n * Student lab Display Name\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * Detail description of this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n /**\n * Date the lab will expire and by default will be the expiration date for each student in this lab\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expirationDate?: Date;\n /**\n * Student Role\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly role?: StudentRole;\n /**\n * Student Budget\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly budget?: Amount;\n /**\n * Subscription Id\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /**\n * Student Lab Status\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: StudentLabStatus;\n /**\n * User Added Date\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * Lab Scope. /providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly labScope?: string;\n}\n\n/** Known values of {@link Origin} that the service accepts. */\nexport enum KnownOrigin {\n /** User */\n User = \"user\",\n /** System */\n System = \"system\",\n /** UserSystem */\n UserSystem = \"user,system\"\n}\n\n/**\n * Defines values for Origin. \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user** \\\n * **system** \\\n * **user,system**\n */\nexport type Origin = string;\n\n/** Known values of {@link ActionType} that the service accepts. */\nexport enum KnownActionType {\n /** Internal */\n Internal = \"Internal\"\n}\n\n/**\n * Defines values for ActionType. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**\n */\nexport type ActionType = string;\n\n/** Known values of {@link GrantType} that the service accepts. */\nexport enum KnownGrantType {\n /** Student */\n Student = \"Student\",\n /** Academic */\n Academic = \"Academic\"\n}\n\n/**\n * Defines values for GrantType. \\\n * {@link KnownGrantType} can be used interchangeably with GrantType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Student** \\\n * **Academic**\n */\nexport type GrantType = string;\n\n/** Known values of {@link GrantStatus} that the service accepts. */\nexport enum KnownGrantStatus {\n /** Active */\n Active = \"Active\",\n /** Inactive */\n Inactive = \"Inactive\"\n}\n\n/**\n * Defines values for GrantStatus. \\\n * {@link KnownGrantStatus} can be used interchangeably with GrantStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Inactive**\n */\nexport type GrantStatus = string;\n\n/** Known values of {@link CreatedByType} that the service accepts. */\nexport enum KnownCreatedByType {\n /** User */\n User = \"User\",\n /** Application */\n Application = \"Application\",\n /** ManagedIdentity */\n ManagedIdentity = \"ManagedIdentity\",\n /** Key */\n Key = \"Key\"\n}\n\n/**\n * Defines values for CreatedByType. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User** \\\n * **Application** \\\n * **ManagedIdentity** \\\n * **Key**\n */\nexport type CreatedByType = string;\n\n/** Known values of {@link LabStatus} that the service accepts. */\nexport enum KnownLabStatus {\n /** Active */\n Active = \"Active\",\n /** Deleted */\n Deleted = \"Deleted\",\n /** Pending */\n Pending = \"Pending\"\n}\n\n/**\n * Defines values for LabStatus. \\\n * {@link KnownLabStatus} can be used interchangeably with LabStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Deleted** \\\n * **Pending**\n */\nexport type LabStatus = string;\n\n/** Known values of {@link JoinRequestStatus} that the service accepts. */\nexport enum KnownJoinRequestStatus {\n /** Pending */\n Pending = \"Pending\",\n /** Denied */\n Denied = \"Denied\"\n}\n\n/**\n * Defines values for JoinRequestStatus. \\\n * {@link KnownJoinRequestStatus} can be used interchangeably with JoinRequestStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending** \\\n * **Denied**\n */\nexport type JoinRequestStatus = string;\n\n/** Known values of {@link StudentRole} that the service accepts. */\nexport enum KnownStudentRole {\n /** Student */\n Student = \"Student\",\n /** Admin */\n Admin = \"Admin\"\n}\n\n/**\n * Defines values for StudentRole. \\\n * {@link KnownStudentRole} can be used interchangeably with StudentRole,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Student** \\\n * **Admin**\n */\nexport type StudentRole = string;\n\n/** Known values of {@link StudentLabStatus} that the service accepts. */\nexport enum KnownStudentLabStatus {\n /** Active */\n Active = \"Active\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Expired */\n Expired = \"Expired\",\n /** Pending */\n Pending = \"Pending\",\n /** Deleted */\n Deleted = \"Deleted\"\n}\n\n/**\n * Defines values for StudentLabStatus. \\\n * {@link KnownStudentLabStatus} can be used interchangeably with StudentLabStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Disabled** \\\n * **Expired** \\\n * **Pending** \\\n * **Deleted**\n */\nexport type StudentLabStatus = string;\n\n/** Optional parameters. */\nexport interface OperationsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type OperationsListResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface GrantsListAllOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listAll operation. */\nexport type GrantsListAllResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsListOptionalParams extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type GrantsListResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsGetOptionalParams extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the get operation. */\nexport type GrantsGetResponse = GrantDetails;\n\n/** Optional parameters. */\nexport interface GrantsListAllNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listAllNext operation. */\nexport type GrantsListAllNextResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface GrantsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include information about budget that has been allocated. */\n includeAllocatedBudget?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type GrantsListNextResponse = GrantListResponse;\n\n/** Optional parameters. */\nexport interface LabsListAllOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listAll operation. */\nexport type LabsListAllResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsListOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type LabsListResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsGetOptionalParams extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the get operation. */\nexport type LabsGetResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsDeleteOptionalParams extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface LabsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type LabsCreateOrUpdateResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsGenerateInviteCodeOptionalParams\n extends coreClient.OperationOptions {\n /** set this flag to true if you want to update student count without generating a new invite code */\n onlyUpdateStudentCountParameter?: boolean;\n}\n\n/** Contains response data for the generateInviteCode operation. */\nexport type LabsGenerateInviteCodeResponse = LabDetails;\n\n/** Optional parameters. */\nexport interface LabsListAllNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listAllNext operation. */\nexport type LabsListAllNextResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface LabsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to include budget information. */\n includeBudget?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type LabsListNextResponse = LabListResult;\n\n/** Optional parameters. */\nexport interface JoinRequestsListOptionalParams\n extends coreClient.OperationOptions {\n /** Include denied */\n includeDenied?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type JoinRequestsListResponse = JoinRequestList;\n\n/** Optional parameters. */\nexport interface JoinRequestsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type JoinRequestsGetResponse = JoinRequestDetails;\n\n/** Optional parameters. */\nexport interface JoinRequestsApproveOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface JoinRequestsDenyOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface JoinRequestsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** Include denied */\n includeDenied?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type JoinRequestsListNextResponse = JoinRequestList;\n\n/** Optional parameters. */\nexport interface RedeemInvitationCodeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface StudentsListOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the list operation. */\nexport type StudentsListResponse = StudentListResult;\n\n/** Optional parameters. */\nexport interface StudentsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type StudentsGetResponse = StudentDetails;\n\n/** Optional parameters. */\nexport interface StudentsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface StudentsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type StudentsCreateOrUpdateResponse = StudentDetails;\n\n/** Optional parameters. */\nexport interface StudentsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to show deleted items. */\n includeDeleted?: boolean;\n}\n\n/** Contains response data for the listNext operation. */\nexport type StudentsListNextResponse = StudentListResult;\n\n/** Optional parameters. */\nexport interface StudentLabsListAllOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listAll operation. */\nexport type StudentLabsListAllResponse = StudentLabListResult;\n\n/** Optional parameters. */\nexport interface StudentLabsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type StudentLabsGetResponse = StudentLabDetails;\n\n/** Optional parameters. */\nexport interface StudentLabsListAllNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listAllNext operation. */\nexport type StudentLabsListAllNextResponse = StudentLabListResult;\n\n/** Optional parameters. */\nexport interface EducationManagementClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const OperationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Operation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Operation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Operation\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isDataAction: {\n serializedName: \"isDataAction\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n display: {\n serializedName: \"display\",\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\"\n }\n },\n origin: {\n serializedName: \"origin\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n actionType: {\n serializedName: \"actionType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationDisplay: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\",\n modelProperties: {\n provider: {\n serializedName: \"provider\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resource: {\n serializedName: \"resource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operation: {\n serializedName: \"operation\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponseBody: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponseBody\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const GrantListResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GrantListResponse\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"GrantDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Amount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Amount\",\n modelProperties: {\n currency: {\n serializedName: \"currency\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n }\n }\n }\n};\n\nexport const SystemData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SystemData\",\n modelProperties: {\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n createdByType: {\n serializedName: \"createdByType\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n lastModifiedBy: {\n serializedName: \"lastModifiedBy\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedByType: {\n serializedName: \"lastModifiedByType\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedAt: {\n serializedName: \"lastModifiedAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const LabListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LabDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InviteCodeGenerateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InviteCodeGenerateRequest\",\n modelProperties: {\n maxStudentCount: {\n serializedName: \"maxStudentCount\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const JoinRequestList: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JoinRequestList\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"JoinRequestDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RedeemRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RedeemRequest\",\n modelProperties: {\n redeemCode: {\n serializedName: \"redeemCode\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n firstName: {\n serializedName: \"firstName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"lastName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StudentDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentLabListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentLabListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"StudentLabDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const GrantDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GrantDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n offerCap: {\n serializedName: \"properties.offerCap\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n offerType: {\n serializedName: \"properties.offerType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n allocatedBudget: {\n serializedName: \"properties.allocatedBudget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n }\n }\n }\n};\n\nexport const LabDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n budgetPerStudent: {\n serializedName: \"properties.budgetPerStudent\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n maxStudentCount: {\n serializedName: \"properties.maxStudentCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n invitationCode: {\n serializedName: \"properties.invitationCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n currencyPropertiesTotalAllocatedBudgetCurrency: {\n serializedName: \"properties.totalAllocatedBudget.currency\",\n type: {\n name: \"String\"\n }\n },\n valuePropertiesTotalAllocatedBudgetValue: {\n serializedName: \"properties.totalAllocatedBudget.value\",\n type: {\n name: \"Number\"\n }\n },\n currencyPropertiesTotalBudgetCurrency: {\n serializedName: \"properties.totalBudget.currency\",\n type: {\n name: \"String\"\n }\n },\n valuePropertiesTotalBudgetValue: {\n serializedName: \"properties.totalBudget.value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const JoinRequestDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JoinRequestDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n firstName: {\n serializedName: \"properties.firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"properties.lastName\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"properties.email\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const StudentDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n firstName: {\n serializedName: \"properties.firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"properties.lastName\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"properties.email\",\n type: {\n name: \"String\"\n }\n },\n role: {\n serializedName: \"properties.role\",\n type: {\n name: \"String\"\n }\n },\n budget: {\n serializedName: \"properties.budget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n subscriptionAlias: {\n serializedName: \"properties.subscriptionAlias\",\n type: {\n name: \"String\"\n }\n },\n subscriptionInviteLastSentDate: {\n serializedName: \"properties.subscriptionInviteLastSentDate\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const StudentLabDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StudentLabDetails\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n role: {\n serializedName: \"properties.role\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n budget: {\n serializedName: \"properties.budget\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n labScope: {\n serializedName: \"properties.labScope\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n LabDetails as LabDetailsMapper,\n InviteCodeGenerateRequest as InviteCodeGenerateRequestMapper,\n RedeemRequest as RedeemRequestMapper,\n StudentDetails as StudentDetailsMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-12-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const includeAllocatedBudget: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeAllocatedBudget\"],\n mapper: {\n serializedName: \"includeAllocatedBudget\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const billingAccountName: OperationURLParameter = {\n parameterPath: \"billingAccountName\",\n mapper: {\n serializedName: \"billingAccountName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const billingProfileName: OperationURLParameter = {\n parameterPath: \"billingProfileName\",\n mapper: {\n serializedName: \"billingProfileName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const includeBudget: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeBudget\"],\n mapper: {\n serializedName: \"includeBudget\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const includeDeleted: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeDeleted\"],\n mapper: {\n serializedName: \"includeDeleted\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const invoiceSectionName: OperationURLParameter = {\n parameterPath: \"invoiceSectionName\",\n mapper: {\n serializedName: \"invoiceSectionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: LabDetailsMapper\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InviteCodeGenerateRequestMapper\n};\n\nexport const onlyUpdateStudentCountParameter: OperationQueryParameter = {\n parameterPath: [\"options\", \"onlyUpdateStudentCountParameter\"],\n mapper: {\n serializedName: \"onlyUpdateStudentCountParameter\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const includeDenied: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeDenied\"],\n mapper: {\n serializedName: \"includeDenied\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const joinRequestName: OperationURLParameter = {\n parameterPath: \"joinRequestName\",\n mapper: {\n serializedName: \"joinRequestName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: RedeemRequestMapper\n};\n\nexport const studentAlias: OperationURLParameter = {\n parameterPath: \"studentAlias\",\n mapper: {\n serializedName: \"studentAlias\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: StudentDetailsMapper\n};\n\nexport const studentLabName: OperationURLParameter = {\n parameterPath: \"studentLabName\",\n mapper: {\n serializedName: \"studentLabName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Operations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n OperationsListOptionalParams,\n OperationsListResponse\n} from \"../models\";\n\n/** Class containing Operations operations. */\nexport class OperationsImpl implements Operations {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Operations class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available Microsoft.Education API operations.\n * @param options The options parameters.\n */\n list(\n options?: OperationsListOptionalParams\n ): Promise<OperationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Grants } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n GrantDetails,\n GrantsListAllNextOptionalParams,\n GrantsListAllOptionalParams,\n GrantsListNextOptionalParams,\n GrantsListOptionalParams,\n GrantsListAllResponse,\n GrantsListResponse,\n GrantsGetOptionalParams,\n GrantsGetResponse,\n GrantsListAllNextResponse,\n GrantsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Grants operations. */\nexport class GrantsImpl implements Grants {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Grants class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of grants that Microsoft has provided.\n * @param options The options parameters.\n */\n public listAll(\n options?: GrantsListAllOptionalParams\n ): PagedAsyncIterableIterator<GrantDetails> {\n const iter = this.listAllPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(options);\n }\n };\n }\n\n private async *listAllPagingPage(\n options?: GrantsListAllOptionalParams\n ): AsyncIterableIterator<GrantDetails[]> {\n let result = await this._listAll(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n options?: GrantsListAllOptionalParams\n ): AsyncIterableIterator<GrantDetails> {\n for await (const page of this.listAllPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): PagedAsyncIterableIterator<GrantDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): AsyncIterableIterator<GrantDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): AsyncIterableIterator<GrantDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of grants that Microsoft has provided.\n * @param options The options parameters.\n */\n private _listAll(\n options?: GrantsListAllOptionalParams\n ): Promise<GrantsListAllResponse> {\n return this.client.sendOperationRequest({ options }, listAllOperationSpec);\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsListOptionalParams\n ): Promise<GrantsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get details for a specific grant linked to the provided billing account and billing profile.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n options?: GrantsGetOptionalParams\n ): Promise<GrantsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n nextLink: string,\n options?: GrantsListAllNextOptionalParams\n ): Promise<GrantsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listAllNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: GrantsListNextOptionalParams\n ): Promise<GrantsListNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/grants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/grants\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/grants/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GrantListResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeAllocatedBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Labs } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n LabDetails,\n LabsListAllNextOptionalParams,\n LabsListAllOptionalParams,\n LabsListNextOptionalParams,\n LabsListOptionalParams,\n LabsListAllResponse,\n LabsListResponse,\n LabsGetOptionalParams,\n LabsGetResponse,\n LabsDeleteOptionalParams,\n LabsCreateOrUpdateOptionalParams,\n LabsCreateOrUpdateResponse,\n InviteCodeGenerateRequest,\n LabsGenerateInviteCodeOptionalParams,\n LabsGenerateInviteCodeResponse,\n LabsListAllNextResponse,\n LabsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Labs operations. */\nexport class LabsImpl implements Labs {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Labs class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of labs associated with the provided billing account name and billing profile name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n public listAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): PagedAsyncIterableIterator<LabDetails> {\n const iter = this.listAllPagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listAllPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): AsyncIterableIterator<LabDetails[]> {\n let result = await this._listAll(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): AsyncIterableIterator<LabDetails> {\n for await (const page of this.listAllPagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): PagedAsyncIterableIterator<LabDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): AsyncIterableIterator<LabDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): AsyncIterableIterator<LabDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of labs associated with the provided billing account name and billing profile name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param options The options parameters.\n */\n private _listAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: LabsListAllOptionalParams\n ): Promise<LabsListAllResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listAllOperationSpec\n );\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsListOptionalParams\n ): Promise<LabsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get the details for a specific lab associated with the provided billing account name, billing\n * profile name, and invoice section name.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsGetOptionalParams\n ): Promise<LabsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n getOperationSpec\n );\n }\n\n /**\n * Delete a specific lab associated with the provided billing account name, billing profile name, and\n * invoice section name. Note all students must be removed from the lab in order to delete the lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n delete(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: LabsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Create a new lab or update a previously created lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param parameters Request parameters that are provided to create lab resource.\n * @param options The options parameters.\n */\n createOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: LabDetails,\n options?: LabsCreateOrUpdateOptionalParams\n ): Promise<LabsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Generate invite code for a lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param parameters Request parameters that are provided to generate invite code.\n * @param options The options parameters.\n */\n generateInviteCode(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: InviteCodeGenerateRequest,\n options?: LabsGenerateInviteCodeOptionalParams\n ): Promise<LabsGenerateInviteCodeResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n },\n generateInviteCodeOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: LabsListAllNextOptionalParams\n ): Promise<LabsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listAllNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: LabsListNextOptionalParams\n ): Promise<LabsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/labs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.includeBudget,\n Parameters.includeDeleted\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n 201: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst generateInviteCodeOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/generateInviteCode\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [\n Parameters.apiVersion,\n Parameters.onlyUpdateStudentCountParameter\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.includeBudget,\n Parameters.includeDeleted\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeBudget],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { JoinRequests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n JoinRequestDetails,\n JoinRequestsListNextOptionalParams,\n JoinRequestsListOptionalParams,\n JoinRequestsListResponse,\n JoinRequestsGetOptionalParams,\n JoinRequestsGetResponse,\n JoinRequestsApproveOptionalParams,\n JoinRequestsDenyOptionalParams,\n JoinRequestsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing JoinRequests operations. */\nexport class JoinRequestsImpl implements JoinRequests {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class JoinRequests class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): PagedAsyncIterableIterator<JoinRequestDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): AsyncIterableIterator<JoinRequestDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): AsyncIterableIterator<JoinRequestDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: JoinRequestsListOptionalParams\n ): Promise<JoinRequestsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * get student join requests\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsGetOptionalParams\n ): Promise<JoinRequestsGetResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Approve student joining the redeemable lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n approve(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsApproveOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n approveOperationSpec\n );\n }\n\n /**\n * Deny student joining the redeemable lab\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param joinRequestName Join name\n * @param options The options parameters.\n */\n deny(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n joinRequestName: string,\n options?: JoinRequestsDenyOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n joinRequestName,\n options\n },\n denyOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: JoinRequestsListNextOptionalParams\n ): Promise<JoinRequestsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestList\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDenied],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst approveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}/approve\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst denyOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/joinRequests/{joinRequestName}/deny\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.joinRequestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.JoinRequestList\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDenied],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Students } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n StudentDetails,\n StudentsListNextOptionalParams,\n StudentsListOptionalParams,\n StudentsListResponse,\n StudentsGetOptionalParams,\n StudentsGetResponse,\n StudentsDeleteOptionalParams,\n StudentsCreateOrUpdateOptionalParams,\n StudentsCreateOrUpdateResponse,\n StudentsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Students operations. */\nexport class StudentsImpl implements Students {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class Students class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of details about students that are associated with the specified lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n public list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): PagedAsyncIterableIterator<StudentDetails> {\n const iter = this.listPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): AsyncIterableIterator<StudentDetails[]> {\n let result = await this._list(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): AsyncIterableIterator<StudentDetails> {\n for await (const page of this.listPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Get a list of details about students that are associated with the specified lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param options The options parameters.\n */\n private _list(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: StudentsListOptionalParams\n ): Promise<StudentsListResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listOperationSpec\n );\n }\n\n /**\n * Get the details for a specific student in the specified lab by student alias\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n options?: StudentsGetOptionalParams\n ): Promise<StudentsGetResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Delete the specified student based on the student alias.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param options The options parameters.\n */\n delete(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n options?: StudentsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n options\n },\n deleteOperationSpec\n );\n }\n\n /**\n * Create and add a new student to the specified lab or update the details of an existing student in a\n * lab. Note the student must have a valid tenant to accept the lab after they have been added to lab.\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param studentAlias Student alias.\n * @param parameters Request parameters that are provided to update student properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n studentAlias: string,\n parameters: StudentDetails,\n options?: StudentsCreateOrUpdateOptionalParams\n ): Promise<StudentsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n studentAlias,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param billingAccountName Billing account name.\n * @param billingProfileName Billing profile name.\n * @param invoiceSectionName Invoice section name.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: StudentsListNextOptionalParams\n ): Promise<StudentsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDeleted],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/students/{studentAlias}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentDetails\n },\n 201: {\n bodyMapper: Mappers.StudentDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.studentAlias\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeDeleted],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.nextLink,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { StudentLabs } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { EducationManagementClient } from \"../educationManagementClient\";\nimport {\n StudentLabDetails,\n StudentLabsListAllNextOptionalParams,\n StudentLabsListAllOptionalParams,\n StudentLabsListAllResponse,\n StudentLabsGetOptionalParams,\n StudentLabsGetResponse,\n StudentLabsListAllNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing StudentLabs operations. */\nexport class StudentLabsImpl implements StudentLabs {\n private readonly client: EducationManagementClient;\n\n /**\n * Initialize a new instance of the class StudentLabs class.\n * @param client Reference to the service client\n */\n constructor(client: EducationManagementClient) {\n this.client = client;\n }\n\n /**\n * Get a list of all labs associated with the caller of the API.\n * @param options The options parameters.\n */\n public listAll(\n options?: StudentLabsListAllOptionalParams\n ): PagedAsyncIterableIterator<StudentLabDetails> {\n const iter = this.listAllPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listAllPagingPage(options);\n }\n };\n }\n\n private async *listAllPagingPage(\n options?: StudentLabsListAllOptionalParams\n ): AsyncIterableIterator<StudentLabDetails[]> {\n let result = await this._listAll(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listAllNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listAllPagingAll(\n options?: StudentLabsListAllOptionalParams\n ): AsyncIterableIterator<StudentLabDetails> {\n for await (const page of this.listAllPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Get a list of all labs associated with the caller of the API.\n * @param options The options parameters.\n */\n private _listAll(\n options?: StudentLabsListAllOptionalParams\n ): Promise<StudentLabsListAllResponse> {\n return this.client.sendOperationRequest({ options }, listAllOperationSpec);\n }\n\n /**\n * Get the details for a specified lab associated with the student lab.\n * @param studentLabName Student lab name.\n * @param options The options parameters.\n */\n get(\n studentLabName: string,\n options?: StudentLabsGetOptionalParams\n ): Promise<StudentLabsGetResponse> {\n return this.client.sendOperationRequest(\n { studentLabName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListAllNext\n * @param nextLink The nextLink from the previous successful call to the ListAll method.\n * @param options The options parameters.\n */\n private _listAllNext(\n nextLink: string,\n options?: StudentLabsListAllNextOptionalParams\n ): Promise<StudentLabsListAllNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listAllNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listAllOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/studentLabs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/studentLabs/{studentLabName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.studentLabName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listAllNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.StudentLabListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n OperationsImpl,\n GrantsImpl,\n LabsImpl,\n JoinRequestsImpl,\n StudentsImpl,\n StudentLabsImpl\n} from \"./operations\";\nimport {\n Operations,\n Grants,\n Labs,\n JoinRequests,\n Students,\n StudentLabs\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n EducationManagementClientOptionalParams,\n RedeemRequest,\n RedeemInvitationCodeOptionalParams\n} from \"./models\";\n\nexport class EducationManagementClient extends coreClient.ServiceClient {\n $host: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the EducationManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n options?: EducationManagementClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: EducationManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-education/1.0.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri:\n options.endpoint ?? options.baseUri ?? \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n\n if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {\n const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();\n const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(\n (pipelinePolicy) =>\n pipelinePolicy.name ===\n coreRestPipeline.bearerTokenAuthenticationPolicyName\n );\n if (!bearerTokenAuthenticationPolicyFound) {\n this.pipeline.removePolicy({\n name: coreRestPipeline.bearerTokenAuthenticationPolicyName\n });\n this.pipeline.addPolicy(\n coreRestPipeline.bearerTokenAuthenticationPolicy({\n scopes: `${optionsWithDefaults.baseUri}/.default`,\n challengeCallbacks: {\n authorizeRequestOnChallenge:\n coreClient.authorizeRequestOnClaimChallenge\n }\n })\n );\n }\n }\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n this.apiVersion = options.apiVersion || \"2021-12-01-preview\";\n this.operations = new OperationsImpl(this);\n this.grants = new GrantsImpl(this);\n this.labs = new LabsImpl(this);\n this.joinRequests = new JoinRequestsImpl(this);\n this.students = new StudentsImpl(this);\n this.studentLabs = new StudentLabsImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n /**\n * Redeem invite code to join a redeemable lab\n * @param parameters Request parameters to provide redeem code.\n * @param options The options parameters.\n */\n redeemInvitationCode(\n parameters: RedeemRequest,\n options?: RedeemInvitationCodeOptionalParams\n ): Promise<void> {\n return this.sendOperationRequest(\n { parameters, options },\n redeemInvitationCodeOperationSpec\n );\n }\n\n operations: Operations;\n grants: Grants;\n labs: Labs;\n joinRequests: JoinRequests;\n students: Students;\n studentLabs: StudentLabs;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst redeemInvitationCodeOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Education/redeemInvitationCode\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponseBody\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n"],"names":["KnownOrigin","KnownActionType","KnownGrantType","KnownGrantStatus","KnownCreatedByType","KnownLabStatus","KnownJoinRequestStatus","KnownStudentRole","KnownStudentLabStatus","LabDetailsMapper","InviteCodeGenerateRequestMapper","RedeemRequestMapper","StudentDetailsMapper","listOperationSpec","serializer","coreClient","Mappers.OperationListResult","Mappers.ErrorResponseBody","Parameters.apiVersion","Parameters.$host","Parameters.accept","__await","__asyncValues","__asyncDelegator","listAllOperationSpec","getOperationSpec","listAllNextOperationSpec","listNextOperationSpec","Mappers.GrantListResponse","Parameters.includeAllocatedBudget","Parameters.billingAccountName","Parameters.billingProfileName","Mappers.GrantDetails","Parameters.nextLink","deleteOperationSpec","createOrUpdateOperationSpec","Mappers.LabListResult","Parameters.includeBudget","Parameters.includeDeleted","Parameters.invoiceSectionName","Mappers.LabDetails","Parameters.parameters","Parameters.contentType","Parameters.parameters1","Parameters.onlyUpdateStudentCountParameter","Mappers.JoinRequestList","Parameters.includeDenied","Mappers.JoinRequestDetails","Parameters.joinRequestName","Mappers.StudentListResult","Mappers.StudentDetails","Parameters.studentAlias","Parameters.parameters3","Mappers.StudentLabListResult","Mappers.StudentLabDetails","Parameters.studentLabName","coreRestPipeline","Parameters.parameters2"],"mappings":"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"}
|