@azure/arm-billing 2.2.0 → 4.0.0
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 +11 -0
- package/{LICENSE.txt → LICENSE} +2 -2
- package/README.md +75 -73
- package/dist/index.js +10450 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.min.js.map +1 -0
- package/dist-esm/src/billingManagementClient.d.ts +37 -0
- package/dist-esm/src/billingManagementClient.d.ts.map +1 -0
- package/dist-esm/src/billingManagementClient.js +70 -0
- package/dist-esm/src/billingManagementClient.js.map +1 -0
- package/dist-esm/src/index.d.ts +5 -0
- package/dist-esm/src/index.d.ts.map +1 -0
- package/dist-esm/src/index.js +12 -0
- package/dist-esm/src/index.js.map +1 -0
- package/dist-esm/src/lroImpl.d.ts +16 -0
- package/dist-esm/src/lroImpl.d.ts.map +1 -0
- package/dist-esm/src/lroImpl.js +29 -0
- package/dist-esm/src/lroImpl.js.map +1 -0
- package/dist-esm/src/models/index.d.ts +3244 -0
- package/dist-esm/src/models/index.d.ts.map +1 -0
- package/dist-esm/src/models/index.js +272 -0
- package/dist-esm/src/models/index.js.map +1 -0
- package/dist-esm/src/models/mappers.d.ts +86 -0
- package/dist-esm/src/models/mappers.d.ts.map +1 -0
- package/dist-esm/src/models/mappers.js +3514 -0
- package/dist-esm/src/models/mappers.js.map +1 -0
- package/dist-esm/src/models/parameters.d.ts +45 -0
- package/dist-esm/src/models/parameters.d.ts.map +1 -0
- package/dist-esm/src/models/parameters.js +374 -0
- package/dist-esm/src/models/parameters.js.map +1 -0
- package/dist-esm/src/operations/address.d.ts +20 -0
- package/dist-esm/src/operations/address.d.ts.map +1 -0
- package/dist-esm/src/operations/address.js +50 -0
- package/dist-esm/src/operations/address.js.map +1 -0
- package/dist-esm/src/operations/agreements.d.ts +42 -0
- package/dist-esm/src/operations/agreements.d.ts.map +1 -0
- package/dist-esm/src/operations/agreements.js +156 -0
- package/dist-esm/src/operations/agreements.js.map +1 -0
- package/dist-esm/src/operations/availableBalances.d.ts +22 -0
- package/dist-esm/src/operations/availableBalances.d.ts.map +1 -0
- package/dist-esm/src/operations/availableBalances.js +54 -0
- package/dist-esm/src/operations/availableBalances.js.map +1 -0
- package/dist-esm/src/operations/billingAccounts.d.ts +79 -0
- package/dist-esm/src/operations/billingAccounts.d.ts.map +1 -0
- package/dist-esm/src/operations/billingAccounts.js +330 -0
- package/dist-esm/src/operations/billingAccounts.js.map +1 -0
- package/dist-esm/src/operations/billingPeriods.d.ts +44 -0
- package/dist-esm/src/operations/billingPeriods.d.ts.map +1 -0
- package/dist-esm/src/operations/billingPeriods.js +168 -0
- package/dist-esm/src/operations/billingPeriods.js.map +1 -0
- package/dist-esm/src/operations/billingPermissions.d.ts +110 -0
- package/dist-esm/src/operations/billingPermissions.d.ts.map +1 -0
- package/dist-esm/src/operations/billingPermissions.js +468 -0
- package/dist-esm/src/operations/billingPermissions.js.map +1 -0
- package/dist-esm/src/operations/billingProfiles.d.ts +64 -0
- package/dist-esm/src/operations/billingProfiles.d.ts.map +1 -0
- package/dist-esm/src/operations/billingProfiles.js +245 -0
- package/dist-esm/src/operations/billingProfiles.js.map +1 -0
- package/dist-esm/src/operations/billingPropertyOperations.d.ts +26 -0
- package/dist-esm/src/operations/billingPropertyOperations.d.ts.map +1 -0
- package/dist-esm/src/operations/billingPropertyOperations.js +74 -0
- package/dist-esm/src/operations/billingPropertyOperations.js.map +1 -0
- package/dist-esm/src/operations/billingRoleAssignments.d.ts +146 -0
- package/dist-esm/src/operations/billingRoleAssignments.d.ts.map +1 -0
- package/dist-esm/src/operations/billingRoleAssignments.js +578 -0
- package/dist-esm/src/operations/billingRoleAssignments.js.map +1 -0
- package/dist-esm/src/operations/billingRoleDefinitions.d.ts +119 -0
- package/dist-esm/src/operations/billingRoleDefinitions.d.ts.map +1 -0
- package/dist-esm/src/operations/billingRoleDefinitions.js +471 -0
- package/dist-esm/src/operations/billingRoleDefinitions.js.map +1 -0
- package/dist-esm/src/operations/billingSubscriptions.d.ts +160 -0
- package/dist-esm/src/operations/billingSubscriptions.d.ts.map +1 -0
- package/dist-esm/src/operations/billingSubscriptions.js +655 -0
- package/dist-esm/src/operations/billingSubscriptions.js.map +1 -0
- package/dist-esm/src/operations/customers.d.ts +71 -0
- package/dist-esm/src/operations/customers.d.ts.map +1 -0
- package/dist-esm/src/operations/customers.js +287 -0
- package/dist-esm/src/operations/customers.js.map +1 -0
- package/dist-esm/src/operations/enrollmentAccounts.d.ts +38 -0
- package/dist-esm/src/operations/enrollmentAccounts.d.ts.map +1 -0
- package/dist-esm/src/operations/enrollmentAccounts.js +144 -0
- package/dist-esm/src/operations/enrollmentAccounts.js.map +1 -0
- package/dist-esm/src/operations/index.d.ts +22 -0
- package/dist-esm/src/operations/index.d.ts.map +1 -0
- package/dist-esm/src/operations/index.js +29 -0
- package/dist-esm/src/operations/index.js.map +1 -0
- package/dist-esm/src/operations/instructions.d.ts +57 -0
- package/dist-esm/src/operations/instructions.d.ts.map +1 -0
- package/dist-esm/src/operations/instructions.js +208 -0
- package/dist-esm/src/operations/instructions.js.map +1 -0
- package/dist-esm/src/operations/invoiceSections.d.ts +70 -0
- package/dist-esm/src/operations/invoiceSections.d.ts.map +1 -0
- package/dist-esm/src/operations/invoiceSections.js +264 -0
- package/dist-esm/src/operations/invoiceSections.js.map +1 -0
- package/dist-esm/src/operations/invoices.d.ts +202 -0
- package/dist-esm/src/operations/invoices.d.ts.map +1 -0
- package/dist-esm/src/operations/invoices.js +817 -0
- package/dist-esm/src/operations/invoices.js.map +1 -0
- package/dist-esm/src/operations/operations.d.ts +32 -0
- package/dist-esm/src/operations/operations.d.ts.map +1 -0
- package/dist-esm/src/operations/operations.js +120 -0
- package/dist-esm/src/operations/operations.js.map +1 -0
- package/dist-esm/src/operations/policies.d.ts +47 -0
- package/dist-esm/src/operations/policies.d.ts.map +1 -0
- package/dist-esm/src/operations/policies.js +149 -0
- package/dist-esm/src/operations/policies.js.map +1 -0
- package/dist-esm/src/operations/products.d.ts +160 -0
- package/dist-esm/src/operations/products.d.ts.map +1 -0
- package/dist-esm/src/operations/products.js +615 -0
- package/dist-esm/src/operations/products.js.map +1 -0
- package/dist-esm/src/operations/reservations.d.ts +63 -0
- package/dist-esm/src/operations/reservations.d.ts.map +1 -0
- package/dist-esm/src/operations/reservations.js +265 -0
- package/dist-esm/src/operations/reservations.js.map +1 -0
- package/dist-esm/src/operations/transactions.d.ts +40 -0
- package/dist-esm/src/operations/transactions.d.ts.map +1 -0
- package/dist-esm/src/operations/transactions.js +137 -0
- package/dist-esm/src/operations/transactions.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/address.d.ts +12 -0
- package/dist-esm/src/operationsInterfaces/address.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/address.js +9 -0
- package/dist-esm/src/operationsInterfaces/address.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/agreements.d.ts +19 -0
- package/dist-esm/src/operationsInterfaces/agreements.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/agreements.js +9 -0
- package/dist-esm/src/operationsInterfaces/agreements.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/availableBalances.d.ts +14 -0
- package/dist-esm/src/operationsInterfaces/availableBalances.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/availableBalances.js +9 -0
- package/dist-esm/src/operationsInterfaces/availableBalances.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingAccounts.d.ts +41 -0
- package/dist-esm/src/operationsInterfaces/billingAccounts.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingAccounts.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingAccounts.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPeriods.d.ts +21 -0
- package/dist-esm/src/operationsInterfaces/billingPeriods.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPeriods.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingPeriods.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPermissions.d.ts +34 -0
- package/dist-esm/src/operationsInterfaces/billingPermissions.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPermissions.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingPermissions.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingProfiles.d.ts +40 -0
- package/dist-esm/src/operationsInterfaces/billingProfiles.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingProfiles.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingProfiles.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPropertyOperations.d.ts +18 -0
- package/dist-esm/src/operationsInterfaces/billingPropertyOperations.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingPropertyOperations.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingPropertyOperations.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingRoleAssignments.d.ts +84 -0
- package/dist-esm/src/operationsInterfaces/billingRoleAssignments.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingRoleAssignments.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingRoleAssignments.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingRoleDefinitions.d.ts +57 -0
- package/dist-esm/src/operationsInterfaces/billingRoleDefinitions.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingRoleDefinitions.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingRoleDefinitions.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingSubscriptions.d.ts +80 -0
- package/dist-esm/src/operationsInterfaces/billingSubscriptions.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/billingSubscriptions.js +9 -0
- package/dist-esm/src/operationsInterfaces/billingSubscriptions.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/customers.d.ts +29 -0
- package/dist-esm/src/operationsInterfaces/customers.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/customers.js +9 -0
- package/dist-esm/src/operationsInterfaces/customers.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/enrollmentAccounts.d.ts +17 -0
- package/dist-esm/src/operationsInterfaces/enrollmentAccounts.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/enrollmentAccounts.js +9 -0
- package/dist-esm/src/operationsInterfaces/enrollmentAccounts.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts +22 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/index.js +29 -0
- package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/instructions.d.ts +32 -0
- package/dist-esm/src/operationsInterfaces/instructions.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/instructions.js +9 -0
- package/dist-esm/src/operationsInterfaces/instructions.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/invoiceSections.d.ts +44 -0
- package/dist-esm/src/operationsInterfaces/invoiceSections.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/invoiceSections.js +9 -0
- package/dist-esm/src/operationsInterfaces/invoiceSections.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/invoices.d.ts +124 -0
- package/dist-esm/src/operationsInterfaces/invoices.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/invoices.js +9 -0
- package/dist-esm/src/operationsInterfaces/invoices.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
- package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/operations.js +9 -0
- package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/policies.d.ts +39 -0
- package/dist-esm/src/operationsInterfaces/policies.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/policies.js +9 -0
- package/dist-esm/src/operationsInterfaces/policies.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/products.d.ts +78 -0
- package/dist-esm/src/operationsInterfaces/products.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/products.js +9 -0
- package/dist-esm/src/operationsInterfaces/products.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/reservations.d.ts +21 -0
- package/dist-esm/src/operationsInterfaces/reservations.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/reservations.js +9 -0
- package/dist-esm/src/operationsInterfaces/reservations.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/transactions.d.ts +14 -0
- package/dist-esm/src/operationsInterfaces/transactions.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/transactions.js +9 -0
- package/dist-esm/src/operationsInterfaces/transactions.js.map +1 -0
- package/dist-esm/test/sampleTest.d.ts +2 -0
- package/dist-esm/test/sampleTest.d.ts.map +1 -0
- package/dist-esm/test/sampleTest.js +40 -0
- package/dist-esm/test/sampleTest.js.map +1 -0
- package/package.json +70 -34
- package/review/arm-billing.api.md +2361 -0
- package/rollup.config.js +184 -27
- package/src/billingManagementClient.ts +157 -0
- package/src/index.ts +12 -0
- package/src/lroImpl.ts +34 -0
- package/src/models/index.ts +3657 -0
- package/src/models/mappers.ts +3839 -0
- package/src/models/parameters.ts +435 -0
- package/src/operations/address.ts +68 -0
- package/src/operations/agreements.ts +203 -0
- package/src/operations/availableBalances.ts +73 -0
- package/src/operations/billingAccounts.ts +433 -0
- package/src/operations/billingPeriods.ts +196 -0
- package/src/operations/billingPermissions.ts +643 -0
- package/src/operations/billingProfiles.ts +334 -0
- package/src/operations/billingPropertyOperations.ts +100 -0
- package/src/operations/billingRoleAssignments.ts +782 -0
- package/src/operations/billingRoleDefinitions.ts +639 -0
- package/src/operations/billingSubscriptions.ts +902 -0
- package/src/operations/customers.ts +377 -0
- package/src/operations/enrollmentAccounts.ts +170 -0
- package/src/operations/index.ts +29 -0
- package/src/operations/instructions.ts +285 -0
- package/src/operations/invoiceSections.ts +373 -0
- package/src/operations/invoices.ts +1176 -0
- package/src/operations/operations.ts +137 -0
- package/src/operations/policies.ts +205 -0
- package/src/operations/products.ts +838 -0
- package/src/operations/reservations.ts +344 -0
- package/src/operations/transactions.ts +189 -0
- package/src/operationsInterfaces/address.ts +27 -0
- package/src/operationsInterfaces/agreements.ts +40 -0
- package/src/operationsInterfaces/availableBalances.ts +29 -0
- package/src/operationsInterfaces/billingAccounts.ts +81 -0
- package/src/operationsInterfaces/billingPeriods.ts +40 -0
- package/src/operationsInterfaces/billingPermissions.ts +65 -0
- package/src/operationsInterfaces/billingProfiles.ts +78 -0
- package/src/operationsInterfaces/billingPropertyOperations.ts +37 -0
- package/src/operationsInterfaces/billingRoleAssignments.ts +152 -0
- package/src/operationsInterfaces/billingRoleDefinitions.ts +104 -0
- package/src/operationsInterfaces/billingSubscriptions.ts +144 -0
- package/src/operationsInterfaces/customers.ts +55 -0
- package/src/operationsInterfaces/enrollmentAccounts.ts +36 -0
- package/src/operationsInterfaces/index.ts +29 -0
- package/src/operationsInterfaces/instructions.ts +63 -0
- package/src/operationsInterfaces/invoiceSections.ts +86 -0
- package/src/operationsInterfaces/invoices.ts +233 -0
- package/src/operationsInterfaces/operations.ts +22 -0
- package/src/operationsInterfaces/policies.ts +76 -0
- package/src/operationsInterfaces/products.ts +137 -0
- package/src/operationsInterfaces/reservations.ts +41 -0
- package/src/operationsInterfaces/transactions.ts +30 -0
- package/tsconfig.json +4 -4
- package/types/arm-billing.d.ts +4451 -0
- package/types/tsdoc-metadata.json +11 -0
- package/dist/arm-billing.js +0 -1188
- package/dist/arm-billing.js.map +0 -1
- package/dist/arm-billing.min.js +0 -1
- package/dist/arm-billing.min.js.map +0 -1
- package/esm/billingManagementClient.d.ts +0 -21
- package/esm/billingManagementClient.d.ts.map +0 -1
- package/esm/billingManagementClient.js +0 -36
- package/esm/billingManagementClient.js.map +0 -1
- package/esm/billingManagementClientContext.d.ts +0 -16
- package/esm/billingManagementClientContext.d.ts.map +0 -1
- package/esm/billingManagementClientContext.js +0 -56
- package/esm/billingManagementClientContext.js.map +0 -1
- package/esm/models/billingPeriodsMappers.d.ts +0 -2
- package/esm/models/billingPeriodsMappers.d.ts.map +0 -1
- package/esm/models/billingPeriodsMappers.js +0 -11
- package/esm/models/billingPeriodsMappers.js.map +0 -1
- package/esm/models/enrollmentAccountsMappers.d.ts +0 -2
- package/esm/models/enrollmentAccountsMappers.d.ts.map +0 -1
- package/esm/models/enrollmentAccountsMappers.js +0 -11
- package/esm/models/enrollmentAccountsMappers.js.map +0 -1
- package/esm/models/index.d.ts +0 -573
- package/esm/models/index.d.ts.map +0 -1
- package/esm/models/index.js +0 -10
- package/esm/models/index.js.map +0 -1
- package/esm/models/invoicesMappers.d.ts +0 -2
- package/esm/models/invoicesMappers.d.ts.map +0 -1
- package/esm/models/invoicesMappers.js +0 -11
- package/esm/models/invoicesMappers.js.map +0 -1
- package/esm/models/mappers.d.ts +0 -17
- package/esm/models/mappers.d.ts.map +0 -1
- package/esm/models/mappers.js +0 -364
- package/esm/models/mappers.js.map +0 -1
- package/esm/models/operationsMappers.d.ts +0 -2
- package/esm/models/operationsMappers.d.ts.map +0 -1
- package/esm/models/operationsMappers.js +0 -11
- package/esm/models/operationsMappers.js.map +0 -1
- package/esm/models/parameters.d.ts +0 -13
- package/esm/models/parameters.d.ts.map +0 -1
- package/esm/models/parameters.js +0 -133
- package/esm/models/parameters.js.map +0 -1
- package/esm/operations/billingPeriods.d.ts +0 -70
- package/esm/operations/billingPeriods.d.ts.map +0 -1
- package/esm/operations/billingPeriods.js +0 -112
- package/esm/operations/billingPeriods.js.map +0 -1
- package/esm/operations/enrollmentAccounts.d.ts +0 -64
- package/esm/operations/enrollmentAccounts.d.ts.map +0 -1
- package/esm/operations/enrollmentAccounts.js +0 -105
- package/esm/operations/enrollmentAccounts.js.map +0 -1
- package/esm/operations/index.d.ts +0 -5
- package/esm/operations/index.d.ts.map +0 -1
- package/esm/operations/index.js +0 -14
- package/esm/operations/index.js.map +0 -1
- package/esm/operations/invoices.d.ts +0 -93
- package/esm/operations/invoices.d.ts.map +0 -1
- package/esm/operations/invoices.js +0 -140
- package/esm/operations/invoices.js.map +0 -1
- package/esm/operations/operations.d.ts +0 -46
- package/esm/operations/operations.d.ts.map +0 -1
- package/esm/operations/operations.js +0 -77
- package/esm/operations/operations.js.map +0 -1
- package/lib/billingManagementClient.ts +0 -48
- package/lib/billingManagementClientContext.ts +0 -62
- package/lib/models/billingPeriodsMappers.ts +0 -22
- package/lib/models/enrollmentAccountsMappers.ts +0 -22
- package/lib/models/index.ts +0 -613
- package/lib/models/invoicesMappers.ts +0 -22
- package/lib/models/mappers.ts +0 -392
- package/lib/models/operationsMappers.ts +0 -18
- package/lib/models/parameters.ts +0 -135
- package/lib/operations/billingPeriods.ts +0 -187
- package/lib/operations/enrollmentAccounts.ts +0 -174
- package/lib/operations/index.ts +0 -14
- package/lib/operations/invoices.ts +0 -243
- package/lib/operations/operations.ts +0 -123
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var coreClient=require("@azure/core-client"),tslib=require("tslib"),coreLro=require("@azure/core-lro");!function(e){e.MicrosoftCustomerAgreement="MicrosoftCustomerAgreement",e.EnterpriseAgreement="EnterpriseAgreement",e.MicrosoftOnlineServicesProgram="MicrosoftOnlineServicesProgram",e.MicrosoftPartnerAgreement="MicrosoftPartnerAgreement"}(exports.KnownAgreementType||(exports.KnownAgreementType={})),function(e){e.Enterprise="Enterprise",e.Individual="Individual",e.Partner="Partner"}(exports.KnownAccountType||(exports.KnownAccountType={})),function(e){e.Active="Active",e.Deleted="Deleted",e.Disabled="Disabled",e.Expired="Expired",e.Transferred="Transferred",e.Extended="Extended",e.Terminated="Terminated"}(exports.KnownAccountStatus||(exports.KnownAccountStatus={})),function(e){e.Direct="Direct",e.IndirectCustomer="IndirectCustomer",e.IndirectPartner="IndirectPartner",e.CSPPartner="CSPPartner"}(exports.KnownBillingRelationshipType||(exports.KnownBillingRelationshipType={})),function(e){e.Active="Active",e.Restricted="Restricted"}(exports.KnownInvoiceSectionState||(exports.KnownInvoiceSectionState={})),function(e){e.USGov="USGov",e.USNat="USNat",e.USSec="USSec"}(exports.KnownTargetCloud||(exports.KnownTargetCloud={})),function(e){e.Active="Active",e.Disabled="Disabled",e.Warned="Warned"}(exports.KnownBillingProfileStatus||(exports.KnownBillingProfileStatus={})),function(e){e.PastDue="PastDue",e.SpendingLimitReached="SpendingLimitReached",e.SpendingLimitExpired="SpendingLimitExpired"}(exports.KnownStatusReasonCode||(exports.KnownStatusReasonCode={})),function(e){e.Off="Off",e.On="On"}(exports.KnownSpendingLimit||(exports.KnownSpendingLimit={})),function(e){e.PastDue="PastDue",e.SpendingLimitReached="SpendingLimitReached",e.SpendingLimitExpired="SpendingLimitExpired"}(exports.KnownStatusReasonCodeForBillingProfile||(exports.KnownStatusReasonCodeForBillingProfile={})),function(e){e.Off="Off",e.On="On"}(exports.KnownSpendingLimitForBillingProfile||(exports.KnownSpendingLimitForBillingProfile={})),function(e){e.Valid="Valid",e.Invalid="Invalid"}(exports.KnownAddressValidationStatus||(exports.KnownAddressValidationStatus={})),function(e){e.Active="Active",e.Inactive="Inactive",e.Abandoned="Abandoned",e.Deleted="Deleted",e.Warning="Warning"}(exports.KnownBillingSubscriptionStatusType||(exports.KnownBillingSubscriptionStatusType={})),function(e){e.Off="Off",e.On="On"}(exports.KnownAutoRenew||(exports.KnownAutoRenew={})),function(e){e.Active="Active",e.Inactive="Inactive",e.PastDue="PastDue",e.Expiring="Expiring",e.Expired="Expired",e.Disabled="Disabled",e.Cancelled="Cancelled",e.AutoRenew="AutoRenew"}(exports.KnownProductStatusType||(exports.KnownProductStatusType={})),function(e){e.OneTime="OneTime",e.Monthly="Monthly",e.UsageBased="UsageBased"}(exports.KnownBillingFrequency||(exports.KnownBillingFrequency={})),function(e){e.Due="Due",e.OverDue="OverDue",e.Paid="Paid",e.Void="Void"}(exports.KnownInvoiceStatus||(exports.KnownInvoiceStatus={})),function(e){e.AzureService="AzureService",e.AzureMarketplace="AzureMarketplace",e.AzureSupport="AzureSupport"}(exports.KnownInvoiceType||(exports.KnownInvoiceType={})),function(e){e.Invoice="Invoice",e.VoidNote="VoidNote",e.TaxReceipt="TaxReceipt",e.CreditNote="CreditNote"}(exports.KnownDocumentType||(exports.KnownDocumentType={})),function(e){e.DRS="DRS",e.ENF="ENF"}(exports.KnownDocumentSource||(exports.KnownDocumentSource={})),function(e){e.Credits="Credits",e.CheckWire="CheckWire",e.CreditCard="CreditCard",e.None="None"}(exports.KnownPaymentMethodFamily||(exports.KnownPaymentMethodFamily={})),function(e){e.Invoice="Invoice",e.CreditNote="CreditNote"}(exports.KnownInvoiceDocumentType||(exports.KnownInvoiceDocumentType={})),function(e){e.BillingAccountInactive="BillingAccountInactive",e.CrossBillingAccountNotAllowed="CrossBillingAccountNotAllowed",e.DestinationBillingProfileInactive="DestinationBillingProfileInactive",e.DestinationBillingProfileNotFound="DestinationBillingProfileNotFound",e.DestinationBillingProfilePastDue="DestinationBillingProfilePastDue",e.DestinationInvoiceSectionInactive="DestinationInvoiceSectionInactive",e.DestinationInvoiceSectionNotFound="DestinationInvoiceSectionNotFound",e.InsufficientPermissionOnDestination="InsufficientPermissionOnDestination",e.InsufficientPermissionOnSource="InsufficientPermissionOnSource",e.InvalidDestination="InvalidDestination",e.InvalidSource="InvalidSource",e.MarketplaceNotEnabledOnDestination="MarketplaceNotEnabledOnDestination",e.NotAvailableForDestinationMarket="NotAvailableForDestinationMarket",e.ProductInactive="ProductInactive",e.ProductNotFound="ProductNotFound",e.ProductTypeNotSupported="ProductTypeNotSupported",e.SourceBillingProfilePastDue="SourceBillingProfilePastDue",e.SourceInvoiceSectionInactive="SourceInvoiceSectionInactive",e.SubscriptionNotActive="SubscriptionNotActive",e.SubscriptionTypeNotSupported="SubscriptionTypeNotSupported"}(exports.KnownSubscriptionTransferValidationErrorCode||(exports.KnownSubscriptionTransferValidationErrorCode={})),function(e){e.InvalidSource="InvalidSource",e.ProductNotActive="ProductNotActive",e.InsufficientPermissionOnSource="InsufficientPermissionOnSource",e.InsufficientPermissionOnDestination="InsufficientPermissionOnDestination",e.DestinationBillingProfilePastDue="DestinationBillingProfilePastDue",e.ProductTypeNotSupported="ProductTypeNotSupported",e.CrossBillingAccountNotAllowed="CrossBillingAccountNotAllowed",e.NotAvailableForDestinationMarket="NotAvailableForDestinationMarket",e.OneTimePurchaseProductTransferNotAllowed="OneTimePurchaseProductTransferNotAllowed"}(exports.KnownProductTransferValidationErrorCode||(exports.KnownProductTransferValidationErrorCode={})),function(e){e.All="all",e.Reservation="reservation"}(exports.KnownTransactionTypeKind||(exports.KnownTransactionTypeKind={})),function(e){e.Purchase="Purchase",e.UsageCharge="Usage Charge"}(exports.KnownReservationType||(exports.KnownReservationType={})),function(e){e.AllAllowed="AllAllowed",e.OnlyFreeAllowed="OnlyFreeAllowed",e.NotAllowed="NotAllowed"}(exports.KnownMarketplacePurchasesPolicy||(exports.KnownMarketplacePurchasesPolicy={})),function(e){e.Allowed="Allowed",e.NotAllowed="NotAllowed"}(exports.KnownReservationPurchasesPolicy||(exports.KnownReservationPurchasesPolicy={})),function(e){e.Allowed="Allowed",e.NotAllowed="NotAllowed"}(exports.KnownViewChargesPolicy||(exports.KnownViewChargesPolicy={})),function(e){e.Allowed="Allowed",e.NotAllowed="NotAllowed"}(exports.KnownViewCharges||(exports.KnownViewCharges={})),function(e){e.PastDue="PastDue",e.SpendingLimitReached="SpendingLimitReached",e.SpendingLimitExpired="SpendingLimitExpired"}(exports.KnownBillingProfileStatusReasonCode||(exports.KnownBillingProfileStatusReasonCode={})),function(e){e.Off="Off",e.On="On"}(exports.KnownBillingProfileSpendingLimit||(exports.KnownBillingProfileSpendingLimit={})),function(e){e.MicrosoftCustomerAgreement="MicrosoftCustomerAgreement",e.AffiliatePurchaseTerms="AffiliatePurchaseTerms",e.Other="Other"}(exports.KnownCategory||(exports.KnownCategory={})),function(e){e.ClickToAccept="ClickToAccept",e.ESignEmbedded="ESignEmbedded",e.ESignOffline="ESignOffline"}(exports.KnownAcceptanceMode||(exports.KnownAcceptanceMode={}));const BillingAccountListResult={type:{name:"Composite",className:"BillingAccountListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingAccount"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},AddressDetails={type:{name:"Composite",className:"AddressDetails",modelProperties:{firstName:{serializedName:"firstName",type:{name:"String"}},middleName:{serializedName:"middleName",type:{name:"String"}},lastName:{serializedName:"lastName",type:{name:"String"}},companyName:{serializedName:"companyName",type:{name:"String"}},addressLine1:{serializedName:"addressLine1",required:!0,type:{name:"String"}},addressLine2:{serializedName:"addressLine2",type:{name:"String"}},addressLine3:{serializedName:"addressLine3",type:{name:"String"}},city:{serializedName:"city",type:{name:"String"}},district:{serializedName:"district",type:{name:"String"}},region:{serializedName:"region",type:{name:"String"}},country:{serializedName:"country",required:!0,type:{name:"String"}},postalCode:{serializedName:"postalCode",type:{name:"String"}},email:{serializedName:"email",type:{name:"String"}},phoneNumber:{serializedName:"phoneNumber",type:{name:"String"}}}}},BillingProfilesOnExpand={type:{name:"Composite",className:"BillingProfilesOnExpand",modelProperties:{hasMoreResults:{serializedName:"hasMoreResults",readOnly:!0,type:{name:"Boolean"}},value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingProfile"}}}}}}},IndirectRelationshipInfo={type:{name:"Composite",className:"IndirectRelationshipInfo",modelProperties:{billingAccountName:{serializedName:"billingAccountName",type:{name:"String"}},billingProfileName:{serializedName:"billingProfileName",type:{name:"String"}},displayName:{serializedName:"displayName",type:{name:"String"}}}}},AzurePlan={type:{name:"Composite",className:"AzurePlan",modelProperties:{skuId:{serializedName:"skuId",type:{name:"String"}},skuDescription:{serializedName:"skuDescription",readOnly:!0,type:{name:"String"}}}}},InvoiceSectionsOnExpand={type:{name:"Composite",className:"InvoiceSectionsOnExpand",modelProperties:{hasMoreResults:{serializedName:"hasMoreResults",readOnly:!0,type:{name:"Boolean"}},value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"InvoiceSection"}}}}}}},Resource={type:{name:"Composite",className:"Resource",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}}}}},Enrollment={type:{name:"Composite",className:"Enrollment",modelProperties:{startDate:{serializedName:"startDate",type:{name:"DateTime"}},endDate:{serializedName:"endDate",type:{name:"DateTime"}},currency:{serializedName:"currency",readOnly:!0,type:{name:"String"}},channel:{serializedName:"channel",readOnly:!0,type:{name:"String"}},policies:{serializedName:"policies",type:{name:"Composite",className:"EnrollmentPolicies"}},language:{serializedName:"language",readOnly:!0,type:{name:"String"}},countryCode:{serializedName:"countryCode",readOnly:!0,type:{name:"String"}},status:{serializedName:"status",readOnly:!0,type:{name:"String"}},billingCycle:{serializedName:"billingCycle",readOnly:!0,type:{name:"String"}}}}},EnrollmentPolicies={type:{name:"Composite",className:"EnrollmentPolicies",modelProperties:{accountOwnerViewCharges:{serializedName:"accountOwnerViewCharges",readOnly:!0,type:{name:"Boolean"}},departmentAdminViewCharges:{serializedName:"departmentAdminViewCharges",readOnly:!0,type:{name:"Boolean"}},marketplaceEnabled:{serializedName:"marketplaceEnabled",readOnly:!0,type:{name:"Boolean"}},reservedInstancesEnabled:{serializedName:"reservedInstancesEnabled",readOnly:!0,type:{name:"Boolean"}}}}},ErrorResponse={type:{name:"Composite",className:"ErrorResponse",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"ErrorDetails"}}}}},ErrorDetails={type:{name:"Composite",className:"ErrorDetails",modelProperties:{code:{serializedName:"code",readOnly:!0,type:{name:"String"}},message:{serializedName:"message",readOnly:!0,type:{name:"String"}},target:{serializedName:"target",readOnly:!0,type:{name:"String"}},details:{serializedName:"details",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"ErrorSubDetailsItem"}}}}}}},ErrorSubDetailsItem={type:{name:"Composite",className:"ErrorSubDetailsItem",modelProperties:{code:{serializedName:"code",readOnly:!0,type:{name:"String"}},message:{serializedName:"message",readOnly:!0,type:{name:"String"}},target:{serializedName:"target",readOnly:!0,type:{name:"String"}}}}},BillingAccountUpdateRequest={type:{name:"Composite",className:"BillingAccountUpdateRequest",modelProperties:{displayName:{serializedName:"properties.displayName",type:{name:"String"}},soldTo:{serializedName:"properties.soldTo",type:{name:"Composite",className:"AddressDetails"}},agreementType:{serializedName:"properties.agreementType",readOnly:!0,type:{name:"String"}},accountType:{serializedName:"properties.accountType",readOnly:!0,type:{name:"String"}},accountStatus:{serializedName:"properties.accountStatus",readOnly:!0,type:{name:"String"}},billingProfiles:{serializedName:"properties.billingProfiles",type:{name:"Composite",className:"BillingProfilesOnExpand"}},enrollmentDetails:{serializedName:"properties.enrollmentDetails",type:{name:"Composite",className:"Enrollment"}},departments:{serializedName:"properties.departments",type:{name:"Sequence",element:{type:{name:"Composite",className:"Department"}}}},enrollmentAccounts:{serializedName:"properties.enrollmentAccounts",type:{name:"Sequence",element:{type:{name:"Composite",className:"EnrollmentAccount"}}}},hasReadAccess:{serializedName:"properties.hasReadAccess",readOnly:!0,type:{name:"Boolean"}},notificationEmailAddress:{serializedName:"properties.notificationEmailAddress",type:{name:"String"}}}}},InvoiceSectionListWithCreateSubPermissionResult={type:{name:"Composite",className:"InvoiceSectionListWithCreateSubPermissionResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"InvoiceSectionWithCreateSubPermission"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},InvoiceSectionWithCreateSubPermission={type:{name:"Composite",className:"InvoiceSectionWithCreateSubPermission",modelProperties:{invoiceSectionId:{serializedName:"invoiceSectionId",readOnly:!0,type:{name:"String"}},invoiceSectionDisplayName:{serializedName:"invoiceSectionDisplayName",readOnly:!0,type:{name:"String"}},invoiceSectionSystemId:{serializedName:"invoiceSectionSystemId",readOnly:!0,type:{name:"String"}},billingProfileId:{serializedName:"billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"billingProfileDisplayName",readOnly:!0,type:{name:"String"}},billingProfileStatus:{serializedName:"billingProfileStatus",readOnly:!0,type:{name:"String"}},billingProfileStatusReasonCode:{serializedName:"billingProfileStatusReasonCode",readOnly:!0,type:{name:"String"}},billingProfileSpendingLimit:{serializedName:"billingProfileSpendingLimit",readOnly:!0,type:{name:"String"}},billingProfileSystemId:{serializedName:"billingProfileSystemId",readOnly:!0,type:{name:"String"}},enabledAzurePlans:{serializedName:"enabledAzurePlans",type:{name:"Sequence",element:{type:{name:"Composite",className:"AzurePlan"}}}}}}},ValidateAddressResponse={type:{name:"Composite",className:"ValidateAddressResponse",modelProperties:{status:{serializedName:"status",type:{name:"String"}},suggestedAddresses:{serializedName:"suggestedAddresses",type:{name:"Sequence",element:{type:{name:"Composite",className:"AddressDetails"}}}},validationMessage:{serializedName:"validationMessage",type:{name:"String"}}}}},Amount={type:{name:"Composite",className:"Amount",modelProperties:{currency:{serializedName:"currency",readOnly:!0,type:{name:"String"}},value:{serializedName:"value",type:{name:"Number"}}}}},InstructionListResult={type:{name:"Composite",className:"InstructionListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Instruction"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingProfileListResult={type:{name:"Composite",className:"BillingProfileListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingProfile"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},CustomerListResult={type:{name:"Composite",className:"CustomerListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Customer"}}}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Reseller={type:{name:"Composite",className:"Reseller",modelProperties:{resellerId:{serializedName:"resellerId",readOnly:!0,type:{name:"String"}},description:{serializedName:"description",readOnly:!0,type:{name:"String"}}}}},InvoiceSectionListResult={type:{name:"Composite",className:"InvoiceSectionListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"InvoiceSection"}}}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingPermissionsListResult={type:{name:"Composite",className:"BillingPermissionsListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingPermissionsProperties"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingPermissionsProperties={type:{name:"Composite",className:"BillingPermissionsProperties",modelProperties:{actions:{serializedName:"actions",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},notActions:{serializedName:"notActions",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},BillingSubscriptionsListResult={type:{name:"Composite",className:"BillingSubscriptionsListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingSubscription"}}}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},ProductsListResult={type:{name:"Composite",className:"ProductsListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Product"}}}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},InvoiceListResult={type:{name:"Composite",className:"InvoiceListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Invoice"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}}}}},Document={type:{name:"Composite",className:"Document",modelProperties:{kind:{serializedName:"kind",readOnly:!0,type:{name:"String"}},url:{serializedName:"url",readOnly:!0,type:{name:"String"}},source:{serializedName:"source",readOnly:!0,type:{name:"String"}}}}},PaymentProperties={type:{name:"Composite",className:"PaymentProperties",modelProperties:{paymentType:{serializedName:"paymentType",readOnly:!0,type:{name:"String"}},amount:{serializedName:"amount",type:{name:"Composite",className:"Amount"}},date:{serializedName:"date",readOnly:!0,type:{name:"DateTime"}},paymentMethodFamily:{serializedName:"paymentMethodFamily",type:{name:"String"}},paymentMethodType:{serializedName:"paymentMethodType",readOnly:!0,type:{name:"String"}}}}},RebillDetails={type:{name:"Composite",className:"RebillDetails",modelProperties:{creditNoteDocumentId:{serializedName:"creditNoteDocumentId",readOnly:!0,type:{name:"String"}},invoiceDocumentId:{serializedName:"invoiceDocumentId",readOnly:!0,type:{name:"String"}},rebillDetails:{serializedName:"rebillDetails",readOnly:!0,type:{name:"Dictionary",value:{type:{name:"Composite",className:"RebillDetails"}}}}}}},DownloadUrl={type:{name:"Composite",className:"DownloadUrl",modelProperties:{expiryTime:{serializedName:"expiryTime",readOnly:!0,type:{name:"DateTime"}},url:{serializedName:"url",readOnly:!0,type:{name:"String"}}}}},TransferBillingSubscriptionRequestProperties={type:{name:"Composite",className:"TransferBillingSubscriptionRequestProperties",modelProperties:{destinationInvoiceSectionId:{serializedName:"destinationInvoiceSectionId",required:!0,type:{name:"String"}}}}},ValidateSubscriptionTransferEligibilityResult={type:{name:"Composite",className:"ValidateSubscriptionTransferEligibilityResult",modelProperties:{isMoveEligible:{serializedName:"isMoveEligible",readOnly:!0,type:{name:"Boolean"}},errorDetails:{serializedName:"errorDetails",type:{name:"Composite",className:"ValidateSubscriptionTransferEligibilityError"}}}}},ValidateSubscriptionTransferEligibilityError={type:{name:"Composite",className:"ValidateSubscriptionTransferEligibilityError",modelProperties:{code:{serializedName:"code",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}},details:{serializedName:"details",type:{name:"String"}}}}},TransferProductRequestProperties={type:{name:"Composite",className:"TransferProductRequestProperties",modelProperties:{destinationInvoiceSectionId:{serializedName:"destinationInvoiceSectionId",type:{name:"String"}}}}},ValidateProductTransferEligibilityResult={type:{name:"Composite",className:"ValidateProductTransferEligibilityResult",modelProperties:{isMoveEligible:{serializedName:"isMoveEligible",readOnly:!0,type:{name:"Boolean"}},errorDetails:{serializedName:"errorDetails",type:{name:"Composite",className:"ValidateProductTransferEligibilityError"}}}}},ValidateProductTransferEligibilityError={type:{name:"Composite",className:"ValidateProductTransferEligibilityError",modelProperties:{code:{serializedName:"code",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}},details:{serializedName:"details",type:{name:"String"}}}}},TransactionListResult={type:{name:"Composite",className:"TransactionListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Transaction"}}}},totalCount:{serializedName:"totalCount",readOnly:!0,type:{name:"Number"}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},OperationListResult={type:{name:"Composite",className:"OperationListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Operation"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Operation={type:{name:"Composite",className:"Operation",modelProperties:{name:{serializedName:"name",readOnly:!0,type:{name:"String"}},isDataAction:{serializedName:"isDataAction",readOnly:!0,type:{name:"Boolean"}},display:{serializedName:"display",type:{name:"Composite",className:"OperationDisplay"}}}}},OperationDisplay={type:{name:"Composite",className:"OperationDisplay",modelProperties:{provider:{serializedName:"provider",readOnly:!0,type:{name:"String"}},resource:{serializedName:"resource",readOnly:!0,type:{name:"String"}},operation:{serializedName:"operation",readOnly:!0,type:{name:"String"}},description:{serializedName:"description",readOnly:!0,type:{name:"String"}}}}},BillingRoleDefinitionListResult={type:{name:"Composite",className:"BillingRoleDefinitionListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingRoleDefinition"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingRoleAssignmentListResult={type:{name:"Composite",className:"BillingRoleAssignmentListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingRoleAssignment"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},AgreementListResult={type:{name:"Composite",className:"AgreementListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Agreement"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Participants={type:{name:"Composite",className:"Participants",modelProperties:{status:{serializedName:"status",readOnly:!0,type:{name:"String"}},statusDate:{serializedName:"statusDate",readOnly:!0,type:{name:"DateTime"}},email:{serializedName:"email",readOnly:!0,type:{name:"String"}}}}},ReservationsListResult={type:{name:"Composite",className:"ReservationsListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Reservation"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}},summary:{serializedName:"summary",type:{name:"Composite",className:"ReservationSummary"}}}}},Reservation={type:{name:"Composite",className:"Reservation",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}},location:{serializedName:"location",readOnly:!0,type:{name:"String"}},sku:{serializedName:"sku",type:{name:"Composite",className:"ReservationSkuProperty"}},appliedScopes:{serializedName:"properties.appliedScopes",type:{name:"Sequence",element:{type:{name:"String"}}}},appliedScopeType:{serializedName:"properties.appliedScopeType",readOnly:!0,type:{name:"String"}},reservedResourceType:{serializedName:"properties.reservedResourceType",readOnly:!0,type:{name:"String"}},quantity:{serializedName:"properties.quantity",readOnly:!0,type:{name:"Number"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},expiryDate:{serializedName:"properties.expiryDate",readOnly:!0,type:{name:"String"}},provisioningSubState:{serializedName:"properties.provisioningSubState",readOnly:!0,type:{name:"String"}},displayName:{serializedName:"properties.displayName",readOnly:!0,type:{name:"String"}},displayProvisioningState:{serializedName:"properties.displayProvisioningState",readOnly:!0,type:{name:"String"}},userFriendlyRenewState:{serializedName:"properties.userFriendlyRenewState",readOnly:!0,type:{name:"String"}},userFriendlyAppliedScopeType:{serializedName:"properties.userFriendlyAppliedScopeType",readOnly:!0,type:{name:"String"}},effectiveDateTime:{serializedName:"properties.effectiveDateTime",readOnly:!0,type:{name:"String"}},skuDescription:{serializedName:"properties.skuDescription",readOnly:!0,type:{name:"String"}},term:{serializedName:"properties.term",readOnly:!0,type:{name:"String"}},renew:{serializedName:"properties.renew",readOnly:!0,type:{name:"Boolean"}},renewSource:{serializedName:"properties.renewSource",readOnly:!0,type:{name:"String"}},utilization:{serializedName:"properties.utilization",type:{name:"Composite",className:"ReservationPropertyUtilization"}}}}},ReservationSkuProperty={type:{name:"Composite",className:"ReservationSkuProperty",modelProperties:{name:{serializedName:"name",readOnly:!0,type:{name:"String"}}}}},ReservationPropertyUtilization={type:{name:"Composite",className:"ReservationPropertyUtilization",modelProperties:{trend:{serializedName:"trend",readOnly:!0,type:{name:"String"}},aggregates:{serializedName:"aggregates",type:{name:"Sequence",element:{type:{name:"Composite",className:"ReservationUtilizationAggregates"}}}}}}},ReservationUtilizationAggregates={type:{name:"Composite",className:"ReservationUtilizationAggregates",modelProperties:{grain:{serializedName:"grain",readOnly:!0,type:{name:"Number"}},grainUnit:{serializedName:"grainUnit",readOnly:!0,type:{name:"String"}},value:{serializedName:"value",readOnly:!0,type:{name:"Number"}},valueUnit:{serializedName:"valueUnit",readOnly:!0,type:{name:"String"}}}}},ReservationSummary={type:{name:"Composite",className:"ReservationSummary",modelProperties:{succeededCount:{serializedName:"succeededCount",readOnly:!0,type:{name:"Number"}},failedCount:{serializedName:"failedCount",readOnly:!0,type:{name:"Number"}},expiringCount:{serializedName:"expiringCount",readOnly:!0,type:{name:"Number"}},expiredCount:{serializedName:"expiredCount",readOnly:!0,type:{name:"Number"}},pendingCount:{serializedName:"pendingCount",readOnly:!0,type:{name:"Number"}},cancelledCount:{serializedName:"cancelledCount",readOnly:!0,type:{name:"Number"}}}}},EnrollmentAccountListResult={type:{name:"Composite",className:"EnrollmentAccountListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"EnrollmentAccountSummary"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingPeriodsListResult={type:{name:"Composite",className:"BillingPeriodsListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingPeriod"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},BillingProfileCreationRequest={type:{name:"Composite",className:"BillingProfileCreationRequest",modelProperties:{displayName:{serializedName:"displayName",type:{name:"String"}},poNumber:{serializedName:"poNumber",type:{name:"String"}},billTo:{serializedName:"billTo",type:{name:"Composite",className:"AddressDetails"}},invoiceEmailOptIn:{serializedName:"invoiceEmailOptIn",type:{name:"Boolean"}},enabledAzurePlans:{serializedName:"enabledAzurePlans",type:{name:"Sequence",element:{type:{name:"Composite",className:"AzurePlan"}}}}}}},InvoiceSectionCreationRequest={type:{name:"Composite",className:"InvoiceSectionCreationRequest",modelProperties:{displayName:{serializedName:"displayName",type:{name:"String"}}}}},EnrollmentAccountContext={type:{name:"Composite",className:"EnrollmentAccountContext",modelProperties:{costCenter:{serializedName:"costCenter",type:{name:"String"}},startDate:{serializedName:"startDate",type:{name:"DateTime"}},endDate:{serializedName:"endDate",type:{name:"DateTime"}},enrollmentAccountName:{serializedName:"enrollmentAccountName",type:{name:"String"}}}}},InvoiceSection={type:{name:"Composite",className:"InvoiceSection",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{displayName:{serializedName:"properties.displayName",type:{name:"String"}},labels:{serializedName:"properties.labels",type:{name:"Dictionary",value:{type:{name:"String"}}}},state:{serializedName:"properties.state",readOnly:!0,type:{name:"String"}},systemId:{serializedName:"properties.systemId",readOnly:!0,type:{name:"String"}},tags:{serializedName:"properties.tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},targetCloud:{serializedName:"properties.targetCloud",readOnly:!0,type:{name:"String"}}})}},BillingProfile={type:{name:"Composite",className:"BillingProfile",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{displayName:{serializedName:"properties.displayName",type:{name:"String"}},poNumber:{serializedName:"properties.poNumber",type:{name:"String"}},billingRelationshipType:{serializedName:"properties.billingRelationshipType",readOnly:!0,type:{name:"String"}},billTo:{serializedName:"properties.billTo",type:{name:"Composite",className:"AddressDetails"}},indirectRelationshipInfo:{serializedName:"properties.indirectRelationshipInfo",type:{name:"Composite",className:"IndirectRelationshipInfo"}},invoiceEmailOptIn:{serializedName:"properties.invoiceEmailOptIn",type:{name:"Boolean"}},invoiceDay:{serializedName:"properties.invoiceDay",readOnly:!0,type:{name:"Number"}},currency:{serializedName:"properties.currency",readOnly:!0,type:{name:"String"}},enabledAzurePlans:{serializedName:"properties.enabledAzurePlans",type:{name:"Sequence",element:{type:{name:"Composite",className:"AzurePlan"}}}},invoiceSections:{serializedName:"properties.invoiceSections",type:{name:"Composite",className:"InvoiceSectionsOnExpand"}},hasReadAccess:{serializedName:"properties.hasReadAccess",readOnly:!0,type:{name:"Boolean"}},systemId:{serializedName:"properties.systemId",readOnly:!0,type:{name:"String"}},status:{serializedName:"properties.status",readOnly:!0,type:{name:"String"}},statusReasonCode:{serializedName:"properties.statusReasonCode",readOnly:!0,type:{name:"String"}},spendingLimit:{serializedName:"properties.spendingLimit",readOnly:!0,type:{name:"String"}},targetClouds:{serializedName:"properties.targetClouds",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},tags:{serializedName:"properties.tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}})}},EnrollmentAccount={type:{name:"Composite",className:"EnrollmentAccount",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{accountName:{serializedName:"properties.accountName",type:{name:"String"}},costCenter:{serializedName:"properties.costCenter",type:{name:"String"}},accountOwner:{serializedName:"properties.accountOwner",type:{name:"String"}},accountOwnerEmail:{serializedName:"properties.accountOwnerEmail",type:{name:"String"}},status:{serializedName:"properties.status",type:{name:"String"}},startDate:{serializedName:"properties.startDate",type:{name:"DateTime"}},endDate:{serializedName:"properties.endDate",type:{name:"DateTime"}},department:{serializedName:"properties.department",type:{name:"Composite",className:"Department"}}})}},Department={type:{name:"Composite",className:"Department",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{departmentName:{serializedName:"properties.departmentName",type:{name:"String"}},costCenter:{serializedName:"properties.costCenter",type:{name:"String"}},status:{serializedName:"properties.status",type:{name:"String"}},enrollmentAccounts:{serializedName:"properties.enrollmentAccounts",type:{name:"Sequence",element:{type:{name:"Composite",className:"EnrollmentAccount"}}}}})}},BillingAccount={type:{name:"Composite",className:"BillingAccount",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{displayName:{serializedName:"properties.displayName",type:{name:"String"}},soldTo:{serializedName:"properties.soldTo",type:{name:"Composite",className:"AddressDetails"}},agreementType:{serializedName:"properties.agreementType",readOnly:!0,type:{name:"String"}},accountType:{serializedName:"properties.accountType",readOnly:!0,type:{name:"String"}},accountStatus:{serializedName:"properties.accountStatus",readOnly:!0,type:{name:"String"}},billingProfiles:{serializedName:"properties.billingProfiles",type:{name:"Composite",className:"BillingProfilesOnExpand"}},enrollmentDetails:{serializedName:"properties.enrollmentDetails",type:{name:"Composite",className:"Enrollment"}},departments:{serializedName:"properties.departments",type:{name:"Sequence",element:{type:{name:"Composite",className:"Department"}}}},enrollmentAccounts:{serializedName:"properties.enrollmentAccounts",type:{name:"Sequence",element:{type:{name:"Composite",className:"EnrollmentAccount"}}}},hasReadAccess:{serializedName:"properties.hasReadAccess",readOnly:!0,type:{name:"Boolean"}},notificationEmailAddress:{serializedName:"properties.notificationEmailAddress",type:{name:"String"}}})}},AvailableBalance={type:{name:"Composite",className:"AvailableBalance",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{amount:{serializedName:"properties.amount",type:{name:"Composite",className:"Amount"}}})}},Instruction={type:{name:"Composite",className:"Instruction",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{amount:{serializedName:"properties.amount",type:{name:"Number"}},startDate:{serializedName:"properties.startDate",type:{name:"DateTime"}},endDate:{serializedName:"properties.endDate",type:{name:"DateTime"}},creationDate:{serializedName:"properties.creationDate",type:{name:"DateTime"}}})}},Customer={type:{name:"Composite",className:"Customer",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},displayName:{serializedName:"properties.displayName",type:{name:"String"}},enabledAzurePlans:{serializedName:"properties.enabledAzurePlans",type:{name:"Sequence",element:{type:{name:"Composite",className:"AzurePlan"}}}},resellers:{serializedName:"properties.resellers",type:{name:"Sequence",element:{type:{name:"Composite",className:"Reseller"}}}}})}},BillingSubscription={type:{name:"Composite",className:"BillingSubscription",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{displayName:{serializedName:"properties.displayName",readOnly:!0,type:{name:"String"}},subscriptionId:{serializedName:"properties.subscriptionId",readOnly:!0,type:{name:"Uuid"}},subscriptionBillingStatus:{serializedName:"properties.subscriptionBillingStatus",type:{name:"String"}},lastMonthCharges:{serializedName:"properties.lastMonthCharges",type:{name:"Composite",className:"Amount"}},monthToDateCharges:{serializedName:"properties.monthToDateCharges",type:{name:"Composite",className:"Amount"}},billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},costCenter:{serializedName:"properties.costCenter",type:{name:"String"}},customerId:{serializedName:"properties.customerId",readOnly:!0,type:{name:"String"}},customerDisplayName:{serializedName:"properties.customerDisplayName",readOnly:!0,type:{name:"String"}},invoiceSectionId:{serializedName:"properties.invoiceSectionId",readOnly:!0,type:{name:"String"}},invoiceSectionDisplayName:{serializedName:"properties.invoiceSectionDisplayName",readOnly:!0,type:{name:"String"}},reseller:{serializedName:"properties.reseller",type:{name:"Composite",className:"Reseller"}},skuId:{serializedName:"properties.skuId",type:{name:"String"}},skuDescription:{serializedName:"properties.skuDescription",readOnly:!0,type:{name:"String"}},suspensionReasons:{serializedName:"properties.suspensionReasons",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}})}},Product={type:{name:"Composite",className:"Product",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{autoRenew:{serializedName:"properties.autoRenew",type:{name:"String"}},displayName:{serializedName:"properties.displayName",readOnly:!0,type:{name:"String"}},purchaseDate:{serializedName:"properties.purchaseDate",readOnly:!0,type:{name:"DateTime"}},productTypeId:{serializedName:"properties.productTypeId",readOnly:!0,type:{name:"String"}},productType:{serializedName:"properties.productType",readOnly:!0,type:{name:"String"}},status:{serializedName:"properties.status",type:{name:"String"}},endDate:{serializedName:"properties.endDate",readOnly:!0,type:{name:"DateTime"}},billingFrequency:{serializedName:"properties.billingFrequency",type:{name:"String"}},lastCharge:{serializedName:"properties.lastCharge",type:{name:"Composite",className:"Amount"}},lastChargeDate:{serializedName:"properties.lastChargeDate",readOnly:!0,type:{name:"DateTime"}},quantity:{serializedName:"properties.quantity",readOnly:!0,type:{name:"Number"}},skuId:{serializedName:"properties.skuId",readOnly:!0,type:{name:"String"}},skuDescription:{serializedName:"properties.skuDescription",readOnly:!0,type:{name:"String"}},tenantId:{serializedName:"properties.tenantId",readOnly:!0,type:{name:"String"}},availabilityId:{serializedName:"properties.availabilityId",readOnly:!0,type:{name:"String"}},invoiceSectionId:{serializedName:"properties.invoiceSectionId",readOnly:!0,type:{name:"String"}},invoiceSectionDisplayName:{serializedName:"properties.invoiceSectionDisplayName",readOnly:!0,type:{name:"String"}},billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},customerId:{serializedName:"properties.customerId",readOnly:!0,type:{name:"String"}},customerDisplayName:{serializedName:"properties.customerDisplayName",readOnly:!0,type:{name:"String"}},reseller:{serializedName:"properties.reseller",type:{name:"Composite",className:"Reseller"}}})}},Invoice={type:{name:"Composite",className:"Invoice",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{dueDate:{serializedName:"properties.dueDate",readOnly:!0,type:{name:"DateTime"}},invoiceDate:{serializedName:"properties.invoiceDate",readOnly:!0,type:{name:"DateTime"}},status:{serializedName:"properties.status",readOnly:!0,type:{name:"String"}},amountDue:{serializedName:"properties.amountDue",type:{name:"Composite",className:"Amount"}},azurePrepaymentApplied:{serializedName:"properties.azurePrepaymentApplied",type:{name:"Composite",className:"Amount"}},billedAmount:{serializedName:"properties.billedAmount",type:{name:"Composite",className:"Amount"}},creditAmount:{serializedName:"properties.creditAmount",type:{name:"Composite",className:"Amount"}},freeAzureCreditApplied:{serializedName:"properties.freeAzureCreditApplied",type:{name:"Composite",className:"Amount"}},subTotal:{serializedName:"properties.subTotal",type:{name:"Composite",className:"Amount"}},taxAmount:{serializedName:"properties.taxAmount",type:{name:"Composite",className:"Amount"}},totalAmount:{serializedName:"properties.totalAmount",type:{name:"Composite",className:"Amount"}},invoicePeriodStartDate:{serializedName:"properties.invoicePeriodStartDate",readOnly:!0,type:{name:"DateTime"}},invoicePeriodEndDate:{serializedName:"properties.invoicePeriodEndDate",readOnly:!0,type:{name:"DateTime"}},invoiceType:{serializedName:"properties.invoiceType",readOnly:!0,type:{name:"String"}},isMonthlyInvoice:{serializedName:"properties.isMonthlyInvoice",readOnly:!0,type:{name:"Boolean"}},billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},purchaseOrderNumber:{serializedName:"properties.purchaseOrderNumber",readOnly:!0,type:{name:"String"}},documents:{serializedName:"properties.documents",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Document"}}}},payments:{serializedName:"properties.payments",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"PaymentProperties"}}}},rebillDetails:{serializedName:"properties.rebillDetails",readOnly:!0,type:{name:"Dictionary",value:{type:{name:"Composite",className:"RebillDetails"}}}},documentType:{serializedName:"properties.documentType",readOnly:!0,type:{name:"String"}},billedDocumentId:{serializedName:"properties.billedDocumentId",readOnly:!0,type:{name:"String"}},creditForDocumentId:{serializedName:"properties.creditForDocumentId",readOnly:!0,type:{name:"String"}},subscriptionId:{serializedName:"properties.subscriptionId",readOnly:!0,type:{name:"String"}}})}},Transaction={type:{name:"Composite",className:"Transaction",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{kind:{serializedName:"properties.kind",type:{name:"String"}},date:{serializedName:"properties.date",readOnly:!0,type:{name:"DateTime"}},invoice:{serializedName:"properties.invoice",readOnly:!0,type:{name:"String"}},invoiceId:{serializedName:"properties.invoiceId",readOnly:!0,type:{name:"String"}},orderId:{serializedName:"properties.orderId",readOnly:!0,type:{name:"String"}},orderName:{serializedName:"properties.orderName",readOnly:!0,type:{name:"String"}},productFamily:{serializedName:"properties.productFamily",readOnly:!0,type:{name:"String"}},productTypeId:{serializedName:"properties.productTypeId",readOnly:!0,type:{name:"String"}},productType:{serializedName:"properties.productType",readOnly:!0,type:{name:"String"}},productDescription:{serializedName:"properties.productDescription",readOnly:!0,type:{name:"String"}},transactionType:{serializedName:"properties.transactionType",type:{name:"String"}},transactionAmount:{serializedName:"properties.transactionAmount",type:{name:"Composite",className:"Amount"}},quantity:{serializedName:"properties.quantity",readOnly:!0,type:{name:"Number"}},invoiceSectionId:{serializedName:"properties.invoiceSectionId",readOnly:!0,type:{name:"String"}},invoiceSectionDisplayName:{serializedName:"properties.invoiceSectionDisplayName",readOnly:!0,type:{name:"String"}},billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},customerId:{serializedName:"properties.customerId",readOnly:!0,type:{name:"String"}},customerDisplayName:{serializedName:"properties.customerDisplayName",readOnly:!0,type:{name:"String"}},subscriptionId:{serializedName:"properties.subscriptionId",readOnly:!0,type:{name:"String"}},subscriptionName:{serializedName:"properties.subscriptionName",readOnly:!0,type:{name:"String"}},azurePlan:{serializedName:"properties.azurePlan",readOnly:!0,type:{name:"String"}},azureCreditApplied:{serializedName:"properties.azureCreditApplied",type:{name:"Composite",className:"Amount"}},billingCurrency:{serializedName:"properties.billingCurrency",readOnly:!0,type:{name:"String"}},discount:{serializedName:"properties.discount",readOnly:!0,type:{name:"Number"}},effectivePrice:{serializedName:"properties.effectivePrice",type:{name:"Composite",className:"Amount"}},exchangeRate:{serializedName:"properties.exchangeRate",readOnly:!0,type:{name:"Number"}},marketPrice:{serializedName:"properties.marketPrice",type:{name:"Composite",className:"Amount"}},pricingCurrency:{serializedName:"properties.pricingCurrency",readOnly:!0,type:{name:"String"}},servicePeriodStartDate:{serializedName:"properties.servicePeriodStartDate",readOnly:!0,type:{name:"DateTime"}},servicePeriodEndDate:{serializedName:"properties.servicePeriodEndDate",readOnly:!0,type:{name:"DateTime"}},subTotal:{serializedName:"properties.subTotal",type:{name:"Composite",className:"Amount"}},tax:{serializedName:"properties.tax",type:{name:"Composite",className:"Amount"}},unitOfMeasure:{serializedName:"properties.unitOfMeasure",readOnly:!0,type:{name:"String"}},units:{serializedName:"properties.units",readOnly:!0,type:{name:"Number"}},unitType:{serializedName:"properties.unitType",readOnly:!0,type:{name:"String"}}})}},Policy={type:{name:"Composite",className:"Policy",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{marketplacePurchases:{serializedName:"properties.marketplacePurchases",type:{name:"String"}},reservationPurchases:{serializedName:"properties.reservationPurchases",type:{name:"String"}},viewCharges:{serializedName:"properties.viewCharges",type:{name:"String"}}})}},CustomerPolicy={type:{name:"Composite",className:"CustomerPolicy",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{viewCharges:{serializedName:"properties.viewCharges",type:{name:"String"}}})}},BillingProperty={type:{name:"Composite",className:"BillingProperty",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{accountAdminNotificationEmailAddress:{serializedName:"properties.accountAdminNotificationEmailAddress",readOnly:!0,type:{name:"String"}},billingTenantId:{serializedName:"properties.billingTenantId",readOnly:!0,type:{name:"String"}},billingAccountId:{serializedName:"properties.billingAccountId",readOnly:!0,type:{name:"String"}},billingAccountDisplayName:{serializedName:"properties.billingAccountDisplayName",readOnly:!0,type:{name:"String"}},billingProfileId:{serializedName:"properties.billingProfileId",readOnly:!0,type:{name:"String"}},billingProfileDisplayName:{serializedName:"properties.billingProfileDisplayName",readOnly:!0,type:{name:"String"}},billingProfileStatus:{serializedName:"properties.billingProfileStatus",readOnly:!0,type:{name:"String"}},billingProfileStatusReasonCode:{serializedName:"properties.billingProfileStatusReasonCode",readOnly:!0,type:{name:"String"}},billingProfileSpendingLimit:{serializedName:"properties.billingProfileSpendingLimit",readOnly:!0,type:{name:"String"}},costCenter:{serializedName:"properties.costCenter",type:{name:"String"}},invoiceSectionId:{serializedName:"properties.invoiceSectionId",readOnly:!0,type:{name:"String"}},invoiceSectionDisplayName:{serializedName:"properties.invoiceSectionDisplayName",readOnly:!0,type:{name:"String"}},isAccountAdmin:{serializedName:"properties.isAccountAdmin",readOnly:!0,type:{name:"Boolean"}},productId:{serializedName:"properties.productId",readOnly:!0,type:{name:"String"}},productName:{serializedName:"properties.productName",readOnly:!0,type:{name:"String"}},skuId:{serializedName:"properties.skuId",readOnly:!0,type:{name:"String"}},skuDescription:{serializedName:"properties.skuDescription",readOnly:!0,type:{name:"String"}}})}},BillingRoleDefinition={type:{name:"Composite",className:"BillingRoleDefinition",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{description:{serializedName:"properties.description",readOnly:!0,type:{name:"String"}},permissions:{serializedName:"properties.permissions",type:{name:"Sequence",element:{type:{name:"Composite",className:"BillingPermissionsProperties"}}}},roleName:{serializedName:"properties.roleName",readOnly:!0,type:{name:"String"}}})}},BillingRoleAssignment={type:{name:"Composite",className:"BillingRoleAssignment",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{createdOn:{serializedName:"properties.createdOn",readOnly:!0,type:{name:"String"}},createdByPrincipalTenantId:{serializedName:"properties.createdByPrincipalTenantId",readOnly:!0,type:{name:"String"}},createdByPrincipalId:{serializedName:"properties.createdByPrincipalId",readOnly:!0,type:{name:"String"}},createdByUserEmailAddress:{serializedName:"properties.createdByUserEmailAddress",readOnly:!0,type:{name:"String"}},principalId:{serializedName:"properties.principalId",type:{name:"String"}},principalTenantId:{serializedName:"properties.principalTenantId",type:{name:"String"}},roleDefinitionId:{serializedName:"properties.roleDefinitionId",type:{name:"String"}},scope:{serializedName:"properties.scope",readOnly:!0,type:{name:"String"}},userAuthenticationType:{serializedName:"properties.userAuthenticationType",type:{name:"String"}},userEmailAddress:{serializedName:"properties.userEmailAddress",type:{name:"String"}}})}},Agreement={type:{name:"Composite",className:"Agreement",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{agreementLink:{serializedName:"properties.agreementLink",readOnly:!0,type:{name:"String"}},category:{serializedName:"properties.category",readOnly:!0,type:{name:"String"}},acceptanceMode:{serializedName:"properties.acceptanceMode",readOnly:!0,type:{name:"String"}},effectiveDate:{serializedName:"properties.effectiveDate",readOnly:!0,type:{name:"DateTime"}},expirationDate:{serializedName:"properties.expirationDate",readOnly:!0,type:{name:"DateTime"}},participants:{serializedName:"properties.participants",type:{name:"Sequence",element:{type:{name:"Composite",className:"Participants"}}}},status:{serializedName:"properties.status",readOnly:!0,type:{name:"String"}}})}},EnrollmentAccountSummary={type:{name:"Composite",className:"EnrollmentAccountSummary",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{principalName:{serializedName:"properties.principalName",readOnly:!0,type:{name:"String"}}})}},BillingPeriod={type:{name:"Composite",className:"BillingPeriod",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{billingPeriodStartDate:{serializedName:"properties.billingPeriodStartDate",readOnly:!0,type:{name:"Date"}},billingPeriodEndDate:{serializedName:"properties.billingPeriodEndDate",readOnly:!0,type:{name:"Date"}},invoiceIds:{serializedName:"properties.invoiceIds",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}})}},BillingProfilesCreateOrUpdateHeaders={type:{name:"Composite",className:"BillingProfilesCreateOrUpdateHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"Number"}}}}},InvoiceSectionsCreateOrUpdateHeaders={type:{name:"Composite",className:"InvoiceSectionsCreateOrUpdateHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"Number"}}}}},BillingSubscriptionsMoveHeaders={type:{name:"Composite",className:"BillingSubscriptionsMoveHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"Number"}}}}},ProductsMoveHeaders={type:{name:"Composite",className:"ProductsMoveHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"Number"}}}}},InvoicesDownloadInvoiceHeaders={type:{name:"Composite",className:"InvoicesDownloadInvoiceHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"String"}}}}},InvoicesDownloadMultipleBillingProfileInvoicesHeaders={type:{name:"Composite",className:"InvoicesDownloadMultipleBillingProfileInvoicesHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"String"}}}}},InvoicesDownloadBillingSubscriptionInvoiceHeaders={type:{name:"Composite",className:"InvoicesDownloadBillingSubscriptionInvoiceHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"String"}}}}},InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders={type:{name:"Composite",className:"InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},retryAfter:{serializedName:"retry-after",type:{name:"String"}}}}};var Mappers=Object.freeze({__proto__:null,BillingAccountListResult:BillingAccountListResult,AddressDetails:AddressDetails,BillingProfilesOnExpand:BillingProfilesOnExpand,IndirectRelationshipInfo:IndirectRelationshipInfo,AzurePlan:AzurePlan,InvoiceSectionsOnExpand:InvoiceSectionsOnExpand,Resource:Resource,Enrollment:Enrollment,EnrollmentPolicies:EnrollmentPolicies,ErrorResponse:ErrorResponse,ErrorDetails:ErrorDetails,ErrorSubDetailsItem:ErrorSubDetailsItem,BillingAccountUpdateRequest:BillingAccountUpdateRequest,InvoiceSectionListWithCreateSubPermissionResult:InvoiceSectionListWithCreateSubPermissionResult,InvoiceSectionWithCreateSubPermission:InvoiceSectionWithCreateSubPermission,ValidateAddressResponse:ValidateAddressResponse,Amount:Amount,InstructionListResult:InstructionListResult,BillingProfileListResult:BillingProfileListResult,CustomerListResult:CustomerListResult,Reseller:Reseller,InvoiceSectionListResult:InvoiceSectionListResult,BillingPermissionsListResult:BillingPermissionsListResult,BillingPermissionsProperties:BillingPermissionsProperties,BillingSubscriptionsListResult:BillingSubscriptionsListResult,ProductsListResult:ProductsListResult,InvoiceListResult:InvoiceListResult,Document:Document,PaymentProperties:PaymentProperties,RebillDetails:RebillDetails,DownloadUrl:DownloadUrl,TransferBillingSubscriptionRequestProperties:TransferBillingSubscriptionRequestProperties,ValidateSubscriptionTransferEligibilityResult:ValidateSubscriptionTransferEligibilityResult,ValidateSubscriptionTransferEligibilityError:ValidateSubscriptionTransferEligibilityError,TransferProductRequestProperties:TransferProductRequestProperties,ValidateProductTransferEligibilityResult:ValidateProductTransferEligibilityResult,ValidateProductTransferEligibilityError:ValidateProductTransferEligibilityError,TransactionListResult:TransactionListResult,OperationListResult:OperationListResult,Operation:Operation,OperationDisplay:OperationDisplay,BillingRoleDefinitionListResult:BillingRoleDefinitionListResult,BillingRoleAssignmentListResult:BillingRoleAssignmentListResult,AgreementListResult:AgreementListResult,Participants:Participants,ReservationsListResult:ReservationsListResult,Reservation:Reservation,ReservationSkuProperty:ReservationSkuProperty,ReservationPropertyUtilization:ReservationPropertyUtilization,ReservationUtilizationAggregates:ReservationUtilizationAggregates,ReservationSummary:ReservationSummary,EnrollmentAccountListResult:EnrollmentAccountListResult,BillingPeriodsListResult:BillingPeriodsListResult,BillingProfileCreationRequest:BillingProfileCreationRequest,InvoiceSectionCreationRequest:InvoiceSectionCreationRequest,EnrollmentAccountContext:EnrollmentAccountContext,InvoiceSection:InvoiceSection,BillingProfile:BillingProfile,EnrollmentAccount:EnrollmentAccount,Department:Department,BillingAccount:BillingAccount,AvailableBalance:AvailableBalance,Instruction:Instruction,Customer:Customer,BillingSubscription:BillingSubscription,Product:Product,Invoice:Invoice,Transaction:Transaction,Policy:Policy,CustomerPolicy:CustomerPolicy,BillingProperty:BillingProperty,BillingRoleDefinition:BillingRoleDefinition,BillingRoleAssignment:BillingRoleAssignment,Agreement:Agreement,EnrollmentAccountSummary:EnrollmentAccountSummary,BillingPeriod:BillingPeriod,BillingProfilesCreateOrUpdateHeaders:BillingProfilesCreateOrUpdateHeaders,InvoiceSectionsCreateOrUpdateHeaders:InvoiceSectionsCreateOrUpdateHeaders,BillingSubscriptionsMoveHeaders:BillingSubscriptionsMoveHeaders,ProductsMoveHeaders:ProductsMoveHeaders,InvoicesDownloadInvoiceHeaders:InvoicesDownloadInvoiceHeaders,InvoicesDownloadMultipleBillingProfileInvoicesHeaders:InvoicesDownloadMultipleBillingProfileInvoicesHeaders,InvoicesDownloadBillingSubscriptionInvoiceHeaders:InvoicesDownloadBillingSubscriptionInvoiceHeaders,InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders:InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders});const accept={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},$host={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2020-05-01",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},expand={parameterPath:["options","expand"],mapper:{serializedName:"$expand",type:{name:"String"}}},billingAccountName={parameterPath:"billingAccountName",mapper:{serializedName:"billingAccountName",required:!0,type:{name:"String"}}},contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:BillingAccountUpdateRequest},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},address={parameterPath:"address",mapper:AddressDetails},billingProfileName={parameterPath:"billingProfileName",mapper:{serializedName:"billingProfileName",required:!0,type:{name:"String"}}},instructionName={parameterPath:"instructionName",mapper:{serializedName:"instructionName",required:!0,type:{name:"String"}}},parameters1={parameterPath:"parameters",mapper:Instruction},parameters2={parameterPath:"parameters",mapper:BillingProfile},search={parameterPath:["options","search"],mapper:{serializedName:"$search",type:{name:"String"}}},filter={parameterPath:["options","filter"],mapper:{serializedName:"$filter",type:{name:"String"}}},customerName={parameterPath:"customerName",mapper:{serializedName:"customerName",required:!0,type:{name:"String"}}},invoiceSectionName={parameterPath:"invoiceSectionName",mapper:{serializedName:"invoiceSectionName",required:!0,type:{name:"String"}}},parameters3={parameterPath:"parameters",mapper:InvoiceSection},subscriptionId={parameterPath:"subscriptionId",mapper:{serializedName:"subscriptionId",required:!0,type:{name:"String"}}},parameters4={parameterPath:"parameters",mapper:BillingSubscription},parameters5={parameterPath:"parameters",mapper:TransferBillingSubscriptionRequestProperties},productName={parameterPath:"productName",mapper:{serializedName:"productName",required:!0,type:{name:"String"}}},parameters6={parameterPath:"parameters",mapper:Product},parameters7={parameterPath:"parameters",mapper:TransferProductRequestProperties},periodStartDate={parameterPath:"periodStartDate",mapper:{serializedName:"periodStartDate",required:!0,type:{name:"String"}}},periodEndDate={parameterPath:"periodEndDate",mapper:{serializedName:"periodEndDate",required:!0,type:{name:"String"}}},invoiceName={parameterPath:"invoiceName",mapper:{serializedName:"invoiceName",required:!0,type:{name:"String"}}},downloadToken={parameterPath:"downloadToken",mapper:{serializedName:"downloadToken",required:!0,type:{name:"String"}}},downloadUrls={parameterPath:"downloadUrls",mapper:{serializedName:"downloadUrls",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}},parameters8={parameterPath:"parameters",mapper:Policy},parameters9={parameterPath:"parameters",mapper:CustomerPolicy},parameters10={parameterPath:"parameters",mapper:BillingProperty},billingRoleDefinitionName={parameterPath:"billingRoleDefinitionName",mapper:{serializedName:"billingRoleDefinitionName",required:!0,type:{name:"String"}}},billingRoleAssignmentName={parameterPath:"billingRoleAssignmentName",mapper:{serializedName:"billingRoleAssignmentName",required:!0,type:{name:"String"}}},agreementName={parameterPath:"agreementName",mapper:{serializedName:"agreementName",required:!0,type:{name:"String"}}},orderby={parameterPath:["options","orderby"],mapper:{serializedName:"$orderby",type:{name:"String"}}},refreshSummary={parameterPath:["options","refreshSummary"],mapper:{serializedName:"refreshSummary",type:{name:"String"}}},selectedState={parameterPath:["options","selectedState"],mapper:{serializedName:"selectedState",type:{name:"String"}}},apiVersion1={parameterPath:"apiVersion",mapper:{defaultValue:"2018-03-01-preview",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},name={parameterPath:"name",mapper:{serializedName:"name",required:!0,type:{name:"String"}}},skiptoken={parameterPath:["options","skiptoken"],mapper:{serializedName:"$skiptoken",type:{name:"String"}}},top={parameterPath:["options","top"],mapper:{constraints:{InclusiveMaximum:100,InclusiveMinimum:1},serializedName:"$top",type:{name:"Number"}}},billingPeriodName={parameterPath:"billingPeriodName",mapper:{serializedName:"billingPeriodName",required:!0,type:{name:"String"}}};class LroImpl{constructor(e,i,t,r=t.path,n=t.httpMethod){this.sendOperationFn=e,this.args=i,this.spec=t,this.requestPath=r,this.requestMethod=n}sendInitialRequest(){return tslib.__awaiter(this,void 0,void 0,function*(){return this.sendOperationFn(this.args,this.spec)})}sendPollRequest(i){return tslib.__awaiter(this,void 0,void 0,function*(){var e=this.spec,e=tslib.__rest(e,["requestBody"]);return this.sendOperationFn(this.args,Object.assign(Object.assign({},e),{path:i,httpMethod:"GET"}))})}}class BillingAccountsImpl{constructor(e){this.client=e}list(e){const i=this.listPagingAll(e);return{next(){return i.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listNext(i,t)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listInvoiceSectionsByCreateSubscriptionPermission(e,i){const t=this.listInvoiceSectionsByCreateSubscriptionPermissionPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(e,i)}}listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listInvoiceSectionsByCreateSubscriptionPermission(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listInvoiceSectionsByCreateSubscriptionPermissionNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listInvoiceSectionsByCreateSubscriptionPermissionPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec)}get(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},getOperationSpec)}beginUpdate(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,parameters:t,options:r},updateOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==r?void 0:r.resumeFrom,intervalInMs:null==r?void 0:r.updateIntervalInMs,lroResourceLocationConfig:"azure-async-operation"})})}beginUpdateAndWait(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(i,t,r);return e.pollUntilDone()})}_listInvoiceSectionsByCreateSubscriptionPermission(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listInvoiceSectionsByCreateSubscriptionPermissionOperationSpec)}_listNext(e,i){return this.client.sendOperationRequest({nextLink:e,options:i},listNextOperationSpec)}_listInvoiceSectionsByCreateSubscriptionPermissionNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listInvoiceSectionsByCreateSubscriptionPermissionNextOperationSpec)}}const serializer=coreClient.createSerializer(Mappers,!1),listOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts",httpMethod:"GET",responses:{200:{bodyMapper:BillingAccountListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host],headerParameters:[accept],serializer:serializer},getOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingAccount},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer},updateOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}",httpMethod:"PATCH",responses:{200:{bodyMapper:BillingAccount},201:{bodyMapper:BillingAccount},202:{bodyMapper:BillingAccount},204:{bodyMapper:BillingAccount},default:{bodyMapper:ErrorResponse}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer},listInvoiceSectionsByCreateSubscriptionPermissionOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission",httpMethod:"POST",responses:{200:{bodyMapper:InvoiceSectionListWithCreateSubPermissionResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingAccountListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,nextLink],headerParameters:[accept],serializer:serializer},listInvoiceSectionsByCreateSubscriptionPermissionNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceSectionListWithCreateSubPermissionResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer};class AddressImpl{constructor(e){this.client=e}validate(e,i){return this.client.sendOperationRequest({address:e,options:i},validateOperationSpec)}}const serializer$1=coreClient.createSerializer(Mappers,!1),validateOperationSpec={path:"/providers/Microsoft.Billing/validateAddress",httpMethod:"POST",responses:{200:{bodyMapper:ValidateAddressResponse},default:{bodyMapper:ErrorResponse}},requestBody:address,queryParameters:[apiVersion],urlParameters:[$host],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$1};class AvailableBalancesImpl{constructor(e){this.client=e}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},getOperationSpec$1)}}const serializer$2=coreClient.createSerializer(Mappers,!1),getOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default",httpMethod:"GET",responses:{200:{bodyMapper:AvailableBalance},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$2};class InstructionsImpl{constructor(e){this.client=e}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec)}get(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,instructionName:t,options:r},getOperationSpec$2)}put(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,instructionName:t,parameters:r,options:n},putOperationSpec)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec)}}const serializer$3=coreClient.createSerializer(Mappers,!1),listByBillingProfileOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions",httpMethod:"GET",responses:{200:{bodyMapper:InstructionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$3},getOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}",httpMethod:"GET",responses:{200:{bodyMapper:Instruction},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,instructionName],headerParameters:[accept],serializer:serializer$3},putOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}",httpMethod:"PUT",responses:{200:{bodyMapper:Instruction},default:{bodyMapper:ErrorResponse}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,instructionName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},listByBillingProfileNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InstructionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$3};class BillingProfilesImpl{constructor(e){this.client=e}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec)}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},getOperationSpec$3)}beginCreateOrUpdate(i,t,r,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,billingProfileName:t,parameters:r,options:n},createOrUpdateOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs})})}beginCreateOrUpdateAndWait(i,t,r,n){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(i,t,r,n);return e.pollUntilDone()})}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec)}}const serializer$4=coreClient.createSerializer(Mappers,!1),listByBillingAccountOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles",httpMethod:"GET",responses:{200:{bodyMapper:BillingProfileListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$4},getOperationSpec$3={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingProfile},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$4},createOrUpdateOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",httpMethod:"PUT",responses:{200:{bodyMapper:BillingProfile},201:{bodyMapper:BillingProfile},202:{bodyMapper:BillingProfile},204:{bodyMapper:BillingProfile},default:{bodyMapper:ErrorResponse}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$4},listByBillingAccountNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingProfileListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$4};class CustomersImpl{constructor(e){this.client=e}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$1)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$1)}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,options:t},getOperationSpec$4)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$1)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$1)}}const serializer$5=coreClient.createSerializer(Mappers,!1),listByBillingProfileOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers",httpMethod:"GET",responses:{200:{bodyMapper:CustomerListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,search,filter],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$5},listByBillingAccountOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers",httpMethod:"GET",responses:{200:{bodyMapper:CustomerListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,search,filter],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$5},getOperationSpec$4={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}",httpMethod:"GET",responses:{200:{bodyMapper:Customer},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept],serializer:serializer$5},listByBillingProfileNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:CustomerListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,search,filter],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$5},listByBillingAccountNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:CustomerListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,search,filter],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$5};class InvoiceSectionsImpl{constructor(e){this.client=e}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$2)}get(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},getOperationSpec$5)}beginCreateOrUpdate(i,t,r,n,l){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,billingProfileName:t,invoiceSectionName:r,parameters:n,options:l},createOrUpdateOperationSpec$1);return new coreLro.LroEngine(e,{resumeFrom:null==l?void 0:l.resumeFrom,intervalInMs:null==l?void 0:l.updateIntervalInMs})})}beginCreateOrUpdateAndWait(i,t,r,n,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(i,t,r,n,a);return e.pollUntilDone()})}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$2)}}const serializer$6=coreClient.createSerializer(Mappers,!1),listByBillingProfileOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceSectionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$6},getOperationSpec$5={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceSection},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$6},createOrUpdateOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",httpMethod:"PUT",responses:{200:{bodyMapper:InvoiceSection},201:{bodyMapper:InvoiceSection},202:{bodyMapper:InvoiceSection},204:{bodyMapper:InvoiceSection},default:{bodyMapper:ErrorResponse}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$6},listByBillingProfileNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceSectionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$6};class BillingPermissionsImpl{constructor(e){this.client=e}listByCustomer(e,i,t){const r=this.listByCustomerPagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByCustomerPagingPage(e,i,t)}}listByCustomerPagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByCustomer(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByCustomerNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByCustomerPagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByCustomerPagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByInvoiceSections(e,i,t,r){const n=this.listByInvoiceSectionsPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoiceSectionsPagingPage(e,i,t,r)}}listByInvoiceSectionsPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoiceSections(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceSectionsNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoiceSectionsPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoiceSectionsPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByCustomer(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,options:t},listByCustomerOperationSpec)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$2)}_listByInvoiceSections(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},listByInvoiceSectionsOperationSpec)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$3)}_listByCustomerNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,nextLink:t,options:r},listByCustomerNextOperationSpec)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$2)}_listByInvoiceSectionsNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,nextLink:r,options:n},listByInvoiceSectionsNextOperationSpec)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$3)}}const serializer$7=coreClient.createSerializer(Mappers,!1),listByCustomerOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept],serializer:serializer$7},listByBillingAccountOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$7},listByInvoiceSectionsOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$7},listByBillingProfileOperationSpec$3={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$7},listByCustomerNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,customerName],headerParameters:[accept],serializer:serializer$7},listByBillingAccountNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$7},listByInvoiceSectionsNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$7},listByBillingProfileNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPermissionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$7};class BillingSubscriptionsImpl{constructor(e){this.client=e}listByCustomer(e,i,t){const r=this.listByCustomerPagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByCustomerPagingPage(e,i,t)}}listByCustomerPagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByCustomer(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByCustomerNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByCustomerPagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByCustomerPagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByInvoiceSection(e,i,t,r){const n=this.listByInvoiceSectionPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoiceSectionPagingPage(e,i,t,r)}}listByInvoiceSectionPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoiceSection(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceSectionNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoiceSectionPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoiceSectionPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByCustomer(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,options:t},listByCustomerOperationSpec$1)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$3)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$4)}_listByInvoiceSection(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},listByInvoiceSectionOperationSpec)}get(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},getOperationSpec$6)}update(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,parameters:i,options:t},updateOperationSpec$1)}beginMove(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,parameters:t,options:r},moveOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==r?void 0:r.resumeFrom,intervalInMs:null==r?void 0:r.updateIntervalInMs})})}beginMoveAndWait(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginMove(i,t,r);return e.pollUntilDone()})}validateMove(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,parameters:i,options:t},validateMoveOperationSpec)}_listByCustomerNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,nextLink:t,options:r},listByCustomerNextOperationSpec$1)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$3)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$4)}_listByInvoiceSectionNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,nextLink:r,options:n},listByInvoiceSectionNextOperationSpec)}}const serializer$8=coreClient.createSerializer(Mappers,!1),listByCustomerOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept],serializer:serializer$8},listByBillingAccountOperationSpec$3={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$8},listByBillingProfileOperationSpec$4={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$8},listByInvoiceSectionOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$8},getOperationSpec$6={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscription},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,subscriptionId],headerParameters:[accept],serializer:serializer$8},updateOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}",httpMethod:"PATCH",responses:{200:{bodyMapper:BillingSubscription},default:{bodyMapper:ErrorResponse}},requestBody:parameters4,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,subscriptionId],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$8},moveOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move",httpMethod:"POST",responses:{200:{bodyMapper:BillingSubscription},201:{bodyMapper:BillingSubscription},202:{bodyMapper:BillingSubscription},204:{bodyMapper:BillingSubscription},default:{bodyMapper:ErrorResponse}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,subscriptionId],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$8},validateMoveOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility",httpMethod:"POST",responses:{200:{bodyMapper:ValidateSubscriptionTransferEligibilityResult},default:{bodyMapper:ErrorResponse}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,subscriptionId],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$8},listByCustomerNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,customerName],headerParameters:[accept],serializer:serializer$8},listByBillingAccountNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$8},listByBillingProfileNextOperationSpec$4={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$8},listByInvoiceSectionNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingSubscriptionsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$8};class ProductsImpl{constructor(e){this.client=e}listByCustomer(e,i,t){const r=this.listByCustomerPagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByCustomerPagingPage(e,i,t)}}listByCustomerPagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByCustomer(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByCustomerNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByCustomerPagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByCustomerPagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByInvoiceSection(e,i,t,r){const n=this.listByInvoiceSectionPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoiceSectionPagingPage(e,i,t,r)}}listByInvoiceSectionPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoiceSection(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceSectionNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoiceSectionPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoiceSectionPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByCustomer(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,options:t},listByCustomerOperationSpec$2)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$4)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$5)}_listByInvoiceSection(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},listByInvoiceSectionOperationSpec$1)}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,productName:i,options:t},getOperationSpec$7)}update(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,productName:i,parameters:t,options:r},updateOperationSpec$2)}move(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,productName:i,parameters:t,options:r},moveOperationSpec$1)}validateMove(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,productName:i,parameters:t,options:r},validateMoveOperationSpec$1)}_listByCustomerNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,nextLink:t,options:r},listByCustomerNextOperationSpec$2)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$4)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$5)}_listByInvoiceSectionNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,nextLink:r,options:n},listByInvoiceSectionNextOperationSpec$1)}}const serializer$9=coreClient.createSerializer(Mappers,!1),listByCustomerOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept],serializer:serializer$9},listByBillingAccountOperationSpec$4={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$9},listByBillingProfileOperationSpec$5={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$9},listByInvoiceSectionOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$9},getOperationSpec$7={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}",httpMethod:"GET",responses:{200:{bodyMapper:Product},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,productName],headerParameters:[accept],serializer:serializer$9},updateOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Product},default:{bodyMapper:ErrorResponse}},requestBody:parameters6,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,productName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$9},moveOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move",httpMethod:"POST",responses:{200:{bodyMapper:Product},202:{headersMapper:ProductsMoveHeaders},default:{bodyMapper:ErrorResponse}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,productName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$9},validateMoveOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility",httpMethod:"POST",responses:{200:{bodyMapper:ValidateProductTransferEligibilityResult},default:{bodyMapper:ErrorResponse}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,productName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$9},listByCustomerNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,customerName],headerParameters:[accept],serializer:serializer$9},listByBillingAccountNextOperationSpec$4={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$9},listByBillingProfileNextOperationSpec$5={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$9},listByInvoiceSectionNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ProductsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter],urlParameters:[$host,billingAccountName,nextLink,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$9};class InvoicesImpl{constructor(e){this.client=e}listByBillingAccount(e,i,t,r){const n=this.listByBillingAccountPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i,t,r)}}listByBillingAccountPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t,r,n){const a=this.listByBillingProfilePagingAll(e,i,t,r,n);return{next(){return a.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t,r,n)}}listByBillingProfilePagingPage(t,r,n,a,l){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n,a,l));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,n,a,i,l)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s,o,p){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s,o,p));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingSubscription(e,i,t){const r=this.listByBillingSubscriptionPagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingSubscriptionPagingPage(e,i,t)}}listByBillingSubscriptionPagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingSubscription(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingSubscriptionNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingSubscriptionPagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingSubscriptionPagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingAccount(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,periodStartDate:i,periodEndDate:t,options:r},listByBillingAccountOperationSpec$5)}_listByBillingProfile(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,periodStartDate:t,periodEndDate:r,options:n},listByBillingProfileOperationSpec$6)}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,invoiceName:i,options:t},getOperationSpec$8)}getById(e,i){return this.client.sendOperationRequest({invoiceName:e,options:i},getByIdOperationSpec)}beginDownloadInvoice(i,t,r,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,invoiceName:t,downloadToken:r,options:n},downloadInvoiceOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs,lroResourceLocationConfig:"location"})})}beginDownloadInvoiceAndWait(i,t,r,n){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDownloadInvoice(i,t,r,n);return e.pollUntilDone()})}beginDownloadMultipleBillingProfileInvoices(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{billingAccountName:i,downloadUrls:t,options:r},downloadMultipleBillingProfileInvoicesOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==r?void 0:r.resumeFrom,intervalInMs:null==r?void 0:r.updateIntervalInMs,lroResourceLocationConfig:"location"})})}beginDownloadMultipleBillingProfileInvoicesAndWait(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDownloadMultipleBillingProfileInvoices(i,t,r);return e.pollUntilDone()})}_listByBillingSubscription(e,i,t){return this.client.sendOperationRequest({periodStartDate:e,periodEndDate:i,options:t},listByBillingSubscriptionOperationSpec)}getBySubscriptionAndInvoiceId(e,i){return this.client.sendOperationRequest({invoiceName:e,options:i},getBySubscriptionAndInvoiceIdOperationSpec)}beginDownloadBillingSubscriptionInvoice(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{invoiceName:i,downloadToken:t,options:r},downloadBillingSubscriptionInvoiceOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==r?void 0:r.resumeFrom,intervalInMs:null==r?void 0:r.updateIntervalInMs,lroResourceLocationConfig:"location"})})}beginDownloadBillingSubscriptionInvoiceAndWait(i,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDownloadBillingSubscriptionInvoice(i,t,r);return e.pollUntilDone()})}beginDownloadMultipleBillingSubscriptionInvoices(i,t){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,i)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,i)});var e=new LroImpl((i,n)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const r=null===(e=i.options)||void 0===e?void 0:e.onResponse;var e=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,i)=>{t=e,null!==r&&void 0!==r&&r(e,i)}})});return{flatResponse:yield a(e,n),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{downloadUrls:i,options:t},downloadMultipleBillingSubscriptionInvoicesOperationSpec);return new coreLro.LroEngine(e,{resumeFrom:null==t?void 0:t.resumeFrom,intervalInMs:null==t?void 0:t.updateIntervalInMs,lroResourceLocationConfig:"location"})})}beginDownloadMultipleBillingSubscriptionInvoicesAndWait(i,t){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDownloadMultipleBillingSubscriptionInvoices(i,t);return e.pollUntilDone()})}_listByBillingAccountNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,periodStartDate:i,periodEndDate:t,nextLink:r,options:n},listByBillingAccountNextOperationSpec$5)}_listByBillingProfileNext(e,i,t,r,n,a){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,periodStartDate:t,periodEndDate:r,nextLink:n,options:a},listByBillingProfileNextOperationSpec$6)}_listByBillingSubscriptionNext(e,i,t,r){return this.client.sendOperationRequest({periodStartDate:e,periodEndDate:i,nextLink:t,options:r},listByBillingSubscriptionNextOperationSpec)}}const serializer$a=coreClient.createSerializer(Mappers,!1),listByBillingAccountOperationSpec$5={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$a},listByBillingProfileOperationSpec$6={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$a},getOperationSpec$8={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",httpMethod:"GET",responses:{200:{bodyMapper:Invoice},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,invoiceName],headerParameters:[accept],serializer:serializer$a},getByIdOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}",httpMethod:"GET",responses:{200:{bodyMapper:Invoice},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,invoiceName],headerParameters:[accept],serializer:serializer$a},downloadInvoiceOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download",httpMethod:"POST",responses:{200:{bodyMapper:DownloadUrl},201:{bodyMapper:DownloadUrl},202:{bodyMapper:DownloadUrl},204:{bodyMapper:DownloadUrl},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,downloadToken],urlParameters:[$host,billingAccountName,invoiceName],headerParameters:[accept],serializer:serializer$a},downloadMultipleBillingProfileInvoicesOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments",httpMethod:"POST",responses:{200:{bodyMapper:DownloadUrl},201:{bodyMapper:DownloadUrl},202:{bodyMapper:DownloadUrl},204:{bodyMapper:DownloadUrl},default:{bodyMapper:ErrorResponse}},requestBody:downloadUrls,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$a},listByBillingSubscriptionOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$a},getBySubscriptionAndInvoiceIdOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}",httpMethod:"GET",responses:{200:{bodyMapper:Invoice},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,invoiceName],headerParameters:[accept],serializer:serializer$a},downloadBillingSubscriptionInvoiceOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download",httpMethod:"POST",responses:{200:{bodyMapper:DownloadUrl},201:{bodyMapper:DownloadUrl},202:{bodyMapper:DownloadUrl},204:{bodyMapper:DownloadUrl},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,downloadToken],urlParameters:[$host,subscriptionId,invoiceName],headerParameters:[accept],serializer:serializer$a},downloadMultipleBillingSubscriptionInvoicesOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments",httpMethod:"POST",responses:{200:{bodyMapper:DownloadUrl},201:{bodyMapper:DownloadUrl},202:{bodyMapper:DownloadUrl},204:{bodyMapper:DownloadUrl},default:{bodyMapper:ErrorResponse}},requestBody:downloadUrls,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$a},listByBillingAccountNextOperationSpec$5={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$a},listByBillingProfileNextOperationSpec$6={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$a},listByBillingSubscriptionNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InvoiceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,periodStartDate,periodEndDate],urlParameters:[$host,nextLink,subscriptionId],headerParameters:[accept],serializer:serializer$a};class TransactionsImpl{constructor(e){this.client=e}listByInvoice(e,i,t){const r=this.listByInvoicePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoicePagingPage(e,i,t)}}listByInvoicePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoice(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoicePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoicePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByInvoice(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,invoiceName:i,options:t},listByInvoiceOperationSpec)}_listByInvoiceNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,invoiceName:i,nextLink:t,options:r},listByInvoiceNextOperationSpec)}}const serializer$b=coreClient.createSerializer(Mappers,!1),listByInvoiceOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions",httpMethod:"GET",responses:{200:{bodyMapper:TransactionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,invoiceName],headerParameters:[accept],serializer:serializer$b},listByInvoiceNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:TransactionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,invoiceName],headerParameters:[accept],serializer:serializer$b};class PoliciesImpl{constructor(e){this.client=e}getByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},getByBillingProfileOperationSpec)}update(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,parameters:t,options:r},updateOperationSpec$3)}getByCustomer(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,options:t},getByCustomerOperationSpec)}updateCustomer(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,customerName:i,parameters:t,options:r},updateCustomerOperationSpec)}}const serializer$c=coreClient.createSerializer(Mappers,!1),getByBillingProfileOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default",httpMethod:"GET",responses:{200:{bodyMapper:Policy},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$c},updateOperationSpec$3={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default",httpMethod:"PUT",responses:{200:{bodyMapper:Policy},default:{bodyMapper:ErrorResponse}},requestBody:parameters8,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$c},getByCustomerOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default",httpMethod:"GET",responses:{200:{bodyMapper:CustomerPolicy},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept],serializer:serializer$c},updateCustomerOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default",httpMethod:"PUT",responses:{200:{bodyMapper:CustomerPolicy},default:{bodyMapper:ErrorResponse}},requestBody:parameters9,queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,customerName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$c};class BillingPropertyOperationsImpl{constructor(e){this.client=e}get(e){return this.client.sendOperationRequest({options:e},getOperationSpec$9)}update(e,i){return this.client.sendOperationRequest({parameters:e,options:i},updateOperationSpec$4)}}const serializer$d=coreClient.createSerializer(Mappers,!1),getOperationSpec$9={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default",httpMethod:"GET",responses:{200:{bodyMapper:BillingProperty},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$d},updateOperationSpec$4={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default",httpMethod:"PATCH",responses:{200:{bodyMapper:BillingProperty},default:{bodyMapper:ErrorResponse}},requestBody:parameters10,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$d};class OperationsImpl{constructor(e){this.client=e}list(e){const i=this.listPagingAll(e);return{next(){return i.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listNext(i,t)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$1)}_listNext(e,i){return this.client.sendOperationRequest({nextLink:e,options:i},listNextOperationSpec$1)}}const serializer$e=coreClient.createSerializer(Mappers,!1),listOperationSpec$1={path:"/providers/Microsoft.Billing/operations",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host],headerParameters:[accept],serializer:serializer$e},listNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,nextLink],headerParameters:[accept],serializer:serializer$e};class BillingRoleDefinitionsImpl{constructor(e){this.client=e}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByInvoiceSection(e,i,t,r){const n=this.listByInvoiceSectionPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoiceSectionPagingPage(e,i,t,r)}}listByInvoiceSectionPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoiceSection(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceSectionNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoiceSectionPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoiceSectionPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}getByBillingAccount(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingRoleDefinitionName:i,options:t},getByBillingAccountOperationSpec)}getByInvoiceSection(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,billingRoleDefinitionName:r,options:n},getByInvoiceSectionOperationSpec)}getByBillingProfile(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,billingRoleDefinitionName:t,options:r},getByBillingProfileOperationSpec$1)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$6)}_listByInvoiceSection(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},listByInvoiceSectionOperationSpec$2)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$7)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$6)}_listByInvoiceSectionNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,nextLink:r,options:n},listByInvoiceSectionNextOperationSpec$2)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$7)}}const serializer$f=coreClient.createSerializer(Mappers,!1),getByBillingAccountOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinition},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingRoleDefinitionName],headerParameters:[accept],serializer:serializer$f},getByInvoiceSectionOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinition},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName,billingRoleDefinitionName],headerParameters:[accept],serializer:serializer$f},getByBillingProfileOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinition},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,billingRoleDefinitionName],headerParameters:[accept],serializer:serializer$f},listByBillingAccountOperationSpec$6={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$f},listByInvoiceSectionOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$f},listByBillingProfileOperationSpec$7={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$f},listByBillingAccountNextOperationSpec$6={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$f},listByInvoiceSectionNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$f},listByBillingProfileNextOperationSpec$7={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleDefinitionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$f};class BillingRoleAssignmentsImpl{constructor(e){this.client=e}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByInvoiceSection(e,i,t,r){const n=this.listByInvoiceSectionPagingAll(e,i,t,r);return{next(){return n.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByInvoiceSectionPagingPage(e,i,t,r)}}listByInvoiceSectionPagingPage(t,r,n,a){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByInvoiceSection(t,r,n,a));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByInvoiceSectionNext(t,r,n,i,a)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByInvoiceSectionPagingAll(a,l,s,o){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByInvoiceSectionPagingPage(a,l,s,o));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}getByBillingAccount(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingRoleAssignmentName:i,options:t},getByBillingAccountOperationSpec$1)}deleteByBillingAccount(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingRoleAssignmentName:i,options:t},deleteByBillingAccountOperationSpec)}getByInvoiceSection(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,billingRoleAssignmentName:r,options:n},getByInvoiceSectionOperationSpec$1)}deleteByInvoiceSection(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,billingRoleAssignmentName:r,options:n},deleteByInvoiceSectionOperationSpec)}getByBillingProfile(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,billingRoleAssignmentName:t,options:r},getByBillingProfileOperationSpec$2)}deleteByBillingProfile(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,billingRoleAssignmentName:t,options:r},deleteByBillingProfileOperationSpec)}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$7)}_listByInvoiceSection(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,options:r},listByInvoiceSectionOperationSpec$3)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$8)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$7)}_listByInvoiceSectionNext(e,i,t,r,n){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,invoiceSectionName:t,nextLink:r,options:n},listByInvoiceSectionNextOperationSpec$3)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$8)}}const serializer$g=coreClient.createSerializer(Mappers,!1),getByBillingAccountOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},deleteByBillingAccountOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"DELETE",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},getByInvoiceSectionOperationSpec$1={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},deleteByInvoiceSectionOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"DELETE",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},getByBillingProfileOperationSpec$2={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},deleteByBillingProfileOperationSpec={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}",httpMethod:"DELETE",responses:{200:{bodyMapper:BillingRoleAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,billingRoleAssignmentName],headerParameters:[accept],serializer:serializer$g},listByBillingAccountOperationSpec$7={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$g},listByInvoiceSectionOperationSpec$3={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$g},listByBillingProfileOperationSpec$8={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$g},listByBillingAccountNextOperationSpec$7={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$g},listByInvoiceSectionNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName,invoiceSectionName],headerParameters:[accept],serializer:serializer$g},listByBillingProfileNextOperationSpec$8={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingRoleAssignmentListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$g};class AgreementsImpl{constructor(e){this.client=e}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$8)}get(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,agreementName:i,options:t},getOperationSpec$a)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$8)}}const serializer$h=coreClient.createSerializer(Mappers,!1),listByBillingAccountOperationSpec$8={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements",httpMethod:"GET",responses:{200:{bodyMapper:AgreementListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$h},getOperationSpec$a={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}",httpMethod:"GET",responses:{200:{bodyMapper:Agreement},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName,agreementName],headerParameters:[accept],serializer:serializer$h},listByBillingAccountNextOperationSpec$8={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:AgreementListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,expand],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$h};class ReservationsImpl{constructor(e){this.client=e}listByBillingAccount(e,i){const t=this.listByBillingAccountPagingAll(e,i);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingAccountPagingPage(e,i)}}listByBillingAccountPagingPage(t,r){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingAccount(t,r));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingAccountNext(t,i,r)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingAccountPagingAll(a,l){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingAccountPagingPage(a,l));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}listByBillingProfile(e,i,t){const r=this.listByBillingProfilePagingAll(e,i,t);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByBillingProfilePagingPage(e,i,t)}}listByBillingProfilePagingPage(t,r,n){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByBillingProfile(t,r,n));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listByBillingProfileNext(t,r,i,n)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listByBillingProfilePagingAll(a,l,s){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listByBillingProfilePagingPage(a,l,s));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_listByBillingAccount(e,i){return this.client.sendOperationRequest({billingAccountName:e,options:i},listByBillingAccountOperationSpec$9)}_listByBillingProfile(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,options:t},listByBillingProfileOperationSpec$9)}_listByBillingAccountNext(e,i,t){return this.client.sendOperationRequest({billingAccountName:e,nextLink:i,options:t},listByBillingAccountNextOperationSpec$9)}_listByBillingProfileNext(e,i,t,r){return this.client.sendOperationRequest({billingAccountName:e,billingProfileName:i,nextLink:t,options:r},listByBillingProfileNextOperationSpec$9)}}const serializer$i=coreClient.createSerializer(Mappers,!1),listByBillingAccountOperationSpec$9={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations",httpMethod:"GET",responses:{200:{bodyMapper:ReservationsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter,orderby,refreshSummary,selectedState],urlParameters:[$host,billingAccountName],headerParameters:[accept],serializer:serializer$i},listByBillingProfileOperationSpec$9={path:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations",httpMethod:"GET",responses:{200:{bodyMapper:ReservationsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter,orderby,refreshSummary,selectedState],urlParameters:[$host,billingAccountName,billingProfileName],headerParameters:[accept],serializer:serializer$i},listByBillingAccountNextOperationSpec$9={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ReservationsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter,orderby,refreshSummary,selectedState],urlParameters:[$host,billingAccountName,nextLink],headerParameters:[accept],serializer:serializer$i},listByBillingProfileNextOperationSpec$9={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ReservationsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion,filter,orderby,refreshSummary,selectedState],urlParameters:[$host,billingAccountName,nextLink,billingProfileName],headerParameters:[accept],serializer:serializer$i};class EnrollmentAccountsImpl{constructor(e){this.client=e}list(e){const i=this.listPagingAll(e);return{next(){return i.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listNext(i,t)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$2)}get(e,i){return this.client.sendOperationRequest({name:e,options:i},getOperationSpec$b)}_listNext(e,i){return this.client.sendOperationRequest({nextLink:e,options:i},listNextOperationSpec$2)}}const serializer$j=coreClient.createSerializer(Mappers,!1),listOperationSpec$2={path:"/providers/Microsoft.Billing/enrollmentAccounts",httpMethod:"GET",responses:{200:{bodyMapper:EnrollmentAccountListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion1],urlParameters:[$host],headerParameters:[accept],serializer:serializer$j},getOperationSpec$b={path:"/providers/Microsoft.Billing/enrollmentAccounts/{name}",httpMethod:"GET",responses:{200:{bodyMapper:EnrollmentAccountSummary},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion1],urlParameters:[$host,name],headerParameters:[accept],serializer:serializer$j},listNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:EnrollmentAccountListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion1],urlParameters:[$host,nextLink],headerParameters:[accept],serializer:serializer$j};class BillingPeriodsImpl{constructor(e){this.client=e}list(e){const i=this.listPagingAll(e);return{next(){return i.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let i=e.nextLink;for(;i;)e=yield tslib.__await(this._listNext(i,t)),i=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var i,e;try{for(var t,r=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(r.next())).done;){var n=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){i={error:e}}finally{try{t&&!t.done&&(e=r.return)&&(yield tslib.__await(e.call(r)))}finally{if(i)throw i.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$3)}get(e,i){return this.client.sendOperationRequest({billingPeriodName:e,options:i},getOperationSpec$c)}_listNext(e,i){return this.client.sendOperationRequest({nextLink:e,options:i},listNextOperationSpec$3)}}const serializer$k=coreClient.createSerializer(Mappers,!1),listOperationSpec$3={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods",httpMethod:"GET",responses:{200:{bodyMapper:BillingPeriodsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[filter,apiVersion1,skiptoken,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$k},getOperationSpec$c={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPeriod},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion1],urlParameters:[$host,subscriptionId,billingPeriodName],headerParameters:[accept],serializer:serializer$k},listNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:BillingPeriodsListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[filter,apiVersion1,skiptoken,top],urlParameters:[$host,nextLink,subscriptionId],headerParameters:[accept],serializer:serializer$k};class BillingManagementClient extends coreClient.ServiceClient{constructor(e,i,t){if(void 0===e)throw new Error("'credentials' cannot be null");if(void 0===i)throw new Error("'subscriptionId' cannot be null");var r={requestContentType:"application/json; charset=utf-8",credential:e},e="azsdk-js-arm-billing/4.0.0",e=(t=t||{}).userAgentOptions&&t.userAgentOptions.userAgentPrefix?t.userAgentOptions.userAgentPrefix+" "+e:e;t.credentialScopes||(t.credentialScopes=["https://management.azure.com/.default"]),super(Object.assign(Object.assign(Object.assign({},r),t),{userAgentOptions:{userAgentPrefix:e},baseUri:t.endpoint||"https://management.azure.com"})),this.subscriptionId=i,this.$host=t.$host||"https://management.azure.com",this.billingAccounts=new BillingAccountsImpl(this),this.address=new AddressImpl(this),this.availableBalances=new AvailableBalancesImpl(this),this.instructions=new InstructionsImpl(this),this.billingProfiles=new BillingProfilesImpl(this),this.customers=new CustomersImpl(this),this.invoiceSections=new InvoiceSectionsImpl(this),this.billingPermissions=new BillingPermissionsImpl(this),this.billingSubscriptions=new BillingSubscriptionsImpl(this),this.products=new ProductsImpl(this),this.invoices=new InvoicesImpl(this),this.transactions=new TransactionsImpl(this),this.policies=new PoliciesImpl(this),this.billingPropertyOperations=new BillingPropertyOperationsImpl(this),this.operations=new OperationsImpl(this),this.billingRoleDefinitions=new BillingRoleDefinitionsImpl(this),this.billingRoleAssignments=new BillingRoleAssignmentsImpl(this),this.agreements=new AgreementsImpl(this),this.reservations=new ReservationsImpl(this),this.enrollmentAccounts=new EnrollmentAccountsImpl(this),this.billingPeriods=new BillingPeriodsImpl(this)}}exports.BillingManagementClient=BillingManagementClient;
|