@azure/arm-billing 3.1.1 → 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 +69 -81
- 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/{esm → dist-esm/src}/models/mappers.js +2114 -1808
- 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/{esm → dist-esm/src}/operations/index.d.ts +1 -0
- package/dist-esm/src/operations/index.d.ts.map +1 -0
- package/{esm → dist-esm/src}/operations/index.js +4 -5
- 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 +65 -32
- package/review/arm-billing.api.md +2361 -0
- package/rollup.config.js +181 -30
- package/src/billingManagementClient.ts +144 -73
- package/src/index.ts +12 -0
- package/src/lroImpl.ts +34 -0
- package/src/models/index.ts +2567 -3859
- package/src/models/mappers.ts +2120 -1803
- package/src/models/parameters.ts +257 -103
- package/src/operations/address.ts +38 -56
- package/src/operations/agreements.ts +133 -118
- package/src/operations/availableBalances.ts +41 -56
- package/src/operations/billingAccounts.ts +314 -229
- package/src/operations/billingPeriods.ts +131 -122
- package/src/operations/billingPermissions.ts +468 -275
- package/src/operations/billingProfiles.ts +236 -165
- package/src/operations/billingPropertyOperations.ts +55 -94
- package/src/operations/billingRoleAssignments.ts +506 -453
- package/src/operations/billingRoleDefinitions.ts +436 -334
- package/src/operations/billingSubscriptions.ts +669 -487
- package/src/operations/customers.ts +263 -187
- package/src/operations/enrollmentAccounts.ts +104 -108
- package/src/operations/index.ts +4 -5
- package/src/operations/instructions.ts +182 -167
- package/src/operations/invoiceSections.ts +265 -167
- package/src/operations/invoices.ts +903 -544
- package/src/operations/operations.ts +87 -73
- package/src/operations/policies.ts +112 -188
- package/src/operations/products.ts +599 -501
- package/src/operations/reservations.ts +344 -0
- package/src/operations/transactions.ts +133 -81
- 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 +3 -3
- package/types/arm-billing.d.ts +4451 -0
- package/types/tsdoc-metadata.json +11 -0
- package/dist/arm-billing.js +0 -8674
- 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 -43
- package/esm/billingManagementClient.d.ts.map +0 -1
- package/esm/billingManagementClient.js +0 -57
- package/esm/billingManagementClient.js.map +0 -1
- package/esm/billingManagementClientContext.d.ts +0 -21
- package/esm/billingManagementClientContext.d.ts.map +0 -1
- package/esm/billingManagementClientContext.js +0 -60
- package/esm/billingManagementClientContext.js.map +0 -1
- package/esm/models/addressMappers.d.ts +0 -2
- package/esm/models/addressMappers.d.ts.map +0 -1
- package/esm/models/addressMappers.js +0 -9
- package/esm/models/addressMappers.js.map +0 -1
- package/esm/models/agreementsMappers.d.ts +0 -2
- package/esm/models/agreementsMappers.d.ts.map +0 -1
- package/esm/models/agreementsMappers.js +0 -9
- package/esm/models/agreementsMappers.js.map +0 -1
- package/esm/models/availableBalancesMappers.d.ts +0 -2
- package/esm/models/availableBalancesMappers.d.ts.map +0 -1
- package/esm/models/availableBalancesMappers.js +0 -9
- package/esm/models/availableBalancesMappers.js.map +0 -1
- package/esm/models/billingAccountsMappers.d.ts +0 -2
- package/esm/models/billingAccountsMappers.d.ts.map +0 -1
- package/esm/models/billingAccountsMappers.js +0 -9
- package/esm/models/billingAccountsMappers.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 -9
- package/esm/models/billingPeriodsMappers.js.map +0 -1
- package/esm/models/billingPermissionsMappers.d.ts +0 -2
- package/esm/models/billingPermissionsMappers.d.ts.map +0 -1
- package/esm/models/billingPermissionsMappers.js +0 -9
- package/esm/models/billingPermissionsMappers.js.map +0 -1
- package/esm/models/billingProfilesMappers.d.ts +0 -2
- package/esm/models/billingProfilesMappers.d.ts.map +0 -1
- package/esm/models/billingProfilesMappers.js +0 -9
- package/esm/models/billingProfilesMappers.js.map +0 -1
- package/esm/models/billingPropertyOperationsMappers.d.ts +0 -2
- package/esm/models/billingPropertyOperationsMappers.d.ts.map +0 -1
- package/esm/models/billingPropertyOperationsMappers.js +0 -9
- package/esm/models/billingPropertyOperationsMappers.js.map +0 -1
- package/esm/models/billingRoleAssignmentsMappers.d.ts +0 -2
- package/esm/models/billingRoleAssignmentsMappers.d.ts.map +0 -1
- package/esm/models/billingRoleAssignmentsMappers.js +0 -9
- package/esm/models/billingRoleAssignmentsMappers.js.map +0 -1
- package/esm/models/billingRoleDefinitionsMappers.d.ts +0 -2
- package/esm/models/billingRoleDefinitionsMappers.d.ts.map +0 -1
- package/esm/models/billingRoleDefinitionsMappers.js +0 -9
- package/esm/models/billingRoleDefinitionsMappers.js.map +0 -1
- package/esm/models/billingSubscriptionsMappers.d.ts +0 -2
- package/esm/models/billingSubscriptionsMappers.d.ts.map +0 -1
- package/esm/models/billingSubscriptionsMappers.js +0 -9
- package/esm/models/billingSubscriptionsMappers.js.map +0 -1
- package/esm/models/customersMappers.d.ts +0 -2
- package/esm/models/customersMappers.d.ts.map +0 -1
- package/esm/models/customersMappers.js +0 -9
- package/esm/models/customersMappers.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 -9
- package/esm/models/enrollmentAccountsMappers.js.map +0 -1
- package/esm/models/index.d.ts +0 -4587
- package/esm/models/index.d.ts.map +0 -1
- package/esm/models/index.js +0 -8
- package/esm/models/index.js.map +0 -1
- package/esm/models/instructionsMappers.d.ts +0 -2
- package/esm/models/instructionsMappers.d.ts.map +0 -1
- package/esm/models/instructionsMappers.js +0 -9
- package/esm/models/instructionsMappers.js.map +0 -1
- package/esm/models/invoiceSectionsMappers.d.ts +0 -2
- package/esm/models/invoiceSectionsMappers.d.ts.map +0 -1
- package/esm/models/invoiceSectionsMappers.js +0 -9
- package/esm/models/invoiceSectionsMappers.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 -9
- package/esm/models/invoicesMappers.js.map +0 -1
- package/esm/models/mappers.d.ts +0 -82
- package/esm/models/mappers.d.ts.map +0 -1
- 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 -9
- package/esm/models/operationsMappers.js.map +0 -1
- package/esm/models/parameters.d.ts +0 -27
- package/esm/models/parameters.d.ts.map +0 -1
- package/esm/models/parameters.js +0 -279
- package/esm/models/parameters.js.map +0 -1
- package/esm/models/policiesMappers.d.ts +0 -2
- package/esm/models/policiesMappers.d.ts.map +0 -1
- package/esm/models/policiesMappers.js +0 -9
- package/esm/models/policiesMappers.js.map +0 -1
- package/esm/models/productsMappers.d.ts +0 -2
- package/esm/models/productsMappers.d.ts.map +0 -1
- package/esm/models/productsMappers.js +0 -9
- package/esm/models/productsMappers.js.map +0 -1
- package/esm/models/transactionsMappers.d.ts +0 -2
- package/esm/models/transactionsMappers.d.ts.map +0 -1
- package/esm/models/transactionsMappers.js +0 -9
- package/esm/models/transactionsMappers.js.map +0 -1
- package/esm/operations/address.d.ts +0 -32
- package/esm/operations/address.d.ts.map +0 -1
- package/esm/operations/address.js +0 -57
- package/esm/operations/address.js.map +0 -1
- package/esm/operations/agreements.d.ts +0 -70
- package/esm/operations/agreements.d.ts.map +0 -1
- package/esm/operations/agreements.js +0 -113
- package/esm/operations/agreements.js.map +0 -1
- package/esm/operations/availableBalances.d.ts +0 -36
- package/esm/operations/availableBalances.d.ts.map +0 -1
- package/esm/operations/availableBalances.js +0 -57
- package/esm/operations/availableBalances.js.map +0 -1
- package/esm/operations/billingAccounts.d.ts +0 -127
- package/esm/operations/billingAccounts.d.ts.map +0 -1
- package/esm/operations/billingAccounts.js +0 -218
- package/esm/operations/billingAccounts.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/billingPermissions.d.ts +0 -169
- package/esm/operations/billingPermissions.d.ts.map +0 -1
- package/esm/operations/billingPermissions.js +0 -251
- package/esm/operations/billingPermissions.js.map +0 -1
- package/esm/operations/billingProfiles.d.ts +0 -94
- package/esm/operations/billingProfiles.d.ts.map +0 -1
- package/esm/operations/billingProfiles.js +0 -176
- package/esm/operations/billingProfiles.js.map +0 -1
- package/esm/operations/billingPropertyOperations.d.ts +0 -46
- package/esm/operations/billingPropertyOperations.d.ts.map +0 -1
- package/esm/operations/billingPropertyOperations.js +0 -91
- package/esm/operations/billingPropertyOperations.js.map +0 -1
- package/esm/operations/billingRoleAssignments.d.ts +0 -292
- package/esm/operations/billingRoleAssignments.d.ts.map +0 -1
- package/esm/operations/billingRoleAssignments.js +0 -387
- package/esm/operations/billingRoleAssignments.js.map +0 -1
- package/esm/operations/billingRoleDefinitions.d.ts +0 -211
- package/esm/operations/billingRoleDefinitions.d.ts.map +0 -1
- package/esm/operations/billingRoleDefinitions.js +0 -291
- package/esm/operations/billingRoleDefinitions.js.map +0 -1
- package/esm/operations/billingSubscriptions.d.ts +0 -267
- package/esm/operations/billingSubscriptions.d.ts.map +0 -1
- package/esm/operations/billingSubscriptions.js +0 -414
- package/esm/operations/billingSubscriptions.js.map +0 -1
- package/esm/operations/customers.d.ts +0 -114
- package/esm/operations/customers.d.ts.map +0 -1
- package/esm/operations/customers.js +0 -172
- package/esm/operations/customers.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.map +0 -1
- package/esm/operations/index.js.map +0 -1
- package/esm/operations/instructions.d.ts +0 -105
- package/esm/operations/instructions.d.ts.map +0 -1
- package/esm/operations/instructions.js +0 -153
- package/esm/operations/instructions.js.map +0 -1
- package/esm/operations/invoiceSections.d.ts +0 -102
- package/esm/operations/invoiceSections.d.ts.map +0 -1
- package/esm/operations/invoiceSections.js +0 -182
- package/esm/operations/invoiceSections.js.map +0 -1
- package/esm/operations/invoices.d.ts +0 -291
- package/esm/operations/invoices.d.ts.map +0 -1
- package/esm/operations/invoices.js +0 -539
- 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/esm/operations/policies.d.ts +0 -104
- package/esm/operations/policies.d.ts.map +0 -1
- package/esm/operations/policies.js +0 -162
- package/esm/operations/policies.js.map +0 -1
- package/esm/operations/products.d.ts +0 -279
- package/esm/operations/products.d.ts.map +0 -1
- package/esm/operations/products.js +0 -403
- package/esm/operations/products.js.map +0 -1
- package/esm/operations/transactions.d.ts +0 -54
- package/esm/operations/transactions.d.ts.map +0 -1
- package/esm/operations/transactions.js +0 -83
- package/esm/operations/transactions.js.map +0 -1
- package/src/billingManagementClientContext.ts +0 -66
- package/src/models/addressMappers.ts +0 -15
- package/src/models/agreementsMappers.ts +0 -50
- package/src/models/availableBalancesMappers.ts +0 -49
- package/src/models/billingAccountsMappers.ts +0 -53
- package/src/models/billingPeriodsMappers.ts +0 -50
- package/src/models/billingPermissionsMappers.ts +0 -15
- package/src/models/billingProfilesMappers.ts +0 -51
- package/src/models/billingPropertyOperationsMappers.ts +0 -49
- package/src/models/billingRoleAssignmentsMappers.ts +0 -50
- package/src/models/billingRoleDefinitionsMappers.ts +0 -50
- package/src/models/billingSubscriptionsMappers.ts +0 -54
- package/src/models/customersMappers.ts +0 -50
- package/src/models/enrollmentAccountsMappers.ts +0 -50
- package/src/models/instructionsMappers.ts +0 -50
- package/src/models/invoiceSectionsMappers.ts +0 -51
- package/src/models/invoicesMappers.ts +0 -55
- package/src/models/operationsMappers.ts +0 -16
- package/src/models/policiesMappers.ts +0 -49
- package/src/models/productsMappers.ts +0 -54
- package/src/models/transactionsMappers.ts +0 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/lroImpl.ts","../src/operations/billingAccounts.ts","../src/operations/address.ts","../src/operations/availableBalances.ts","../src/operations/instructions.ts","../src/operations/billingProfiles.ts","../src/operations/customers.ts","../src/operations/invoiceSections.ts","../src/operations/billingPermissions.ts","../src/operations/billingSubscriptions.ts","../src/operations/products.ts","../src/operations/invoices.ts","../src/operations/transactions.ts","../src/operations/policies.ts","../src/operations/billingPropertyOperations.ts","../src/operations/operations.ts","../src/operations/billingRoleDefinitions.ts","../src/operations/billingRoleAssignments.ts","../src/operations/agreements.ts","../src/operations/reservations.ts","../src/operations/enrollmentAccounts.ts","../src/operations/billingPeriods.ts","../src/billingManagementClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** The list of billing accounts. */\nexport interface BillingAccountListResult {\n /**\n * The list of billing accounts.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingAccount[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Address details. */\nexport interface AddressDetails {\n /** First name. */\n firstName?: string;\n /** Middle name. */\n middleName?: string;\n /** Last name. */\n lastName?: string;\n /** Company name. */\n companyName?: string;\n /** Address line 1. */\n addressLine1: string;\n /** Address line 2. */\n addressLine2?: string;\n /** Address line 3. */\n addressLine3?: string;\n /** Address city. */\n city?: string;\n /** Address district. */\n district?: string;\n /** Address region. */\n region?: string;\n /** Country code uses ISO2, 2-digit format. */\n country: string;\n /** Postal code. */\n postalCode?: string;\n /** Email address. */\n email?: string;\n /** Phone number. */\n phoneNumber?: string;\n}\n\n/** The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. */\nexport interface BillingProfilesOnExpand {\n /**\n * Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly hasMoreResults?: boolean;\n /** The billing profiles associated with the billing account. */\n value?: BillingProfile[];\n}\n\n/** The billing profile details of the partner of the customer for an indirect motion. */\nexport interface IndirectRelationshipInfo {\n /** The billing account name of the partner or the customer for an indirect motion. */\n billingAccountName?: string;\n /** The billing profile name of the partner or the customer for an indirect motion. */\n billingProfileName?: string;\n /** The display name of the partner or customer for an indirect motion. */\n displayName?: string;\n}\n\n/** Details of the Azure plan. */\nexport interface AzurePlan {\n /** The sku id. */\n skuId?: string;\n /**\n * The sku description.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuDescription?: string;\n}\n\n/** The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. */\nexport interface InvoiceSectionsOnExpand {\n /**\n * Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly hasMoreResults?: boolean;\n /** The invoice sections associated to the billing profile. */\n value?: InvoiceSection[];\n}\n\n/** The Resource model definition. */\nexport interface Resource {\n /**\n * Resource Id.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * Resource name.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Resource type.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n}\n\n/** The properties of an enrollment. */\nexport interface Enrollment {\n /** The start date of the enrollment. */\n startDate?: Date;\n /** The end date of the enrollment. */\n endDate?: Date;\n /**\n * The billing currency for the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly currency?: string;\n /**\n * The channel type of the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly channel?: string;\n /**\n * The policies for Enterprise Agreement enrollments.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly policies?: EnrollmentPolicies;\n /**\n * The language for the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly language?: string;\n /**\n * The country code of the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly countryCode?: string;\n /**\n * The current status of the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: string;\n /**\n * The billing cycle for the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingCycle?: string;\n}\n\n/** The policies for Enterprise Agreement enrollments. */\nexport interface EnrollmentPolicies {\n /**\n * The policy that controls whether Account Owners can view charges.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountOwnerViewCharges?: boolean;\n /**\n * The policy that controls whether Department Administrators can view charges.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly departmentAdminViewCharges?: boolean;\n /**\n * The policy that controls whether Azure marketplace purchases are allowed in the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly marketplaceEnabled?: boolean;\n /**\n * The policy that controls whether Azure reservation purchases are allowed in the enrollment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly reservedInstancesEnabled?: boolean;\n}\n\n/** Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface ErrorResponse {\n /** The details of the error. */\n error?: ErrorDetails;\n}\n\n/** The details of the error. */\nexport interface ErrorDetails {\n /**\n * Error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * Error message indicating why the operation failed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n /**\n * The target of the particular error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * The sub details of the error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: ErrorSubDetailsItem[];\n}\n\nexport interface ErrorSubDetailsItem {\n /**\n * Error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * Error message indicating why the operation failed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n /**\n * The target of the particular error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n}\n\n/** The request properties of the billing account that can be updated. */\nexport interface BillingAccountUpdateRequest {\n /** The billing account name. */\n displayName?: string;\n /** The address of the individual or organization that is responsible for the billing account. */\n soldTo?: AddressDetails;\n /**\n * The type of agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly agreementType?: AgreementType;\n /**\n * The type of customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountType?: AccountType;\n /**\n * The current status of the billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountStatus?: AccountStatus;\n /** The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. */\n billingProfiles?: BillingProfilesOnExpand;\n /**\n * The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly enrollmentDetails?: Enrollment;\n /** The departments associated to the enrollment. */\n departments?: Department[];\n /** The accounts associated to the enrollment. */\n enrollmentAccounts?: EnrollmentAccount[];\n /**\n * Indicates whether user has read access to the billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly hasReadAccess?: boolean;\n /** Notification email address, only for legacy accounts */\n notificationEmailAddress?: string;\n}\n\n/** The list of invoice section properties with create subscription permission. */\nexport interface InvoiceSectionListWithCreateSubPermissionResult {\n /** The list of invoice section properties with create subscription permission. */\n value?: InvoiceSectionWithCreateSubPermission[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Invoice section properties with create subscription permission. */\nexport interface InvoiceSectionWithCreateSubPermission {\n /**\n * The ID of the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionId?: string;\n /**\n * The name of the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionDisplayName?: string;\n /**\n * The system generated unique identifier for an invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionSystemId?: string;\n /**\n * The ID of the billing profile for the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile for the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /**\n * The status of the billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileStatus?: BillingProfileStatus;\n /**\n * Reason for the specified billing profile status.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileStatusReasonCode?: StatusReasonCodeForBillingProfile;\n /**\n * The billing profile spending limit.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileSpendingLimit?: SpendingLimitForBillingProfile;\n /**\n * The system generated unique identifier for a billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileSystemId?: string;\n /** Enabled azure plans for the associated billing profile. */\n enabledAzurePlans?: AzurePlan[];\n}\n\n/** Result of the address validation */\nexport interface ValidateAddressResponse {\n /** status of the address validation. */\n status?: AddressValidationStatus;\n /** The list of suggested addresses. */\n suggestedAddresses?: AddressDetails[];\n /** Validation error message. */\n validationMessage?: string;\n}\n\n/** The amount. */\nexport interface Amount {\n /**\n * The currency for the amount value.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly currency?: string;\n /** Amount value. */\n value?: number;\n}\n\n/** The list of billing instructions used during invoice generation. */\nexport interface InstructionListResult {\n /**\n * The list of billing instructions used during invoice generation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Instruction[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of billing profiles. */\nexport interface BillingProfileListResult {\n /**\n * The list of billing profiles.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingProfile[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of customers. */\nexport interface CustomerListResult {\n /**\n * The list of customers.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Customer[];\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Details of the reseller. */\nexport interface Reseller {\n /**\n * The MPN ID of the reseller.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resellerId?: string;\n /**\n * The name of the reseller.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** The list of invoice sections. */\nexport interface InvoiceSectionListResult {\n /**\n * The list of invoice sections.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: InvoiceSection[];\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Result of list billingPermissions a caller has on a billing account. */\nexport interface BillingPermissionsListResult {\n /**\n * The list of billingPermissions a caller has on a billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingPermissionsProperties[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The set of allowed action and not allowed actions a caller has on a billing account */\nexport interface BillingPermissionsProperties {\n /**\n * The set of actions that the caller is allowed to perform.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly actions?: string[];\n /**\n * The set of actions that the caller is not allowed to perform.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly notActions?: string[];\n}\n\n/** The list of billing subscriptions. */\nexport interface BillingSubscriptionsListResult {\n /**\n * The list of billing subscriptions.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingSubscription[];\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. */\nexport interface ProductsListResult {\n /**\n * The list of products.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Product[];\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of invoices. */\nexport interface InvoiceListResult {\n /**\n * The list of invoices.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Invoice[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n}\n\n/** The properties of a document. */\nexport interface Document {\n /**\n * The type of the document.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly kind?: DocumentType;\n /**\n * Document URL.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly url?: string;\n /**\n * The source of the document. ENF for Brazil and DRS for rest of the world.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly source?: DocumentSource;\n}\n\n/** The properties of a payment. */\nexport interface PaymentProperties {\n /**\n * The type of payment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly paymentType?: string;\n /**\n * The paid amount.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly amount?: Amount;\n /**\n * The date when the payment was made.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly date?: Date;\n /** The family of payment method. */\n paymentMethodFamily?: PaymentMethodFamily;\n /**\n * The type of payment method.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly paymentMethodType?: string;\n}\n\n/** The rebill details of an invoice. */\nexport interface RebillDetails {\n /**\n * The ID of credit note.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly creditNoteDocumentId?: string;\n /**\n * The ID of invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceDocumentId?: string;\n /**\n * Rebill details for an invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly rebillDetails?: { [propertyName: string]: RebillDetails };\n}\n\n/** A secure URL that can be used to download a an entity until the URL expires. */\nexport interface DownloadUrl {\n /**\n * The time in UTC when the download URL will expire.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expiryTime?: Date;\n /**\n * The URL to the PDF file.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly url?: string;\n}\n\n/** Request parameters to transfer billing subscription. */\nexport interface TransferBillingSubscriptionRequestProperties {\n /** The destination invoice section id. */\n destinationInvoiceSectionId: string;\n}\n\n/** Result of the transfer eligibility validation. */\nexport interface ValidateSubscriptionTransferEligibilityResult {\n /**\n * Specifies whether the subscription is eligible to be transferred.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isMoveEligible?: boolean;\n /** Validation error details. */\n errorDetails?: ValidateSubscriptionTransferEligibilityError;\n}\n\n/** Error details of the transfer eligibility validation */\nexport interface ValidateSubscriptionTransferEligibilityError {\n /** Error code for the product transfer validation. */\n code?: SubscriptionTransferValidationErrorCode;\n /** The error message. */\n message?: string;\n /** Detailed error message explaining the error. */\n details?: string;\n}\n\n/** The properties of the product to initiate a transfer. */\nexport interface TransferProductRequestProperties {\n /** The destination invoice section id. */\n destinationInvoiceSectionId?: string;\n}\n\n/** Result of the product transfer eligibility validation. */\nexport interface ValidateProductTransferEligibilityResult {\n /**\n * Specifies whether the transfer is eligible or not.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isMoveEligible?: boolean;\n /** Validation error details. */\n errorDetails?: ValidateProductTransferEligibilityError;\n}\n\n/** Error details of the product transfer eligibility validation. */\nexport interface ValidateProductTransferEligibilityError {\n /** Error code for the product transfer validation. */\n code?: ProductTransferValidationErrorCode;\n /** The error message. */\n message?: string;\n /** Detailed error message explaining the error. */\n details?: string;\n}\n\n/** The list of transactions. */\nexport interface TransactionListResult {\n /**\n * The list of transactions.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Transaction[];\n /**\n * Total number of records.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalCount?: number;\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of billing operations and a URL link to get the next set of results. */\nexport interface OperationListResult {\n /**\n * The list of billing operations supported by the Microsoft.Billing resource provider.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Operation[];\n /**\n * URL to get the next set of operation list results if there are any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** A Billing REST API operation. */\nexport interface Operation {\n /**\n * Operation name: {provider}/{resource}/{operation}.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Identifies if the operation is a data operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isDataAction?: boolean;\n /** The object that represents the operation. */\n display?: OperationDisplay;\n}\n\n/** The object that represents the operation. */\nexport interface OperationDisplay {\n /**\n * Service provider: Microsoft.Billing.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provider?: string;\n /**\n * Resource on which the operation is performed such as invoice and billing subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resource?: string;\n /**\n * Operation type such as read, write and delete.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operation?: string;\n /**\n * Description of operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** The list of role definitions. */\nexport interface BillingRoleDefinitionListResult {\n /**\n * The role definitions.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingRoleDefinition[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The list of role assignments. */\nexport interface BillingRoleAssignmentListResult {\n /**\n * The list of role assignments.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingRoleAssignment[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Result of listing agreements. */\nexport interface AgreementListResult {\n /**\n * The list of agreements.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Agreement[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The details about a participant. */\nexport interface Participants {\n /**\n * The acceptance status of the participant.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: string;\n /**\n * The date when the status got changed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly statusDate?: Date;\n /**\n * The email address of the participant.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly email?: string;\n}\n\n/** The list of reservations and summary of roll out count of reservations in each state. */\nexport interface ReservationsListResult {\n /**\n * The list of reservations.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: Reservation[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n /** The roll out count summary of the reservations */\n summary?: ReservationSummary;\n}\n\n/** The definition of the reservation. */\nexport interface Reservation {\n /**\n * The id of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The location of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly location?: string;\n /** The sku information associated to this reservation */\n sku?: ReservationSkuProperty;\n /** The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope */\n appliedScopes?: string[];\n /**\n * The applied scope type of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly appliedScopeType?: string;\n /**\n * The reserved source type of the reservation, e.g. virtual machine.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly reservedResourceType?: string;\n /**\n * The number of the reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly quantity?: number;\n /**\n * The provisioning state of the reservation, e.g. Succeeded\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: string;\n /**\n * The expiry date of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expiryDate?: string;\n /**\n * The provisioning state of the reservation, e.g. Succeeded\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningSubState?: string;\n /**\n * The display name of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * The provisioning state of the reservation for display, e.g. Succeeded\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayProvisioningState?: string;\n /**\n * The renew state of the reservation for display, e.g. On\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly userFriendlyRenewState?: string;\n /**\n * The applied scope type of the reservation for display, e.g. Shared\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly userFriendlyAppliedScopeType?: string;\n /**\n * The effective date time of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDateTime?: string;\n /**\n * The sku description of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuDescription?: string;\n /**\n * The term of the reservation, e.g. P1Y\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly term?: string;\n /**\n * The renew state of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly renew?: boolean;\n /**\n * The renew source of the reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly renewSource?: string;\n /**\n * Reservation utilization\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly utilization?: ReservationPropertyUtilization;\n}\n\n/** The property of reservation sku object. */\nexport interface ReservationSkuProperty {\n /**\n * The name of the reservation sku.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n}\n\n/** Reservation utilization */\nexport interface ReservationPropertyUtilization {\n /**\n * The number of days trend for a reservation\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly trend?: string;\n /** The array of aggregates of a reservation's utilization */\n aggregates?: ReservationUtilizationAggregates[];\n}\n\n/** The aggregate values of reservation utilization */\nexport interface ReservationUtilizationAggregates {\n /**\n * The grain of the aggregate\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly grain?: number;\n /**\n * The grain unit of the aggregate\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly grainUnit?: string;\n /**\n * The aggregate value\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: number;\n /**\n * The aggregate value unit\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly valueUnit?: string;\n}\n\n/** The roll up count summary of reservations in each state */\nexport interface ReservationSummary {\n /**\n * The number of reservation in Succeeded state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly succeededCount?: number;\n /**\n * The number of reservation in Failed state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly failedCount?: number;\n /**\n * The number of reservation in Expiring state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expiringCount?: number;\n /**\n * The number of reservation in Expired state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expiredCount?: number;\n /**\n * The number of reservation in Pending state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly pendingCount?: number;\n /**\n * The number of reservation in Cancelled state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly cancelledCount?: number;\n}\n\n/** Result of listing enrollment accounts. */\nexport interface EnrollmentAccountListResult {\n /**\n * The list of enrollment accounts.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: EnrollmentAccountSummary[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. */\nexport interface BillingPeriodsListResult {\n /**\n * The list of billing periods.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly value?: BillingPeriod[];\n /**\n * The link (url) to the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The request parameters for creating a new billing profile. */\nexport interface BillingProfileCreationRequest {\n /** The name of the billing profile. */\n displayName?: string;\n /** The purchase order name that will appear on the invoices generated for the billing profile. */\n poNumber?: string;\n /** The address of the individual or organization that is responsible for the billing profile. */\n billTo?: AddressDetails;\n /** Flag controlling whether the invoices for the billing profile are sent through email. */\n invoiceEmailOptIn?: boolean;\n /** Enabled azure plans for the billing profile. */\n enabledAzurePlans?: AzurePlan[];\n}\n\n/** The properties of the invoice section. */\nexport interface InvoiceSectionCreationRequest {\n /** The name of the invoice section. */\n displayName?: string;\n}\n\n/** The enrollment account context */\nexport interface EnrollmentAccountContext {\n /** The cost center associated with the enrollment account. */\n costCenter?: string;\n /** The start date of the enrollment account. */\n startDate?: Date;\n /** The end date of the enrollment account. */\n endDate?: Date;\n /** The ID of the enrollment account. */\n enrollmentAccountName?: string;\n}\n\n/** An invoice section. */\nexport type InvoiceSection = Resource & {\n /** The name of the invoice section. */\n displayName?: string;\n /** Dictionary of metadata associated with the invoice section. */\n labels?: { [propertyName: string]: string };\n /**\n * Identifies the state of an invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly state?: InvoiceSectionState;\n /**\n * The system generated unique identifier for an invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemId?: string;\n /** Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? / */\n tags?: { [propertyName: string]: string };\n /**\n * Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly targetCloud?: TargetCloud;\n};\n\n/** A billing profile. */\nexport type BillingProfile = Resource & {\n /** The name of the billing profile. */\n displayName?: string;\n /** The purchase order name that will appear on the invoices generated for the billing profile. */\n poNumber?: string;\n /**\n * Identifies which services and purchases are paid by a billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingRelationshipType?: BillingRelationshipType;\n /** Billing address. */\n billTo?: AddressDetails;\n /**\n * Identifies the billing profile that is linked to another billing profile in indirect purchase motion.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly indirectRelationshipInfo?: IndirectRelationshipInfo;\n /** Flag controlling whether the invoices for the billing profile are sent through email. */\n invoiceEmailOptIn?: boolean;\n /**\n * The day of the month when the invoice for the billing profile is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceDay?: number;\n /**\n * The currency in which the charges for the billing profile are billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly currency?: string;\n /** Information about the enabled azure plans. */\n enabledAzurePlans?: AzurePlan[];\n /** The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. */\n invoiceSections?: InvoiceSectionsOnExpand;\n /**\n * Indicates whether user has read access to the billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly hasReadAccess?: boolean;\n /**\n * The system generated unique identifier for a billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemId?: string;\n /**\n * The status of the billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: BillingProfileStatus;\n /**\n * Reason for the specified billing profile status.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly statusReasonCode?: StatusReasonCode;\n /**\n * The billing profile spending limit.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly spendingLimit?: SpendingLimit;\n /**\n * Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly targetClouds?: TargetCloud[];\n /** Tags of billing profiles. */\n tags?: { [propertyName: string]: string };\n};\n\n/** An enrollment account. */\nexport type EnrollmentAccount = Resource & {\n /** The name of the enrollment account. */\n accountName?: string;\n /** The cost center associated with the enrollment account. */\n costCenter?: string;\n /** The owner of the enrollment account. */\n accountOwner?: string;\n /** The enrollment account owner email address. */\n accountOwnerEmail?: string;\n /** The status of the enrollment account. */\n status?: string;\n /** The start date of the enrollment account. */\n startDate?: Date;\n /** The end date of the enrollment account. */\n endDate?: Date;\n /** Associated department. By default this is not populated, unless it's specified in $expand. */\n department?: Department;\n};\n\n/** A department. */\nexport type Department = Resource & {\n /** The name of the department. */\n departmentName?: string;\n /** The cost center associated with the department. */\n costCenter?: string;\n /** The status of the department. */\n status?: string;\n /** Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. */\n enrollmentAccounts?: EnrollmentAccount[];\n};\n\n/** A billing account. */\nexport type BillingAccount = Resource & {\n /** The billing account name. */\n displayName?: string;\n /** The address of the individual or organization that is responsible for the billing account. */\n soldTo?: AddressDetails;\n /**\n * The type of agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly agreementType?: AgreementType;\n /**\n * The type of customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountType?: AccountType;\n /**\n * The current status of the billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountStatus?: AccountStatus;\n /** The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. */\n billingProfiles?: BillingProfilesOnExpand;\n /**\n * The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly enrollmentDetails?: Enrollment;\n /** The departments associated to the enrollment. */\n departments?: Department[];\n /** The accounts associated to the enrollment. */\n enrollmentAccounts?: EnrollmentAccount[];\n /**\n * Indicates whether user has read access to the billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly hasReadAccess?: boolean;\n /** Notification email address, only for legacy accounts */\n notificationEmailAddress?: string;\n};\n\n/** The latest Azure credit balance. This is the balance available for pay now. */\nexport type AvailableBalance = Resource & {\n /**\n * Balance amount.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly amount?: Amount;\n};\n\n/** An instruction. */\nexport type Instruction = Resource & {\n /** The amount budgeted for this billing instruction. */\n amount?: number;\n /** The date this billing instruction goes into effect. */\n startDate?: Date;\n /** The date this billing instruction is no longer in effect. */\n endDate?: Date;\n /** The date this billing instruction was created. */\n creationDate?: Date;\n};\n\n/** A partner's customer. */\nexport type Customer = Resource & {\n /**\n * The ID of the billing profile for the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile for the invoice section.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /** The name of the customer. */\n displayName?: string;\n /** Azure plans enabled for the customer. */\n enabledAzurePlans?: AzurePlan[];\n /** The list of resellers for which an Azure plan is enabled for the customer. */\n resellers?: Reseller[];\n};\n\n/** A billing subscription. */\nexport type BillingSubscription = Resource & {\n /**\n * The name of the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * The ID of the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /** The current billing status of the subscription. */\n subscriptionBillingStatus?: BillingSubscriptionStatusType;\n /**\n * The last month charges.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastMonthCharges?: Amount;\n /**\n * The current month to date charges.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly monthToDateCharges?: Amount;\n /**\n * The ID of the billing profile to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /** The cost center applied to the subscription. */\n costCenter?: string;\n /**\n * The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerId?: string;\n /**\n * The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerDisplayName?: string;\n /**\n * The ID of the invoice section to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionId?: string;\n /**\n * The name of the invoice section to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionDisplayName?: string;\n /**\n * Reseller for this subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly reseller?: Reseller;\n /** The sku ID of the Azure plan for the subscription. */\n skuId?: string;\n /**\n * The sku description of the Azure plan for the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuDescription?: string;\n /**\n * The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly suspensionReasons?: string[];\n};\n\n/** A product. */\nexport type Product = Resource & {\n /** Indicates whether auto renewal is turned on or off for a product. */\n autoRenew?: AutoRenew;\n /**\n * The display name of the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * The date when the product was purchased.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly purchaseDate?: Date;\n /**\n * The ID of the type of product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productTypeId?: string;\n /**\n * The description of the type of product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productType?: string;\n /** The current status of the product. */\n status?: ProductStatusType;\n /**\n * The date when the product will be renewed or canceled.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly endDate?: Date;\n /** The frequency at which the product will be billed. */\n billingFrequency?: BillingFrequency;\n /**\n * The last month charges.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastCharge?: Amount;\n /**\n * The date of the last charge.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastChargeDate?: Date;\n /**\n * The quantity purchased for the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly quantity?: number;\n /**\n * The sku ID of the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuId?: string;\n /**\n * The sku description of the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuDescription?: string;\n /**\n * The id of the tenant in which the product is used.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tenantId?: string;\n /**\n * The availability of the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly availabilityId?: string;\n /**\n * The ID of the invoice section to which the product is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionId?: string;\n /**\n * The name of the invoice section to which the product is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionDisplayName?: string;\n /**\n * The ID of the billing profile to which the product is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile to which the product is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /**\n * The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerId?: string;\n /**\n * The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerDisplayName?: string;\n /**\n * Reseller for this product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly reseller?: Reseller;\n};\n\n/** An invoice. */\nexport type Invoice = Resource & {\n /**\n * The due date for the invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly dueDate?: Date;\n /**\n * The date when the invoice was generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceDate?: Date;\n /**\n * The current status of the invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: InvoiceStatus;\n /**\n * The amount due as of now.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly amountDue?: Amount;\n /**\n * The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azurePrepaymentApplied?: Amount;\n /**\n * The total charges for the invoice billing period.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billedAmount?: Amount;\n /**\n * The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly creditAmount?: Amount;\n /**\n * The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly freeAzureCreditApplied?: Amount;\n /**\n * The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subTotal?: Amount;\n /**\n * The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly taxAmount?: Amount;\n /**\n * The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly totalAmount?: Amount;\n /**\n * The start date of the billing period for which the invoice is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoicePeriodStartDate?: Date;\n /**\n * The end date of the billing period for which the invoice is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoicePeriodEndDate?: Date;\n /**\n * Invoice type.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceType?: InvoiceType;\n /**\n * Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isMonthlyInvoice?: boolean;\n /**\n * The ID of the billing profile for which the invoice is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile for which the invoice is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /**\n * An optional purchase order number for the invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly purchaseOrderNumber?: string;\n /**\n * List of documents available to download such as invoice and tax receipt.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly documents?: Document[];\n /**\n * List of payments.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly payments?: PaymentProperties[];\n /**\n * Rebill details for an invoice.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly rebillDetails?: { [propertyName: string]: RebillDetails };\n /**\n * The type of the document.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly documentType?: InvoiceDocumentType;\n /**\n * The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billedDocumentId?: string;\n /**\n * The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly creditForDocumentId?: string;\n /**\n * The ID of the subscription for which the invoice is generated.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n};\n\n/** A transaction. */\nexport type Transaction = Resource & {\n /** The kind of transaction. Options are all or reservation. */\n kind?: TransactionTypeKind;\n /**\n * The date of transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly date?: Date;\n /**\n * Invoice on which the transaction was billed or 'pending' if the transaction is not billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoice?: string;\n /**\n * The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceId?: string;\n /**\n * The order ID of the reservation. The field is only applicable for transaction of kind reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly orderId?: string;\n /**\n * The name of the reservation order. The field is only applicable for transactions of kind reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly orderName?: string;\n /**\n * The family of the product for which the transaction took place.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productFamily?: string;\n /**\n * The ID of the product type for which the transaction took place.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productTypeId?: string;\n /**\n * The type of the product for which the transaction took place.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productType?: string;\n /**\n * The description of the product for which the transaction took place.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productDescription?: string;\n /** The type of transaction. */\n transactionType?: ReservationType;\n /**\n * The charge associated with the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly transactionAmount?: Amount;\n /**\n * The quantity purchased in the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly quantity?: number;\n /**\n * The ID of the invoice section which will be billed for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionId?: string;\n /**\n * The name of the invoice section which will be billed for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionDisplayName?: string;\n /**\n * The ID of the billing profile which will be billed for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile which will be billed for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /**\n * The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerId?: string;\n /**\n * The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly customerDisplayName?: string;\n /**\n * The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionId?: string;\n /**\n * The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subscriptionName?: string;\n /**\n * The type of azure plan of the subscription that was used for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azurePlan?: string;\n /**\n * The amount of any Azure credits automatically applied to this transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azureCreditApplied?: Amount;\n /**\n * The ISO 4217 code for the currency in which this transaction is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingCurrency?: string;\n /**\n * The percentage discount, if any, applied to this transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly discount?: number;\n /**\n * The price of the product after applying any discounts.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectivePrice?: Amount;\n /**\n * The exchange rate used to convert charged amount to billing currency, if applicable.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly exchangeRate?: number;\n /**\n * The retail price of the product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly marketPrice?: Amount;\n /**\n * The ISO 4217 code for the currency in which the product is priced.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly pricingCurrency?: string;\n /**\n * The date of the purchase of the product, or the start date of the month in which usage started.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly servicePeriodStartDate?: Date;\n /**\n * The end date of the product term, or the end date of the month in which usage ended.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly servicePeriodEndDate?: Date;\n /**\n * The pre-tax charged amount for the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly subTotal?: Amount;\n /**\n * The tax amount applied to the transaction.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tax?: Amount;\n /**\n * The unit of measure used to bill for the product. For example, compute services are billed per hour.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly unitOfMeasure?: string;\n /**\n * The number of units used for a given product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly units?: number;\n /**\n * The description for the unit of measure for a given product.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly unitType?: string;\n};\n\n/** A policy. */\nexport type Policy = Resource & {\n /** The policy that controls whether Azure marketplace purchases are allowed for a billing profile. */\n marketplacePurchases?: MarketplacePurchasesPolicy;\n /** The policy that controls whether Azure reservation purchases are allowed for a billing profile. */\n reservationPurchases?: ReservationPurchasesPolicy;\n /** The policy that controls whether users with Azure RBAC access to a subscription can view its charges. */\n viewCharges?: ViewChargesPolicy;\n};\n\n/** The customer's Policy. */\nexport type CustomerPolicy = Resource & {\n /** The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. */\n viewCharges?: ViewCharges;\n};\n\n/** A billing property. */\nexport type BillingProperty = Resource & {\n /**\n * The email address on which the account admin gets all Azure notifications.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly accountAdminNotificationEmailAddress?: string;\n /**\n * The Azure AD tenant ID of the billing account for the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingTenantId?: string;\n /**\n * The ID of the billing account to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingAccountId?: string;\n /**\n * The name of the billing account to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingAccountDisplayName?: string;\n /**\n * The ID of the billing profile to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileId?: string;\n /**\n * The name of the billing profile to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileDisplayName?: string;\n /**\n * The status of the billing profile.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileStatus?: BillingProfileStatus;\n /**\n * Reason for the specified billing profile status.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileStatusReasonCode?: BillingProfileStatusReasonCode;\n /**\n * The billing profile spending limit.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingProfileSpendingLimit?: BillingProfileSpendingLimit;\n /** The cost center applied to the subscription. */\n costCenter?: string;\n /**\n * The ID of the invoice section to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionId?: string;\n /**\n * The name of the invoice section to which the subscription is billed.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceSectionDisplayName?: string;\n /**\n * Indicates whether user is the account admin.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isAccountAdmin?: boolean;\n /**\n * The product ID of the Azure plan.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productId?: string;\n /**\n * The product name of the Azure plan.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly productName?: string;\n /**\n * The sku ID of the Azure plan for the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuId?: string;\n /**\n * The sku description of the Azure plan for the subscription.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly skuDescription?: string;\n};\n\n/** The properties of a role definition. */\nexport type BillingRoleDefinition = Resource & {\n /**\n * The role description\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n /** The billingPermissions the role has */\n permissions?: BillingPermissionsProperties[];\n /**\n * The name of the role\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly roleName?: string;\n};\n\n/** The role assignment */\nexport type BillingRoleAssignment = Resource & {\n /**\n * The date the role assignment was created.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdOn?: string;\n /**\n * The tenant Id of the user who created the role assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdByPrincipalTenantId?: string;\n /**\n * The principal Id of the user who created the role assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdByPrincipalId?: string;\n /**\n * The email address of the user who created the role assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdByUserEmailAddress?: string;\n /** The principal id of the user to whom the role was assigned. */\n principalId?: string;\n /** The principal tenant id of the user to whom the role was assigned. */\n principalTenantId?: string;\n /** The ID of the role definition. */\n roleDefinitionId?: string;\n /**\n * The scope at which the role was assigned.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly scope?: string;\n /** The authentication type. */\n userAuthenticationType?: string;\n /** The email address of the user. */\n userEmailAddress?: string;\n};\n\n/** An agreement. */\nexport type Agreement = Resource & {\n /**\n * The URL to download the agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly agreementLink?: string;\n /**\n * The category of the agreement signed by a customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly category?: Category;\n /**\n * The mode of acceptance for an agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly acceptanceMode?: AcceptanceMode;\n /**\n * The date from which the agreement is effective.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly effectiveDate?: Date;\n /**\n * The date when the agreement expires.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly expirationDate?: Date;\n /** The list of participants that participates in acceptance of an agreement. */\n participants?: Participants[];\n /**\n * The current status of the agreement.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly status?: string;\n};\n\n/** An enrollment account resource. */\nexport type EnrollmentAccountSummary = Resource & {\n /**\n * The account owner's principal name.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly principalName?: string;\n};\n\n/** A billing period resource. */\nexport type BillingPeriod = Resource & {\n /**\n * The start of the date range covered by the billing period.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingPeriodStartDate?: Date;\n /**\n * The end of the date range covered by the billing period.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly billingPeriodEndDate?: Date;\n /**\n * Array of invoice ids that associated with.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly invoiceIds?: string[];\n};\n\n/** Defines headers for BillingProfiles_createOrUpdate operation. */\nexport interface BillingProfilesCreateOrUpdateHeaders {\n /** Location URI to poll for result */\n location?: string;\n /** Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds. */\n retryAfter?: number;\n}\n\n/** Defines headers for InvoiceSections_createOrUpdate operation. */\nexport interface InvoiceSectionsCreateOrUpdateHeaders {\n /** Location URI to poll for result */\n location?: string;\n /** Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds. */\n retryAfter?: number;\n}\n\n/** Defines headers for BillingSubscriptions_move operation. */\nexport interface BillingSubscriptionsMoveHeaders {\n /** Location URI to poll for result. */\n location?: string;\n /** Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds. */\n retryAfter?: number;\n}\n\n/** Defines headers for Products_move operation. */\nexport interface ProductsMoveHeaders {\n /** Location URI to poll for result */\n location?: string;\n /** Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds. */\n retryAfter?: number;\n}\n\n/** Defines headers for Invoices_downloadInvoice operation. */\nexport interface InvoicesDownloadInvoiceHeaders {\n /** GET this URL to retrieve the status of the asynchronous operation. */\n location?: string;\n /** The amount of delay to use while the status of the operation is checked. The value is expressed in seconds. */\n retryAfter?: string;\n}\n\n/** Defines headers for Invoices_downloadMultipleBillingProfileInvoices operation. */\nexport interface InvoicesDownloadMultipleBillingProfileInvoicesHeaders {\n /** GET this URL to retrieve the status of the asynchronous operation. */\n location?: string;\n /** The amount of delay to use while the status of the operation is checked. The value is expressed in seconds. */\n retryAfter?: string;\n}\n\n/** Defines headers for Invoices_downloadBillingSubscriptionInvoice operation. */\nexport interface InvoicesDownloadBillingSubscriptionInvoiceHeaders {\n /** GET this URL to retrieve the status of the asynchronous operation. */\n location?: string;\n /** The amount of delay to use while the status of the operation is checked. The value is expressed in seconds. */\n retryAfter?: string;\n}\n\n/** Defines headers for Invoices_downloadMultipleBillingSubscriptionInvoices operation. */\nexport interface InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders {\n /** GET this URL to retrieve the status of the asynchronous operation. */\n location?: string;\n /** The amount of delay to use while the status of the operation is checked. The value is expressed in seconds. */\n retryAfter?: string;\n}\n\n/** Known values of {@link AgreementType} that the service accepts. */\nexport enum KnownAgreementType {\n MicrosoftCustomerAgreement = \"MicrosoftCustomerAgreement\",\n EnterpriseAgreement = \"EnterpriseAgreement\",\n MicrosoftOnlineServicesProgram = \"MicrosoftOnlineServicesProgram\",\n MicrosoftPartnerAgreement = \"MicrosoftPartnerAgreement\"\n}\n\n/**\n * Defines values for AgreementType. \\\n * {@link KnownAgreementType} can be used interchangeably with AgreementType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MicrosoftCustomerAgreement** \\\n * **EnterpriseAgreement** \\\n * **MicrosoftOnlineServicesProgram** \\\n * **MicrosoftPartnerAgreement**\n */\nexport type AgreementType = string;\n\n/** Known values of {@link AccountType} that the service accepts. */\nexport enum KnownAccountType {\n Enterprise = \"Enterprise\",\n Individual = \"Individual\",\n Partner = \"Partner\"\n}\n\n/**\n * Defines values for AccountType. \\\n * {@link KnownAccountType} can be used interchangeably with AccountType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enterprise** \\\n * **Individual** \\\n * **Partner**\n */\nexport type AccountType = string;\n\n/** Known values of {@link AccountStatus} that the service accepts. */\nexport enum KnownAccountStatus {\n Active = \"Active\",\n Deleted = \"Deleted\",\n Disabled = \"Disabled\",\n Expired = \"Expired\",\n Transferred = \"Transferred\",\n Extended = \"Extended\",\n Terminated = \"Terminated\"\n}\n\n/**\n * Defines values for AccountStatus. \\\n * {@link KnownAccountStatus} can be used interchangeably with AccountStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Deleted** \\\n * **Disabled** \\\n * **Expired** \\\n * **Transferred** \\\n * **Extended** \\\n * **Terminated**\n */\nexport type AccountStatus = string;\n\n/** Known values of {@link BillingRelationshipType} that the service accepts. */\nexport enum KnownBillingRelationshipType {\n Direct = \"Direct\",\n IndirectCustomer = \"IndirectCustomer\",\n IndirectPartner = \"IndirectPartner\",\n CSPPartner = \"CSPPartner\"\n}\n\n/**\n * Defines values for BillingRelationshipType. \\\n * {@link KnownBillingRelationshipType} can be used interchangeably with BillingRelationshipType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **IndirectCustomer** \\\n * **IndirectPartner** \\\n * **CSPPartner**\n */\nexport type BillingRelationshipType = string;\n\n/** Known values of {@link InvoiceSectionState} that the service accepts. */\nexport enum KnownInvoiceSectionState {\n Active = \"Active\",\n Restricted = \"Restricted\"\n}\n\n/**\n * Defines values for InvoiceSectionState. \\\n * {@link KnownInvoiceSectionState} can be used interchangeably with InvoiceSectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Restricted**\n */\nexport type InvoiceSectionState = string;\n\n/** Known values of {@link TargetCloud} that the service accepts. */\nexport enum KnownTargetCloud {\n USGov = \"USGov\",\n USNat = \"USNat\",\n USSec = \"USSec\"\n}\n\n/**\n * Defines values for TargetCloud. \\\n * {@link KnownTargetCloud} can be used interchangeably with TargetCloud,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **USGov** \\\n * **USNat** \\\n * **USSec**\n */\nexport type TargetCloud = string;\n\n/** Known values of {@link BillingProfileStatus} that the service accepts. */\nexport enum KnownBillingProfileStatus {\n Active = \"Active\",\n Disabled = \"Disabled\",\n Warned = \"Warned\"\n}\n\n/**\n * Defines values for BillingProfileStatus. \\\n * {@link KnownBillingProfileStatus} can be used interchangeably with BillingProfileStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Disabled** \\\n * **Warned**\n */\nexport type BillingProfileStatus = string;\n\n/** Known values of {@link StatusReasonCode} that the service accepts. */\nexport enum KnownStatusReasonCode {\n PastDue = \"PastDue\",\n SpendingLimitReached = \"SpendingLimitReached\",\n SpendingLimitExpired = \"SpendingLimitExpired\"\n}\n\n/**\n * Defines values for StatusReasonCode. \\\n * {@link KnownStatusReasonCode} can be used interchangeably with StatusReasonCode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PastDue** \\\n * **SpendingLimitReached** \\\n * **SpendingLimitExpired**\n */\nexport type StatusReasonCode = string;\n\n/** Known values of {@link SpendingLimit} that the service accepts. */\nexport enum KnownSpendingLimit {\n Off = \"Off\",\n On = \"On\"\n}\n\n/**\n * Defines values for SpendingLimit. \\\n * {@link KnownSpendingLimit} can be used interchangeably with SpendingLimit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off** \\\n * **On**\n */\nexport type SpendingLimit = string;\n\n/** Known values of {@link StatusReasonCodeForBillingProfile} that the service accepts. */\nexport enum KnownStatusReasonCodeForBillingProfile {\n PastDue = \"PastDue\",\n SpendingLimitReached = \"SpendingLimitReached\",\n SpendingLimitExpired = \"SpendingLimitExpired\"\n}\n\n/**\n * Defines values for StatusReasonCodeForBillingProfile. \\\n * {@link KnownStatusReasonCodeForBillingProfile} can be used interchangeably with StatusReasonCodeForBillingProfile,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PastDue** \\\n * **SpendingLimitReached** \\\n * **SpendingLimitExpired**\n */\nexport type StatusReasonCodeForBillingProfile = string;\n\n/** Known values of {@link SpendingLimitForBillingProfile} that the service accepts. */\nexport enum KnownSpendingLimitForBillingProfile {\n Off = \"Off\",\n On = \"On\"\n}\n\n/**\n * Defines values for SpendingLimitForBillingProfile. \\\n * {@link KnownSpendingLimitForBillingProfile} can be used interchangeably with SpendingLimitForBillingProfile,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off** \\\n * **On**\n */\nexport type SpendingLimitForBillingProfile = string;\n\n/** Known values of {@link AddressValidationStatus} that the service accepts. */\nexport enum KnownAddressValidationStatus {\n Valid = \"Valid\",\n Invalid = \"Invalid\"\n}\n\n/**\n * Defines values for AddressValidationStatus. \\\n * {@link KnownAddressValidationStatus} can be used interchangeably with AddressValidationStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Valid** \\\n * **Invalid**\n */\nexport type AddressValidationStatus = string;\n\n/** Known values of {@link BillingSubscriptionStatusType} that the service accepts. */\nexport enum KnownBillingSubscriptionStatusType {\n Active = \"Active\",\n Inactive = \"Inactive\",\n Abandoned = \"Abandoned\",\n Deleted = \"Deleted\",\n Warning = \"Warning\"\n}\n\n/**\n * Defines values for BillingSubscriptionStatusType. \\\n * {@link KnownBillingSubscriptionStatusType} can be used interchangeably with BillingSubscriptionStatusType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Inactive** \\\n * **Abandoned** \\\n * **Deleted** \\\n * **Warning**\n */\nexport type BillingSubscriptionStatusType = string;\n\n/** Known values of {@link AutoRenew} that the service accepts. */\nexport enum KnownAutoRenew {\n Off = \"Off\",\n On = \"On\"\n}\n\n/**\n * Defines values for AutoRenew. \\\n * {@link KnownAutoRenew} can be used interchangeably with AutoRenew,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off** \\\n * **On**\n */\nexport type AutoRenew = string;\n\n/** Known values of {@link ProductStatusType} that the service accepts. */\nexport enum KnownProductStatusType {\n Active = \"Active\",\n Inactive = \"Inactive\",\n PastDue = \"PastDue\",\n Expiring = \"Expiring\",\n Expired = \"Expired\",\n Disabled = \"Disabled\",\n Cancelled = \"Cancelled\",\n AutoRenew = \"AutoRenew\"\n}\n\n/**\n * Defines values for ProductStatusType. \\\n * {@link KnownProductStatusType} can be used interchangeably with ProductStatusType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active** \\\n * **Inactive** \\\n * **PastDue** \\\n * **Expiring** \\\n * **Expired** \\\n * **Disabled** \\\n * **Cancelled** \\\n * **AutoRenew**\n */\nexport type ProductStatusType = string;\n\n/** Known values of {@link BillingFrequency} that the service accepts. */\nexport enum KnownBillingFrequency {\n OneTime = \"OneTime\",\n Monthly = \"Monthly\",\n UsageBased = \"UsageBased\"\n}\n\n/**\n * Defines values for BillingFrequency. \\\n * {@link KnownBillingFrequency} can be used interchangeably with BillingFrequency,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OneTime** \\\n * **Monthly** \\\n * **UsageBased**\n */\nexport type BillingFrequency = string;\n\n/** Known values of {@link InvoiceStatus} that the service accepts. */\nexport enum KnownInvoiceStatus {\n Due = \"Due\",\n OverDue = \"OverDue\",\n Paid = \"Paid\",\n Void = \"Void\"\n}\n\n/**\n * Defines values for InvoiceStatus. \\\n * {@link KnownInvoiceStatus} can be used interchangeably with InvoiceStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Due** \\\n * **OverDue** \\\n * **Paid** \\\n * **Void**\n */\nexport type InvoiceStatus = string;\n\n/** Known values of {@link InvoiceType} that the service accepts. */\nexport enum KnownInvoiceType {\n AzureService = \"AzureService\",\n AzureMarketplace = \"AzureMarketplace\",\n AzureSupport = \"AzureSupport\"\n}\n\n/**\n * Defines values for InvoiceType. \\\n * {@link KnownInvoiceType} can be used interchangeably with InvoiceType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureService** \\\n * **AzureMarketplace** \\\n * **AzureSupport**\n */\nexport type InvoiceType = string;\n\n/** Known values of {@link DocumentType} that the service accepts. */\nexport enum KnownDocumentType {\n Invoice = \"Invoice\",\n VoidNote = \"VoidNote\",\n TaxReceipt = \"TaxReceipt\",\n CreditNote = \"CreditNote\"\n}\n\n/**\n * Defines values for DocumentType. \\\n * {@link KnownDocumentType} can be used interchangeably with DocumentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invoice** \\\n * **VoidNote** \\\n * **TaxReceipt** \\\n * **CreditNote**\n */\nexport type DocumentType = string;\n\n/** Known values of {@link DocumentSource} that the service accepts. */\nexport enum KnownDocumentSource {\n DRS = \"DRS\",\n ENF = \"ENF\"\n}\n\n/**\n * Defines values for DocumentSource. \\\n * {@link KnownDocumentSource} can be used interchangeably with DocumentSource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DRS** \\\n * **ENF**\n */\nexport type DocumentSource = string;\n\n/** Known values of {@link PaymentMethodFamily} that the service accepts. */\nexport enum KnownPaymentMethodFamily {\n Credits = \"Credits\",\n CheckWire = \"CheckWire\",\n CreditCard = \"CreditCard\",\n None = \"None\"\n}\n\n/**\n * Defines values for PaymentMethodFamily. \\\n * {@link KnownPaymentMethodFamily} can be used interchangeably with PaymentMethodFamily,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Credits** \\\n * **CheckWire** \\\n * **CreditCard** \\\n * **None**\n */\nexport type PaymentMethodFamily = string;\n\n/** Known values of {@link InvoiceDocumentType} that the service accepts. */\nexport enum KnownInvoiceDocumentType {\n Invoice = \"Invoice\",\n CreditNote = \"CreditNote\"\n}\n\n/**\n * Defines values for InvoiceDocumentType. \\\n * {@link KnownInvoiceDocumentType} can be used interchangeably with InvoiceDocumentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invoice** \\\n * **CreditNote**\n */\nexport type InvoiceDocumentType = string;\n\n/** Known values of {@link SubscriptionTransferValidationErrorCode} that the service accepts. */\nexport enum KnownSubscriptionTransferValidationErrorCode {\n BillingAccountInactive = \"BillingAccountInactive\",\n CrossBillingAccountNotAllowed = \"CrossBillingAccountNotAllowed\",\n DestinationBillingProfileInactive = \"DestinationBillingProfileInactive\",\n DestinationBillingProfileNotFound = \"DestinationBillingProfileNotFound\",\n DestinationBillingProfilePastDue = \"DestinationBillingProfilePastDue\",\n DestinationInvoiceSectionInactive = \"DestinationInvoiceSectionInactive\",\n DestinationInvoiceSectionNotFound = \"DestinationInvoiceSectionNotFound\",\n InsufficientPermissionOnDestination = \"InsufficientPermissionOnDestination\",\n InsufficientPermissionOnSource = \"InsufficientPermissionOnSource\",\n InvalidDestination = \"InvalidDestination\",\n InvalidSource = \"InvalidSource\",\n MarketplaceNotEnabledOnDestination = \"MarketplaceNotEnabledOnDestination\",\n NotAvailableForDestinationMarket = \"NotAvailableForDestinationMarket\",\n ProductInactive = \"ProductInactive\",\n ProductNotFound = \"ProductNotFound\",\n ProductTypeNotSupported = \"ProductTypeNotSupported\",\n SourceBillingProfilePastDue = \"SourceBillingProfilePastDue\",\n SourceInvoiceSectionInactive = \"SourceInvoiceSectionInactive\",\n SubscriptionNotActive = \"SubscriptionNotActive\",\n SubscriptionTypeNotSupported = \"SubscriptionTypeNotSupported\"\n}\n\n/**\n * Defines values for SubscriptionTransferValidationErrorCode. \\\n * {@link KnownSubscriptionTransferValidationErrorCode} can be used interchangeably with SubscriptionTransferValidationErrorCode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **BillingAccountInactive** \\\n * **CrossBillingAccountNotAllowed** \\\n * **DestinationBillingProfileInactive** \\\n * **DestinationBillingProfileNotFound** \\\n * **DestinationBillingProfilePastDue** \\\n * **DestinationInvoiceSectionInactive** \\\n * **DestinationInvoiceSectionNotFound** \\\n * **InsufficientPermissionOnDestination** \\\n * **InsufficientPermissionOnSource** \\\n * **InvalidDestination** \\\n * **InvalidSource** \\\n * **MarketplaceNotEnabledOnDestination** \\\n * **NotAvailableForDestinationMarket** \\\n * **ProductInactive** \\\n * **ProductNotFound** \\\n * **ProductTypeNotSupported** \\\n * **SourceBillingProfilePastDue** \\\n * **SourceInvoiceSectionInactive** \\\n * **SubscriptionNotActive** \\\n * **SubscriptionTypeNotSupported**\n */\nexport type SubscriptionTransferValidationErrorCode = string;\n\n/** Known values of {@link ProductTransferValidationErrorCode} that the service accepts. */\nexport enum KnownProductTransferValidationErrorCode {\n InvalidSource = \"InvalidSource\",\n ProductNotActive = \"ProductNotActive\",\n InsufficientPermissionOnSource = \"InsufficientPermissionOnSource\",\n InsufficientPermissionOnDestination = \"InsufficientPermissionOnDestination\",\n DestinationBillingProfilePastDue = \"DestinationBillingProfilePastDue\",\n ProductTypeNotSupported = \"ProductTypeNotSupported\",\n CrossBillingAccountNotAllowed = \"CrossBillingAccountNotAllowed\",\n NotAvailableForDestinationMarket = \"NotAvailableForDestinationMarket\",\n OneTimePurchaseProductTransferNotAllowed = \"OneTimePurchaseProductTransferNotAllowed\"\n}\n\n/**\n * Defines values for ProductTransferValidationErrorCode. \\\n * {@link KnownProductTransferValidationErrorCode} can be used interchangeably with ProductTransferValidationErrorCode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **InvalidSource** \\\n * **ProductNotActive** \\\n * **InsufficientPermissionOnSource** \\\n * **InsufficientPermissionOnDestination** \\\n * **DestinationBillingProfilePastDue** \\\n * **ProductTypeNotSupported** \\\n * **CrossBillingAccountNotAllowed** \\\n * **NotAvailableForDestinationMarket** \\\n * **OneTimePurchaseProductTransferNotAllowed**\n */\nexport type ProductTransferValidationErrorCode = string;\n\n/** Known values of {@link TransactionTypeKind} that the service accepts. */\nexport enum KnownTransactionTypeKind {\n All = \"all\",\n Reservation = \"reservation\"\n}\n\n/**\n * Defines values for TransactionTypeKind. \\\n * {@link KnownTransactionTypeKind} can be used interchangeably with TransactionTypeKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **all** \\\n * **reservation**\n */\nexport type TransactionTypeKind = string;\n\n/** Known values of {@link ReservationType} that the service accepts. */\nexport enum KnownReservationType {\n Purchase = \"Purchase\",\n UsageCharge = \"Usage Charge\"\n}\n\n/**\n * Defines values for ReservationType. \\\n * {@link KnownReservationType} can be used interchangeably with ReservationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Purchase** \\\n * **Usage Charge**\n */\nexport type ReservationType = string;\n\n/** Known values of {@link MarketplacePurchasesPolicy} that the service accepts. */\nexport enum KnownMarketplacePurchasesPolicy {\n AllAllowed = \"AllAllowed\",\n OnlyFreeAllowed = \"OnlyFreeAllowed\",\n NotAllowed = \"NotAllowed\"\n}\n\n/**\n * Defines values for MarketplacePurchasesPolicy. \\\n * {@link KnownMarketplacePurchasesPolicy} can be used interchangeably with MarketplacePurchasesPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AllAllowed** \\\n * **OnlyFreeAllowed** \\\n * **NotAllowed**\n */\nexport type MarketplacePurchasesPolicy = string;\n\n/** Known values of {@link ReservationPurchasesPolicy} that the service accepts. */\nexport enum KnownReservationPurchasesPolicy {\n Allowed = \"Allowed\",\n NotAllowed = \"NotAllowed\"\n}\n\n/**\n * Defines values for ReservationPurchasesPolicy. \\\n * {@link KnownReservationPurchasesPolicy} can be used interchangeably with ReservationPurchasesPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allowed** \\\n * **NotAllowed**\n */\nexport type ReservationPurchasesPolicy = string;\n\n/** Known values of {@link ViewChargesPolicy} that the service accepts. */\nexport enum KnownViewChargesPolicy {\n Allowed = \"Allowed\",\n NotAllowed = \"NotAllowed\"\n}\n\n/**\n * Defines values for ViewChargesPolicy. \\\n * {@link KnownViewChargesPolicy} can be used interchangeably with ViewChargesPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allowed** \\\n * **NotAllowed**\n */\nexport type ViewChargesPolicy = string;\n\n/** Known values of {@link ViewCharges} that the service accepts. */\nexport enum KnownViewCharges {\n Allowed = \"Allowed\",\n NotAllowed = \"NotAllowed\"\n}\n\n/**\n * Defines values for ViewCharges. \\\n * {@link KnownViewCharges} can be used interchangeably with ViewCharges,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allowed** \\\n * **NotAllowed**\n */\nexport type ViewCharges = string;\n\n/** Known values of {@link BillingProfileStatusReasonCode} that the service accepts. */\nexport enum KnownBillingProfileStatusReasonCode {\n PastDue = \"PastDue\",\n SpendingLimitReached = \"SpendingLimitReached\",\n SpendingLimitExpired = \"SpendingLimitExpired\"\n}\n\n/**\n * Defines values for BillingProfileStatusReasonCode. \\\n * {@link KnownBillingProfileStatusReasonCode} can be used interchangeably with BillingProfileStatusReasonCode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PastDue** \\\n * **SpendingLimitReached** \\\n * **SpendingLimitExpired**\n */\nexport type BillingProfileStatusReasonCode = string;\n\n/** Known values of {@link BillingProfileSpendingLimit} that the service accepts. */\nexport enum KnownBillingProfileSpendingLimit {\n Off = \"Off\",\n On = \"On\"\n}\n\n/**\n * Defines values for BillingProfileSpendingLimit. \\\n * {@link KnownBillingProfileSpendingLimit} can be used interchangeably with BillingProfileSpendingLimit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off** \\\n * **On**\n */\nexport type BillingProfileSpendingLimit = string;\n\n/** Known values of {@link Category} that the service accepts. */\nexport enum KnownCategory {\n MicrosoftCustomerAgreement = \"MicrosoftCustomerAgreement\",\n AffiliatePurchaseTerms = \"AffiliatePurchaseTerms\",\n Other = \"Other\"\n}\n\n/**\n * Defines values for Category. \\\n * {@link KnownCategory} can be used interchangeably with Category,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MicrosoftCustomerAgreement** \\\n * **AffiliatePurchaseTerms** \\\n * **Other**\n */\nexport type Category = string;\n\n/** Known values of {@link AcceptanceMode} that the service accepts. */\nexport enum KnownAcceptanceMode {\n ClickToAccept = \"ClickToAccept\",\n ESignEmbedded = \"ESignEmbedded\",\n ESignOffline = \"ESignOffline\"\n}\n\n/**\n * Defines values for AcceptanceMode. \\\n * {@link KnownAcceptanceMode} can be used interchangeably with AcceptanceMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClickToAccept** \\\n * **ESignEmbedded** \\\n * **ESignOffline**\n */\nexport type AcceptanceMode = string;\n\n/** Optional parameters. */\nexport interface BillingAccountsListOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the soldTo, invoice sections and billing profiles. */\n expand?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type BillingAccountsListResponse = BillingAccountListResult;\n\n/** Optional parameters. */\nexport interface BillingAccountsGetOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the soldTo, invoice sections and billing profiles. */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type BillingAccountsGetResponse = BillingAccount;\n\n/** Optional parameters. */\nexport interface BillingAccountsUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type BillingAccountsUpdateResponse = BillingAccount;\n\n/** Optional parameters. */\nexport interface BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listInvoiceSectionsByCreateSubscriptionPermission operation. */\nexport type BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionResponse = InvoiceSectionListWithCreateSubPermissionResult;\n\n/** Optional parameters. */\nexport interface BillingAccountsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the soldTo, invoice sections and billing profiles. */\n expand?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type BillingAccountsListNextResponse = BillingAccountListResult;\n\n/** Optional parameters. */\nexport interface BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listInvoiceSectionsByCreateSubscriptionPermissionNext operation. */\nexport type BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextResponse = InvoiceSectionListWithCreateSubPermissionResult;\n\n/** Optional parameters. */\nexport interface AddressValidateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the validate operation. */\nexport type AddressValidateResponse = ValidateAddressResponse;\n\n/** Optional parameters. */\nexport interface AvailableBalancesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type AvailableBalancesGetResponse = AvailableBalance;\n\n/** Optional parameters. */\nexport interface InstructionsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type InstructionsListByBillingProfileResponse = InstructionListResult;\n\n/** Optional parameters. */\nexport interface InstructionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type InstructionsGetResponse = Instruction;\n\n/** Optional parameters. */\nexport interface InstructionsPutOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the put operation. */\nexport type InstructionsPutResponse = Instruction;\n\n/** Optional parameters. */\nexport interface InstructionsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type InstructionsListByBillingProfileNextResponse = InstructionListResult;\n\n/** Optional parameters. */\nexport interface BillingProfilesListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the invoice sections. */\n expand?: string;\n}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type BillingProfilesListByBillingAccountResponse = BillingProfileListResult;\n\n/** Optional parameters. */\nexport interface BillingProfilesGetOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the invoice sections. */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type BillingProfilesGetResponse = BillingProfile;\n\n/** Optional parameters. */\nexport interface BillingProfilesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type BillingProfilesCreateOrUpdateResponse = BillingProfile;\n\n/** Optional parameters. */\nexport interface BillingProfilesListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the invoice sections. */\n expand?: string;\n}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type BillingProfilesListByBillingAccountNextResponse = BillingProfileListResult;\n\n/** Optional parameters. */\nexport interface CustomersListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {\n /** Used for searching customers by their name. Any customer with name containing the search text will be included in the response */\n search?: string;\n /** May be used to filter the list of customers. */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type CustomersListByBillingProfileResponse = CustomerListResult;\n\n/** Optional parameters. */\nexport interface CustomersListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {\n /** Used for searching customers by their name. Any customer with name containing the search text will be included in the response */\n search?: string;\n /** May be used to filter the list of customers. */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type CustomersListByBillingAccountResponse = CustomerListResult;\n\n/** Optional parameters. */\nexport interface CustomersGetOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand enabledAzurePlans and resellers */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type CustomersGetResponse = Customer;\n\n/** Optional parameters. */\nexport interface CustomersListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {\n /** Used for searching customers by their name. Any customer with name containing the search text will be included in the response */\n search?: string;\n /** May be used to filter the list of customers. */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type CustomersListByBillingProfileNextResponse = CustomerListResult;\n\n/** Optional parameters. */\nexport interface CustomersListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {\n /** Used for searching customers by their name. Any customer with name containing the search text will be included in the response */\n search?: string;\n /** May be used to filter the list of customers. */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type CustomersListByBillingAccountNextResponse = CustomerListResult;\n\n/** Optional parameters. */\nexport interface InvoiceSectionsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type InvoiceSectionsListByBillingProfileResponse = InvoiceSectionListResult;\n\n/** Optional parameters. */\nexport interface InvoiceSectionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type InvoiceSectionsGetResponse = InvoiceSection;\n\n/** Optional parameters. */\nexport interface InvoiceSectionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type InvoiceSectionsCreateOrUpdateResponse = InvoiceSection;\n\n/** Optional parameters. */\nexport interface InvoiceSectionsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type InvoiceSectionsListByBillingProfileNextResponse = InvoiceSectionListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByCustomerOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomer operation. */\nexport type BillingPermissionsListByCustomerResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type BillingPermissionsListByBillingAccountResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByInvoiceSectionsOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSections operation. */\nexport type BillingPermissionsListByInvoiceSectionsResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type BillingPermissionsListByBillingProfileResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByCustomerNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomerNext operation. */\nexport type BillingPermissionsListByCustomerNextResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type BillingPermissionsListByBillingAccountNextResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByInvoiceSectionsNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSectionsNext operation. */\nexport type BillingPermissionsListByInvoiceSectionsNextResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingPermissionsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type BillingPermissionsListByBillingProfileNextResponse = BillingPermissionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByCustomerOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomer operation. */\nexport type BillingSubscriptionsListByCustomerResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type BillingSubscriptionsListByBillingAccountResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type BillingSubscriptionsListByBillingProfileResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSection operation. */\nexport type BillingSubscriptionsListByInvoiceSectionResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type BillingSubscriptionsGetResponse = BillingSubscription;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type BillingSubscriptionsUpdateResponse = BillingSubscription;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsMoveOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the move operation. */\nexport type BillingSubscriptionsMoveResponse = BillingSubscription;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsValidateMoveOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the validateMove operation. */\nexport type BillingSubscriptionsValidateMoveResponse = ValidateSubscriptionTransferEligibilityResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByCustomerNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomerNext operation. */\nexport type BillingSubscriptionsListByCustomerNextResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type BillingSubscriptionsListByBillingAccountNextResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type BillingSubscriptionsListByBillingProfileNextResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface BillingSubscriptionsListByInvoiceSectionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSectionNext operation. */\nexport type BillingSubscriptionsListByInvoiceSectionNextResponse = BillingSubscriptionsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByCustomerOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomer operation. */\nexport type ProductsListByCustomerResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type ProductsListByBillingAccountResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type ProductsListByBillingProfileResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByInvoiceSection operation. */\nexport type ProductsListByInvoiceSectionResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type ProductsGetResponse = Product;\n\n/** Optional parameters. */\nexport interface ProductsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type ProductsUpdateResponse = Product;\n\n/** Optional parameters. */\nexport interface ProductsMoveOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the move operation. */\nexport type ProductsMoveResponse = Product;\n\n/** Optional parameters. */\nexport interface ProductsValidateMoveOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the validateMove operation. */\nexport type ProductsValidateMoveResponse = ValidateProductTransferEligibilityResult;\n\n/** Optional parameters. */\nexport interface ProductsListByCustomerNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByCustomerNext operation. */\nexport type ProductsListByCustomerNextResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type ProductsListByBillingAccountNextResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type ProductsListByBillingProfileNextResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface ProductsListByInvoiceSectionNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). */\n filter?: string;\n}\n\n/** Contains response data for the listByInvoiceSectionNext operation. */\nexport type ProductsListByInvoiceSectionNextResponse = ProductsListResult;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type InvoicesListByBillingAccountResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type InvoicesListByBillingProfileResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface InvoicesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type InvoicesGetResponse = Invoice;\n\n/** Optional parameters. */\nexport interface InvoicesGetByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getById operation. */\nexport type InvoicesGetByIdResponse = Invoice;\n\n/** Optional parameters. */\nexport interface InvoicesDownloadInvoiceOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the downloadInvoice operation. */\nexport type InvoicesDownloadInvoiceResponse = DownloadUrl;\n\n/** Optional parameters. */\nexport interface InvoicesDownloadMultipleBillingProfileInvoicesOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the downloadMultipleBillingProfileInvoices operation. */\nexport type InvoicesDownloadMultipleBillingProfileInvoicesResponse = DownloadUrl;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingSubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingSubscription operation. */\nexport type InvoicesListByBillingSubscriptionResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface InvoicesGetBySubscriptionAndInvoiceIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getBySubscriptionAndInvoiceId operation. */\nexport type InvoicesGetBySubscriptionAndInvoiceIdResponse = Invoice;\n\n/** Optional parameters. */\nexport interface InvoicesDownloadBillingSubscriptionInvoiceOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the downloadBillingSubscriptionInvoice operation. */\nexport type InvoicesDownloadBillingSubscriptionInvoiceResponse = DownloadUrl;\n\n/** Optional parameters. */\nexport interface InvoicesDownloadMultipleBillingSubscriptionInvoicesOptionalParams\n extends coreClient.OperationOptions {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the downloadMultipleBillingSubscriptionInvoices operation. */\nexport type InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse = DownloadUrl;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type InvoicesListByBillingAccountNextResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type InvoicesListByBillingProfileNextResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface InvoicesListByBillingSubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingSubscriptionNext operation. */\nexport type InvoicesListByBillingSubscriptionNextResponse = InvoiceListResult;\n\n/** Optional parameters. */\nexport interface TransactionsListByInvoiceOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoice operation. */\nexport type TransactionsListByInvoiceResponse = TransactionListResult;\n\n/** Optional parameters. */\nexport interface TransactionsListByInvoiceNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceNext operation. */\nexport type TransactionsListByInvoiceNextResponse = TransactionListResult;\n\n/** Optional parameters. */\nexport interface PoliciesGetByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByBillingProfile operation. */\nexport type PoliciesGetByBillingProfileResponse = Policy;\n\n/** Optional parameters. */\nexport interface PoliciesUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PoliciesUpdateResponse = Policy;\n\n/** Optional parameters. */\nexport interface PoliciesGetByCustomerOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByCustomer operation. */\nexport type PoliciesGetByCustomerResponse = CustomerPolicy;\n\n/** Optional parameters. */\nexport interface PoliciesUpdateCustomerOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the updateCustomer operation. */\nexport type PoliciesUpdateCustomerResponse = CustomerPolicy;\n\n/** Optional parameters. */\nexport interface BillingPropertyGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type BillingPropertyGetResponse = BillingProperty;\n\n/** Optional parameters. */\nexport interface BillingPropertyUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type BillingPropertyUpdateResponse = BillingProperty;\n\n/** Optional parameters. */\nexport interface OperationsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type OperationsListResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface OperationsListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type OperationsListNextResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsGetByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByBillingAccount operation. */\nexport type BillingRoleDefinitionsGetByBillingAccountResponse = BillingRoleDefinition;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsGetByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByInvoiceSection operation. */\nexport type BillingRoleDefinitionsGetByInvoiceSectionResponse = BillingRoleDefinition;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsGetByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByBillingProfile operation. */\nexport type BillingRoleDefinitionsGetByBillingProfileResponse = BillingRoleDefinition;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type BillingRoleDefinitionsListByBillingAccountResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSection operation. */\nexport type BillingRoleDefinitionsListByInvoiceSectionResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type BillingRoleDefinitionsListByBillingProfileResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type BillingRoleDefinitionsListByBillingAccountNextResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByInvoiceSectionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSectionNext operation. */\nexport type BillingRoleDefinitionsListByInvoiceSectionNextResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleDefinitionsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type BillingRoleDefinitionsListByBillingProfileNextResponse = BillingRoleDefinitionListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsGetByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByBillingAccount operation. */\nexport type BillingRoleAssignmentsGetByBillingAccountResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsDeleteByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the deleteByBillingAccount operation. */\nexport type BillingRoleAssignmentsDeleteByBillingAccountResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsGetByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByInvoiceSection operation. */\nexport type BillingRoleAssignmentsGetByInvoiceSectionResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsDeleteByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the deleteByInvoiceSection operation. */\nexport type BillingRoleAssignmentsDeleteByInvoiceSectionResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsGetByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByBillingProfile operation. */\nexport type BillingRoleAssignmentsGetByBillingProfileResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsDeleteByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the deleteByBillingProfile operation. */\nexport type BillingRoleAssignmentsDeleteByBillingProfileResponse = BillingRoleAssignment;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type BillingRoleAssignmentsListByBillingAccountResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByInvoiceSectionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSection operation. */\nexport type BillingRoleAssignmentsListByInvoiceSectionResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type BillingRoleAssignmentsListByBillingProfileResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type BillingRoleAssignmentsListByBillingAccountNextResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByInvoiceSectionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByInvoiceSectionNext operation. */\nexport type BillingRoleAssignmentsListByInvoiceSectionNextResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface BillingRoleAssignmentsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type BillingRoleAssignmentsListByBillingProfileNextResponse = BillingRoleAssignmentListResult;\n\n/** Optional parameters. */\nexport interface AgreementsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the participants. */\n expand?: string;\n}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type AgreementsListByBillingAccountResponse = AgreementListResult;\n\n/** Optional parameters. */\nexport interface AgreementsGetOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the participants. */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type AgreementsGetResponse = Agreement;\n\n/** Optional parameters. */\nexport interface AgreementsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to expand the participants. */\n expand?: string;\n}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type AgreementsListByBillingAccountNextResponse = AgreementListResult;\n\n/** Optional parameters. */\nexport interface ReservationsListByBillingAccountOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. */\n filter?: string;\n /** May be used to sort order by reservation properties. */\n orderby?: string;\n /** To indicate whether to refresh the roll up counts of the reservations group by provisioning states */\n refreshSummary?: string;\n /** The selected provisioning state */\n selectedState?: string;\n}\n\n/** Contains response data for the listByBillingAccount operation. */\nexport type ReservationsListByBillingAccountResponse = ReservationsListResult;\n\n/** Optional parameters. */\nexport interface ReservationsListByBillingProfileOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. */\n filter?: string;\n /** May be used to sort order by reservation properties. */\n orderby?: string;\n /** To indicate whether to refresh the roll up counts of the reservations group by provisioning state */\n refreshSummary?: string;\n /** The selected provisioning state */\n selectedState?: string;\n}\n\n/** Contains response data for the listByBillingProfile operation. */\nexport type ReservationsListByBillingProfileResponse = ReservationsListResult;\n\n/** Optional parameters. */\nexport interface ReservationsListByBillingAccountNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. */\n filter?: string;\n /** May be used to sort order by reservation properties. */\n orderby?: string;\n /** To indicate whether to refresh the roll up counts of the reservations group by provisioning states */\n refreshSummary?: string;\n /** The selected provisioning state */\n selectedState?: string;\n}\n\n/** Contains response data for the listByBillingAccountNext operation. */\nexport type ReservationsListByBillingAccountNextResponse = ReservationsListResult;\n\n/** Optional parameters. */\nexport interface ReservationsListByBillingProfileNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. */\n filter?: string;\n /** May be used to sort order by reservation properties. */\n orderby?: string;\n /** To indicate whether to refresh the roll up counts of the reservations group by provisioning state */\n refreshSummary?: string;\n /** The selected provisioning state */\n selectedState?: string;\n}\n\n/** Contains response data for the listByBillingProfileNext operation. */\nexport type ReservationsListByBillingProfileNextResponse = ReservationsListResult;\n\n/** Optional parameters. */\nexport interface EnrollmentAccountsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type EnrollmentAccountsListResponse = EnrollmentAccountListResult;\n\n/** Optional parameters. */\nexport interface EnrollmentAccountsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type EnrollmentAccountsGetResponse = EnrollmentAccountSummary;\n\n/** Optional parameters. */\nexport interface EnrollmentAccountsListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type EnrollmentAccountsListNextResponse = EnrollmentAccountListResult;\n\n/** Optional parameters. */\nexport interface BillingPeriodsListOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. */\n filter?: string;\n /** Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. */\n skiptoken?: string;\n /** May be used to limit the number of results to the most recent N billing periods. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type BillingPeriodsListResponse = BillingPeriodsListResult;\n\n/** Optional parameters. */\nexport interface BillingPeriodsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type BillingPeriodsGetResponse = BillingPeriod;\n\n/** Optional parameters. */\nexport interface BillingPeriodsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. */\n filter?: string;\n /** Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. */\n skiptoken?: string;\n /** May be used to limit the number of results to the most recent N billing periods. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type BillingPeriodsListNextResponse = BillingPeriodsListResult;\n\n/** Optional parameters. */\nexport interface BillingManagementClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const BillingAccountListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingAccountListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingAccount\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddressDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddressDetails\",\n modelProperties: {\n firstName: {\n serializedName: \"firstName\",\n type: {\n name: \"String\"\n }\n },\n middleName: {\n serializedName: \"middleName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"lastName\",\n type: {\n name: \"String\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n addressLine1: {\n serializedName: \"addressLine1\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n addressLine2: {\n serializedName: \"addressLine2\",\n type: {\n name: \"String\"\n }\n },\n addressLine3: {\n serializedName: \"addressLine3\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n district: {\n serializedName: \"district\",\n type: {\n name: \"String\"\n }\n },\n region: {\n serializedName: \"region\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"country\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n postalCode: {\n serializedName: \"postalCode\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingProfilesOnExpand: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProfilesOnExpand\",\n modelProperties: {\n hasMoreResults: {\n serializedName: \"hasMoreResults\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingProfile\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IndirectRelationshipInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndirectRelationshipInfo\",\n modelProperties: {\n billingAccountName: {\n serializedName: \"billingAccountName\",\n type: {\n name: \"String\"\n }\n },\n billingProfileName: {\n serializedName: \"billingProfileName\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AzurePlan: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AzurePlan\",\n modelProperties: {\n skuId: {\n serializedName: \"skuId\",\n type: {\n name: \"String\"\n }\n },\n skuDescription: {\n serializedName: \"skuDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionsOnExpand: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionsOnExpand\",\n modelProperties: {\n hasMoreResults: {\n serializedName: \"hasMoreResults\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InvoiceSection\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Enrollment: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Enrollment\",\n modelProperties: {\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"DateTime\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"DateTime\"\n }\n },\n currency: {\n serializedName: \"currency\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n channel: {\n serializedName: \"channel\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n policies: {\n serializedName: \"policies\",\n type: {\n name: \"Composite\",\n className: \"EnrollmentPolicies\"\n }\n },\n language: {\n serializedName: \"language\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n countryCode: {\n serializedName: \"countryCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingCycle: {\n serializedName: \"billingCycle\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EnrollmentPolicies: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EnrollmentPolicies\",\n modelProperties: {\n accountOwnerViewCharges: {\n serializedName: \"accountOwnerViewCharges\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n departmentAdminViewCharges: {\n serializedName: \"departmentAdminViewCharges\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n marketplaceEnabled: {\n serializedName: \"marketplaceEnabled\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n reservedInstancesEnabled: {\n serializedName: \"reservedInstancesEnabled\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorDetails\"\n }\n }\n }\n }\n};\n\nexport const ErrorDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorDetails\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorSubDetailsItem\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ErrorSubDetailsItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorSubDetailsItem\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingAccountUpdateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingAccountUpdateRequest\",\n modelProperties: {\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n soldTo: {\n serializedName: \"properties.soldTo\",\n type: {\n name: \"Composite\",\n className: \"AddressDetails\"\n }\n },\n agreementType: {\n serializedName: \"properties.agreementType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n accountType: {\n serializedName: \"properties.accountType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n accountStatus: {\n serializedName: \"properties.accountStatus\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfiles: {\n serializedName: \"properties.billingProfiles\",\n type: {\n name: \"Composite\",\n className: \"BillingProfilesOnExpand\"\n }\n },\n enrollmentDetails: {\n serializedName: \"properties.enrollmentDetails\",\n type: {\n name: \"Composite\",\n className: \"Enrollment\"\n }\n },\n departments: {\n serializedName: \"properties.departments\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Department\"\n }\n }\n }\n },\n enrollmentAccounts: {\n serializedName: \"properties.enrollmentAccounts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccount\"\n }\n }\n }\n },\n hasReadAccess: {\n serializedName: \"properties.hasReadAccess\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n notificationEmailAddress: {\n serializedName: \"properties.notificationEmailAddress\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionListWithCreateSubPermissionResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionListWithCreateSubPermissionResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionWithCreateSubPermission\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionWithCreateSubPermission: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionWithCreateSubPermission\",\n modelProperties: {\n invoiceSectionId: {\n serializedName: \"invoiceSectionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionDisplayName: {\n serializedName: \"invoiceSectionDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionSystemId: {\n serializedName: \"invoiceSectionSystemId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileId: {\n serializedName: \"billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileStatus: {\n serializedName: \"billingProfileStatus\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileStatusReasonCode: {\n serializedName: \"billingProfileStatusReasonCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileSpendingLimit: {\n serializedName: \"billingProfileSpendingLimit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileSystemId: {\n serializedName: \"billingProfileSystemId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n enabledAzurePlans: {\n serializedName: \"enabledAzurePlans\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AzurePlan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ValidateAddressResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateAddressResponse\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n type: {\n name: \"String\"\n }\n },\n suggestedAddresses: {\n serializedName: \"suggestedAddresses\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AddressDetails\"\n }\n }\n }\n },\n validationMessage: {\n serializedName: \"validationMessage\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Amount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Amount\",\n modelProperties: {\n currency: {\n serializedName: \"currency\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const InstructionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InstructionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Instruction\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingProfileListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProfileListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingProfile\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomerListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomerListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Customer\"\n }\n }\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Reseller: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Reseller\",\n modelProperties: {\n resellerId: {\n serializedName: \"resellerId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InvoiceSection\"\n }\n }\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingPermissionsListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingPermissionsListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingPermissionsProperties\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingPermissionsProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingPermissionsProperties\",\n modelProperties: {\n actions: {\n serializedName: \"actions\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n notActions: {\n serializedName: \"notActions\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BillingSubscriptionsListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingSubscriptionsListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingSubscription\"\n }\n }\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ProductsListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ProductsListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Product\"\n }\n }\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Invoice\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Document: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Document\",\n modelProperties: {\n kind: {\n serializedName: \"kind\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n url: {\n serializedName: \"url\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"source\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PaymentProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PaymentProperties\",\n modelProperties: {\n paymentType: {\n serializedName: \"paymentType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n amount: {\n serializedName: \"amount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n date: {\n serializedName: \"date\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n paymentMethodFamily: {\n serializedName: \"paymentMethodFamily\",\n type: {\n name: \"String\"\n }\n },\n paymentMethodType: {\n serializedName: \"paymentMethodType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RebillDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RebillDetails\",\n modelProperties: {\n creditNoteDocumentId: {\n serializedName: \"creditNoteDocumentId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceDocumentId: {\n serializedName: \"invoiceDocumentId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n rebillDetails: {\n serializedName: \"rebillDetails\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Composite\", className: \"RebillDetails\" } }\n }\n }\n }\n }\n};\n\nexport const DownloadUrl: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DownloadUrl\",\n modelProperties: {\n expiryTime: {\n serializedName: \"expiryTime\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n url: {\n serializedName: \"url\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TransferBillingSubscriptionRequestProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TransferBillingSubscriptionRequestProperties\",\n modelProperties: {\n destinationInvoiceSectionId: {\n serializedName: \"destinationInvoiceSectionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ValidateSubscriptionTransferEligibilityResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateSubscriptionTransferEligibilityResult\",\n modelProperties: {\n isMoveEligible: {\n serializedName: \"isMoveEligible\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n errorDetails: {\n serializedName: \"errorDetails\",\n type: {\n name: \"Composite\",\n className: \"ValidateSubscriptionTransferEligibilityError\"\n }\n }\n }\n }\n};\n\nexport const ValidateSubscriptionTransferEligibilityError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateSubscriptionTransferEligibilityError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TransferProductRequestProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TransferProductRequestProperties\",\n modelProperties: {\n destinationInvoiceSectionId: {\n serializedName: \"destinationInvoiceSectionId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ValidateProductTransferEligibilityResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateProductTransferEligibilityResult\",\n modelProperties: {\n isMoveEligible: {\n serializedName: \"isMoveEligible\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n errorDetails: {\n serializedName: \"errorDetails\",\n type: {\n name: \"Composite\",\n className: \"ValidateProductTransferEligibilityError\"\n }\n }\n }\n }\n};\n\nexport const ValidateProductTransferEligibilityError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateProductTransferEligibilityError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TransactionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TransactionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Transaction\"\n }\n }\n }\n },\n totalCount: {\n serializedName: \"totalCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Operation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Operation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Operation\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isDataAction: {\n serializedName: \"isDataAction\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n display: {\n serializedName: \"display\",\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\"\n }\n }\n }\n }\n};\n\nexport const OperationDisplay: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDisplay\",\n modelProperties: {\n provider: {\n serializedName: \"provider\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resource: {\n serializedName: \"resource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operation: {\n serializedName: \"operation\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingRoleDefinitionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingRoleDefinitionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingRoleDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingRoleAssignmentListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingRoleAssignmentListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingRoleAssignment\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AgreementListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AgreementListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Agreement\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Participants: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Participants\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n statusDate: {\n serializedName: \"statusDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n email: {\n serializedName: \"email\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ReservationsListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ReservationsListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Reservation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n summary: {\n serializedName: \"summary\",\n type: {\n name: \"Composite\",\n className: \"ReservationSummary\"\n }\n }\n }\n }\n};\n\nexport const Reservation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Reservation\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n sku: {\n serializedName: \"sku\",\n type: {\n name: \"Composite\",\n className: \"ReservationSkuProperty\"\n }\n },\n appliedScopes: {\n serializedName: \"properties.appliedScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n appliedScopeType: {\n serializedName: \"properties.appliedScopeType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n reservedResourceType: {\n serializedName: \"properties.reservedResourceType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n quantity: {\n serializedName: \"properties.quantity\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n expiryDate: {\n serializedName: \"properties.expiryDate\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n provisioningSubState: {\n serializedName: \"properties.provisioningSubState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayProvisioningState: {\n serializedName: \"properties.displayProvisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n userFriendlyRenewState: {\n serializedName: \"properties.userFriendlyRenewState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n userFriendlyAppliedScopeType: {\n serializedName: \"properties.userFriendlyAppliedScopeType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDateTime: {\n serializedName: \"properties.effectiveDateTime\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n skuDescription: {\n serializedName: \"properties.skuDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n term: {\n serializedName: \"properties.term\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n renew: {\n serializedName: \"properties.renew\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n renewSource: {\n serializedName: \"properties.renewSource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n utilization: {\n serializedName: \"properties.utilization\",\n type: {\n name: \"Composite\",\n className: \"ReservationPropertyUtilization\"\n }\n }\n }\n }\n};\n\nexport const ReservationSkuProperty: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ReservationSkuProperty\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ReservationPropertyUtilization: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ReservationPropertyUtilization\",\n modelProperties: {\n trend: {\n serializedName: \"trend\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n aggregates: {\n serializedName: \"aggregates\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ReservationUtilizationAggregates\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ReservationUtilizationAggregates: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ReservationUtilizationAggregates\",\n modelProperties: {\n grain: {\n serializedName: \"grain\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n grainUnit: {\n serializedName: \"grainUnit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n valueUnit: {\n serializedName: \"valueUnit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ReservationSummary: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ReservationSummary\",\n modelProperties: {\n succeededCount: {\n serializedName: \"succeededCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n failedCount: {\n serializedName: \"failedCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n expiringCount: {\n serializedName: \"expiringCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n expiredCount: {\n serializedName: \"expiredCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n pendingCount: {\n serializedName: \"pendingCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n cancelledCount: {\n serializedName: \"cancelledCount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const EnrollmentAccountListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccountListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccountSummary\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingPeriodsListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingPeriodsListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingPeriod\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingProfileCreationRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProfileCreationRequest\",\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n poNumber: {\n serializedName: \"poNumber\",\n type: {\n name: \"String\"\n }\n },\n billTo: {\n serializedName: \"billTo\",\n type: {\n name: \"Composite\",\n className: \"AddressDetails\"\n }\n },\n invoiceEmailOptIn: {\n serializedName: \"invoiceEmailOptIn\",\n type: {\n name: \"Boolean\"\n }\n },\n enabledAzurePlans: {\n serializedName: \"enabledAzurePlans\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AzurePlan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionCreationRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionCreationRequest\",\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EnrollmentAccountContext: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccountContext\",\n modelProperties: {\n costCenter: {\n serializedName: \"costCenter\",\n type: {\n name: \"String\"\n }\n },\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"DateTime\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"DateTime\"\n }\n },\n enrollmentAccountName: {\n serializedName: \"enrollmentAccountName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSection\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n labels: {\n serializedName: \"properties.labels\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n state: {\n serializedName: \"properties.state\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemId: {\n serializedName: \"properties.systemId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"properties.tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n targetCloud: {\n serializedName: \"properties.targetCloud\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingProfile: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProfile\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n poNumber: {\n serializedName: \"properties.poNumber\",\n type: {\n name: \"String\"\n }\n },\n billingRelationshipType: {\n serializedName: \"properties.billingRelationshipType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billTo: {\n serializedName: \"properties.billTo\",\n type: {\n name: \"Composite\",\n className: \"AddressDetails\"\n }\n },\n indirectRelationshipInfo: {\n serializedName: \"properties.indirectRelationshipInfo\",\n type: {\n name: \"Composite\",\n className: \"IndirectRelationshipInfo\"\n }\n },\n invoiceEmailOptIn: {\n serializedName: \"properties.invoiceEmailOptIn\",\n type: {\n name: \"Boolean\"\n }\n },\n invoiceDay: {\n serializedName: \"properties.invoiceDay\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n currency: {\n serializedName: \"properties.currency\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n enabledAzurePlans: {\n serializedName: \"properties.enabledAzurePlans\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AzurePlan\"\n }\n }\n }\n },\n invoiceSections: {\n serializedName: \"properties.invoiceSections\",\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionsOnExpand\"\n }\n },\n hasReadAccess: {\n serializedName: \"properties.hasReadAccess\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n systemId: {\n serializedName: \"properties.systemId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n statusReasonCode: {\n serializedName: \"properties.statusReasonCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n spendingLimit: {\n serializedName: \"properties.spendingLimit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n targetClouds: {\n serializedName: \"properties.targetClouds\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n tags: {\n serializedName: \"properties.tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const EnrollmentAccount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccount\",\n modelProperties: {\n ...Resource.type.modelProperties,\n accountName: {\n serializedName: \"properties.accountName\",\n type: {\n name: \"String\"\n }\n },\n costCenter: {\n serializedName: \"properties.costCenter\",\n type: {\n name: \"String\"\n }\n },\n accountOwner: {\n serializedName: \"properties.accountOwner\",\n type: {\n name: \"String\"\n }\n },\n accountOwnerEmail: {\n serializedName: \"properties.accountOwnerEmail\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n },\n startDate: {\n serializedName: \"properties.startDate\",\n type: {\n name: \"DateTime\"\n }\n },\n endDate: {\n serializedName: \"properties.endDate\",\n type: {\n name: \"DateTime\"\n }\n },\n department: {\n serializedName: \"properties.department\",\n type: {\n name: \"Composite\",\n className: \"Department\"\n }\n }\n }\n }\n};\n\nexport const Department: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Department\",\n modelProperties: {\n ...Resource.type.modelProperties,\n departmentName: {\n serializedName: \"properties.departmentName\",\n type: {\n name: \"String\"\n }\n },\n costCenter: {\n serializedName: \"properties.costCenter\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n },\n enrollmentAccounts: {\n serializedName: \"properties.enrollmentAccounts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccount\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BillingAccount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingAccount\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n soldTo: {\n serializedName: \"properties.soldTo\",\n type: {\n name: \"Composite\",\n className: \"AddressDetails\"\n }\n },\n agreementType: {\n serializedName: \"properties.agreementType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n accountType: {\n serializedName: \"properties.accountType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n accountStatus: {\n serializedName: \"properties.accountStatus\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfiles: {\n serializedName: \"properties.billingProfiles\",\n type: {\n name: \"Composite\",\n className: \"BillingProfilesOnExpand\"\n }\n },\n enrollmentDetails: {\n serializedName: \"properties.enrollmentDetails\",\n type: {\n name: \"Composite\",\n className: \"Enrollment\"\n }\n },\n departments: {\n serializedName: \"properties.departments\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Department\"\n }\n }\n }\n },\n enrollmentAccounts: {\n serializedName: \"properties.enrollmentAccounts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccount\"\n }\n }\n }\n },\n hasReadAccess: {\n serializedName: \"properties.hasReadAccess\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n notificationEmailAddress: {\n serializedName: \"properties.notificationEmailAddress\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AvailableBalance: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AvailableBalance\",\n modelProperties: {\n ...Resource.type.modelProperties,\n amount: {\n serializedName: \"properties.amount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n }\n }\n }\n};\n\nexport const Instruction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Instruction\",\n modelProperties: {\n ...Resource.type.modelProperties,\n amount: {\n serializedName: \"properties.amount\",\n type: {\n name: \"Number\"\n }\n },\n startDate: {\n serializedName: \"properties.startDate\",\n type: {\n name: \"DateTime\"\n }\n },\n endDate: {\n serializedName: \"properties.endDate\",\n type: {\n name: \"DateTime\"\n }\n },\n creationDate: {\n serializedName: \"properties.creationDate\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const Customer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Customer\",\n modelProperties: {\n ...Resource.type.modelProperties,\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n enabledAzurePlans: {\n serializedName: \"properties.enabledAzurePlans\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AzurePlan\"\n }\n }\n }\n },\n resellers: {\n serializedName: \"properties.resellers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Reseller\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BillingSubscription: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingSubscription\",\n modelProperties: {\n ...Resource.type.modelProperties,\n displayName: {\n serializedName: \"properties.displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"Uuid\"\n }\n },\n subscriptionBillingStatus: {\n serializedName: \"properties.subscriptionBillingStatus\",\n type: {\n name: \"String\"\n }\n },\n lastMonthCharges: {\n serializedName: \"properties.lastMonthCharges\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n monthToDateCharges: {\n serializedName: \"properties.monthToDateCharges\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n costCenter: {\n serializedName: \"properties.costCenter\",\n type: {\n name: \"String\"\n }\n },\n customerId: {\n serializedName: \"properties.customerId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n customerDisplayName: {\n serializedName: \"properties.customerDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionId: {\n serializedName: \"properties.invoiceSectionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionDisplayName: {\n serializedName: \"properties.invoiceSectionDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n reseller: {\n serializedName: \"properties.reseller\",\n type: {\n name: \"Composite\",\n className: \"Reseller\"\n }\n },\n skuId: {\n serializedName: \"properties.skuId\",\n type: {\n name: \"String\"\n }\n },\n skuDescription: {\n serializedName: \"properties.skuDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n suspensionReasons: {\n serializedName: \"properties.suspensionReasons\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Product: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Product\",\n modelProperties: {\n ...Resource.type.modelProperties,\n autoRenew: {\n serializedName: \"properties.autoRenew\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n purchaseDate: {\n serializedName: \"properties.purchaseDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n productTypeId: {\n serializedName: \"properties.productTypeId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productType: {\n serializedName: \"properties.productType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n },\n endDate: {\n serializedName: \"properties.endDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n billingFrequency: {\n serializedName: \"properties.billingFrequency\",\n type: {\n name: \"String\"\n }\n },\n lastCharge: {\n serializedName: \"properties.lastCharge\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n lastChargeDate: {\n serializedName: \"properties.lastChargeDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n quantity: {\n serializedName: \"properties.quantity\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n skuId: {\n serializedName: \"properties.skuId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n skuDescription: {\n serializedName: \"properties.skuDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n tenantId: {\n serializedName: \"properties.tenantId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n availabilityId: {\n serializedName: \"properties.availabilityId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionId: {\n serializedName: \"properties.invoiceSectionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionDisplayName: {\n serializedName: \"properties.invoiceSectionDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n customerId: {\n serializedName: \"properties.customerId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n customerDisplayName: {\n serializedName: \"properties.customerDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n reseller: {\n serializedName: \"properties.reseller\",\n type: {\n name: \"Composite\",\n className: \"Reseller\"\n }\n }\n }\n }\n};\n\nexport const Invoice: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Invoice\",\n modelProperties: {\n ...Resource.type.modelProperties,\n dueDate: {\n serializedName: \"properties.dueDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n invoiceDate: {\n serializedName: \"properties.invoiceDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n amountDue: {\n serializedName: \"properties.amountDue\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n azurePrepaymentApplied: {\n serializedName: \"properties.azurePrepaymentApplied\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n billedAmount: {\n serializedName: \"properties.billedAmount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n creditAmount: {\n serializedName: \"properties.creditAmount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n freeAzureCreditApplied: {\n serializedName: \"properties.freeAzureCreditApplied\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n subTotal: {\n serializedName: \"properties.subTotal\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n taxAmount: {\n serializedName: \"properties.taxAmount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n totalAmount: {\n serializedName: \"properties.totalAmount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n invoicePeriodStartDate: {\n serializedName: \"properties.invoicePeriodStartDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n invoicePeriodEndDate: {\n serializedName: \"properties.invoicePeriodEndDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n invoiceType: {\n serializedName: \"properties.invoiceType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isMonthlyInvoice: {\n serializedName: \"properties.isMonthlyInvoice\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n purchaseOrderNumber: {\n serializedName: \"properties.purchaseOrderNumber\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n documents: {\n serializedName: \"properties.documents\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Document\"\n }\n }\n }\n },\n payments: {\n serializedName: \"properties.payments\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PaymentProperties\"\n }\n }\n }\n },\n rebillDetails: {\n serializedName: \"properties.rebillDetails\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Composite\", className: \"RebillDetails\" } }\n }\n },\n documentType: {\n serializedName: \"properties.documentType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billedDocumentId: {\n serializedName: \"properties.billedDocumentId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n creditForDocumentId: {\n serializedName: \"properties.creditForDocumentId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Transaction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Transaction\",\n modelProperties: {\n ...Resource.type.modelProperties,\n kind: {\n serializedName: \"properties.kind\",\n type: {\n name: \"String\"\n }\n },\n date: {\n serializedName: \"properties.date\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n invoice: {\n serializedName: \"properties.invoice\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceId: {\n serializedName: \"properties.invoiceId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n orderId: {\n serializedName: \"properties.orderId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n orderName: {\n serializedName: \"properties.orderName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productFamily: {\n serializedName: \"properties.productFamily\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productTypeId: {\n serializedName: \"properties.productTypeId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productType: {\n serializedName: \"properties.productType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productDescription: {\n serializedName: \"properties.productDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n transactionType: {\n serializedName: \"properties.transactionType\",\n type: {\n name: \"String\"\n }\n },\n transactionAmount: {\n serializedName: \"properties.transactionAmount\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n quantity: {\n serializedName: \"properties.quantity\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n invoiceSectionId: {\n serializedName: \"properties.invoiceSectionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionDisplayName: {\n serializedName: \"properties.invoiceSectionDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n customerId: {\n serializedName: \"properties.customerId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n customerDisplayName: {\n serializedName: \"properties.customerDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n subscriptionId: {\n serializedName: \"properties.subscriptionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n subscriptionName: {\n serializedName: \"properties.subscriptionName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azurePlan: {\n serializedName: \"properties.azurePlan\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azureCreditApplied: {\n serializedName: \"properties.azureCreditApplied\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n billingCurrency: {\n serializedName: \"properties.billingCurrency\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n discount: {\n serializedName: \"properties.discount\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n effectivePrice: {\n serializedName: \"properties.effectivePrice\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n exchangeRate: {\n serializedName: \"properties.exchangeRate\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n marketPrice: {\n serializedName: \"properties.marketPrice\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n pricingCurrency: {\n serializedName: \"properties.pricingCurrency\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n servicePeriodStartDate: {\n serializedName: \"properties.servicePeriodStartDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n servicePeriodEndDate: {\n serializedName: \"properties.servicePeriodEndDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n subTotal: {\n serializedName: \"properties.subTotal\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n tax: {\n serializedName: \"properties.tax\",\n type: {\n name: \"Composite\",\n className: \"Amount\"\n }\n },\n unitOfMeasure: {\n serializedName: \"properties.unitOfMeasure\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n units: {\n serializedName: \"properties.units\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n unitType: {\n serializedName: \"properties.unitType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Policy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Policy\",\n modelProperties: {\n ...Resource.type.modelProperties,\n marketplacePurchases: {\n serializedName: \"properties.marketplacePurchases\",\n type: {\n name: \"String\"\n }\n },\n reservationPurchases: {\n serializedName: \"properties.reservationPurchases\",\n type: {\n name: \"String\"\n }\n },\n viewCharges: {\n serializedName: \"properties.viewCharges\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomerPolicy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomerPolicy\",\n modelProperties: {\n ...Resource.type.modelProperties,\n viewCharges: {\n serializedName: \"properties.viewCharges\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingProperty: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProperty\",\n modelProperties: {\n ...Resource.type.modelProperties,\n accountAdminNotificationEmailAddress: {\n serializedName: \"properties.accountAdminNotificationEmailAddress\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingTenantId: {\n serializedName: \"properties.billingTenantId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingAccountId: {\n serializedName: \"properties.billingAccountId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingAccountDisplayName: {\n serializedName: \"properties.billingAccountDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileId: {\n serializedName: \"properties.billingProfileId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileDisplayName: {\n serializedName: \"properties.billingProfileDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileStatus: {\n serializedName: \"properties.billingProfileStatus\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileStatusReasonCode: {\n serializedName: \"properties.billingProfileStatusReasonCode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n billingProfileSpendingLimit: {\n serializedName: \"properties.billingProfileSpendingLimit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n costCenter: {\n serializedName: \"properties.costCenter\",\n type: {\n name: \"String\"\n }\n },\n invoiceSectionId: {\n serializedName: \"properties.invoiceSectionId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n invoiceSectionDisplayName: {\n serializedName: \"properties.invoiceSectionDisplayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isAccountAdmin: {\n serializedName: \"properties.isAccountAdmin\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n productId: {\n serializedName: \"properties.productId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n productName: {\n serializedName: \"properties.productName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n skuId: {\n serializedName: \"properties.skuId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n skuDescription: {\n serializedName: \"properties.skuDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingRoleDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingRoleDefinition\",\n modelProperties: {\n ...Resource.type.modelProperties,\n description: {\n serializedName: \"properties.description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n permissions: {\n serializedName: \"properties.permissions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BillingPermissionsProperties\"\n }\n }\n }\n },\n roleName: {\n serializedName: \"properties.roleName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingRoleAssignment: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingRoleAssignment\",\n modelProperties: {\n ...Resource.type.modelProperties,\n createdOn: {\n serializedName: \"properties.createdOn\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdByPrincipalTenantId: {\n serializedName: \"properties.createdByPrincipalTenantId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdByPrincipalId: {\n serializedName: \"properties.createdByPrincipalId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdByUserEmailAddress: {\n serializedName: \"properties.createdByUserEmailAddress\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n principalId: {\n serializedName: \"properties.principalId\",\n type: {\n name: \"String\"\n }\n },\n principalTenantId: {\n serializedName: \"properties.principalTenantId\",\n type: {\n name: \"String\"\n }\n },\n roleDefinitionId: {\n serializedName: \"properties.roleDefinitionId\",\n type: {\n name: \"String\"\n }\n },\n scope: {\n serializedName: \"properties.scope\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n userAuthenticationType: {\n serializedName: \"properties.userAuthenticationType\",\n type: {\n name: \"String\"\n }\n },\n userEmailAddress: {\n serializedName: \"properties.userEmailAddress\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Agreement: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Agreement\",\n modelProperties: {\n ...Resource.type.modelProperties,\n agreementLink: {\n serializedName: \"properties.agreementLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"properties.category\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n acceptanceMode: {\n serializedName: \"properties.acceptanceMode\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n effectiveDate: {\n serializedName: \"properties.effectiveDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n expirationDate: {\n serializedName: \"properties.expirationDate\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n participants: {\n serializedName: \"properties.participants\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Participants\"\n }\n }\n }\n },\n status: {\n serializedName: \"properties.status\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EnrollmentAccountSummary: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EnrollmentAccountSummary\",\n modelProperties: {\n ...Resource.type.modelProperties,\n principalName: {\n serializedName: \"properties.principalName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BillingPeriod: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingPeriod\",\n modelProperties: {\n ...Resource.type.modelProperties,\n billingPeriodStartDate: {\n serializedName: \"properties.billingPeriodStartDate\",\n readOnly: true,\n type: {\n name: \"Date\"\n }\n },\n billingPeriodEndDate: {\n serializedName: \"properties.billingPeriodEndDate\",\n readOnly: true,\n type: {\n name: \"Date\"\n }\n },\n invoiceIds: {\n serializedName: \"properties.invoiceIds\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BillingProfilesCreateOrUpdateHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingProfilesCreateOrUpdateHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const InvoiceSectionsCreateOrUpdateHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoiceSectionsCreateOrUpdateHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const BillingSubscriptionsMoveHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BillingSubscriptionsMoveHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ProductsMoveHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ProductsMoveHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const InvoicesDownloadInvoiceHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoicesDownloadInvoiceHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoicesDownloadMultipleBillingProfileInvoicesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoicesDownloadMultipleBillingProfileInvoicesHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoicesDownloadBillingSubscriptionInvoiceHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoicesDownloadBillingSubscriptionInvoiceHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InvoicesDownloadMultipleBillingSubscriptionInvoicesHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n retryAfter: {\n serializedName: \"retry-after\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n BillingAccountUpdateRequest as BillingAccountUpdateRequestMapper,\n AddressDetails as AddressDetailsMapper,\n Instruction as InstructionMapper,\n BillingProfile as BillingProfileMapper,\n InvoiceSection as InvoiceSectionMapper,\n BillingSubscription as BillingSubscriptionMapper,\n TransferBillingSubscriptionRequestProperties as TransferBillingSubscriptionRequestPropertiesMapper,\n Product as ProductMapper,\n TransferProductRequestProperties as TransferProductRequestPropertiesMapper,\n Policy as PolicyMapper,\n CustomerPolicy as CustomerPolicyMapper,\n BillingProperty as BillingPropertyMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-05-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const expand: OperationQueryParameter = {\n parameterPath: [\"options\", \"expand\"],\n mapper: {\n serializedName: \"$expand\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const billingAccountName: OperationURLParameter = {\n parameterPath: \"billingAccountName\",\n mapper: {\n serializedName: \"billingAccountName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: BillingAccountUpdateRequestMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const address: OperationParameter = {\n parameterPath: \"address\",\n mapper: AddressDetailsMapper\n};\n\nexport const billingProfileName: OperationURLParameter = {\n parameterPath: \"billingProfileName\",\n mapper: {\n serializedName: \"billingProfileName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const instructionName: OperationURLParameter = {\n parameterPath: \"instructionName\",\n mapper: {\n serializedName: \"instructionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InstructionMapper\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: BillingProfileMapper\n};\n\nexport const search: OperationQueryParameter = {\n parameterPath: [\"options\", \"search\"],\n mapper: {\n serializedName: \"$search\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const filter: OperationQueryParameter = {\n parameterPath: [\"options\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const customerName: OperationURLParameter = {\n parameterPath: \"customerName\",\n mapper: {\n serializedName: \"customerName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const invoiceSectionName: OperationURLParameter = {\n parameterPath: \"invoiceSectionName\",\n mapper: {\n serializedName: \"invoiceSectionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InvoiceSectionMapper\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters4: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: BillingSubscriptionMapper\n};\n\nexport const parameters5: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: TransferBillingSubscriptionRequestPropertiesMapper\n};\n\nexport const productName: OperationURLParameter = {\n parameterPath: \"productName\",\n mapper: {\n serializedName: \"productName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters6: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: ProductMapper\n};\n\nexport const parameters7: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: TransferProductRequestPropertiesMapper\n};\n\nexport const periodStartDate: OperationQueryParameter = {\n parameterPath: \"periodStartDate\",\n mapper: {\n serializedName: \"periodStartDate\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const periodEndDate: OperationQueryParameter = {\n parameterPath: \"periodEndDate\",\n mapper: {\n serializedName: \"periodEndDate\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const invoiceName: OperationURLParameter = {\n parameterPath: \"invoiceName\",\n mapper: {\n serializedName: \"invoiceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const downloadToken: OperationQueryParameter = {\n parameterPath: \"downloadToken\",\n mapper: {\n serializedName: \"downloadToken\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const downloadUrls: OperationParameter = {\n parameterPath: \"downloadUrls\",\n mapper: {\n serializedName: \"downloadUrls\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const parameters8: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyMapper\n};\n\nexport const parameters9: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: CustomerPolicyMapper\n};\n\nexport const parameters10: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: BillingPropertyMapper\n};\n\nexport const billingRoleDefinitionName: OperationURLParameter = {\n parameterPath: \"billingRoleDefinitionName\",\n mapper: {\n serializedName: \"billingRoleDefinitionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const billingRoleAssignmentName: OperationURLParameter = {\n parameterPath: \"billingRoleAssignmentName\",\n mapper: {\n serializedName: \"billingRoleAssignmentName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const agreementName: OperationURLParameter = {\n parameterPath: \"agreementName\",\n mapper: {\n serializedName: \"agreementName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const orderby: OperationQueryParameter = {\n parameterPath: [\"options\", \"orderby\"],\n mapper: {\n serializedName: \"$orderby\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const refreshSummary: OperationQueryParameter = {\n parameterPath: [\"options\", \"refreshSummary\"],\n mapper: {\n serializedName: \"refreshSummary\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const selectedState: OperationQueryParameter = {\n parameterPath: [\"options\", \"selectedState\"],\n mapper: {\n serializedName: \"selectedState\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion1: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2018-03-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const name: OperationURLParameter = {\n parameterPath: \"name\",\n mapper: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const skiptoken: OperationQueryParameter = {\n parameterPath: [\"options\", \"skiptoken\"],\n mapper: {\n serializedName: \"$skiptoken\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"top\"],\n mapper: {\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 1\n },\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const billingPeriodName: OperationURLParameter = {\n parameterPath: \"billingPeriodName\",\n mapper: {\n serializedName: \"billingPeriodName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { LongRunningOperation, LroResponse } from \"@azure/core-lro\";\n\nexport class LroImpl<T> implements LongRunningOperation<T> {\n constructor(\n private sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>,\n private args: Record<string, unknown>,\n private spec: {\n readonly requestBody?: unknown;\n readonly path?: string;\n readonly httpMethod: string;\n } & Record<string, any>,\n public requestPath: string = spec.path!,\n public requestMethod: string = spec.httpMethod\n ) {}\n public async sendInitialRequest(): Promise<LroResponse<T>> {\n return this.sendOperationFn(this.args, this.spec);\n }\n public async sendPollRequest(path: string): Promise<LroResponse<T>> {\n const { requestBody, ...restSpec } = this.spec;\n return this.sendOperationFn(this.args, {\n ...restSpec,\n path,\n httpMethod: \"GET\"\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingAccounts } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n BillingAccount,\n BillingAccountsListNextOptionalParams,\n BillingAccountsListOptionalParams,\n InvoiceSectionWithCreateSubPermission,\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextOptionalParams,\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams,\n BillingAccountsListResponse,\n BillingAccountsGetOptionalParams,\n BillingAccountsGetResponse,\n BillingAccountUpdateRequest,\n BillingAccountsUpdateOptionalParams,\n BillingAccountsUpdateResponse,\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionResponse,\n BillingAccountsListNextResponse,\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingAccounts operations. */\nexport class BillingAccountsImpl implements BillingAccounts {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingAccounts class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the billing accounts that a user has access to.\n * @param options The options parameters.\n */\n public list(\n options?: BillingAccountsListOptionalParams\n ): PagedAsyncIterableIterator<BillingAccount> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: BillingAccountsListOptionalParams\n ): AsyncIterableIterator<BillingAccount[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: BillingAccountsListOptionalParams\n ): AsyncIterableIterator<BillingAccount> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists the invoice sections for which the user has permission to create Azure subscriptions. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listInvoiceSectionsByCreateSubscriptionPermission(\n billingAccountName: string,\n options?: BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams\n ): PagedAsyncIterableIterator<InvoiceSectionWithCreateSubPermission> {\n const iter = this.listInvoiceSectionsByCreateSubscriptionPermissionPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(\n billingAccountName,\n options\n );\n }\n };\n }\n\n private async *listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(\n billingAccountName: string,\n options?: BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams\n ): AsyncIterableIterator<InvoiceSectionWithCreateSubPermission[]> {\n let result = await this._listInvoiceSectionsByCreateSubscriptionPermission(\n billingAccountName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listInvoiceSectionsByCreateSubscriptionPermissionNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listInvoiceSectionsByCreateSubscriptionPermissionPagingAll(\n billingAccountName: string,\n options?: BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams\n ): AsyncIterableIterator<InvoiceSectionWithCreateSubPermission> {\n for await (const page of this.listInvoiceSectionsByCreateSubscriptionPermissionPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing accounts that a user has access to.\n * @param options The options parameters.\n */\n private _list(\n options?: BillingAccountsListOptionalParams\n ): Promise<BillingAccountsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Gets a billing account by its ID.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n options?: BillingAccountsGetOptionalParams\n ): Promise<BillingAccountsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n getOperationSpec\n );\n }\n\n /**\n * Updates the properties of a billing account. Currently, displayName and address can be updated. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the update billing account operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n billingAccountName: string,\n parameters: BillingAccountUpdateRequest,\n options?: BillingAccountsUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<BillingAccountsUpdateResponse>,\n BillingAccountsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<BillingAccountsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { billingAccountName, parameters, options },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n lroResourceLocationConfig: \"azure-async-operation\"\n });\n }\n\n /**\n * Updates the properties of a billing account. Currently, displayName and address can be updated. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the update billing account operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n billingAccountName: string,\n parameters: BillingAccountUpdateRequest,\n options?: BillingAccountsUpdateOptionalParams\n ): Promise<BillingAccountsUpdateResponse> {\n const poller = await this.beginUpdate(\n billingAccountName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Lists the invoice sections for which the user has permission to create Azure subscriptions. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listInvoiceSectionsByCreateSubscriptionPermission(\n billingAccountName: string,\n options?: BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionOptionalParams\n ): Promise<\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionResponse\n > {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listInvoiceSectionsByCreateSubscriptionPermissionOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: BillingAccountsListNextOptionalParams\n ): Promise<BillingAccountsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListInvoiceSectionsByCreateSubscriptionPermissionNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the\n * ListInvoiceSectionsByCreateSubscriptionPermission method.\n * @param options The options parameters.\n */\n private _listInvoiceSectionsByCreateSubscriptionPermissionNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextOptionalParams\n ): Promise<\n BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionNextResponse\n > {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listInvoiceSectionsByCreateSubscriptionPermissionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/billingAccounts\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingAccountListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingAccount\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingAccount\n },\n 201: {\n bodyMapper: Mappers.BillingAccount\n },\n 202: {\n bodyMapper: Mappers.BillingAccount\n },\n 204: {\n bodyMapper: Mappers.BillingAccount\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listInvoiceSectionsByCreateSubscriptionPermissionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSectionListWithCreateSubPermissionResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingAccountListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listInvoiceSectionsByCreateSubscriptionPermissionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSectionListWithCreateSubPermissionResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Address } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n AddressDetails,\n AddressValidateOptionalParams,\n AddressValidateResponse\n} from \"../models\";\n\n/** Class containing Address operations. */\nexport class AddressImpl implements Address {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Address class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Validates an address. Use the operation to validate an address before using it as soldTo or a billTo\n * address.\n * @param address Address details.\n * @param options The options parameters.\n */\n validate(\n address: AddressDetails,\n options?: AddressValidateOptionalParams\n ): Promise<AddressValidateResponse> {\n return this.client.sendOperationRequest(\n { address, options },\n validateOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst validateOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/validateAddress\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ValidateAddressResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.address,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { AvailableBalances } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n AvailableBalancesGetOptionalParams,\n AvailableBalancesGetResponse\n} from \"../models\";\n\n/** Class containing AvailableBalances operations. */\nexport class AvailableBalancesImpl implements AvailableBalances {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class AvailableBalances class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * The available credit balance for a billing profile. This is the balance that can be used for pay now\n * to settle due or past due invoices. The operation is supported only for billing accounts with\n * agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n options?: AvailableBalancesGetOptionalParams\n ): Promise<AvailableBalancesGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n getOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AvailableBalance\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Instructions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Instruction,\n InstructionsListByBillingProfileNextOptionalParams,\n InstructionsListByBillingProfileOptionalParams,\n InstructionsListByBillingProfileResponse,\n InstructionsGetOptionalParams,\n InstructionsGetResponse,\n InstructionsPutOptionalParams,\n InstructionsPutResponse,\n InstructionsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Instructions operations. */\nexport class InstructionsImpl implements Instructions {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Instructions class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the instructions by billing profile id.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: InstructionsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<Instruction> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: InstructionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Instruction[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: InstructionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Instruction> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the instructions by billing profile id.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: InstructionsListByBillingProfileOptionalParams\n ): Promise<InstructionsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Get the instruction by name. These are custom billing instructions and are only applicable for\n * certain customers.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param instructionName Instruction Name.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n instructionName: string,\n options?: InstructionsGetOptionalParams\n ): Promise<InstructionsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, instructionName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates or updates an instruction. These are custom billing instructions and are only applicable for\n * certain customers.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param instructionName Instruction Name.\n * @param parameters The new instruction.\n * @param options The options parameters.\n */\n put(\n billingAccountName: string,\n billingProfileName: string,\n instructionName: string,\n parameters: Instruction,\n options?: InstructionsPutOptionalParams\n ): Promise<InstructionsPutResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n instructionName,\n parameters,\n options\n },\n putOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: InstructionsListByBillingProfileNextOptionalParams\n ): Promise<InstructionsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InstructionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Instruction\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.instructionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst putOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Instruction\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.instructionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InstructionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingProfiles } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n BillingProfile,\n BillingProfilesListByBillingAccountNextOptionalParams,\n BillingProfilesListByBillingAccountOptionalParams,\n BillingProfilesListByBillingAccountResponse,\n BillingProfilesGetOptionalParams,\n BillingProfilesGetResponse,\n BillingProfilesCreateOrUpdateOptionalParams,\n BillingProfilesCreateOrUpdateResponse,\n BillingProfilesListByBillingAccountNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingProfiles operations. */\nexport class BillingProfilesImpl implements BillingProfiles {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingProfiles class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the billing profiles that a user has access to. The operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: BillingProfilesListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<BillingProfile> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: BillingProfilesListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingProfile[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: BillingProfilesListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingProfile> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing profiles that a user has access to. The operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: BillingProfilesListByBillingAccountOptionalParams\n ): Promise<BillingProfilesListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Gets a billing profile by its ID. The operation is supported for billing accounts with agreement\n * type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingProfilesGetOptionalParams\n ): Promise<BillingProfilesGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates or updates a billing profile. The operation is supported for billing accounts with agreement\n * type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param parameters The new or updated billing profile.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n parameters: BillingProfile,\n options?: BillingProfilesCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<BillingProfilesCreateOrUpdateResponse>,\n BillingProfilesCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<BillingProfilesCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { billingAccountName, billingProfileName, parameters, options },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates a billing profile. The operation is supported for billing accounts with agreement\n * type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param parameters The new or updated billing profile.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n billingAccountName: string,\n billingProfileName: string,\n parameters: BillingProfile,\n options?: BillingProfilesCreateOrUpdateOptionalParams\n ): Promise<BillingProfilesCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n billingAccountName,\n billingProfileName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingProfilesListByBillingAccountNextOptionalParams\n ): Promise<BillingProfilesListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProfileListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProfile\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProfile\n },\n 201: {\n bodyMapper: Mappers.BillingProfile\n },\n 202: {\n bodyMapper: Mappers.BillingProfile\n },\n 204: {\n bodyMapper: Mappers.BillingProfile\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProfileListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Customers } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Customer,\n CustomersListByBillingProfileNextOptionalParams,\n CustomersListByBillingProfileOptionalParams,\n CustomersListByBillingAccountNextOptionalParams,\n CustomersListByBillingAccountOptionalParams,\n CustomersListByBillingProfileResponse,\n CustomersListByBillingAccountResponse,\n CustomersGetOptionalParams,\n CustomersGetResponse,\n CustomersListByBillingProfileNextResponse,\n CustomersListByBillingAccountNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Customers operations. */\nexport class CustomersImpl implements Customers {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Customers class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the customers that are billed to a billing profile. The operation is supported only for\n * billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: CustomersListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<Customer> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: CustomersListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Customer[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: CustomersListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Customer> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the customers that are billed to a billing account. The operation is supported only for\n * billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: CustomersListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<Customer> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: CustomersListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Customer[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: CustomersListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Customer> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the customers that are billed to a billing profile. The operation is supported only for\n * billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: CustomersListByBillingProfileOptionalParams\n ): Promise<CustomersListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Lists the customers that are billed to a billing account. The operation is supported only for\n * billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: CustomersListByBillingAccountOptionalParams\n ): Promise<CustomersListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Gets a customer by its ID. The operation is supported only for billing accounts with agreement type\n * Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n customerName: string,\n options?: CustomersGetOptionalParams\n ): Promise<CustomersGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: CustomersListByBillingProfileNextOptionalParams\n ): Promise<CustomersListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: CustomersListByBillingAccountNextOptionalParams\n ): Promise<CustomersListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.search,\n Parameters.filter\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.search,\n Parameters.filter\n ],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Customer\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.search,\n Parameters.filter\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.search,\n Parameters.filter\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { InvoiceSections } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n InvoiceSection,\n InvoiceSectionsListByBillingProfileNextOptionalParams,\n InvoiceSectionsListByBillingProfileOptionalParams,\n InvoiceSectionsListByBillingProfileResponse,\n InvoiceSectionsGetOptionalParams,\n InvoiceSectionsGetResponse,\n InvoiceSectionsCreateOrUpdateOptionalParams,\n InvoiceSectionsCreateOrUpdateResponse,\n InvoiceSectionsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing InvoiceSections operations. */\nexport class InvoiceSectionsImpl implements InvoiceSections {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class InvoiceSections class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the invoice sections that a user has access to. The operation is supported only for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: InvoiceSectionsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<InvoiceSection> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: InvoiceSectionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<InvoiceSection[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: InvoiceSectionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<InvoiceSection> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the invoice sections that a user has access to. The operation is supported only for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: InvoiceSectionsListByBillingProfileOptionalParams\n ): Promise<InvoiceSectionsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Gets an invoice section by its ID. The operation is supported only for billing accounts with\n * agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: InvoiceSectionsGetOptionalParams\n ): Promise<InvoiceSectionsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates or updates an invoice section. The operation is supported only for billing accounts with\n * agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param parameters The new or updated invoice section.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: InvoiceSection,\n options?: InvoiceSectionsCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<InvoiceSectionsCreateOrUpdateResponse>,\n InvoiceSectionsCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InvoiceSectionsCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates an invoice section. The operation is supported only for billing accounts with\n * agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param parameters The new or updated invoice section.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n parameters: InvoiceSection,\n options?: InvoiceSectionsCreateOrUpdateOptionalParams\n ): Promise<InvoiceSectionsCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: InvoiceSectionsListByBillingProfileNextOptionalParams\n ): Promise<InvoiceSectionsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSectionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSection\n },\n 201: {\n bodyMapper: Mappers.InvoiceSection\n },\n 202: {\n bodyMapper: Mappers.InvoiceSection\n },\n 204: {\n bodyMapper: Mappers.InvoiceSection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceSectionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingPermissions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n BillingPermissionsProperties,\n BillingPermissionsListByCustomerNextOptionalParams,\n BillingPermissionsListByCustomerOptionalParams,\n BillingPermissionsListByBillingAccountNextOptionalParams,\n BillingPermissionsListByBillingAccountOptionalParams,\n BillingPermissionsListByInvoiceSectionsNextOptionalParams,\n BillingPermissionsListByInvoiceSectionsOptionalParams,\n BillingPermissionsListByBillingProfileNextOptionalParams,\n BillingPermissionsListByBillingProfileOptionalParams,\n BillingPermissionsListByCustomerResponse,\n BillingPermissionsListByBillingAccountResponse,\n BillingPermissionsListByInvoiceSectionsResponse,\n BillingPermissionsListByBillingProfileResponse,\n BillingPermissionsListByCustomerNextResponse,\n BillingPermissionsListByBillingAccountNextResponse,\n BillingPermissionsListByInvoiceSectionsNextResponse,\n BillingPermissionsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingPermissions operations. */\nexport class BillingPermissionsImpl implements BillingPermissions {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingPermissions class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the billing permissions the caller has for a customer.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n public listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: BillingPermissionsListByCustomerOptionalParams\n ): PagedAsyncIterableIterator<BillingPermissionsProperties> {\n const iter = this.listByCustomerPagingAll(\n billingAccountName,\n customerName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n );\n }\n };\n }\n\n private async *listByCustomerPagingPage(\n billingAccountName: string,\n customerName: string,\n options?: BillingPermissionsListByCustomerOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties[]> {\n let result = await this._listByCustomer(\n billingAccountName,\n customerName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByCustomerNext(\n billingAccountName,\n customerName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByCustomerPagingAll(\n billingAccountName: string,\n customerName: string,\n options?: BillingPermissionsListByCustomerOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties> {\n for await (const page of this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing permissions the caller has on a billing account.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: BillingPermissionsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<BillingPermissionsProperties> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: BillingPermissionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: BillingPermissionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing permissions the caller has on an invoice section.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n public listByInvoiceSections(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingPermissionsListByInvoiceSectionsOptionalParams\n ): PagedAsyncIterableIterator<BillingPermissionsProperties> {\n const iter = this.listByInvoiceSectionsPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoiceSectionsPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listByInvoiceSectionsPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingPermissionsListByInvoiceSectionsOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties[]> {\n let result = await this._listByInvoiceSections(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceSectionsNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoiceSectionsPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingPermissionsListByInvoiceSectionsOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties> {\n for await (const page of this.listByInvoiceSectionsPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing permissions the caller has on a billing profile.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingPermissionsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<BillingPermissionsProperties> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingPermissionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingPermissionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingPermissionsProperties> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the billing permissions the caller has for a customer.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n private _listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: BillingPermissionsListByCustomerOptionalParams\n ): Promise<BillingPermissionsListByCustomerResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, options },\n listByCustomerOperationSpec\n );\n }\n\n /**\n * Lists the billing permissions the caller has on a billing account.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: BillingPermissionsListByBillingAccountOptionalParams\n ): Promise<BillingPermissionsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the billing permissions the caller has on an invoice section.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n private _listByInvoiceSections(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingPermissionsListByInvoiceSectionsOptionalParams\n ): Promise<BillingPermissionsListByInvoiceSectionsResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listByInvoiceSectionsOperationSpec\n );\n }\n\n /**\n * Lists the billing permissions the caller has on a billing profile.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingPermissionsListByBillingProfileOptionalParams\n ): Promise<BillingPermissionsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * ListByCustomerNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param nextLink The nextLink from the previous successful call to the ListByCustomer method.\n * @param options The options parameters.\n */\n private _listByCustomerNext(\n billingAccountName: string,\n customerName: string,\n nextLink: string,\n options?: BillingPermissionsListByCustomerNextOptionalParams\n ): Promise<BillingPermissionsListByCustomerNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, nextLink, options },\n listByCustomerNextOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingPermissionsListByBillingAccountNextOptionalParams\n ): Promise<BillingPermissionsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByInvoiceSectionsNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoiceSections method.\n * @param options The options parameters.\n */\n private _listByInvoiceSectionsNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: BillingPermissionsListByInvoiceSectionsNextOptionalParams\n ): Promise<BillingPermissionsListByInvoiceSectionsNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listByInvoiceSectionsNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: BillingPermissionsListByBillingProfileNextOptionalParams\n ): Promise<BillingPermissionsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByCustomerOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionsOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByCustomerNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPermissionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingSubscriptions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n BillingSubscription,\n BillingSubscriptionsListByCustomerNextOptionalParams,\n BillingSubscriptionsListByCustomerOptionalParams,\n BillingSubscriptionsListByBillingAccountNextOptionalParams,\n BillingSubscriptionsListByBillingAccountOptionalParams,\n BillingSubscriptionsListByBillingProfileNextOptionalParams,\n BillingSubscriptionsListByBillingProfileOptionalParams,\n BillingSubscriptionsListByInvoiceSectionNextOptionalParams,\n BillingSubscriptionsListByInvoiceSectionOptionalParams,\n BillingSubscriptionsListByCustomerResponse,\n BillingSubscriptionsListByBillingAccountResponse,\n BillingSubscriptionsListByBillingProfileResponse,\n BillingSubscriptionsListByInvoiceSectionResponse,\n BillingSubscriptionsGetOptionalParams,\n BillingSubscriptionsGetResponse,\n BillingSubscriptionsUpdateOptionalParams,\n BillingSubscriptionsUpdateResponse,\n TransferBillingSubscriptionRequestProperties,\n BillingSubscriptionsMoveOptionalParams,\n BillingSubscriptionsMoveResponse,\n BillingSubscriptionsValidateMoveOptionalParams,\n BillingSubscriptionsValidateMoveResponse,\n BillingSubscriptionsListByCustomerNextResponse,\n BillingSubscriptionsListByBillingAccountNextResponse,\n BillingSubscriptionsListByBillingProfileNextResponse,\n BillingSubscriptionsListByInvoiceSectionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingSubscriptions operations. */\nexport class BillingSubscriptionsImpl implements BillingSubscriptions {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingSubscriptions class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the subscriptions for a customer. The operation is supported only for billing accounts with\n * agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n public listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: BillingSubscriptionsListByCustomerOptionalParams\n ): PagedAsyncIterableIterator<BillingSubscription> {\n const iter = this.listByCustomerPagingAll(\n billingAccountName,\n customerName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n );\n }\n };\n }\n\n private async *listByCustomerPagingPage(\n billingAccountName: string,\n customerName: string,\n options?: BillingSubscriptionsListByCustomerOptionalParams\n ): AsyncIterableIterator<BillingSubscription[]> {\n let result = await this._listByCustomer(\n billingAccountName,\n customerName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByCustomerNext(\n billingAccountName,\n customerName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByCustomerPagingAll(\n billingAccountName: string,\n customerName: string,\n options?: BillingSubscriptionsListByCustomerOptionalParams\n ): AsyncIterableIterator<BillingSubscription> {\n for await (const page of this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the subscriptions for a billing account. The operation is supported for billing accounts with\n * agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: BillingSubscriptionsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<BillingSubscription> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: BillingSubscriptionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingSubscription[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: BillingSubscriptionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingSubscription> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the subscriptions that are billed to a billing profile. The operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingSubscriptionsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<BillingSubscription> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingSubscriptionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingSubscription[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingSubscriptionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingSubscription> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the subscriptions that are billed to an invoice section. The operation is supported only for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n public listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingSubscriptionsListByInvoiceSectionOptionalParams\n ): PagedAsyncIterableIterator<BillingSubscription> {\n const iter = this.listByInvoiceSectionPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listByInvoiceSectionPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingSubscriptionsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingSubscription[]> {\n let result = await this._listByInvoiceSection(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceSectionNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoiceSectionPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingSubscriptionsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingSubscription> {\n for await (const page of this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the subscriptions for a customer. The operation is supported only for billing accounts with\n * agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n private _listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: BillingSubscriptionsListByCustomerOptionalParams\n ): Promise<BillingSubscriptionsListByCustomerResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, options },\n listByCustomerOperationSpec\n );\n }\n\n /**\n * Lists the subscriptions for a billing account. The operation is supported for billing accounts with\n * agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: BillingSubscriptionsListByBillingAccountOptionalParams\n ): Promise<BillingSubscriptionsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the subscriptions that are billed to a billing profile. The operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingSubscriptionsListByBillingProfileOptionalParams\n ): Promise<BillingSubscriptionsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Lists the subscriptions that are billed to an invoice section. The operation is supported only for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n private _listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingSubscriptionsListByInvoiceSectionOptionalParams\n ): Promise<BillingSubscriptionsListByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Gets a subscription by its ID. The operation is supported for billing accounts with agreement type\n * Microsoft Customer Agreement and Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n options?: BillingSubscriptionsGetOptionalParams\n ): Promise<BillingSubscriptionsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n getOperationSpec\n );\n }\n\n /**\n * Updates the properties of a billing subscription. Currently, cost center can be updated. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the update billing subscription operation.\n * @param options The options parameters.\n */\n update(\n billingAccountName: string,\n parameters: BillingSubscription,\n options?: BillingSubscriptionsUpdateOptionalParams\n ): Promise<BillingSubscriptionsUpdateResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, parameters, options },\n updateOperationSpec\n );\n }\n\n /**\n * Moves a subscription's charges to a new invoice section. The new invoice section must belong to the\n * same billing profile as the existing invoice section. This operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the move subscription operation.\n * @param options The options parameters.\n */\n async beginMove(\n billingAccountName: string,\n parameters: TransferBillingSubscriptionRequestProperties,\n options?: BillingSubscriptionsMoveOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<BillingSubscriptionsMoveResponse>,\n BillingSubscriptionsMoveResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<BillingSubscriptionsMoveResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { billingAccountName, parameters, options },\n moveOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Moves a subscription's charges to a new invoice section. The new invoice section must belong to the\n * same billing profile as the existing invoice section. This operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the move subscription operation.\n * @param options The options parameters.\n */\n async beginMoveAndWait(\n billingAccountName: string,\n parameters: TransferBillingSubscriptionRequestProperties,\n options?: BillingSubscriptionsMoveOptionalParams\n ): Promise<BillingSubscriptionsMoveResponse> {\n const poller = await this.beginMove(\n billingAccountName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Validates if a subscription's charges can be moved to a new invoice section. This operation is\n * supported for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param parameters Request parameters that are provided to the validate move eligibility operation.\n * @param options The options parameters.\n */\n validateMove(\n billingAccountName: string,\n parameters: TransferBillingSubscriptionRequestProperties,\n options?: BillingSubscriptionsValidateMoveOptionalParams\n ): Promise<BillingSubscriptionsValidateMoveResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, parameters, options },\n validateMoveOperationSpec\n );\n }\n\n /**\n * ListByCustomerNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param nextLink The nextLink from the previous successful call to the ListByCustomer method.\n * @param options The options parameters.\n */\n private _listByCustomerNext(\n billingAccountName: string,\n customerName: string,\n nextLink: string,\n options?: BillingSubscriptionsListByCustomerNextOptionalParams\n ): Promise<BillingSubscriptionsListByCustomerNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, nextLink, options },\n listByCustomerNextOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingSubscriptionsListByBillingAccountNextOptionalParams\n ): Promise<BillingSubscriptionsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: BillingSubscriptionsListByBillingProfileNextOptionalParams\n ): Promise<BillingSubscriptionsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n\n /**\n * ListByInvoiceSectionNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoiceSection method.\n * @param options The options parameters.\n */\n private _listByInvoiceSectionNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: BillingSubscriptionsListByInvoiceSectionNextOptionalParams\n ): Promise<BillingSubscriptionsListByInvoiceSectionNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listByInvoiceSectionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByCustomerOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscription\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscription\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters4,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst moveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscription\n },\n 201: {\n bodyMapper: Mappers.BillingSubscription\n },\n 202: {\n bodyMapper: Mappers.BillingSubscription\n },\n 204: {\n bodyMapper: Mappers.BillingSubscription\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters5,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst validateMoveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ValidateSubscriptionTransferEligibilityResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters5,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByCustomerNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingSubscriptionsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Products } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Product,\n ProductsListByCustomerNextOptionalParams,\n ProductsListByCustomerOptionalParams,\n ProductsListByBillingAccountNextOptionalParams,\n ProductsListByBillingAccountOptionalParams,\n ProductsListByBillingProfileNextOptionalParams,\n ProductsListByBillingProfileOptionalParams,\n ProductsListByInvoiceSectionNextOptionalParams,\n ProductsListByInvoiceSectionOptionalParams,\n ProductsListByCustomerResponse,\n ProductsListByBillingAccountResponse,\n ProductsListByBillingProfileResponse,\n ProductsListByInvoiceSectionResponse,\n ProductsGetOptionalParams,\n ProductsGetResponse,\n ProductsUpdateOptionalParams,\n ProductsUpdateResponse,\n TransferProductRequestProperties,\n ProductsMoveOptionalParams,\n ProductsMoveResponse,\n ProductsValidateMoveOptionalParams,\n ProductsValidateMoveResponse,\n ProductsListByCustomerNextResponse,\n ProductsListByBillingAccountNextResponse,\n ProductsListByBillingProfileNextResponse,\n ProductsListByInvoiceSectionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Products operations. */\nexport class ProductsImpl implements Products {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Products class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the products for a customer. These don't include products billed based on usage.The operation\n * is supported only for billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n public listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: ProductsListByCustomerOptionalParams\n ): PagedAsyncIterableIterator<Product> {\n const iter = this.listByCustomerPagingAll(\n billingAccountName,\n customerName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n );\n }\n };\n }\n\n private async *listByCustomerPagingPage(\n billingAccountName: string,\n customerName: string,\n options?: ProductsListByCustomerOptionalParams\n ): AsyncIterableIterator<Product[]> {\n let result = await this._listByCustomer(\n billingAccountName,\n customerName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByCustomerNext(\n billingAccountName,\n customerName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByCustomerPagingAll(\n billingAccountName: string,\n customerName: string,\n options?: ProductsListByCustomerOptionalParams\n ): AsyncIterableIterator<Product> {\n for await (const page of this.listByCustomerPagingPage(\n billingAccountName,\n customerName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the products for a billing account. These don't include products billed based on usage. The\n * operation is supported for billing accounts with agreement type Microsoft Customer Agreement or\n * Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: ProductsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<Product> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: ProductsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Product[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: ProductsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Product> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the products for a billing profile. These don't include products billed based on usage. The\n * operation is supported for billing accounts with agreement type Microsoft Customer Agreement or\n * Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: ProductsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<Product> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: ProductsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Product[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: ProductsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Product> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the products for an invoice section. These don't include products billed based on usage. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n public listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: ProductsListByInvoiceSectionOptionalParams\n ): PagedAsyncIterableIterator<Product> {\n const iter = this.listByInvoiceSectionPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listByInvoiceSectionPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: ProductsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<Product[]> {\n let result = await this._listByInvoiceSection(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceSectionNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoiceSectionPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: ProductsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<Product> {\n for await (const page of this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the products for a customer. These don't include products billed based on usage.The operation\n * is supported only for billing accounts with agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n private _listByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: ProductsListByCustomerOptionalParams\n ): Promise<ProductsListByCustomerResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, options },\n listByCustomerOperationSpec\n );\n }\n\n /**\n * Lists the products for a billing account. These don't include products billed based on usage. The\n * operation is supported for billing accounts with agreement type Microsoft Customer Agreement or\n * Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: ProductsListByBillingAccountOptionalParams\n ): Promise<ProductsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the products for a billing profile. These don't include products billed based on usage. The\n * operation is supported for billing accounts with agreement type Microsoft Customer Agreement or\n * Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: ProductsListByBillingProfileOptionalParams\n ): Promise<ProductsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Lists the products for an invoice section. These don't include products billed based on usage. The\n * operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n private _listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: ProductsListByInvoiceSectionOptionalParams\n ): Promise<ProductsListByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Gets a product by ID. The operation is supported only for billing accounts with agreement type\n * Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param productName The ID that uniquely identifies a product.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n productName: string,\n options?: ProductsGetOptionalParams\n ): Promise<ProductsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, productName, options },\n getOperationSpec\n );\n }\n\n /**\n * Updates the properties of a Product. Currently, auto renew can be updated. The operation is\n * supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param productName The ID that uniquely identifies a product.\n * @param parameters Request parameters that are provided to the update product operation.\n * @param options The options parameters.\n */\n update(\n billingAccountName: string,\n productName: string,\n parameters: Product,\n options?: ProductsUpdateOptionalParams\n ): Promise<ProductsUpdateResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, productName, parameters, options },\n updateOperationSpec\n );\n }\n\n /**\n * Moves a product's charges to a new invoice section. The new invoice section must belong to the same\n * billing profile as the existing invoice section. This operation is supported only for products that\n * are purchased with a recurring charge and for billing accounts with agreement type Microsoft\n * Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param productName The ID that uniquely identifies a product.\n * @param parameters Request parameters that are provided to the move product operation.\n * @param options The options parameters.\n */\n move(\n billingAccountName: string,\n productName: string,\n parameters: TransferProductRequestProperties,\n options?: ProductsMoveOptionalParams\n ): Promise<ProductsMoveResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, productName, parameters, options },\n moveOperationSpec\n );\n }\n\n /**\n * Validates if a product's charges can be moved to a new invoice section. This operation is supported\n * only for products that are purchased with a recurring charge and for billing accounts with agreement\n * type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param productName The ID that uniquely identifies a product.\n * @param parameters Request parameters that are provided to the validate move eligibility operation.\n * @param options The options parameters.\n */\n validateMove(\n billingAccountName: string,\n productName: string,\n parameters: TransferProductRequestProperties,\n options?: ProductsValidateMoveOptionalParams\n ): Promise<ProductsValidateMoveResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, productName, parameters, options },\n validateMoveOperationSpec\n );\n }\n\n /**\n * ListByCustomerNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param nextLink The nextLink from the previous successful call to the ListByCustomer method.\n * @param options The options parameters.\n */\n private _listByCustomerNext(\n billingAccountName: string,\n customerName: string,\n nextLink: string,\n options?: ProductsListByCustomerNextOptionalParams\n ): Promise<ProductsListByCustomerNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, nextLink, options },\n listByCustomerNextOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: ProductsListByBillingAccountNextOptionalParams\n ): Promise<ProductsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: ProductsListByBillingProfileNextOptionalParams\n ): Promise<ProductsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n\n /**\n * ListByInvoiceSectionNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoiceSection method.\n * @param options The options parameters.\n */\n private _listByInvoiceSectionNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: ProductsListByInvoiceSectionNextOptionalParams\n ): Promise<ProductsListByInvoiceSectionNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listByInvoiceSectionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByCustomerOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Product\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.productName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.Product\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters6,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.productName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst moveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.Product\n },\n 202: {\n headersMapper: Mappers.ProductsMoveHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters7,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.productName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst validateMoveOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ValidateProductTransferEligibilityResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters7,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.productName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByCustomerNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ProductsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Invoices } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n Invoice,\n InvoicesListByBillingAccountNextOptionalParams,\n InvoicesListByBillingAccountOptionalParams,\n InvoicesListByBillingProfileNextOptionalParams,\n InvoicesListByBillingProfileOptionalParams,\n InvoicesListByBillingSubscriptionNextOptionalParams,\n InvoicesListByBillingSubscriptionOptionalParams,\n InvoicesListByBillingAccountResponse,\n InvoicesListByBillingProfileResponse,\n InvoicesGetOptionalParams,\n InvoicesGetResponse,\n InvoicesGetByIdOptionalParams,\n InvoicesGetByIdResponse,\n InvoicesDownloadInvoiceOptionalParams,\n InvoicesDownloadInvoiceResponse,\n InvoicesDownloadMultipleBillingProfileInvoicesOptionalParams,\n InvoicesDownloadMultipleBillingProfileInvoicesResponse,\n InvoicesListByBillingSubscriptionResponse,\n InvoicesGetBySubscriptionAndInvoiceIdOptionalParams,\n InvoicesGetBySubscriptionAndInvoiceIdResponse,\n InvoicesDownloadBillingSubscriptionInvoiceOptionalParams,\n InvoicesDownloadBillingSubscriptionInvoiceResponse,\n InvoicesDownloadMultipleBillingSubscriptionInvoicesOptionalParams,\n InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse,\n InvoicesListByBillingAccountNextResponse,\n InvoicesListByBillingProfileNextResponse,\n InvoicesListByBillingSubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Invoices operations. */\nexport class InvoicesImpl implements Invoices {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Invoices class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the invoices for a billing account for a given start date and end date. The operation is\n * supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer\n * Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<Invoice> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n periodStartDate,\n periodEndDate,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(\n billingAccountName,\n periodStartDate,\n periodEndDate,\n options\n );\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Invoice[]> {\n let result = await this._listByBillingAccount(\n billingAccountName,\n periodStartDate,\n periodEndDate,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n periodStartDate,\n periodEndDate,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Invoice> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n periodStartDate,\n periodEndDate,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the invoices for a billing profile for a given start date and end date. The operation is\n * supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer\n * Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<Invoice> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Invoice[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Invoice> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the invoices for a subscription.\n * @param periodStartDate Invoice period start date.\n * @param periodEndDate Invoice period end date.\n * @param options The options parameters.\n */\n public listByBillingSubscription(\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingSubscriptionOptionalParams\n ): PagedAsyncIterableIterator<Invoice> {\n const iter = this.listByBillingSubscriptionPagingAll(\n periodStartDate,\n periodEndDate,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingSubscriptionPagingPage(\n periodStartDate,\n periodEndDate,\n options\n );\n }\n };\n }\n\n private async *listByBillingSubscriptionPagingPage(\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingSubscriptionOptionalParams\n ): AsyncIterableIterator<Invoice[]> {\n let result = await this._listByBillingSubscription(\n periodStartDate,\n periodEndDate,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingSubscriptionNext(\n periodStartDate,\n periodEndDate,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingSubscriptionPagingAll(\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingSubscriptionOptionalParams\n ): AsyncIterableIterator<Invoice> {\n for await (const page of this.listByBillingSubscriptionPagingPage(\n periodStartDate,\n periodEndDate,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the invoices for a billing account for a given start date and end date. The operation is\n * supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer\n * Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingAccountOptionalParams\n ): Promise<InvoicesListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, periodStartDate, periodEndDate, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the invoices for a billing profile for a given start date and end date. The operation is\n * supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer\n * Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingProfileOptionalParams\n ): Promise<InvoicesListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n options\n },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * Gets an invoice by billing account name and ID. The operation is supported for billing accounts with\n * agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n invoiceName: string,\n options?: InvoicesGetOptionalParams\n ): Promise<InvoicesGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, invoiceName, options },\n getOperationSpec\n );\n }\n\n /**\n * Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft\n * Partner Agreement or Microsoft Customer Agreement.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param options The options parameters.\n */\n getById(\n invoiceName: string,\n options?: InvoicesGetByIdOptionalParams\n ): Promise<InvoicesGetByIdResponse> {\n return this.client.sendOperationRequest(\n { invoiceName, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Gets a URL to download an invoice. The operation is supported for billing accounts with agreement\n * type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param downloadToken Download token with document source and document ID.\n * @param options The options parameters.\n */\n async beginDownloadInvoice(\n billingAccountName: string,\n invoiceName: string,\n downloadToken: string,\n options?: InvoicesDownloadInvoiceOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<InvoicesDownloadInvoiceResponse>,\n InvoicesDownloadInvoiceResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InvoicesDownloadInvoiceResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { billingAccountName, invoiceName, downloadToken, options },\n downloadInvoiceOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n lroResourceLocationConfig: \"location\"\n });\n }\n\n /**\n * Gets a URL to download an invoice. The operation is supported for billing accounts with agreement\n * type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param downloadToken Download token with document source and document ID.\n * @param options The options parameters.\n */\n async beginDownloadInvoiceAndWait(\n billingAccountName: string,\n invoiceName: string,\n downloadToken: string,\n options?: InvoicesDownloadInvoiceOptionalParams\n ): Promise<InvoicesDownloadInvoiceResponse> {\n const poller = await this.beginDownloadInvoice(\n billingAccountName,\n invoiceName,\n downloadToken,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip\n * file. The operation is supported for billing accounts with agreement type Microsoft Partner\n * Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param downloadUrls An array of download urls for individual documents\n * @param options The options parameters.\n */\n async beginDownloadMultipleBillingProfileInvoices(\n billingAccountName: string,\n downloadUrls: string[],\n options?: InvoicesDownloadMultipleBillingProfileInvoicesOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<\n InvoicesDownloadMultipleBillingProfileInvoicesResponse\n >,\n InvoicesDownloadMultipleBillingProfileInvoicesResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InvoicesDownloadMultipleBillingProfileInvoicesResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { billingAccountName, downloadUrls, options },\n downloadMultipleBillingProfileInvoicesOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n lroResourceLocationConfig: \"location\"\n });\n }\n\n /**\n * Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip\n * file. The operation is supported for billing accounts with agreement type Microsoft Partner\n * Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param downloadUrls An array of download urls for individual documents\n * @param options The options parameters.\n */\n async beginDownloadMultipleBillingProfileInvoicesAndWait(\n billingAccountName: string,\n downloadUrls: string[],\n options?: InvoicesDownloadMultipleBillingProfileInvoicesOptionalParams\n ): Promise<InvoicesDownloadMultipleBillingProfileInvoicesResponse> {\n const poller = await this.beginDownloadMultipleBillingProfileInvoices(\n billingAccountName,\n downloadUrls,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Lists the invoices for a subscription.\n * @param periodStartDate Invoice period start date.\n * @param periodEndDate Invoice period end date.\n * @param options The options parameters.\n */\n private _listByBillingSubscription(\n periodStartDate: string,\n periodEndDate: string,\n options?: InvoicesListByBillingSubscriptionOptionalParams\n ): Promise<InvoicesListByBillingSubscriptionResponse> {\n return this.client.sendOperationRequest(\n { periodStartDate, periodEndDate, options },\n listByBillingSubscriptionOperationSpec\n );\n }\n\n /**\n * Gets an invoice by subscription ID and invoice ID.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param options The options parameters.\n */\n getBySubscriptionAndInvoiceId(\n invoiceName: string,\n options?: InvoicesGetBySubscriptionAndInvoiceIdOptionalParams\n ): Promise<InvoicesGetBySubscriptionAndInvoiceIdResponse> {\n return this.client.sendOperationRequest(\n { invoiceName, options },\n getBySubscriptionAndInvoiceIdOperationSpec\n );\n }\n\n /**\n * Gets a URL to download an invoice.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param downloadToken Download token with document source and document ID.\n * @param options The options parameters.\n */\n async beginDownloadBillingSubscriptionInvoice(\n invoiceName: string,\n downloadToken: string,\n options?: InvoicesDownloadBillingSubscriptionInvoiceOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<InvoicesDownloadBillingSubscriptionInvoiceResponse>,\n InvoicesDownloadBillingSubscriptionInvoiceResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InvoicesDownloadBillingSubscriptionInvoiceResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { invoiceName, downloadToken, options },\n downloadBillingSubscriptionInvoiceOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n lroResourceLocationConfig: \"location\"\n });\n }\n\n /**\n * Gets a URL to download an invoice.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param downloadToken Download token with document source and document ID.\n * @param options The options parameters.\n */\n async beginDownloadBillingSubscriptionInvoiceAndWait(\n invoiceName: string,\n downloadToken: string,\n options?: InvoicesDownloadBillingSubscriptionInvoiceOptionalParams\n ): Promise<InvoicesDownloadBillingSubscriptionInvoiceResponse> {\n const poller = await this.beginDownloadBillingSubscriptionInvoice(\n invoiceName,\n downloadToken,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip\n * file.\n * @param downloadUrls An array of download urls for individual documents\n * @param options The options parameters.\n */\n async beginDownloadMultipleBillingSubscriptionInvoices(\n downloadUrls: string[],\n options?: InvoicesDownloadMultipleBillingSubscriptionInvoicesOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<\n InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse\n >,\n InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { downloadUrls, options },\n downloadMultipleBillingSubscriptionInvoicesOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n lroResourceLocationConfig: \"location\"\n });\n }\n\n /**\n * Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip\n * file.\n * @param downloadUrls An array of download urls for individual documents\n * @param options The options parameters.\n */\n async beginDownloadMultipleBillingSubscriptionInvoicesAndWait(\n downloadUrls: string[],\n options?: InvoicesDownloadMultipleBillingSubscriptionInvoicesOptionalParams\n ): Promise<InvoicesDownloadMultipleBillingSubscriptionInvoicesResponse> {\n const poller = await this.beginDownloadMultipleBillingSubscriptionInvoices(\n downloadUrls,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n periodStartDate: string,\n periodEndDate: string,\n nextLink: string,\n options?: InvoicesListByBillingAccountNextOptionalParams\n ): Promise<InvoicesListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, periodStartDate, periodEndDate, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param periodStartDate The start date to fetch the invoices. The date should be specified in\n * MM-DD-YYYY format.\n * @param periodEndDate The end date to fetch the invoices. The date should be specified in MM-DD-YYYY\n * format.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n periodStartDate: string,\n periodEndDate: string,\n nextLink: string,\n options?: InvoicesListByBillingProfileNextOptionalParams\n ): Promise<InvoicesListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n periodStartDate,\n periodEndDate,\n nextLink,\n options\n },\n listByBillingProfileNextOperationSpec\n );\n }\n\n /**\n * ListByBillingSubscriptionNext\n * @param periodStartDate Invoice period start date.\n * @param periodEndDate Invoice period end date.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingSubscription\n * method.\n * @param options The options parameters.\n */\n private _listByBillingSubscriptionNext(\n periodStartDate: string,\n periodEndDate: string,\n nextLink: string,\n options?: InvoicesListByBillingSubscriptionNextOptionalParams\n ): Promise<InvoicesListByBillingSubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { periodStartDate, periodEndDate, nextLink, options },\n listByBillingSubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Invoice\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Invoice\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.invoiceName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst downloadInvoiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DownloadUrl\n },\n 201: {\n bodyMapper: Mappers.DownloadUrl\n },\n 202: {\n bodyMapper: Mappers.DownloadUrl\n },\n 204: {\n bodyMapper: Mappers.DownloadUrl\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.downloadToken],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst downloadMultipleBillingProfileInvoicesOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DownloadUrl\n },\n 201: {\n bodyMapper: Mappers.DownloadUrl\n },\n 202: {\n bodyMapper: Mappers.DownloadUrl\n },\n 204: {\n bodyMapper: Mappers.DownloadUrl\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.downloadUrls,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByBillingSubscriptionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getBySubscriptionAndInvoiceIdOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Invoice\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst downloadBillingSubscriptionInvoiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DownloadUrl\n },\n 201: {\n bodyMapper: Mappers.DownloadUrl\n },\n 202: {\n bodyMapper: Mappers.DownloadUrl\n },\n 204: {\n bodyMapper: Mappers.DownloadUrl\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.downloadToken],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst downloadMultipleBillingSubscriptionInvoicesOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DownloadUrl\n },\n 201: {\n bodyMapper: Mappers.DownloadUrl\n },\n 202: {\n bodyMapper: Mappers.DownloadUrl\n },\n 204: {\n bodyMapper: Mappers.DownloadUrl\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.downloadUrls,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingSubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InvoiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.periodStartDate,\n Parameters.periodEndDate\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Transactions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Transaction,\n TransactionsListByInvoiceNextOptionalParams,\n TransactionsListByInvoiceOptionalParams,\n TransactionsListByInvoiceResponse,\n TransactionsListByInvoiceNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Transactions operations. */\nexport class TransactionsImpl implements Transactions {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Transactions class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage\n * charges.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param options The options parameters.\n */\n public listByInvoice(\n billingAccountName: string,\n invoiceName: string,\n options?: TransactionsListByInvoiceOptionalParams\n ): PagedAsyncIterableIterator<Transaction> {\n const iter = this.listByInvoicePagingAll(\n billingAccountName,\n invoiceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoicePagingPage(\n billingAccountName,\n invoiceName,\n options\n );\n }\n };\n }\n\n private async *listByInvoicePagingPage(\n billingAccountName: string,\n invoiceName: string,\n options?: TransactionsListByInvoiceOptionalParams\n ): AsyncIterableIterator<Transaction[]> {\n let result = await this._listByInvoice(\n billingAccountName,\n invoiceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceNext(\n billingAccountName,\n invoiceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoicePagingAll(\n billingAccountName: string,\n invoiceName: string,\n options?: TransactionsListByInvoiceOptionalParams\n ): AsyncIterableIterator<Transaction> {\n for await (const page of this.listByInvoicePagingPage(\n billingAccountName,\n invoiceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage\n * charges.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param options The options parameters.\n */\n private _listByInvoice(\n billingAccountName: string,\n invoiceName: string,\n options?: TransactionsListByInvoiceOptionalParams\n ): Promise<TransactionsListByInvoiceResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, invoiceName, options },\n listByInvoiceOperationSpec\n );\n }\n\n /**\n * ListByInvoiceNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param invoiceName The ID that uniquely identifies an invoice.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoice method.\n * @param options The options parameters.\n */\n private _listByInvoiceNext(\n billingAccountName: string,\n invoiceName: string,\n nextLink: string,\n options?: TransactionsListByInvoiceNextOptionalParams\n ): Promise<TransactionsListByInvoiceNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, invoiceName, nextLink, options },\n listByInvoiceNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByInvoiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TransactionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TransactionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.invoiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Policies } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n PoliciesGetByBillingProfileOptionalParams,\n PoliciesGetByBillingProfileResponse,\n Policy,\n PoliciesUpdateOptionalParams,\n PoliciesUpdateResponse,\n PoliciesGetByCustomerOptionalParams,\n PoliciesGetByCustomerResponse,\n CustomerPolicy,\n PoliciesUpdateCustomerOptionalParams,\n PoliciesUpdateCustomerResponse\n} from \"../models\";\n\n/** Class containing Policies operations. */\nexport class PoliciesImpl implements Policies {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Policies class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the policies for a billing profile. This operation is supported only for billing accounts with\n * agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n getByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: PoliciesGetByBillingProfileOptionalParams\n ): Promise<PoliciesGetByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n getByBillingProfileOperationSpec\n );\n }\n\n /**\n * Updates the policies for a billing profile. This operation is supported only for billing accounts\n * with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param parameters Request parameters that are provided to the update policies operation.\n * @param options The options parameters.\n */\n update(\n billingAccountName: string,\n billingProfileName: string,\n parameters: Policy,\n options?: PoliciesUpdateOptionalParams\n ): Promise<PoliciesUpdateResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, parameters, options },\n updateOperationSpec\n );\n }\n\n /**\n * Lists the policies for a customer. This operation is supported only for billing accounts with\n * agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param options The options parameters.\n */\n getByCustomer(\n billingAccountName: string,\n customerName: string,\n options?: PoliciesGetByCustomerOptionalParams\n ): Promise<PoliciesGetByCustomerResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, options },\n getByCustomerOperationSpec\n );\n }\n\n /**\n * Updates the policies for a customer. This operation is supported only for billing accounts with\n * agreement type Microsoft Partner Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param customerName The ID that uniquely identifies a customer.\n * @param parameters Request parameters that are provided to the update policies operation.\n * @param options The options parameters.\n */\n updateCustomer(\n billingAccountName: string,\n customerName: string,\n parameters: CustomerPolicy,\n options?: PoliciesUpdateCustomerOptionalParams\n ): Promise<PoliciesUpdateCustomerResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, customerName, parameters, options },\n updateCustomerOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Policy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Policy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters8,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getByCustomerOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerPolicy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateCustomerOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerPolicy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters9,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.customerName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { BillingPropertyOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n BillingPropertyGetOptionalParams,\n BillingPropertyGetResponse,\n BillingProperty,\n BillingPropertyUpdateOptionalParams,\n BillingPropertyUpdateResponse\n} from \"../models\";\n\n/** Class containing BillingPropertyOperations operations. */\nexport class BillingPropertyOperationsImpl\n implements BillingPropertyOperations {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingPropertyOperations class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Get the billing properties for a subscription. This operation is not supported for billing accounts\n * with agreement type Enterprise Agreement.\n * @param options The options parameters.\n */\n get(\n options?: BillingPropertyGetOptionalParams\n ): Promise<BillingPropertyGetResponse> {\n return this.client.sendOperationRequest({ options }, getOperationSpec);\n }\n\n /**\n * Updates the billing property of a subscription. Currently, cost center can be updated. The operation\n * is supported only for billing accounts with agreement type Microsoft Customer Agreement.\n * @param parameters Request parameters that are provided to the update billing property operation.\n * @param options The options parameters.\n */\n update(\n parameters: BillingProperty,\n options?: BillingPropertyUpdateOptionalParams\n ): Promise<BillingPropertyUpdateResponse> {\n return this.client.sendOperationRequest(\n { parameters, options },\n updateOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProperty\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingProperty\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.parameters10,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Operations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Operation,\n OperationsListNextOptionalParams,\n OperationsListOptionalParams,\n OperationsListResponse,\n OperationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Operations operations. */\nexport class OperationsImpl implements Operations {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Operations class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the available billing REST API operations.\n * @param options The options parameters.\n */\n public list(\n options?: OperationsListOptionalParams\n ): PagedAsyncIterableIterator<Operation> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists the available billing REST API operations.\n * @param options The options parameters.\n */\n private _list(\n options?: OperationsListOptionalParams\n ): Promise<OperationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: OperationsListNextOptionalParams\n ): Promise<OperationsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingRoleDefinitions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n BillingRoleDefinition,\n BillingRoleDefinitionsListByBillingAccountNextOptionalParams,\n BillingRoleDefinitionsListByBillingAccountOptionalParams,\n BillingRoleDefinitionsListByInvoiceSectionNextOptionalParams,\n BillingRoleDefinitionsListByInvoiceSectionOptionalParams,\n BillingRoleDefinitionsListByBillingProfileNextOptionalParams,\n BillingRoleDefinitionsListByBillingProfileOptionalParams,\n BillingRoleDefinitionsGetByBillingAccountOptionalParams,\n BillingRoleDefinitionsGetByBillingAccountResponse,\n BillingRoleDefinitionsGetByInvoiceSectionOptionalParams,\n BillingRoleDefinitionsGetByInvoiceSectionResponse,\n BillingRoleDefinitionsGetByBillingProfileOptionalParams,\n BillingRoleDefinitionsGetByBillingProfileResponse,\n BillingRoleDefinitionsListByBillingAccountResponse,\n BillingRoleDefinitionsListByInvoiceSectionResponse,\n BillingRoleDefinitionsListByBillingProfileResponse,\n BillingRoleDefinitionsListByBillingAccountNextResponse,\n BillingRoleDefinitionsListByInvoiceSectionNextResponse,\n BillingRoleDefinitionsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingRoleDefinitions operations. */\nexport class BillingRoleDefinitionsImpl implements BillingRoleDefinitions {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingRoleDefinitions class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the role definitions for a billing account. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: BillingRoleDefinitionsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleDefinition> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: BillingRoleDefinitionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: BillingRoleDefinitionsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the role definitions for an invoice section. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n public listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleDefinitionsListByInvoiceSectionOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleDefinition> {\n const iter = this.listByInvoiceSectionPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listByInvoiceSectionPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleDefinitionsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition[]> {\n let result = await this._listByInvoiceSection(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceSectionNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoiceSectionPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleDefinitionsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition> {\n for await (const page of this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the role definitions for a billing profile. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleDefinitionsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleDefinition> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleDefinitionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleDefinitionsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingRoleDefinition> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets the definition for a role on a billing account. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingRoleDefinitionName The ID that uniquely identifies a role definition.\n * @param options The options parameters.\n */\n getByBillingAccount(\n billingAccountName: string,\n billingRoleDefinitionName: string,\n options?: BillingRoleDefinitionsGetByBillingAccountOptionalParams\n ): Promise<BillingRoleDefinitionsGetByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingRoleDefinitionName, options },\n getByBillingAccountOperationSpec\n );\n }\n\n /**\n * Gets the definition for a role on an invoice section. The operation is supported only for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param billingRoleDefinitionName The ID that uniquely identifies a role definition.\n * @param options The options parameters.\n */\n getByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n billingRoleDefinitionName: string,\n options?: BillingRoleDefinitionsGetByInvoiceSectionOptionalParams\n ): Promise<BillingRoleDefinitionsGetByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n billingRoleDefinitionName,\n options\n },\n getByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Gets the definition for a role on a billing profile. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param billingRoleDefinitionName The ID that uniquely identifies a role definition.\n * @param options The options parameters.\n */\n getByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n billingRoleDefinitionName: string,\n options?: BillingRoleDefinitionsGetByBillingProfileOptionalParams\n ): Promise<BillingRoleDefinitionsGetByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n billingRoleDefinitionName,\n options\n },\n getByBillingProfileOperationSpec\n );\n }\n\n /**\n * Lists the role definitions for a billing account. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: BillingRoleDefinitionsListByBillingAccountOptionalParams\n ): Promise<BillingRoleDefinitionsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the role definitions for an invoice section. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n private _listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleDefinitionsListByInvoiceSectionOptionalParams\n ): Promise<BillingRoleDefinitionsListByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Lists the role definitions for a billing profile. The operation is supported for billing accounts\n * with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleDefinitionsListByBillingProfileOptionalParams\n ): Promise<BillingRoleDefinitionsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingRoleDefinitionsListByBillingAccountNextOptionalParams\n ): Promise<BillingRoleDefinitionsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByInvoiceSectionNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoiceSection method.\n * @param options The options parameters.\n */\n private _listByInvoiceSectionNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: BillingRoleDefinitionsListByInvoiceSectionNextOptionalParams\n ): Promise<BillingRoleDefinitionsListByInvoiceSectionNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listByInvoiceSectionNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: BillingRoleDefinitionsListByBillingProfileNextOptionalParams\n ): Promise<BillingRoleDefinitionsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinition\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingRoleDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinition\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.billingRoleDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinition\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.billingRoleDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingRoleAssignments } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n BillingRoleAssignment,\n BillingRoleAssignmentsListByBillingAccountNextOptionalParams,\n BillingRoleAssignmentsListByBillingAccountOptionalParams,\n BillingRoleAssignmentsListByInvoiceSectionNextOptionalParams,\n BillingRoleAssignmentsListByInvoiceSectionOptionalParams,\n BillingRoleAssignmentsListByBillingProfileNextOptionalParams,\n BillingRoleAssignmentsListByBillingProfileOptionalParams,\n BillingRoleAssignmentsGetByBillingAccountOptionalParams,\n BillingRoleAssignmentsGetByBillingAccountResponse,\n BillingRoleAssignmentsDeleteByBillingAccountOptionalParams,\n BillingRoleAssignmentsDeleteByBillingAccountResponse,\n BillingRoleAssignmentsGetByInvoiceSectionOptionalParams,\n BillingRoleAssignmentsGetByInvoiceSectionResponse,\n BillingRoleAssignmentsDeleteByInvoiceSectionOptionalParams,\n BillingRoleAssignmentsDeleteByInvoiceSectionResponse,\n BillingRoleAssignmentsGetByBillingProfileOptionalParams,\n BillingRoleAssignmentsGetByBillingProfileResponse,\n BillingRoleAssignmentsDeleteByBillingProfileOptionalParams,\n BillingRoleAssignmentsDeleteByBillingProfileResponse,\n BillingRoleAssignmentsListByBillingAccountResponse,\n BillingRoleAssignmentsListByInvoiceSectionResponse,\n BillingRoleAssignmentsListByBillingProfileResponse,\n BillingRoleAssignmentsListByBillingAccountNextResponse,\n BillingRoleAssignmentsListByInvoiceSectionNextResponse,\n BillingRoleAssignmentsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingRoleAssignments operations. */\nexport class BillingRoleAssignmentsImpl implements BillingRoleAssignments {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingRoleAssignments class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the role assignments for the caller on a billing account. The operation is supported for\n * billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: BillingRoleAssignmentsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleAssignment> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: BillingRoleAssignmentsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: BillingRoleAssignmentsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the role assignments for the caller on an invoice section. The operation is supported for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n public listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleAssignmentsListByInvoiceSectionOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleAssignment> {\n const iter = this.listByInvoiceSectionPagingAll(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n }\n };\n }\n\n private async *listByInvoiceSectionPagingPage(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleAssignmentsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment[]> {\n let result = await this._listByInvoiceSection(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByInvoiceSectionNext(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByInvoiceSectionPagingAll(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleAssignmentsListByInvoiceSectionOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment> {\n for await (const page of this.listByInvoiceSectionPagingPage(\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the role assignments for the caller on a billing profile. The operation is supported for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleAssignmentsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<BillingRoleAssignment> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleAssignmentsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleAssignmentsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<BillingRoleAssignment> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets a role assignment for the caller on a billing account. The operation is supported for billing\n * accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n getByBillingAccount(\n billingAccountName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsGetByBillingAccountOptionalParams\n ): Promise<BillingRoleAssignmentsGetByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingRoleAssignmentName, options },\n getByBillingAccountOperationSpec\n );\n }\n\n /**\n * Deletes a role assignment for the caller on a billing account. The operation is supported for\n * billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n deleteByBillingAccount(\n billingAccountName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsDeleteByBillingAccountOptionalParams\n ): Promise<BillingRoleAssignmentsDeleteByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingRoleAssignmentName, options },\n deleteByBillingAccountOperationSpec\n );\n }\n\n /**\n * Gets a role assignment for the caller on an invoice section. The operation is supported for billing\n * accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n getByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsGetByInvoiceSectionOptionalParams\n ): Promise<BillingRoleAssignmentsGetByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n billingRoleAssignmentName,\n options\n },\n getByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Deletes a role assignment for the caller on an invoice section. The operation is supported for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n deleteByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsDeleteByInvoiceSectionOptionalParams\n ): Promise<BillingRoleAssignmentsDeleteByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n billingRoleAssignmentName,\n options\n },\n deleteByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Gets a role assignment for the caller on a billing profile. The operation is supported for billing\n * accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n getByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsGetByBillingProfileOptionalParams\n ): Promise<BillingRoleAssignmentsGetByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n billingRoleAssignmentName,\n options\n },\n getByBillingProfileOperationSpec\n );\n }\n\n /**\n * Deletes a role assignment for the caller on a billing profile. The operation is supported for\n * billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param billingRoleAssignmentName The ID that uniquely identifies a role assignment.\n * @param options The options parameters.\n */\n deleteByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n billingRoleAssignmentName: string,\n options?: BillingRoleAssignmentsDeleteByBillingProfileOptionalParams\n ): Promise<BillingRoleAssignmentsDeleteByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n billingRoleAssignmentName,\n options\n },\n deleteByBillingProfileOperationSpec\n );\n }\n\n /**\n * Lists the role assignments for the caller on a billing account. The operation is supported for\n * billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: BillingRoleAssignmentsListByBillingAccountOptionalParams\n ): Promise<BillingRoleAssignmentsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the role assignments for the caller on an invoice section. The operation is supported for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param options The options parameters.\n */\n private _listByInvoiceSection(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n options?: BillingRoleAssignmentsListByInvoiceSectionOptionalParams\n ): Promise<BillingRoleAssignmentsListByInvoiceSectionResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, invoiceSectionName, options },\n listByInvoiceSectionOperationSpec\n );\n }\n\n /**\n * Lists the role assignments for the caller on a billing profile. The operation is supported for\n * billing accounts with agreement type Microsoft Customer Agreement.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: BillingRoleAssignmentsListByBillingProfileOptionalParams\n ): Promise<BillingRoleAssignmentsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: BillingRoleAssignmentsListByBillingAccountNextOptionalParams\n ): Promise<BillingRoleAssignmentsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByInvoiceSectionNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param invoiceSectionName The ID that uniquely identifies an invoice section.\n * @param nextLink The nextLink from the previous successful call to the ListByInvoiceSection method.\n * @param options The options parameters.\n */\n private _listByInvoiceSectionNext(\n billingAccountName: string,\n billingProfileName: string,\n invoiceSectionName: string,\n nextLink: string,\n options?: BillingRoleAssignmentsListByInvoiceSectionNextOptionalParams\n ): Promise<BillingRoleAssignmentsListByInvoiceSectionNextResponse> {\n return this.client.sendOperationRequest(\n {\n billingAccountName,\n billingProfileName,\n invoiceSectionName,\n nextLink,\n options\n },\n listByInvoiceSectionNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: BillingRoleAssignmentsListByBillingProfileNextOptionalParams\n ): Promise<BillingRoleAssignmentsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.billingRoleAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByInvoiceSectionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName,\n Parameters.invoiceSectionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingRoleAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Agreements } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Agreement,\n AgreementsListByBillingAccountNextOptionalParams,\n AgreementsListByBillingAccountOptionalParams,\n AgreementsListByBillingAccountResponse,\n AgreementsGetOptionalParams,\n AgreementsGetResponse,\n AgreementsListByBillingAccountNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Agreements operations. */\nexport class AgreementsImpl implements Agreements {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Agreements class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the agreements for a billing account.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: AgreementsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<Agreement> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: AgreementsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Agreement[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: AgreementsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Agreement> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the agreements for a billing account.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: AgreementsListByBillingAccountOptionalParams\n ): Promise<AgreementsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Gets an agreement by ID.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param agreementName The ID that uniquely identifies an agreement.\n * @param options The options parameters.\n */\n get(\n billingAccountName: string,\n agreementName: string,\n options?: AgreementsGetOptionalParams\n ): Promise<AgreementsGetResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, agreementName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: AgreementsListByBillingAccountNextOptionalParams\n ): Promise<AgreementsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AgreementListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Agreement\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.agreementName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AgreementListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Reservations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n Reservation,\n ReservationsListByBillingAccountNextOptionalParams,\n ReservationsListByBillingAccountOptionalParams,\n ReservationsListByBillingProfileNextOptionalParams,\n ReservationsListByBillingProfileOptionalParams,\n ReservationsListByBillingAccountResponse,\n ReservationsListByBillingProfileResponse,\n ReservationsListByBillingAccountNextResponse,\n ReservationsListByBillingProfileNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Reservations operations. */\nexport class ReservationsImpl implements Reservations {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class Reservations class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the reservations for a billing account and the roll up counts of reservations group by\n * provisioning states.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n public listByBillingAccount(\n billingAccountName: string,\n options?: ReservationsListByBillingAccountOptionalParams\n ): PagedAsyncIterableIterator<Reservation> {\n const iter = this.listByBillingAccountPagingAll(\n billingAccountName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingAccountPagingPage(billingAccountName, options);\n }\n };\n }\n\n private async *listByBillingAccountPagingPage(\n billingAccountName: string,\n options?: ReservationsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Reservation[]> {\n let result = await this._listByBillingAccount(billingAccountName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingAccountNext(\n billingAccountName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingAccountPagingAll(\n billingAccountName: string,\n options?: ReservationsListByBillingAccountOptionalParams\n ): AsyncIterableIterator<Reservation> {\n for await (const page of this.listByBillingAccountPagingPage(\n billingAccountName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the reservations for a billing profile and the roll up counts of reservations group by\n * provisioning state.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n public listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: ReservationsListByBillingProfileOptionalParams\n ): PagedAsyncIterableIterator<Reservation> {\n const iter = this.listByBillingProfilePagingAll(\n billingAccountName,\n billingProfileName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n );\n }\n };\n }\n\n private async *listByBillingProfilePagingPage(\n billingAccountName: string,\n billingProfileName: string,\n options?: ReservationsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Reservation[]> {\n let result = await this._listByBillingProfile(\n billingAccountName,\n billingProfileName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByBillingProfileNext(\n billingAccountName,\n billingProfileName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByBillingProfilePagingAll(\n billingAccountName: string,\n billingProfileName: string,\n options?: ReservationsListByBillingProfileOptionalParams\n ): AsyncIterableIterator<Reservation> {\n for await (const page of this.listByBillingProfilePagingPage(\n billingAccountName,\n billingProfileName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the reservations for a billing account and the roll up counts of reservations group by\n * provisioning states.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param options The options parameters.\n */\n private _listByBillingAccount(\n billingAccountName: string,\n options?: ReservationsListByBillingAccountOptionalParams\n ): Promise<ReservationsListByBillingAccountResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, options },\n listByBillingAccountOperationSpec\n );\n }\n\n /**\n * Lists the reservations for a billing profile and the roll up counts of reservations group by\n * provisioning state.\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param options The options parameters.\n */\n private _listByBillingProfile(\n billingAccountName: string,\n billingProfileName: string,\n options?: ReservationsListByBillingProfileOptionalParams\n ): Promise<ReservationsListByBillingProfileResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, options },\n listByBillingProfileOperationSpec\n );\n }\n\n /**\n * ListByBillingAccountNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingAccount method.\n * @param options The options parameters.\n */\n private _listByBillingAccountNext(\n billingAccountName: string,\n nextLink: string,\n options?: ReservationsListByBillingAccountNextOptionalParams\n ): Promise<ReservationsListByBillingAccountNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, nextLink, options },\n listByBillingAccountNextOperationSpec\n );\n }\n\n /**\n * ListByBillingProfileNext\n * @param billingAccountName The ID that uniquely identifies a billing account.\n * @param billingProfileName The ID that uniquely identifies a billing profile.\n * @param nextLink The nextLink from the previous successful call to the ListByBillingProfile method.\n * @param options The options parameters.\n */\n private _listByBillingProfileNext(\n billingAccountName: string,\n billingProfileName: string,\n nextLink: string,\n options?: ReservationsListByBillingProfileNextOptionalParams\n ): Promise<ReservationsListByBillingProfileNextResponse> {\n return this.client.sendOperationRequest(\n { billingAccountName, billingProfileName, nextLink, options },\n listByBillingProfileNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByBillingAccountOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReservationsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.orderby,\n Parameters.refreshSummary,\n Parameters.selectedState\n ],\n urlParameters: [Parameters.$host, Parameters.billingAccountName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReservationsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.orderby,\n Parameters.refreshSummary,\n Parameters.selectedState\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingAccountNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReservationsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.orderby,\n Parameters.refreshSummary,\n Parameters.selectedState\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByBillingProfileNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReservationsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.orderby,\n Parameters.refreshSummary,\n Parameters.selectedState\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.billingAccountName,\n Parameters.nextLink,\n Parameters.billingProfileName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { EnrollmentAccounts } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n EnrollmentAccountSummary,\n EnrollmentAccountsListNextOptionalParams,\n EnrollmentAccountsListOptionalParams,\n EnrollmentAccountsListResponse,\n EnrollmentAccountsGetOptionalParams,\n EnrollmentAccountsGetResponse,\n EnrollmentAccountsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing EnrollmentAccounts operations. */\nexport class EnrollmentAccountsImpl implements EnrollmentAccounts {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class EnrollmentAccounts class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the enrollment accounts the caller has access to.\n * @param options The options parameters.\n */\n public list(\n options?: EnrollmentAccountsListOptionalParams\n ): PagedAsyncIterableIterator<EnrollmentAccountSummary> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: EnrollmentAccountsListOptionalParams\n ): AsyncIterableIterator<EnrollmentAccountSummary[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: EnrollmentAccountsListOptionalParams\n ): AsyncIterableIterator<EnrollmentAccountSummary> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists the enrollment accounts the caller has access to.\n * @param options The options parameters.\n */\n private _list(\n options?: EnrollmentAccountsListOptionalParams\n ): Promise<EnrollmentAccountsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Gets a enrollment account by name.\n * @param name Enrollment Account name.\n * @param options The options parameters.\n */\n get(\n name: string,\n options?: EnrollmentAccountsGetOptionalParams\n ): Promise<EnrollmentAccountsGetResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: EnrollmentAccountsListNextOptionalParams\n ): Promise<EnrollmentAccountsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/enrollmentAccounts\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EnrollmentAccountListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Billing/enrollmentAccounts/{name}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EnrollmentAccountSummary\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EnrollmentAccountListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { BillingPeriods } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { BillingManagementClient } from \"../billingManagementClient\";\nimport {\n BillingPeriod,\n BillingPeriodsListNextOptionalParams,\n BillingPeriodsListOptionalParams,\n BillingPeriodsListResponse,\n BillingPeriodsGetOptionalParams,\n BillingPeriodsGetResponse,\n BillingPeriodsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing BillingPeriods operations. */\nexport class BillingPeriodsImpl implements BillingPeriods {\n private readonly client: BillingManagementClient;\n\n /**\n * Initialize a new instance of the class BillingPeriods class.\n * @param client Reference to the service client\n */\n constructor(client: BillingManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the available billing periods for a subscription in reverse chronological order. This is only\n * supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased\n * directly through the Azure web portal are not supported through this preview API.\n * @param options The options parameters.\n */\n public list(\n options?: BillingPeriodsListOptionalParams\n ): PagedAsyncIterableIterator<BillingPeriod> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: BillingPeriodsListOptionalParams\n ): AsyncIterableIterator<BillingPeriod[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: BillingPeriodsListOptionalParams\n ): AsyncIterableIterator<BillingPeriod> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists the available billing periods for a subscription in reverse chronological order. This is only\n * supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased\n * directly through the Azure web portal are not supported through this preview API.\n * @param options The options parameters.\n */\n private _list(\n options?: BillingPeriodsListOptionalParams\n ): Promise<BillingPeriodsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other\n * subscription types which were not purchased directly through the Azure web portal are not supported\n * through this preview API.\n * @param billingPeriodName The name of a BillingPeriod resource.\n * @param options The options parameters.\n */\n get(\n billingPeriodName: string,\n options?: BillingPeriodsGetOptionalParams\n ): Promise<BillingPeriodsGetResponse> {\n return this.client.sendOperationRequest(\n { billingPeriodName, options },\n getOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: BillingPeriodsListNextOptionalParams\n ): Promise<BillingPeriodsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPeriodsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.filter,\n Parameters.apiVersion1,\n Parameters.skiptoken,\n Parameters.top\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPeriod\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.billingPeriodName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.BillingPeriodsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.filter,\n Parameters.apiVersion1,\n Parameters.skiptoken,\n Parameters.top\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n BillingAccountsImpl,\n AddressImpl,\n AvailableBalancesImpl,\n InstructionsImpl,\n BillingProfilesImpl,\n CustomersImpl,\n InvoiceSectionsImpl,\n BillingPermissionsImpl,\n BillingSubscriptionsImpl,\n ProductsImpl,\n InvoicesImpl,\n TransactionsImpl,\n PoliciesImpl,\n BillingPropertyOperationsImpl,\n OperationsImpl,\n BillingRoleDefinitionsImpl,\n BillingRoleAssignmentsImpl,\n AgreementsImpl,\n ReservationsImpl,\n EnrollmentAccountsImpl,\n BillingPeriodsImpl\n} from \"./operations\";\nimport {\n BillingAccounts,\n Address,\n AvailableBalances,\n Instructions,\n BillingProfiles,\n Customers,\n InvoiceSections,\n BillingPermissions,\n BillingSubscriptions,\n Products,\n Invoices,\n Transactions,\n Policies,\n BillingPropertyOperations,\n Operations,\n BillingRoleDefinitions,\n BillingRoleAssignments,\n Agreements,\n Reservations,\n EnrollmentAccounts,\n BillingPeriods\n} from \"./operationsInterfaces\";\nimport { BillingManagementClientOptionalParams } from \"./models\";\n\nexport class BillingManagementClient extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n\n /**\n * Initializes a new instance of the BillingManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The ID that uniquely identifies an Azure subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: BillingManagementClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n if (subscriptionId === undefined) {\n throw new Error(\"'subscriptionId' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: BillingManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-billing/4.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.subscriptionId = subscriptionId;\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n this.billingAccounts = new BillingAccountsImpl(this);\n this.address = new AddressImpl(this);\n this.availableBalances = new AvailableBalancesImpl(this);\n this.instructions = new InstructionsImpl(this);\n this.billingProfiles = new BillingProfilesImpl(this);\n this.customers = new CustomersImpl(this);\n this.invoiceSections = new InvoiceSectionsImpl(this);\n this.billingPermissions = new BillingPermissionsImpl(this);\n this.billingSubscriptions = new BillingSubscriptionsImpl(this);\n this.products = new ProductsImpl(this);\n this.invoices = new InvoicesImpl(this);\n this.transactions = new TransactionsImpl(this);\n this.policies = new PoliciesImpl(this);\n this.billingPropertyOperations = new BillingPropertyOperationsImpl(this);\n this.operations = new OperationsImpl(this);\n this.billingRoleDefinitions = new BillingRoleDefinitionsImpl(this);\n this.billingRoleAssignments = new BillingRoleAssignmentsImpl(this);\n this.agreements = new AgreementsImpl(this);\n this.reservations = new ReservationsImpl(this);\n this.enrollmentAccounts = new EnrollmentAccountsImpl(this);\n this.billingPeriods = new BillingPeriodsImpl(this);\n }\n\n billingAccounts: BillingAccounts;\n address: Address;\n availableBalances: AvailableBalances;\n instructions: Instructions;\n billingProfiles: BillingProfiles;\n customers: Customers;\n invoiceSections: InvoiceSections;\n billingPermissions: BillingPermissions;\n billingSubscriptions: BillingSubscriptions;\n products: Products;\n invoices: Invoices;\n transactions: Transactions;\n policies: Policies;\n billingPropertyOperations: BillingPropertyOperations;\n operations: Operations;\n billingRoleDefinitions: BillingRoleDefinitions;\n billingRoleAssignments: BillingRoleAssignments;\n agreements: Agreements;\n reservations: Reservations;\n enrollmentAccounts: EnrollmentAccounts;\n billingPeriods: BillingPeriods;\n}\n"],"names":["KnownAgreementType","KnownAccountType","KnownAccountStatus","KnownBillingRelationshipType","KnownInvoiceSectionState","KnownTargetCloud","KnownBillingProfileStatus","KnownStatusReasonCode","KnownSpendingLimit","KnownStatusReasonCodeForBillingProfile","KnownSpendingLimitForBillingProfile","KnownAddressValidationStatus","KnownBillingSubscriptionStatusType","KnownAutoRenew","KnownProductStatusType","KnownBillingFrequency","KnownInvoiceStatus","KnownInvoiceType","KnownDocumentType","KnownDocumentSource","KnownPaymentMethodFamily","KnownInvoiceDocumentType","KnownSubscriptionTransferValidationErrorCode","KnownProductTransferValidationErrorCode","KnownTransactionTypeKind","KnownReservationType","KnownMarketplacePurchasesPolicy","KnownReservationPurchasesPolicy","KnownViewChargesPolicy","KnownViewCharges","KnownBillingProfileStatusReasonCode","KnownBillingProfileSpendingLimit","KnownCategory","KnownAcceptanceMode","BillingAccountUpdateRequestMapper","AddressDetailsMapper","InstructionMapper","BillingProfileMapper","InvoiceSectionMapper","BillingSubscriptionMapper","TransferBillingSubscriptionRequestPropertiesMapper","ProductMapper","TransferProductRequestPropertiesMapper","PolicyMapper","CustomerPolicyMapper","BillingPropertyMapper","__asyncValues","__asyncDelegator","LroEngine","coreClient.createSerializer","Mappers.BillingAccountListResult","Mappers.ErrorResponse","Parameters.apiVersion","Parameters.expand","Parameters.$host","Parameters.accept","Mappers.BillingAccount","Parameters.billingAccountName","Parameters.parameters","Parameters.contentType","Mappers.InvoiceSectionListWithCreateSubPermissionResult","Parameters.nextLink","serializer","Mappers.ValidateAddressResponse","Parameters.address","getOperationSpec","Mappers.AvailableBalance","Parameters.billingProfileName","Mappers.InstructionListResult","Mappers.Instruction","Parameters.instructionName","Parameters.parameters1","Mappers.BillingProfileListResult","Mappers.BillingProfile","Parameters.parameters2","listByBillingProfileOperationSpec","listByBillingAccountOperationSpec","listByBillingProfileNextOperationSpec","listByBillingAccountNextOperationSpec","Mappers.CustomerListResult","Parameters.search","Parameters.filter","Mappers.Customer","Parameters.customerName","createOrUpdateOperationSpec","Mappers.InvoiceSectionListResult","Mappers.InvoiceSection","Parameters.invoiceSectionName","Parameters.parameters3","Mappers.BillingPermissionsListResult","listByCustomerOperationSpec","updateOperationSpec","listByCustomerNextOperationSpec","Mappers.BillingSubscriptionsListResult","Mappers.BillingSubscription","Parameters.subscriptionId","Parameters.parameters4","Parameters.parameters5","Mappers.ValidateSubscriptionTransferEligibilityResult","listByInvoiceSectionOperationSpec","moveOperationSpec","validateMoveOperationSpec","listByInvoiceSectionNextOperationSpec","Mappers.ProductsListResult","Mappers.Product","Parameters.productName","Parameters.parameters6","Mappers.ProductsMoveHeaders","Parameters.parameters7","Mappers.ValidateProductTransferEligibilityResult","Mappers.InvoiceListResult","Parameters.periodStartDate","Parameters.periodEndDate","Mappers.Invoice","Parameters.invoiceName","Mappers.DownloadUrl","Parameters.downloadToken","Parameters.downloadUrls","Mappers.TransactionListResult","Mappers.Policy","Parameters.parameters8","Mappers.CustomerPolicy","Parameters.parameters9","Mappers.BillingProperty","Parameters.parameters10","listOperationSpec","listNextOperationSpec","Mappers.OperationListResult","getByBillingProfileOperationSpec","Mappers.BillingRoleDefinition","Parameters.billingRoleDefinitionName","Mappers.BillingRoleDefinitionListResult","getByBillingAccountOperationSpec","getByInvoiceSectionOperationSpec","Mappers.BillingRoleAssignment","Parameters.billingRoleAssignmentName","Mappers.BillingRoleAssignmentListResult","Mappers.AgreementListResult","Mappers.Agreement","Parameters.agreementName","Mappers.ReservationsListResult","Parameters.orderby","Parameters.refreshSummary","Parameters.selectedState","Mappers.EnrollmentAccountListResult","Parameters.apiVersion1","Mappers.EnrollmentAccountSummary","Parameters.name","Mappers.BillingPeriodsListResult","Parameters.skiptoken","Parameters.top","Mappers.BillingPeriod","Parameters.billingPeriodName","coreClient.ServiceClient"],"mappings":"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"}
|