From e3e930285855df954b3212e9ddd343a18909fe21 Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Mon, 1 Jun 2026 05:58:39 +0000 Subject: [PATCH 1/3] Configurations: 'specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/ConfidentialLedger/tspconfig.yaml', API Version: 2026-02-23, SDK Release Type: beta, and CommitSHA: '5844a51fbf0a1dcc72001ce84dd2078f0f01a2d9' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6376391 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .github/CODEOWNERS | 2 +- pnpm-lock.yaml | 31 +- .../arm-confidentialledger/CHANGELOG.md | 49 + .../arm-confidentialledger/README.md | 22 +- .../arm-confidentialledger/_meta.json | 8 - .../arm-confidentialledger/api-extractor.json | 4 +- .../config/tsconfig.lint.json | 7 - .../config/tsconfig.samples.json | 4 +- .../config/tsconfig.src.browser.json | 4 +- .../config/tsconfig.src.cjs.json | 4 +- .../config/tsconfig.src.esm.json | 4 +- .../config/tsconfig.test.browser.json | 10 + .../config/tsconfig.test.node.json | 9 +- .../arm-confidentialledger/eslint.config.mjs | 29 +- .../arm-confidentialledger/metadata.json | 50 + .../arm-confidentialledger/package.json | 222 ++-- .../review/arm-confidentialledger-node.api.md | 415 +++----- .../checkNameAvailabilitySample.ts | 31 +- .../samples-dev/ledgerBackupSample.ts | 45 - .../samples-dev/ledgerCreateSample.ts | 43 +- .../samples-dev/ledgerDeleteSample.ts | 28 +- .../samples-dev/ledgerFilesExportSample.ts | 28 + .../samples-dev/ledgerGetSample.ts | 24 +- .../ledgerListByResourceGroupSample.ts | 26 +- .../ledgerListBySubscriptionSample.ts | 19 +- .../samples-dev/ledgerRestoreSample.ts | 46 - .../samples-dev/ledgerUpdateSample.ts | 42 +- .../samples-dev/managedCcfBackupSample.ts | 45 - .../samples-dev/managedCcfCreateSample.ts | 61 -- .../samples-dev/managedCcfDeleteSample.ts | 36 - .../samples-dev/managedCcfGetSample.ts | 36 - .../managedCcfListByResourceGroupSample.ts | 37 - .../managedCcfListBySubscriptionSample.ts | 32 - .../samples-dev/managedCcfRestoreSample.ts | 46 - .../samples-dev/managedCcfUpdateSample.ts | 52 - .../samples-dev/operationsListSample.ts | 20 +- .../samples/v1-beta/javascript/README.md | 84 -- .../javascript/checkNameAvailabilitySample.js | 36 - .../v1-beta/javascript/ledgerBackupSample.js | 43 - .../v1-beta/javascript/ledgerDeleteSample.js | 35 - .../v1-beta/javascript/ledgerGetSample.js | 35 - .../ledgerListByResourceGroupSample.js | 37 - .../ledgerListBySubscriptionSample.js | 35 - .../v1-beta/javascript/ledgerRestoreSample.js | 44 - .../javascript/managedCcfBackupSample.js | 43 - .../javascript/managedCcfCreateSample.js | 59 -- .../javascript/managedCcfDeleteSample.js | 35 - .../v1-beta/javascript/managedCcfGetSample.js | 35 - .../managedCcfListByResourceGroupSample.js | 37 - .../managedCcfListBySubscriptionSample.js | 35 - .../javascript/managedCcfRestoreSample.js | 44 - .../javascript/managedCcfUpdateSample.js | 50 - .../javascript/operationsListSample.js | 35 - .../samples/v1-beta/typescript/README.md | 97 -- .../src/checkNameAvailabilitySample.ts | 40 - .../typescript/src/ledgerBackupSample.ts | 48 - .../typescript/src/ledgerDeleteSample.ts | 40 - .../v1-beta/typescript/src/ledgerGetSample.ts | 37 - .../src/ledgerListByResourceGroupSample.ts | 41 - .../src/ledgerListBySubscriptionSample.ts | 36 - .../typescript/src/ledgerRestoreSample.ts | 49 - .../typescript/src/managedCcfBackupSample.ts | 48 - .../typescript/src/managedCcfCreateSample.ts | 64 -- .../typescript/src/managedCcfDeleteSample.ts | 40 - .../typescript/src/managedCcfGetSample.ts | 40 - .../managedCcfListByResourceGroupSample.ts | 41 - .../src/managedCcfListBySubscriptionSample.ts | 36 - .../typescript/src/managedCcfRestoreSample.ts | 49 - .../typescript/src/managedCcfUpdateSample.ts | 55 - .../typescript/src/operationsListSample.ts | 36 - .../samples/v1-beta/typescript/tsconfig.json | 20 - .../samples/v2-beta/javascript/README.md | 66 ++ .../javascript/checkNameAvailabilitySample.js | 28 + .../javascript/ledgerCreateSample.js | 39 +- .../v2-beta/javascript/ledgerDeleteSample.js | 24 + .../javascript/ledgerFilesExportSample.js | 28 + .../v2-beta/javascript/ledgerGetSample.js | 25 + .../ledgerListByResourceGroupSample.js | 29 + .../ledgerListBySubscriptionSample.js | 29 + .../javascript/ledgerUpdateSample.js | 38 +- .../javascript/operationsListSample.js | 28 + .../javascript/package.json | 13 +- .../javascript/sample.env | 0 .../samples/v2-beta/typescript/README.md | 79 ++ .../typescript/package.json | 15 +- .../typescript/sample.env | 0 .../src/checkNameAvailabilitySample.ts | 28 + .../typescript/src/ledgerCreateSample.ts | 46 +- .../typescript/src/ledgerDeleteSample.ts | 24 + .../typescript/src/ledgerFilesExportSample.ts | 28 + .../v2-beta/typescript/src/ledgerGetSample.ts | 25 + .../src/ledgerListByResourceGroupSample.ts | 29 + .../src/ledgerListBySubscriptionSample.ts | 29 + .../typescript/src/ledgerUpdateSample.ts | 45 +- .../typescript/src/operationsListSample.ts | 28 + .../samples/v2-beta/typescript/tsconfig.json | 17 + .../src/api/confidentialLedgerContext.ts | 52 + .../arm-confidentialledger/src/api/index.ts | 10 + .../src/api/ledger/index.ts | 21 + .../src/api/ledger/operations.ts | 418 ++++++++ .../src/api/ledger/options.ts | 43 + .../src/api/operations.ts | 66 ++ .../src/api/operations/index.ts | 5 + .../src/api/operations/operations.ts | 69 ++ .../src/api/operations/options.ts | 7 + .../arm-confidentialledger/src/api/options.ts | 7 + .../src/classic/index.ts | 5 + .../src/classic/ledger/index.ts | 253 +++++ .../src/classic/operations/index.ts | 28 + .../src/confidentialLedgerClient.ts | 226 +--- .../arm-confidentialledger/src/index.ts | 81 +- .../arm-confidentialledger/src/logger.ts | 5 + .../arm-confidentialledger/src/lroImpl.ts | 39 - .../src/models/index.ts | 880 +--------------- .../src/models/mappers.ts | 926 ----------------- .../src/models/models.ts | 723 +++++++++++++ .../src/models/parameters.ts | 184 ---- .../src/operations/index.ts | 11 - .../src/operations/ledger.ts | 957 ----------------- .../src/operations/managedCCFOperations.ts | 962 ------------------ .../src/operations/operations.ts | 149 --- .../src/operationsInterfaces/index.ts | 11 - .../src/operationsInterfaces/ledger.ts | 197 ---- .../managedCCFOperations.ts | 206 ---- .../src/operationsInterfaces/operations.ts | 25 - .../src/pagingHelper.ts | 39 - .../src/restorePollerHelpers.ts | 169 +++ .../src/static-helpers/cloudSettingHelpers.ts | 42 + .../src/static-helpers/pagingHelpers.ts | 267 +++++ .../src/static-helpers/pollingHelpers.ts | 147 +++ .../src/static-helpers/simplePollerHelpers.ts | 119 +++ .../src/static-helpers/urlTemplate.ts | 227 +++++ .../test/snippets.spec.ts | 21 +- .../arm-confidentialledger/tsconfig.json | 9 +- .../arm-confidentialledger/tsp-location.yaml | 4 + .../arm-confidentialledger/warp.config.yml | 9 +- sdk/confidentialledger/ci.mgmt.yml | 5 +- 137 files changed, 4012 insertions(+), 7462 deletions(-) delete mode 100644 sdk/confidentialledger/arm-confidentialledger/_meta.json delete mode 100644 sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json create mode 100644 sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.browser.json create mode 100644 sdk/confidentialledger/arm-confidentialledger/metadata.json delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerBackupSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerFilesExportSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerRestoreSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfBackupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfCreateSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfDeleteSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfGetSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListByResourceGroupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListBySubscriptionSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfRestoreSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfUpdateSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/README.md delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/checkNameAvailabilitySample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerBackupSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerDeleteSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerGetSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListByResourceGroupSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListBySubscriptionSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerRestoreSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfBackupSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfCreateSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfDeleteSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfGetSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListByResourceGroupSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListBySubscriptionSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfRestoreSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfUpdateSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/operationsListSample.js delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/README.md delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/checkNameAvailabilitySample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerBackupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerDeleteSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerGetSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListByResourceGroupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListBySubscriptionSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerRestoreSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfBackupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfCreateSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfDeleteSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfGetSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListByResourceGroupSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListBySubscriptionSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfRestoreSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfUpdateSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/operationsListSample.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/tsconfig.json create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/README.md create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/checkNameAvailabilitySample.js rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/javascript/ledgerCreateSample.js (59%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerDeleteSample.js create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerFilesExportSample.js create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerGetSample.js create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListByResourceGroupSample.js create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListBySubscriptionSample.js rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/javascript/ledgerUpdateSample.js (64%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/operationsListSample.js rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/javascript/package.json (73%) rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/javascript/sample.env (100%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/README.md rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/typescript/package.json (74%) rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/typescript/sample.env (100%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/checkNameAvailabilitySample.ts rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/typescript/src/ledgerCreateSample.ts (56%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerDeleteSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerFilesExportSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerGetSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListByResourceGroupSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListBySubscriptionSample.ts rename sdk/confidentialledger/arm-confidentialledger/samples/{v1-beta => v2-beta}/typescript/src/ledgerUpdateSample.ts (62%) create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/operationsListSample.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/tsconfig.json create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/confidentialLedgerContext.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/ledger/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/ledger/operations.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/ledger/options.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/operations.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/operations/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/operations/operations.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/operations/options.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/api/options.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/classic/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/classic/ledger/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/classic/operations/index.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/logger.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/lroImpl.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/models/mappers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/models/models.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/models/parameters.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operations/index.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operations/ledger.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operations/managedCCFOperations.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operations/operations.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/index.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/ledger.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/managedCCFOperations.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/operations.ts delete mode 100644 sdk/confidentialledger/arm-confidentialledger/src/pagingHelper.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/restorePollerHelpers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/static-helpers/cloudSettingHelpers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pagingHelpers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pollingHelpers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/static-helpers/simplePollerHelpers.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/src/static-helpers/urlTemplate.ts create mode 100644 sdk/confidentialledger/arm-confidentialledger/tsp-location.yaml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2933a3f2fe30..60e539c94f06 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -424,7 +424,7 @@ # PRLabel: %Mgmt %mgmt-review-needed /sdk/cognitiveservices/arm-cognitiveservices/ @qiaozha @MaryGao @JialinHuang803 -# PRLabel: %Mgmt +# PRLabel: %Mgmt %mgmt-review-needed /sdk/confidentialledger/arm-confidentialledger/ @qiaozha @MaryGao @JialinHuang803 # PRLabel: %Mgmt %mgmt-review-needed diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5c8cfaedf995..5bb32060861c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6941,24 +6941,27 @@ importers: sdk/confidentialledger/arm-confidentialledger: dependencies: + '@azure-rest/core-client': + specifier: ^2.3.1 + version: link:../../core/core-client-rest '@azure/abort-controller': specifier: ^2.1.2 version: link:../../core/abort-controller '@azure/core-auth': specifier: ^1.9.0 version: link:../../core/core-auth - '@azure/core-client': - specifier: ^1.9.2 - version: link:../../core/core-client '@azure/core-lro': - specifier: ^2.5.4 - version: 2.7.2 - '@azure/core-paging': - specifier: ^1.6.2 - version: link:../../core/core-paging + specifier: ^3.1.0 + version: link:../../core/core-lro '@azure/core-rest-pipeline': specifier: link:../../core/core-rest-pipeline version: link:../../core/core-rest-pipeline + '@azure/core-util': + specifier: ^1.12.0 + version: link:../../core/core-util + '@azure/logger': + specifier: ^1.2.0 + version: link:../../core/logger tslib: specifier: ^2.8.1 version: 2.8.1 @@ -6975,12 +6978,12 @@ importers: '@azure/dev-tool': specifier: workspace:^ version: link:../../../common/tools/dev-tool + '@azure/eslint-plugin-azure-sdk': + specifier: workspace:^ + version: link:../../../common/tools/eslint-plugin-azure-sdk '@azure/identity': specifier: catalog:internal version: 4.13.0 - '@azure/logger': - specifier: ^1.1.4 - version: link:../../core/logger '@types/node': specifier: 'catalog:' version: 20.19.40 @@ -6996,9 +6999,15 @@ importers: dotenv: specifier: catalog:testing version: 16.6.1 + eslint: + specifier: 'catalog:' + version: 9.39.4 playwright: specifier: catalog:testing version: 1.60.0 + prettier: + specifier: 'catalog:' + version: 3.8.3 rimraf: specifier: 'catalog:' version: 6.1.3 diff --git a/sdk/confidentialledger/arm-confidentialledger/CHANGELOG.md b/sdk/confidentialledger/arm-confidentialledger/CHANGELOG.md index 86134c143bec..81a317639604 100644 --- a/sdk/confidentialledger/arm-confidentialledger/CHANGELOG.md +++ b/sdk/confidentialledger/arm-confidentialledger/CHANGELOG.md @@ -1,4 +1,53 @@ # Release History + +## 2.0.0-beta.1 (2026-06-01) +Compared with version 1.2.0 + +### Features Added + - Added operation LedgerOperations.beginFilesExport + - Added operation LedgerOperations.beginFilesExportAndWait + - Added operation LedgerOperations.create + - Added operation LedgerOperations.delete + - Added operation LedgerOperations.filesExport + - Added operation LedgerOperations.update + - Added Interface ConfidentialLedgerFilesExport + - Added Interface ConfidentialLedgerFilesExportResponse + - Added Interface LedgerFilesExportOptionalParams + - Added Interface PagedAsyncIterableIterator + - Added Interface PageSettings + - Added Interface RestorePollerOptions + - Added Interface SimplePollerLike + - Added Interface TrackedResource + - Interface LedgerProperties has a new optional parameter applicationType + - Interface LedgerProperties has a new optional parameter enclavePlatform + - Interface LedgerProperties has a new optional parameter hostLevel + - Interface LedgerProperties has a new optional parameter ledgerSku + - Interface LedgerProperties has a new optional parameter maxBodySizeInMb + - Interface LedgerProperties has a new optional parameter nodeCount + - Interface LedgerProperties has a new optional parameter runningState + - Interface LedgerProperties has a new optional parameter scittConfiguration + - Interface LedgerProperties has a new optional parameter subjectName + - Interface LedgerProperties has a new optional parameter workerThreads + - Interface LedgerProperties has a new optional parameter writeLBAddressPrefix + - Added Type Alias ApplicationType + - Added Type Alias AzureSupportedClouds + - Added Type Alias EnclavePlatform + - Added Type Alias LedgerSku + - Added Type Alias RunningState + - Added Enum AzureClouds + - Added Enum KnownApplicationType + - Added Enum KnownEnclavePlatform + - Added Enum KnownLedgerSku + - Added Enum KnownRunningState + - Added Enum KnownVersions + +### Breaking Changes + - Removed Interface ConfidentialLedgerList + - Removed Interface ResourceLocation + - Removed Interface ResourceProviderOperationList + - Removed Interface Tags + - Parameter location of interface ConfidentialLedger is now required + ## 1.3.0-beta.3 (2025-05-16) Compared with version 1.2.0 diff --git a/sdk/confidentialledger/arm-confidentialledger/README.md b/sdk/confidentialledger/arm-confidentialledger/README.md index 5dd340e272dc..3ec62be638e5 100644 --- a/sdk/confidentialledger/arm-confidentialledger/README.md +++ b/sdk/confidentialledger/arm-confidentialledger/README.md @@ -2,12 +2,14 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure ConfidentialLedger client. -Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview. +Microsoft Azure Confidential Compute Ledger Managed CCF Control Plane REST API. -[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger) | -[Package (NPM)](https://www.npmjs.com/package/@azure/arm-confidentialledger) | -[API reference documentation](https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview) | -[Samples](https://github.com/Azure-Samples/azure-samples-js-management) +Key links: + +- [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger) +- [Package (NPM)](https://www.npmjs.com/package/@azure/arm-confidentialledger) +- [API reference documentation](https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview) +- [Samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/samples) ## Getting started @@ -35,7 +37,7 @@ npm install @azure/arm-confidentialledger To create a client object to access the Azure ConfidentialLedger API, you will need the `endpoint` of your Azure ConfidentialLedger resource and a `credential`. The Azure ConfidentialLedger client can use Azure Active Directory credentials to authenticate. You can find the endpoint for your Azure ConfidentialLedger resource in the [Azure Portal][azure_portal]. -You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token). +You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token). To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: @@ -63,14 +65,15 @@ For browser environments, use the `InteractiveBrowserCredential` from the `@azur import { InteractiveBrowserCredential } from "@azure/identity"; import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -const subscriptionId = "00000000-0000-0000-0000-000000000000"; const credential = new InteractiveBrowserCredential({ tenantId: "", clientId: "", }); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new ConfidentialLedgerClient(credential, subscriptionId); ``` + ### JavaScript Bundle To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling). @@ -96,7 +99,7 @@ For more detailed instructions on how to enable logs, you can look at the [@azur ## Next steps -Please take a look at the [samples](https://github.com/Azure-Samples/azure-samples-js-management) directory for detailed examples on how to use this library. +Please take a look at the [samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/samples) directory for detailed examples on how to use this library. ## Contributing @@ -106,9 +109,6 @@ If you'd like to contribute to this library, please read the [contributing guide - [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js) - -[azure_cli]: https://learn.microsoft.com/cli/azure -[azure_sub]: https://azure.microsoft.com/free/ [azure_sub]: https://azure.microsoft.com/free/ [azure_portal]: https://portal.azure.com [azure_identity]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity diff --git a/sdk/confidentialledger/arm-confidentialledger/_meta.json b/sdk/confidentialledger/arm-confidentialledger/_meta.json deleted file mode 100644 index 260cbe37fcb4..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "commit": "fe4d722612e4ab8b92e31f68bfe8a5e7ecd06133", - "readme": "specification/confidentialledger/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\confidentialledger\\resource-manager\\readme.md --use=@autorest/typescript@6.0.39 --generate-sample=true", - "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.7.27", - "use": "@autorest/typescript@6.0.39" -} \ No newline at end of file diff --git a/sdk/confidentialledger/arm-confidentialledger/api-extractor.json b/sdk/confidentialledger/arm-confidentialledger/api-extractor.json index 16d81e2eb512..870d6d399477 100644 --- a/sdk/confidentialledger/arm-confidentialledger/api-extractor.json +++ b/sdk/confidentialledger/arm-confidentialledger/api-extractor.json @@ -1,3 +1 @@ -{ - "extends": "../../../api-extractor-base.json" -} +{ "extends": "../../../api-extractor-base.json" } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json deleted file mode 100644 index 8431a95cbcb1..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../../../tsconfig.json", - "include": [ - "../src", - "../test" - ] -} diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.samples.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.samples.json index e8badebeca3e..11bece6df1d2 100644 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.samples.json +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.samples.json @@ -2,9 +2,7 @@ "extends": "../../../../eng/tsconfigs/samples.json", "compilerOptions": { "paths": { - "@azure/arm-confidentialledger": [ - "../dist/esm" - ] + "@azure/arm-confidentialledger": ["../dist/esm"] } } } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.browser.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.browser.json index 2e75154106a2..429817e79b26 100644 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.browser.json +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.browser.json @@ -1,6 +1,4 @@ { "extends": "../../../../eng/tsconfigs/src.browser.json", - "include": [ - "../src/index.ts" - ] + "include": ["../src/index.ts"] } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.cjs.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.cjs.json index 018cc5885d5b..b000a4a9909e 100644 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.cjs.json +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.cjs.json @@ -1,6 +1,4 @@ { "extends": "../../../../eng/tsconfigs/src.cjs.json", - "include": [ - "../src/index.ts" - ] + "include": ["../src/index.ts"] } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.esm.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.esm.json index bc91d3d2b231..b393943938eb 100644 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.esm.json +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.src.esm.json @@ -1,6 +1,4 @@ { "extends": "../../../../eng/tsconfigs/src.esm.json", - "include": [ - "../src/index.ts" - ] + "include": ["../src/index.ts"] } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.browser.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.browser.json new file mode 100644 index 000000000000..95cda2690b43 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.browser.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../../eng/tsconfigs/test.browser.json", + "compilerOptions": { + "paths": { + "@azure/arm-confidentialledger": ["../src/index.ts"], + "@azure/arm-confidentialledger/*": ["../src/*"], + "$internal/*": ["../src/*"] + } + } +} diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.node.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.node.json index d123d08c39d5..289b3af48c60 100644 --- a/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.node.json +++ b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.test.node.json @@ -1,3 +1,10 @@ { - "extends": "../../../../eng/tsconfigs/test.node.json" + "extends": "../../../../eng/tsconfigs/test.node.json", + "compilerOptions": { + "paths": { + "@azure/arm-confidentialledger": ["../src/index.ts"], + "@azure/arm-confidentialledger/*": ["../src/*"], + "$internal/*": ["../src/*"] + } + } } diff --git a/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs b/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs index 06fec08fcab3..6d2f8a5914c3 100644 --- a/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs +++ b/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs @@ -1,25 +1,14 @@ import azsdkEslint from "@azure/eslint-plugin-azure-sdk"; -export default [ - ...azsdkEslint.config([ - { - rules: { - "@azure/azure-sdk/ts-modules-only-named": "warn", - "@azure/azure-sdk/ts-package-json-types": "warn", - "@azure/azure-sdk/ts-package-json-engine-is-present": "warn", - "@azure/azure-sdk/ts-package-json-files-required": "off", - "@azure/azure-sdk/ts-package-json-main-is-cjs": "off", - "tsdoc/syntax": "warn" - } - } - ]), +export default azsdkEslint.config([ { - files: ["src/**/*.ts", "src/**/*.mts", "test/**/*.ts"], - languageOptions: { - parserOptions: { - projectService: false, - project: "./config/tsconfig.lint.json", - }, + rules: { + "@azure/azure-sdk/ts-modules-only-named": "warn", + "@azure/azure-sdk/ts-package-json-types": "warn", + "@azure/azure-sdk/ts-package-json-engine-is-present": "warn", + "@azure/azure-sdk/ts-package-json-files-required": "off", + "@azure/azure-sdk/ts-package-json-main-is-cjs": "off", + "tsdoc/syntax": "warn", }, }, -]; +]); diff --git a/sdk/confidentialledger/arm-confidentialledger/metadata.json b/sdk/confidentialledger/arm-confidentialledger/metadata.json new file mode 100644 index 000000000000..182633eef1e4 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/metadata.json @@ -0,0 +1,50 @@ +{ + "apiVersions": { + "Microsoft.ConfidentialLedger": "2026-02-23" + }, + "emitterVersion": "0.53.3", + "crossLanguageDefinitions": { + "CrossLanguagePackageId": "Microsoft.ConfidentialLedger", + "CrossLanguageDefinitionId": { + "@azure/arm-confidentialledger!CheckNameAvailabilityRequest:interface": "Azure.ResourceManager.CommonTypes.CheckNameAvailabilityRequest", + "@azure/arm-confidentialledger!CheckNameAvailabilityResponse:interface": "Azure.ResourceManager.CommonTypes.CheckNameAvailabilityResponse", + "@azure/arm-confidentialledger!ErrorResponse:interface": "Azure.ResourceManager.CommonTypes.ErrorResponse", + "@azure/arm-confidentialledger!ErrorDetail:interface": "Azure.ResourceManager.CommonTypes.ErrorDetail", + "@azure/arm-confidentialledger!ErrorAdditionalInfo:interface": "Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo", + "@azure/arm-confidentialledger!ResourceProviderOperationList:interface": "Microsoft.ConfidentialLedger.ResourceProviderOperationList", + "@azure/arm-confidentialledger!ResourceProviderOperationDefinition:interface": "Microsoft.ConfidentialLedger.ResourceProviderOperationDefinition", + "@azure/arm-confidentialledger!ResourceProviderOperationDisplay:interface": "Microsoft.ConfidentialLedger.ResourceProviderOperationDisplay", + "@azure/arm-confidentialledger!ConfidentialLedger:interface": "Microsoft.ConfidentialLedger.ConfidentialLedger", + "@azure/arm-confidentialledger!LedgerProperties:interface": "Microsoft.ConfidentialLedger.LedgerProperties", + "@azure/arm-confidentialledger!AADBasedSecurityPrincipal:interface": "Microsoft.ConfidentialLedger.AADBasedSecurityPrincipal", + "@azure/arm-confidentialledger!CertBasedSecurityPrincipal:interface": "Microsoft.ConfidentialLedger.CertBasedSecurityPrincipal", + "@azure/arm-confidentialledger!TrackedResource:interface": "Azure.ResourceManager.CommonTypes.TrackedResource", + "@azure/arm-confidentialledger!Resource:interface": "Azure.ResourceManager.CommonTypes.Resource", + "@azure/arm-confidentialledger!SystemData:interface": "Azure.ResourceManager.CommonTypes.SystemData", + "@azure/arm-confidentialledger!ArmOperationStatusResourceProvisioningState:interface": "Azure.ResourceManager.ArmOperationStatus", + "@azure/arm-confidentialledger!ConfidentialLedgerList:interface": "Microsoft.ConfidentialLedger.ConfidentialLedgerList", + "@azure/arm-confidentialledger!ConfidentialLedgerFilesExport:interface": "Microsoft.ConfidentialLedger.ConfidentialLedgerFilesExport", + "@azure/arm-confidentialledger!ConfidentialLedgerFilesExportResponse:interface": "Microsoft.ConfidentialLedger.ConfidentialLedgerFilesExportResponse", + "@azure/arm-confidentialledger!KnownCheckNameAvailabilityReason:enum": "Azure.ResourceManager.CommonTypes.CheckNameAvailabilityReason", + "@azure/arm-confidentialledger!KnownRunningState:enum": "Microsoft.ConfidentialLedger.RunningState", + "@azure/arm-confidentialledger!KnownLedgerType:enum": "Microsoft.ConfidentialLedger.LedgerType", + "@azure/arm-confidentialledger!KnownProvisioningState:enum": "Microsoft.ConfidentialLedger.ProvisioningState", + "@azure/arm-confidentialledger!KnownLedgerSku:enum": "Microsoft.ConfidentialLedger.LedgerSku", + "@azure/arm-confidentialledger!KnownLedgerRoleName:enum": "Microsoft.ConfidentialLedger.LedgerRoleName", + "@azure/arm-confidentialledger!KnownEnclavePlatform:enum": "Microsoft.ConfidentialLedger.EnclavePlatform", + "@azure/arm-confidentialledger!KnownApplicationType:enum": "Microsoft.ConfidentialLedger.ApplicationType", + "@azure/arm-confidentialledger!KnowncreatedByType:enum": "Azure.ResourceManager.CommonTypes.createdByType", + "@azure/arm-confidentialledger!KnownResourceProvisioningState:enum": "Azure.ResourceManager.ResourceProvisioningState", + "@azure/arm-confidentialledger!KnownVersions:enum": "Microsoft.ConfidentialLedger.Versions", + "@azure/arm-confidentialledger!ConfidentialLedgerClient#checkNameAvailability:member(1)": "Microsoft.ConfidentialLedger.checkNameAvailability", + "@azure/arm-confidentialledger!LedgerOperations#filesExport:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.filesExport", + "@azure/arm-confidentialledger!LedgerOperations#listBySubscription:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.listBySubscription", + "@azure/arm-confidentialledger!LedgerOperations#listByResourceGroup:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.listByResourceGroup", + "@azure/arm-confidentialledger!LedgerOperations#delete:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.delete", + "@azure/arm-confidentialledger!LedgerOperations#update:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.update", + "@azure/arm-confidentialledger!LedgerOperations#create:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.create", + "@azure/arm-confidentialledger!LedgerOperations#get:member": "Microsoft.ConfidentialLedger.ConfidentialLedgers.get", + "@azure/arm-confidentialledger!OperationsOperations#list:member": "Azure.ResourceManager.Legacy.Operations.list" + } + } +} diff --git a/sdk/confidentialledger/arm-confidentialledger/package.json b/sdk/confidentialledger/arm-confidentialledger/package.json index 7ba31eac35fa..aa0e7ac9823d 100644 --- a/sdk/confidentialledger/arm-confidentialledger/package.json +++ b/sdk/confidentialledger/arm-confidentialledger/package.json @@ -1,122 +1,184 @@ { "name": "@azure/arm-confidentialledger", - "sdk-type": "mgmt", - "author": "Microsoft Corporation", + "version": "2.0.0-beta.1", "description": "A generated SDK for ConfidentialLedgerClient.", - "version": "1.3.0-beta.3", "engines": { "node": ">=20.0.0" }, - "dependencies": { - "@azure/abort-controller": "^2.1.2", - "@azure/core-auth": "^1.9.0", - "@azure/core-client": "^1.9.2", - "@azure/core-lro": "^2.5.4", - "@azure/core-paging": "^1.6.2", - "@azure/core-rest-pipeline": "^1.19.0", - "tslib": "^2.8.1" + "sideEffects": false, + "autoPublish": false, + "type": "module", + "main": "./dist/commonjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/commonjs/index.d.ts", + "browser": "./dist/browser/index.js", + "imports": { + "#platform/*": { + "browser": "./src/*-browser.mts", + "default": "./src/*.ts" + } + }, + "exports": { + "./package.json": "./package.json", + ".": { + "browser": { + "types": "./dist/browser/index.d.ts", + "default": "./dist/browser/index.js" + }, + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/commonjs/index.d.ts", + "default": "./dist/commonjs/index.js" + } + }, + "./api": { + "browser": { + "types": "./dist/browser/api/index.d.ts", + "default": "./dist/browser/api/index.js" + }, + "import": { + "types": "./dist/esm/api/index.d.ts", + "default": "./dist/esm/api/index.js" + }, + "require": { + "types": "./dist/commonjs/api/index.d.ts", + "default": "./dist/commonjs/api/index.js" + } + }, + "./api/ledger": { + "browser": { + "types": "./dist/browser/api/ledger/index.d.ts", + "default": "./dist/browser/api/ledger/index.js" + }, + "import": { + "types": "./dist/esm/api/ledger/index.d.ts", + "default": "./dist/esm/api/ledger/index.js" + }, + "require": { + "types": "./dist/commonjs/api/ledger/index.d.ts", + "default": "./dist/commonjs/api/ledger/index.js" + } + }, + "./api/operations": { + "browser": { + "types": "./dist/browser/api/operations/index.d.ts", + "default": "./dist/browser/api/operations/index.js" + }, + "import": { + "types": "./dist/esm/api/operations/index.d.ts", + "default": "./dist/esm/api/operations/index.js" + }, + "require": { + "types": "./dist/commonjs/api/operations/index.d.ts", + "default": "./dist/commonjs/api/operations/index.js" + } + }, + "./models": { + "browser": { + "types": "./dist/browser/models/index.d.ts", + "default": "./dist/browser/models/index.js" + }, + "import": { + "types": "./dist/esm/models/index.d.ts", + "default": "./dist/esm/models/index.js" + }, + "require": { + "types": "./dist/commonjs/models/index.d.ts", + "default": "./dist/commonjs/models/index.js" + } + } }, "keywords": [ "node", "azure", + "cloud", "typescript", "browser", - "isomorphic", - "cloud" + "isomorphic" ], + "author": "Microsoft Corporation", "license": "MIT", - "main": "./dist/commonjs/index.js", - "module": "./dist/esm/index.js", - "types": "./dist/commonjs/index.d.ts", - "type": "module", + "files": [ + "dist/", + "!dist/**/*.d.*ts.map", + "README.md", + "LICENSE" + ], + "sdk-type": "mgmt", + "repository": { + "type": "git", + "url": "git+https://github.com/Azure/azure-sdk-for-js", + "directory": "sdk/confidentialledger/arm-confidentialledger" + }, + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md", + "prettier": "@azure/eslint-plugin-azure-sdk/prettier.json", + "//metadata": { + "constantPaths": [ + { + "path": "src/api/confidentialLedgerContext.ts", + "prefix": "userAgentInfo" + } + ] + }, + "dependencies": { + "@azure/core-util": "^1.12.0", + "@azure-rest/core-client": "^2.3.1", + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.9.0", + "@azure/core-lro": "^3.1.0", + "@azure/core-rest-pipeline": "^1.20.0", + "@azure/logger": "^1.2.0", + "tslib": "^2.8.1" + }, "devDependencies": { "@azure-tools/test-credential": "workspace:^", "@azure-tools/test-recorder": "workspace:^", "@azure-tools/test-utils-vitest": "workspace:^", "@azure/dev-tool": "workspace:^", + "@azure/eslint-plugin-azure-sdk": "workspace:^", "@azure/identity": "catalog:internal", - "@azure/logger": "^1.1.4", "@types/node": "catalog:", + "cross-env": "catalog:", + "eslint": "catalog:", + "prettier": "catalog:", + "rimraf": "catalog:", "@vitest/browser-playwright": "catalog:testing", "@vitest/coverage-istanbul": "catalog:testing", - "cross-env": "catalog:", "dotenv": "catalog:testing", "playwright": "catalog:testing", - "rimraf": "catalog:", "typescript": "catalog:", "vitest": "catalog:testing" }, - "repository": { - "type": "git", - "url": "git+https://github.com/Azure/azure-sdk-for-js", - "directory": "sdk/confidentialledger/arm-confidentialledger" - }, - "bugs": { - "url": "https://github.com/Azure/azure-sdk-for-js/issues" - }, - "files": [ - "dist/", - "README.md", - "LICENSE", - "review/*", - "CHANGELOG.md" - ], "scripts": { - "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api", - "build:samples": "tsc -p config/tsconfig.samples.json && dev-tool samples publish -f", - "check-format": "echo skipped", "clean": "rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", - "execute:samples": "echo skipped", - "extract-api": "dev-tool run extract-api", - "format": "echo skipped", - "lint": "echo skipped", + "extract-api": "rimraf review && dev-tool run extract-api", "pack": "pnpm pack 2>&1", - "test": "tsc -b --noEmit && npm run test:node && npm run test:browser", - "test:browser": "echo skipped", + "lint": "echo skipped", + "lint:fix": "echo skipped", + "build:samples": "tsc -p config/tsconfig.samples.json && dev-tool samples publish -f", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" \"samples-dev/*.ts\"", + "execute:samples": "dev-tool samples run samples-dev", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" \"samples-dev/*.ts\"", + "generate:client": "echo skipped", + "test:browser": "dev-tool run build-test && dev-tool run test:vitest --browser", + "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api", "test:node": "dev-tool run test:vitest", + "test:node:esm": "dev-tool run test:vitest --esm", + "test": "npm run test:node && npm run test:browser", "update-snippets": "dev-tool run update-snippets" }, - "sideEffects": false, - "//metadata": { - "constantPaths": [ - { - "path": "src/confidentialLedgerClient.ts", - "prefix": "packageDetails" - } - ] - }, - "autoPublish": true, - "browser": "./dist/browser/index.js", - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md", "//sampleConfiguration": { - "productName": "", + "productName": "@azure/arm-confidentialledger", "productSlugs": [ "azure" ], "disableDocsMs": true, "apiRefLink": "https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview" - }, - "exports": { - "./package.json": "./package.json", - ".": { - "browser": { - "types": "./dist/browser/index.d.ts", - "default": "./dist/browser/index.js" - }, - "import": { - "types": "./dist/esm/index.d.ts", - "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/commonjs/index.d.ts", - "default": "./dist/commonjs/index.js" - } - } - }, - "imports": { - "#platform/*": { - "browser": "./src/*-browser.mts", - "default": "./src/*.ts" - } } } diff --git a/sdk/confidentialledger/arm-confidentialledger/review/arm-confidentialledger-node.api.md b/sdk/confidentialledger/arm-confidentialledger/review/arm-confidentialledger-node.api.md index a79f93e63a55..d0338bc8294f 100644 --- a/sdk/confidentialledger/arm-confidentialledger/review/arm-confidentialledger-node.api.md +++ b/sdk/confidentialledger/arm-confidentialledger/review/arm-confidentialledger-node.api.md @@ -4,11 +4,17 @@ ```ts -import * as coreAuth from '@azure/core-auth'; -import * as coreClient from '@azure/core-client'; +import { AbortSignalLike } from '@azure/abort-controller'; +import { CancelOnProgress } from '@azure/core-lro'; +import { ClientOptions } from '@azure-rest/core-client'; +import { isRestError } from '@azure/core-rest-pipeline'; +import { OperationOptions } from '@azure-rest/core-client'; import { OperationState } from '@azure/core-lro'; -import { PagedAsyncIterableIterator } from '@azure/core-paging'; -import { SimplePollerLike } from '@azure/core-lro'; +import { PathUncheckedResponse } from '@azure-rest/core-client'; +import { Pipeline } from '@azure/core-rest-pipeline'; +import { PollerLike } from '@azure/core-lro'; +import { RestError } from '@azure/core-rest-pipeline'; +import { TokenCredential } from '@azure/core-auth'; // @public export interface AADBasedSecurityPrincipal { @@ -21,23 +27,23 @@ export interface AADBasedSecurityPrincipal { export type ApplicationType = string; // @public -export interface CertBasedSecurityPrincipal { - cert?: string; - ledgerRoleName?: LedgerRoleName; +export enum AzureClouds { + AZURE_CHINA_CLOUD = "AZURE_CHINA_CLOUD", + AZURE_PUBLIC_CLOUD = "AZURE_PUBLIC_CLOUD", + AZURE_US_GOVERNMENT = "AZURE_US_GOVERNMENT" } // @public -export interface CertificateTags { - tags?: { - [propertyName: string]: string; - }; -} +export type AzureSupportedClouds = `${AzureClouds}`; // @public -export type CheckNameAvailabilityOperationResponse = CheckNameAvailabilityResponse; +export interface CertBasedSecurityPrincipal { + cert?: string; + ledgerRoleName?: LedgerRoleName; +} // @public -export interface CheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +export interface CheckNameAvailabilityOptionalParams extends OperationOptions { } // @public @@ -61,75 +67,47 @@ export interface ConfidentialLedger extends TrackedResource { properties?: LedgerProperties; } -// @public -export interface ConfidentialLedgerBackup { - restoreRegion?: string; - uri: string; -} - -// @public -export interface ConfidentialLedgerBackupResponse { - readonly message?: string; -} - // @public (undocumented) -export class ConfidentialLedgerClient extends coreClient.ServiceClient { - // (undocumented) - $host: string; - constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: ConfidentialLedgerClientOptionalParams); - // (undocumented) - apiVersion: string; - checkNameAvailability(nameAvailabilityRequest: CheckNameAvailabilityRequest, options?: CheckNameAvailabilityOptionalParams): Promise; - // (undocumented) - ledger: Ledger; - // (undocumented) - managedCCFOperations: ManagedCCFOperations; - // (undocumented) - operations: Operations; - // (undocumented) - subscriptionId: string; -} - -// @public -export interface ConfidentialLedgerClientOptionalParams extends coreClient.ServiceClientOptions { - $host?: string; - apiVersion?: string; - endpoint?: string; +export class ConfidentialLedgerClient { + constructor(credential: TokenCredential, options?: ConfidentialLedgerClientOptionalParams); + constructor(credential: TokenCredential, subscriptionId: string, options?: ConfidentialLedgerClientOptionalParams); + checkNameAvailability(nameAvailabilityRequest: CheckNameAvailabilityRequest, options?: CheckNameAvailabilityOptionalParams): Promise; + readonly ledger: LedgerOperations; + readonly operations: OperationsOperations; + readonly pipeline: Pipeline; } // @public -export interface ConfidentialLedgerList { - nextLink?: string; - value?: ConfidentialLedger[]; +export interface ConfidentialLedgerClientOptionalParams extends ClientOptions { + apiVersion?: string; + cloudSetting?: AzureSupportedClouds; } // @public -export interface ConfidentialLedgerRestore { - fileShareName: string; - restoreRegion: string; +export interface ConfidentialLedgerFilesExport { + restoreRegion?: string; uri: string; } // @public -export interface ConfidentialLedgerRestoreResponse { +export interface ConfidentialLedgerFilesExportResponse { readonly message?: string; } // @public -export type CreatedByType = string; +export type ContinuablePage = TPage & { + continuationToken?: string; +}; // @public -export interface DeploymentType { - appSourceUri?: string; - languageRuntime?: LanguageRuntime; -} +export type CreatedByType = string; // @public export type EnclavePlatform = string; // @public export interface ErrorAdditionalInfo { - readonly info?: Record; + readonly info?: any; readonly type?: string; } @@ -147,8 +125,7 @@ export interface ErrorResponse { error?: ErrorDetail; } -// @public -export function getContinuationToken(page: unknown): string | undefined; +export { isRestError } // @public export enum KnownApplicationType { @@ -176,12 +153,6 @@ export enum KnownEnclavePlatform { IntelSgx = "IntelSgx" } -// @public -export enum KnownLanguageRuntime { - CPP = "CPP", - JS = "JS" -} - // @public export enum KnownLedgerRoleName { Administrator = "Administrator", @@ -224,92 +195,72 @@ export enum KnownRunningState { } // @public -export type LanguageRuntime = string; - -// @public -export interface Ledger { - beginBackup(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerBackup, options?: LedgerBackupOptionalParams): Promise, LedgerBackupResponse>>; - beginBackupAndWait(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerBackup, options?: LedgerBackupOptionalParams): Promise; - beginCreate(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerCreateOptionalParams): Promise, LedgerCreateResponse>>; - beginCreateAndWait(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerCreateOptionalParams): Promise; - beginDelete(resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams): Promise, void>>; - beginDeleteAndWait(resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams): Promise; - beginRestore(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerRestore, options?: LedgerRestoreOptionalParams): Promise, LedgerRestoreResponse>>; - beginRestoreAndWait(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerRestore, options?: LedgerRestoreOptionalParams): Promise; - beginUpdate(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerUpdateOptionalParams): Promise, LedgerUpdateResponse>>; - beginUpdateAndWait(resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerUpdateOptionalParams): Promise; - get(resourceGroupName: string, ledgerName: string, options?: LedgerGetOptionalParams): Promise; - listByResourceGroup(resourceGroupName: string, options?: LedgerListByResourceGroupOptionalParams): PagedAsyncIterableIterator; - listBySubscription(options?: LedgerListBySubscriptionOptionalParams): PagedAsyncIterableIterator; +export enum KnownVersions { + V20260223 = "2026-02-23" } // @public -export interface LedgerBackupOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; +export interface LedgerCreateOptionalParams extends OperationOptions { updateIntervalInMs?: number; } // @public -export type LedgerBackupResponse = ConfidentialLedgerBackupResponse; - -// @public -export interface LedgerCreateOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; +export interface LedgerDeleteOptionalParams extends OperationOptions { updateIntervalInMs?: number; } // @public -export type LedgerCreateResponse = ConfidentialLedger; - -// @public -export interface LedgerDeleteOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; +export interface LedgerFilesExportOptionalParams extends OperationOptions { updateIntervalInMs?: number; } // @public -export interface LedgerGetOptionalParams extends coreClient.OperationOptions { +export interface LedgerGetOptionalParams extends OperationOptions { } // @public -export type LedgerGetResponse = ConfidentialLedger; - -// @public -export interface LedgerListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type LedgerListByResourceGroupNextResponse = ConfidentialLedgerList; - -// @public -export interface LedgerListByResourceGroupOptionalParams extends coreClient.OperationOptions { +export interface LedgerListByResourceGroupOptionalParams extends OperationOptions { filter?: string; } // @public -export type LedgerListByResourceGroupResponse = ConfidentialLedgerList; - -// @public -export interface LedgerListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type LedgerListBySubscriptionNextResponse = ConfidentialLedgerList; - -// @public -export interface LedgerListBySubscriptionOptionalParams extends coreClient.OperationOptions { +export interface LedgerListBySubscriptionOptionalParams extends OperationOptions { filter?: string; } // @public -export type LedgerListBySubscriptionResponse = ConfidentialLedgerList; +export interface LedgerOperations { + // @deprecated (undocumented) + beginCreate: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerCreateOptionalParams) => Promise, ConfidentialLedger>>; + // @deprecated (undocumented) + beginCreateAndWait: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerCreateOptionalParams) => Promise; + // @deprecated (undocumented) + beginDelete: (resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams) => Promise, void>>; + // @deprecated (undocumented) + beginDeleteAndWait: (resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams) => Promise; + // @deprecated (undocumented) + beginFilesExport: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerFilesExport, options?: LedgerFilesExportOptionalParams) => Promise, ConfidentialLedgerFilesExportResponse>>; + // @deprecated (undocumented) + beginFilesExportAndWait: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerFilesExport, options?: LedgerFilesExportOptionalParams) => Promise; + // @deprecated (undocumented) + beginUpdate: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerUpdateOptionalParams) => Promise, ConfidentialLedger>>; + // @deprecated (undocumented) + beginUpdateAndWait: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerUpdateOptionalParams) => Promise; + create: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerCreateOptionalParams) => PollerLike, ConfidentialLedger>; + delete: (resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams) => PollerLike, void>; + filesExport: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedgerFilesExport, options?: LedgerFilesExportOptionalParams) => PollerLike, ConfidentialLedgerFilesExportResponse>; + get: (resourceGroupName: string, ledgerName: string, options?: LedgerGetOptionalParams) => Promise; + listByResourceGroup: (resourceGroupName: string, options?: LedgerListByResourceGroupOptionalParams) => PagedAsyncIterableIterator; + listBySubscription: (options?: LedgerListBySubscriptionOptionalParams) => PagedAsyncIterableIterator; + update: (resourceGroupName: string, ledgerName: string, confidentialLedger: ConfidentialLedger, options?: LedgerUpdateOptionalParams) => PollerLike, ConfidentialLedger>; +} // @public export interface LedgerProperties { aadBasedSecurityPrincipals?: AADBasedSecurityPrincipal[]; applicationType?: ApplicationType; certBasedSecurityPrincipals?: CertBasedSecurityPrincipal[]; - enclavePlatform?: EnclavePlatform; + readonly enclavePlatform?: EnclavePlatform; hostLevel?: string; readonly identityServiceUri?: string; readonly ledgerInternalNamespace?: string; @@ -321,20 +272,12 @@ export interface LedgerProperties { nodeCount?: number; readonly provisioningState?: ProvisioningState; runningState?: RunningState; + scittConfiguration?: string; subjectName?: string; workerThreads?: number; writeLBAddressPrefix?: string; } -// @public -export interface LedgerRestoreOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export type LedgerRestoreResponse = ConfidentialLedgerRestoreResponse; - // @public export type LedgerRoleName = string; @@ -345,183 +288,31 @@ export type LedgerSku = string; export type LedgerType = string; // @public -export interface LedgerUpdateOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; +export interface LedgerUpdateOptionalParams extends OperationOptions { updateIntervalInMs?: number; } // @public -export type LedgerUpdateResponse = ConfidentialLedger; - -// @public -export interface ManagedCCF extends TrackedResource { - properties?: ManagedCCFProperties; +export interface OperationsListOptionalParams extends OperationOptions { } // @public -export interface ManagedCCFBackup { - restoreRegion?: string; - uri: string; +export interface OperationsOperations { + list: (options?: OperationsListOptionalParams) => PagedAsyncIterableIterator; } // @public -export type ManagedCCFBackupOperationResponse = ManagedCCFBackupResponse; - -// @public -export interface ManagedCCFBackupOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export interface ManagedCCFBackupResponse { - readonly message?: string; +export interface PagedAsyncIterableIterator { + [Symbol.asyncIterator](): PagedAsyncIterableIterator; + byPage: (settings?: TPageSettings) => AsyncIterableIterator>; + next(): Promise>; } // @public -export interface ManagedCCFCreateOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; +export interface PageSettings { + continuationToken?: string; } -// @public -export type ManagedCCFCreateResponse = ManagedCCF; - -// @public -export interface ManagedCCFDeleteOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export interface ManagedCCFGetOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type ManagedCCFGetResponse = ManagedCCF; - -// @public -export interface ManagedCCFList { - nextLink?: string; - value?: ManagedCCF[]; -} - -// @public -export interface ManagedCCFListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type ManagedCCFListByResourceGroupNextResponse = ManagedCCFList; - -// @public -export interface ManagedCCFListByResourceGroupOptionalParams extends coreClient.OperationOptions { - filter?: string; -} - -// @public -export type ManagedCCFListByResourceGroupResponse = ManagedCCFList; - -// @public -export interface ManagedCCFListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type ManagedCCFListBySubscriptionNextResponse = ManagedCCFList; - -// @public -export interface ManagedCCFListBySubscriptionOptionalParams extends coreClient.OperationOptions { - filter?: string; -} - -// @public -export type ManagedCCFListBySubscriptionResponse = ManagedCCFList; - -// @public -export interface ManagedCCFOperations { - beginBackup(resourceGroupName: string, appName: string, managedCCF: ManagedCCFBackup, options?: ManagedCCFBackupOptionalParams): Promise, ManagedCCFBackupOperationResponse>>; - beginBackupAndWait(resourceGroupName: string, appName: string, managedCCF: ManagedCCFBackup, options?: ManagedCCFBackupOptionalParams): Promise; - beginCreate(resourceGroupName: string, appName: string, managedCCF: ManagedCCF, options?: ManagedCCFCreateOptionalParams): Promise, ManagedCCFCreateResponse>>; - beginCreateAndWait(resourceGroupName: string, appName: string, managedCCF: ManagedCCF, options?: ManagedCCFCreateOptionalParams): Promise; - beginDelete(resourceGroupName: string, appName: string, options?: ManagedCCFDeleteOptionalParams): Promise, void>>; - beginDeleteAndWait(resourceGroupName: string, appName: string, options?: ManagedCCFDeleteOptionalParams): Promise; - beginRestore(resourceGroupName: string, appName: string, managedCCF: ManagedCCFRestore, options?: ManagedCCFRestoreOptionalParams): Promise, ManagedCCFRestoreOperationResponse>>; - beginRestoreAndWait(resourceGroupName: string, appName: string, managedCCF: ManagedCCFRestore, options?: ManagedCCFRestoreOptionalParams): Promise; - beginUpdate(resourceGroupName: string, appName: string, managedCCF: ManagedCCF, options?: ManagedCCFUpdateOptionalParams): Promise, ManagedCCFUpdateResponse>>; - beginUpdateAndWait(resourceGroupName: string, appName: string, managedCCF: ManagedCCF, options?: ManagedCCFUpdateOptionalParams): Promise; - get(resourceGroupName: string, appName: string, options?: ManagedCCFGetOptionalParams): Promise; - listByResourceGroup(resourceGroupName: string, options?: ManagedCCFListByResourceGroupOptionalParams): PagedAsyncIterableIterator; - listBySubscription(options?: ManagedCCFListBySubscriptionOptionalParams): PagedAsyncIterableIterator; -} - -// @public -export interface ManagedCCFProperties { - readonly appName?: string; - readonly appUri?: string; - deploymentType?: DeploymentType; - enclavePlatform?: EnclavePlatform; - readonly identityServiceUri?: string; - memberIdentityCertificates?: MemberIdentityCertificate[]; - nodeCount?: number; - readonly provisioningState?: ProvisioningState; - runningState?: RunningState; -} - -// @public -export interface ManagedCCFRestore { - fileShareName: string; - restoreRegion: string; - uri: string; -} - -// @public -export type ManagedCCFRestoreOperationResponse = ManagedCCFRestoreResponse; - -// @public -export interface ManagedCCFRestoreOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export interface ManagedCCFRestoreResponse { - readonly message?: string; -} - -// @public -export interface ManagedCCFUpdateOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export type ManagedCCFUpdateResponse = ManagedCCF; - -// @public -export interface MemberIdentityCertificate { - certificate?: string; - encryptionkey?: string; - tags?: any; -} - -// @public -export interface Operations { - list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; -} - -// @public -export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type OperationsListNextResponse = ResourceProviderOperationList; - -// @public -export interface OperationsListOptionalParams extends coreClient.OperationOptions { -} - -// @public -export type OperationsListResponse = ResourceProviderOperationList; - // @public export type ProvisioningState = string; @@ -548,15 +339,43 @@ export interface ResourceProviderOperationDisplay { resource?: string; } +export { RestError } + // @public -export interface ResourceProviderOperationList { - readonly nextLink?: string; - readonly value?: ResourceProviderOperationDefinition[]; +export function restorePoller(client: ConfidentialLedgerClient, serializedState: string, sourceOperation: (...args: any[]) => PollerLike, TResult>, options?: RestorePollerOptions): PollerLike, TResult>; + +// @public (undocumented) +export interface RestorePollerOptions extends OperationOptions { + abortSignal?: AbortSignalLike; + processResponseBody?: (result: TResponse) => Promise; + updateIntervalInMs?: number; } // @public export type RunningState = string; +// @public +export interface SimplePollerLike, TResult> { + getOperationState(): TState; + getResult(): TResult | undefined; + isDone(): boolean; + // @deprecated + isStopped(): boolean; + onProgress(callback: (state: TState) => void): CancelOnProgress; + poll(options?: { + abortSignal?: AbortSignalLike; + }): Promise; + pollUntilDone(pollOptions?: { + abortSignal?: AbortSignalLike; + }): Promise; + serialize(): Promise; + // @deprecated + stopPolling(): void; + submitted(): Promise; + // @deprecated + toString(): string; +} + // @public export interface SystemData { createdAt?: Date; @@ -570,9 +389,7 @@ export interface SystemData { // @public export interface TrackedResource extends Resource { location: string; - tags?: { - [propertyName: string]: string; - }; + tags?: Record; } // (No @packageDocumentation comment for this package) diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/checkNameAvailabilitySample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/checkNameAvailabilitySample.ts index 9d8d01289f58..55e36f97e20e 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/checkNameAvailabilitySample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/checkNameAvailabilitySample.ts @@ -1,32 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + /** - * This sample demonstrates how to To check whether a resource name is available. + * This sample demonstrates how to to check whether a resource name is available. * - * @summary To check whether a resource name is available. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/CheckNameAvailability.json + * @summary to check whether a resource name is available. + * x-ms-original-file: 2026-02-23/CheckNameAvailability.json */ - -import type { - CheckNameAvailabilityRequest} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - async function checkNameAvailability(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "00000000-0000-0000-0000-000000000000"; - const nameAvailabilityRequest: CheckNameAvailabilityRequest = { - name: "sample-name", - type: "Microsoft.ConfidentialLedger/ledgers", - }; const credential = new DefaultAzureCredential(); + const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.checkNameAvailability(nameAvailabilityRequest); + const result = await client.checkNameAvailability({ + name: "sample-name", + type: "Microsoft.ConfidentialLedger/ledgers", + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerBackupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerBackupSample.ts deleted file mode 100644 index 9af9f865053d..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerBackupSample.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Backs up a Confidential Ledger Resource. - * - * @summary Backs up a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Backup.json - */ - -import type { - ConfidentialLedgerBackup} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function confidentialLedgerBackup(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedgerBackup = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginBackupAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerCreateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerCreateSample.ts index ae163ab57e29..3ee206d54329 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerCreateSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerCreateSample.ts @@ -1,30 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + /** - * This sample demonstrates how to Creates a Confidential Ledger with the specified ledger parameters. + * This sample demonstrates how to creates a Confidential Ledger with the specified ledger parameters. * - * @summary Creates a Confidential Ledger with the specified ledger parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Create.json + * @summary creates a Confidential Ledger with the specified ledger parameters. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Create.json */ - -import type { - ConfidentialLedger} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - async function confidentialLedgerCreate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.create("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -47,17 +37,12 @@ async function confidentialLedgerCreate(): Promise { nodeCount: 3, subjectName: "CN=CCF Node", workerThreads: 0, - writeLBAddressPrefix: "write", + applicationType: "ConfidentialLedger", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginCreateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerDeleteSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerDeleteSample.ts index e4f331965615..8cb4f2e3323f 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerDeleteSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerDeleteSample.ts @@ -1,32 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/** - * This sample demonstrates how to Deletes an existing Confidential Ledger. - * - * @summary Deletes an existing Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Delete.json - */ - import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; +/** + * This sample demonstrates how to deletes an existing Confidential Ledger. + * + * @summary deletes an existing Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Delete.json + */ async function confidentialLedgerDelete(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginDeleteAndWait( - resourceGroupName, - ledgerName, - ); - console.log(result); + await client.ledger.delete("DummyResourceGroupName", "DummyLedgerName"); } async function main(): Promise { diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerFilesExportSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerFilesExportSample.ts new file mode 100644 index 000000000000..f2dcb5e69646 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerFilesExportSample.ts @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to copies the ledger files and the service certificate to a customer's storage account of choice. + * + * @summary copies the ledger files and the service certificate to a customer's storage account of choice. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_FilesExport.json + */ +async function confidentialLedgerFilesExport(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.filesExport("DummyResourceGroupName", "DummyLedgerName", { + restoreRegion: "EastUS", + uri: "DummySASUri", + }); + console.log(result); +} + +async function main(): Promise { + await confidentialLedgerFilesExport(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerGetSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerGetSample.ts index ef7d045ba7b3..b8966efdbc8d 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerGetSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerGetSample.ts @@ -1,28 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/** - * This sample demonstrates how to Retrieves the properties of a Confidential Ledger. - * - * @summary Retrieves the properties of a Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Get.json - */ - import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; +/** + * This sample demonstrates how to retrieves the properties of a Confidential Ledger. + * + * @summary retrieves the properties of a Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Get.json + */ async function confidentialLedgerGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.get(resourceGroupName, ledgerName); + const result = await client.ledger.get("DummyResourceGroupName", "DummyLedgerName"); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListByResourceGroupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListByResourceGroupSample.ts index bb29073a8892..79695c0920cf 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListByResourceGroupSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListByResourceGroupSample.ts @@ -1,32 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_List.json - */ - import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_List.json + */ async function confidentialLedgerList(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; const client = new ConfidentialLedgerClient(credential, subscriptionId); const resArray = new Array(); - for await (const item of client.ledger.listByResourceGroup( - resourceGroupName, - )) { + for await (const item of client.ledger.listByResourceGroup("DummyResourceGroupName")) { resArray.push(item); } + console.log(resArray); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListBySubscriptionSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListBySubscriptionSample.ts index dd1ae392b553..3a36f94c3a75 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListBySubscriptionSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerListBySubscriptionSample.ts @@ -1,27 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_ListBySub.json - */ - import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_ListBySub.json + */ async function confidentialLedgerListBySub(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; const client = new ConfidentialLedgerClient(credential, subscriptionId); const resArray = new Array(); for await (const item of client.ledger.listBySubscription()) { resArray.push(item); } + console.log(resArray); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerRestoreSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerRestoreSample.ts deleted file mode 100644 index 9dcf838316b4..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerRestoreSample.ts +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Restores a Confidential Ledger Resource. - * - * @summary Restores a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Restore.json - */ - -import type { - ConfidentialLedgerRestore} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function confidentialLedgerRestore(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedgerRestore = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginRestoreAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerUpdateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerUpdateSample.ts index 2674aba80da8..850b046235a7 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerUpdateSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/ledgerUpdateSample.ts @@ -1,30 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + /** - * This sample demonstrates how to Updates properties of Confidential Ledger + * This sample demonstrates how to updates properties of Confidential Ledger * - * @summary Updates properties of Confidential Ledger - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Update.json + * @summary updates properties of Confidential Ledger + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Update.json */ - -import type { - ConfidentialLedger} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - async function confidentialLedgerUpdate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.update("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -40,20 +30,16 @@ async function confidentialLedgerUpdate(): Promise { ledgerRoleName: "Reader", }, ], + applicationType: "ConfidentialLedger", ledgerType: "Public", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionProps2: "additional property value", additionalProps1: "additional properties", }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginUpdateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfBackupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfBackupSample.ts deleted file mode 100644 index 70b32dee5228..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfBackupSample.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Backs up a Managed CCF Resource. - * - * @summary Backs up a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Backup.json - */ - -import type { - ManagedCCFBackup} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfBackup(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCFBackup = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginBackupAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfCreateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfCreateSample.ts deleted file mode 100644 index 1cb35867ffab..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfCreateSample.ts +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Creates a Managed CCF with the specified Managed CCF parameters. - * - * @summary Creates a Managed CCF with the specified Managed CCF parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Create.json - */ - -import type { - ManagedCCF} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfCreate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - memberIdentityCertificates: [ - { - certificate: - "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", - encryptionkey: "ledgerencryptionkey", - tags: { additionalProps1: "additional properties" }, - }, - ], - nodeCount: 5, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginCreateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfCreate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfDeleteSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfDeleteSample.ts deleted file mode 100644 index a2debd86be3f..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfDeleteSample.ts +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Deletes an existing Managed CCF. - * - * @summary Deletes an existing Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Delete.json - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function confidentialLedgerDelete(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginDeleteAndWait( - resourceGroupName, - appName, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerDelete(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfGetSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfGetSample.ts deleted file mode 100644 index cd40593ff0e7..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfGetSample.ts +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Retrieves the properties of a Managed CCF app. - * - * @summary Retrieves the properties of a Managed CCF app. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Get.json - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.get( - resourceGroupName, - appName, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListByResourceGroupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListByResourceGroupSample.ts deleted file mode 100644 index 3cc7bb9fc1c3..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListByResourceGroupSample.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF apps. - * - * @summary Retrieves the properties of all Managed CCF apps. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_List.json - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfList(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listByResourceGroup( - resourceGroupName, - )) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await managedCcfList(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListBySubscriptionSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListBySubscriptionSample.ts deleted file mode 100644 index aced129c02c3..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfListBySubscriptionSample.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF. - * - * @summary Retrieves the properties of all Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_ListBySub.json - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfListBySub(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listBySubscription()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await managedCcfListBySub(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfRestoreSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfRestoreSample.ts deleted file mode 100644 index 29fcb88138eb..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfRestoreSample.ts +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Restores a Managed CCF Resource. - * - * @summary Restores a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Restore.json - */ - -import type { - ManagedCCFRestore} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfRestore(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCFRestore = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginRestoreAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfUpdateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfUpdateSample.ts deleted file mode 100644 index be1b5d457fe8..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/managedCcfUpdateSample.ts +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -/** - * This sample demonstrates how to Updates properties of Managed CCF - * - * @summary Updates properties of Managed CCF - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Update.json - */ - -import type { - ManagedCCF} from "@azure/arm-confidentialledger"; -import { - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -async function managedCcfUpdate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginUpdateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfUpdate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples-dev/operationsListSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples-dev/operationsListSample.ts index 72d8b433e501..c59f11e62f1b 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples-dev/operationsListSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples-dev/operationsListSample.ts @@ -1,27 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/** - * This sample demonstrates how to Retrieves a list of available API operations - * - * @summary Retrieves a list of available API operations - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/Operations_Get.json - */ - import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; +/** + * This sample demonstrates how to list the operations for the provider + * + * @summary list the operations for the provider + * x-ms-original-file: 2026-02-23/Operations_Get.json + */ async function operationsGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "00000000-0000-0000-0000-000000000000"; const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); + const client = new ConfidentialLedgerClient(credential); const resArray = new Array(); for await (const item of client.operations.list()) { resArray.push(item); } + console.log(resArray); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/README.md b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/README.md deleted file mode 100644 index c6018021664f..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# client library samples for JavaScript (Beta) - -These sample programs show how to use the JavaScript client libraries for in some common scenarios. - -| **File Name** | **Description** | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [checkNameAvailabilitySample.js][checknameavailabilitysample] | To check whether a resource name is available. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/CheckNameAvailability.json | -| [ledgerBackupSample.js][ledgerbackupsample] | Backs up a Confidential Ledger Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Backup.json | -| [ledgerCreateSample.js][ledgercreatesample] | Creates a Confidential Ledger with the specified ledger parameters. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Create.json | -| [ledgerDeleteSample.js][ledgerdeletesample] | Deletes an existing Confidential Ledger. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Delete.json | -| [ledgerGetSample.js][ledgergetsample] | Retrieves the properties of a Confidential Ledger. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Get.json | -| [ledgerListByResourceGroupSample.js][ledgerlistbyresourcegroupsample] | Retrieves the properties of all Confidential Ledgers. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_List.json | -| [ledgerListBySubscriptionSample.js][ledgerlistbysubscriptionsample] | Retrieves the properties of all Confidential Ledgers. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_ListBySub.json | -| [ledgerRestoreSample.js][ledgerrestoresample] | Restores a Confidential Ledger Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Restore.json | -| [ledgerUpdateSample.js][ledgerupdatesample] | Updates properties of Confidential Ledger x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Update.json | -| [managedCcfBackupSample.js][managedccfbackupsample] | Backs up a Managed CCF Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Backup.json | -| [managedCcfCreateSample.js][managedccfcreatesample] | Creates a Managed CCF with the specified Managed CCF parameters. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Create.json | -| [managedCcfDeleteSample.js][managedccfdeletesample] | Deletes an existing Managed CCF. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Delete.json | -| [managedCcfGetSample.js][managedccfgetsample] | Retrieves the properties of a Managed CCF app. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Get.json | -| [managedCcfListByResourceGroupSample.js][managedccflistbyresourcegroupsample] | Retrieves the properties of all Managed CCF apps. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_List.json | -| [managedCcfListBySubscriptionSample.js][managedccflistbysubscriptionsample] | Retrieves the properties of all Managed CCF. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_ListBySub.json | -| [managedCcfRestoreSample.js][managedccfrestoresample] | Restores a Managed CCF Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Restore.json | -| [managedCcfUpdateSample.js][managedccfupdatesample] | Updates properties of Managed CCF x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Update.json | -| [operationsListSample.js][operationslistsample] | Retrieves a list of available API operations x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/Operations_Get.json | - -## Prerequisites - -The sample programs are compatible with [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule). - -You need [an Azure subscription][freesub] to run these sample programs. - -Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. - -Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. - -## Setup - -To run the samples using the published version of the package: - -1. Install the dependencies using `npm`: - -```bash -npm install -``` - -2. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. - -3. Run whichever samples you like (note that some samples may require additional setup, see the table above): - -```bash -node checkNameAvailabilitySample.js -``` - -Alternatively, run a single sample with the correct environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): - -```bash -cross-env CONFIDENTIALLEDGER_SUBSCRIPTION_ID="" node checkNameAvailabilitySample.js -``` - -## Next Steps - -Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. - -[checknameavailabilitysample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/checkNameAvailabilitySample.js -[ledgerbackupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerBackupSample.js -[ledgercreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerCreateSample.js -[ledgerdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerDeleteSample.js -[ledgergetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerGetSample.js -[ledgerlistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListByResourceGroupSample.js -[ledgerlistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListBySubscriptionSample.js -[ledgerrestoresample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerRestoreSample.js -[ledgerupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerUpdateSample.js -[managedccfbackupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfBackupSample.js -[managedccfcreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfCreateSample.js -[managedccfdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfDeleteSample.js -[managedccfgetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfGetSample.js -[managedccflistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListByResourceGroupSample.js -[managedccflistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListBySubscriptionSample.js -[managedccfrestoresample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfRestoreSample.js -[managedccfupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfUpdateSample.js -[operationslistsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/operationsListSample.js -[apiref]: https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview -[freesub]: https://azure.microsoft.com/free/ -[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/checkNameAvailabilitySample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/checkNameAvailabilitySample.js deleted file mode 100644 index 7e9752046b56..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/checkNameAvailabilitySample.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to To check whether a resource name is available. - * - * @summary To check whether a resource name is available. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/CheckNameAvailability.json - */ -async function checkNameAvailability() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000"; - const nameAvailabilityRequest = { - name: "sample-name", - type: "Microsoft.ConfidentialLedger/ledgers", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.checkNameAvailability(nameAvailabilityRequest); - console.log(result); -} - -async function main() { - await checkNameAvailability(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerBackupSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerBackupSample.js deleted file mode 100644 index 4256b61bd86f..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerBackupSample.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Backs up a Confidential Ledger Resource. - * - * @summary Backs up a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Backup.json - */ -async function confidentialLedgerBackup() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginBackupAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main() { - await confidentialLedgerBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerDeleteSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerDeleteSample.js deleted file mode 100644 index 8aec71422f6b..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerDeleteSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Deletes an existing Confidential Ledger. - * - * @summary Deletes an existing Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Delete.json - */ -async function confidentialLedgerDelete() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginDeleteAndWait(resourceGroupName, ledgerName); - console.log(result); -} - -async function main() { - await confidentialLedgerDelete(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerGetSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerGetSample.js deleted file mode 100644 index a0dce4acf25e..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerGetSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of a Confidential Ledger. - * - * @summary Retrieves the properties of a Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Get.json - */ -async function confidentialLedgerGet() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.get(resourceGroupName, ledgerName); - console.log(result); -} - -async function main() { - await confidentialLedgerGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListByResourceGroupSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListByResourceGroupSample.js deleted file mode 100644 index 65a6325671b9..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListByResourceGroupSample.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_List.json - */ -async function confidentialLedgerList() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.ledger.listByResourceGroup(resourceGroupName)) { - resArray.push(item); - } - console.log(resArray); -} - -async function main() { - await confidentialLedgerList(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListBySubscriptionSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListBySubscriptionSample.js deleted file mode 100644 index 3fce300d24ac..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerListBySubscriptionSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_ListBySub.json - */ -async function confidentialLedgerListBySub() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.ledger.listBySubscription()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main() { - await confidentialLedgerListBySub(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerRestoreSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerRestoreSample.js deleted file mode 100644 index 3ef3d6f4c83c..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerRestoreSample.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Restores a Confidential Ledger Resource. - * - * @summary Restores a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Restore.json - */ -async function confidentialLedgerRestore() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginRestoreAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main() { - await confidentialLedgerRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfBackupSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfBackupSample.js deleted file mode 100644 index cf34fae39844..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfBackupSample.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Backs up a Managed CCF Resource. - * - * @summary Backs up a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Backup.json - */ -async function managedCcfBackup() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginBackupAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main() { - await managedCcfBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfCreateSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfCreateSample.js deleted file mode 100644 index 71e0264846ef..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfCreateSample.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Creates a Managed CCF with the specified Managed CCF parameters. - * - * @summary Creates a Managed CCF with the specified Managed CCF parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Create.json - */ -async function managedCcfCreate() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - memberIdentityCertificates: [ - { - certificate: - "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", - encryptionkey: "ledgerencryptionkey", - tags: { additionalProps1: "additional properties" }, - }, - ], - nodeCount: 5, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginCreateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main() { - await managedCcfCreate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfDeleteSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfDeleteSample.js deleted file mode 100644 index 92281cfdfa04..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfDeleteSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Deletes an existing Managed CCF. - * - * @summary Deletes an existing Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Delete.json - */ -async function confidentialLedgerDelete() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginDeleteAndWait(resourceGroupName, appName); - console.log(result); -} - -async function main() { - await confidentialLedgerDelete(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfGetSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfGetSample.js deleted file mode 100644 index 014cc1179e5d..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfGetSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of a Managed CCF app. - * - * @summary Retrieves the properties of a Managed CCF app. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Get.json - */ -async function managedCcfGet() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.get(resourceGroupName, appName); - console.log(result); -} - -async function main() { - await managedCcfGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListByResourceGroupSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListByResourceGroupSample.js deleted file mode 100644 index e461f5fee8fb..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListByResourceGroupSample.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF apps. - * - * @summary Retrieves the properties of all Managed CCF apps. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_List.json - */ -async function managedCcfList() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listByResourceGroup(resourceGroupName)) { - resArray.push(item); - } - console.log(resArray); -} - -async function main() { - await managedCcfList(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListBySubscriptionSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListBySubscriptionSample.js deleted file mode 100644 index 9b5a6724da13..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfListBySubscriptionSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF. - * - * @summary Retrieves the properties of all Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_ListBySub.json - */ -async function managedCcfListBySub() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listBySubscription()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main() { - await managedCcfListBySub(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfRestoreSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfRestoreSample.js deleted file mode 100644 index a17bc2445f58..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfRestoreSample.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Restores a Managed CCF Resource. - * - * @summary Restores a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Restore.json - */ -async function managedCcfRestore() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginRestoreAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main() { - await managedCcfRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfUpdateSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfUpdateSample.js deleted file mode 100644 index 41b42edb3c8a..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/managedCcfUpdateSample.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Updates properties of Managed CCF - * - * @summary Updates properties of Managed CCF - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Update.json - */ -async function managedCcfUpdate() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginUpdateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main() { - await managedCcfUpdate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/operationsListSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/operationsListSample.js deleted file mode 100644 index 2e2ddc72a6d8..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/operationsListSample.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); -const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); - -/** - * This sample demonstrates how to Retrieves a list of available API operations - * - * @summary Retrieves a list of available API operations - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/Operations_Get.json - */ -async function operationsGet() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.operations.list()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main() { - await operationsGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/README.md b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/README.md deleted file mode 100644 index 1aafac0cd712..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# client library samples for TypeScript (Beta) - -These sample programs show how to use the TypeScript client libraries for in some common scenarios. - -| **File Name** | **Description** | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [checkNameAvailabilitySample.ts][checknameavailabilitysample] | To check whether a resource name is available. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/CheckNameAvailability.json | -| [ledgerBackupSample.ts][ledgerbackupsample] | Backs up a Confidential Ledger Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Backup.json | -| [ledgerCreateSample.ts][ledgercreatesample] | Creates a Confidential Ledger with the specified ledger parameters. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Create.json | -| [ledgerDeleteSample.ts][ledgerdeletesample] | Deletes an existing Confidential Ledger. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Delete.json | -| [ledgerGetSample.ts][ledgergetsample] | Retrieves the properties of a Confidential Ledger. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Get.json | -| [ledgerListByResourceGroupSample.ts][ledgerlistbyresourcegroupsample] | Retrieves the properties of all Confidential Ledgers. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_List.json | -| [ledgerListBySubscriptionSample.ts][ledgerlistbysubscriptionsample] | Retrieves the properties of all Confidential Ledgers. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_ListBySub.json | -| [ledgerRestoreSample.ts][ledgerrestoresample] | Restores a Confidential Ledger Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Restore.json | -| [ledgerUpdateSample.ts][ledgerupdatesample] | Updates properties of Confidential Ledger x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Update.json | -| [managedCcfBackupSample.ts][managedccfbackupsample] | Backs up a Managed CCF Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Backup.json | -| [managedCcfCreateSample.ts][managedccfcreatesample] | Creates a Managed CCF with the specified Managed CCF parameters. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Create.json | -| [managedCcfDeleteSample.ts][managedccfdeletesample] | Deletes an existing Managed CCF. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Delete.json | -| [managedCcfGetSample.ts][managedccfgetsample] | Retrieves the properties of a Managed CCF app. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Get.json | -| [managedCcfListByResourceGroupSample.ts][managedccflistbyresourcegroupsample] | Retrieves the properties of all Managed CCF apps. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_List.json | -| [managedCcfListBySubscriptionSample.ts][managedccflistbysubscriptionsample] | Retrieves the properties of all Managed CCF. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_ListBySub.json | -| [managedCcfRestoreSample.ts][managedccfrestoresample] | Restores a Managed CCF Resource. x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Restore.json | -| [managedCcfUpdateSample.ts][managedccfupdatesample] | Updates properties of Managed CCF x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Update.json | -| [operationsListSample.ts][operationslistsample] | Retrieves a list of available API operations x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/Operations_Get.json | - -## Prerequisites - -The sample programs are compatible with [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule). - -Before running the samples in Node, they must be compiled to JavaScript using the TypeScript compiler. For more information on TypeScript, see the [TypeScript documentation][typescript]. Install the TypeScript compiler using: - -```bash -npm install -g typescript -``` - -You need [an Azure subscription][freesub] to run these sample programs. - -Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. - -Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. - -## Setup - -To run the samples using the published version of the package: - -1. Install the dependencies using `npm`: - -```bash -npm install -``` - -2. Compile the samples: - -```bash -npm run build -``` - -3. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. - -4. Run whichever samples you like (note that some samples may require additional setup, see the table above): - -```bash -node dist/checkNameAvailabilitySample.js -``` - -Alternatively, run a single sample with the correct environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): - -```bash -cross-env CONFIDENTIALLEDGER_SUBSCRIPTION_ID="" node dist/checkNameAvailabilitySample.js -``` - -## Next Steps - -Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. - -[checknameavailabilitysample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/checkNameAvailabilitySample.ts -[ledgerbackupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerBackupSample.ts -[ledgercreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerCreateSample.ts -[ledgerdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerDeleteSample.ts -[ledgergetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerGetSample.ts -[ledgerlistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListByResourceGroupSample.ts -[ledgerlistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListBySubscriptionSample.ts -[ledgerrestoresample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerRestoreSample.ts -[ledgerupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerUpdateSample.ts -[managedccfbackupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfBackupSample.ts -[managedccfcreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfCreateSample.ts -[managedccfdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfDeleteSample.ts -[managedccfgetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfGetSample.ts -[managedccflistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListByResourceGroupSample.ts -[managedccflistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListBySubscriptionSample.ts -[managedccfrestoresample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfRestoreSample.ts -[managedccfupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfUpdateSample.ts -[operationslistsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/operationsListSample.ts -[apiref]: https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview -[freesub]: https://azure.microsoft.com/free/ -[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md -[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/checkNameAvailabilitySample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/checkNameAvailabilitySample.ts deleted file mode 100644 index 371ca056c702..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/checkNameAvailabilitySample.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - CheckNameAvailabilityRequest, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to To check whether a resource name is available. - * - * @summary To check whether a resource name is available. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/CheckNameAvailability.json - */ -async function checkNameAvailability(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "00000000-0000-0000-0000-000000000000"; - const nameAvailabilityRequest: CheckNameAvailabilityRequest = { - name: "sample-name", - type: "Microsoft.ConfidentialLedger/ledgers", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.checkNameAvailability(nameAvailabilityRequest); - console.log(result); -} - -async function main(): Promise { - await checkNameAvailability(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerBackupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerBackupSample.ts deleted file mode 100644 index 2270c9370b81..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerBackupSample.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ConfidentialLedgerBackup, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Backs up a Confidential Ledger Resource. - * - * @summary Backs up a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Backup.json - */ -async function confidentialLedgerBackup(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedgerBackup = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginBackupAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerDeleteSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerDeleteSample.ts deleted file mode 100644 index aa0955163e97..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerDeleteSample.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Deletes an existing Confidential Ledger. - * - * @summary Deletes an existing Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Delete.json - */ -async function confidentialLedgerDelete(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginDeleteAndWait( - resourceGroupName, - ledgerName, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerDelete(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerGetSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerGetSample.ts deleted file mode 100644 index 4fc9843353dc..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerGetSample.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of a Confidential Ledger. - * - * @summary Retrieves the properties of a Confidential Ledger. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Get.json - */ -async function confidentialLedgerGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.get(resourceGroupName, ledgerName); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListByResourceGroupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListByResourceGroupSample.ts deleted file mode 100644 index 4afd75a6e0b0..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListByResourceGroupSample.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_List.json - */ -async function confidentialLedgerList(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.ledger.listByResourceGroup( - resourceGroupName, - )) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await confidentialLedgerList(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListBySubscriptionSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListBySubscriptionSample.ts deleted file mode 100644 index e5b142f199e8..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerListBySubscriptionSample.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of all Confidential Ledgers. - * - * @summary Retrieves the properties of all Confidential Ledgers. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_ListBySub.json - */ -async function confidentialLedgerListBySub(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.ledger.listBySubscription()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await confidentialLedgerListBySub(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerRestoreSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerRestoreSample.ts deleted file mode 100644 index 7371ac683a04..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerRestoreSample.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ConfidentialLedgerRestore, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Restores a Confidential Ledger Resource. - * - * @summary Restores a Confidential Ledger Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Restore.json - */ -async function confidentialLedgerRestore(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedgerRestore = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginRestoreAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfBackupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfBackupSample.ts deleted file mode 100644 index 87c3652421e8..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfBackupSample.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ManagedCCFBackup, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Backs up a Managed CCF Resource. - * - * @summary Backs up a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Backup.json - */ -async function managedCcfBackup(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCFBackup = { - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginBackupAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfBackup(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfCreateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfCreateSample.ts deleted file mode 100644 index ceb083981590..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfCreateSample.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ManagedCCF, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Creates a Managed CCF with the specified Managed CCF parameters. - * - * @summary Creates a Managed CCF with the specified Managed CCF parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Create.json - */ -async function managedCcfCreate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - memberIdentityCertificates: [ - { - certificate: - "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", - encryptionkey: "ledgerencryptionkey", - tags: { additionalProps1: "additional properties" }, - }, - ], - nodeCount: 5, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginCreateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfCreate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfDeleteSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfDeleteSample.ts deleted file mode 100644 index d0120c77b0d9..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfDeleteSample.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Deletes an existing Managed CCF. - * - * @summary Deletes an existing Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Delete.json - */ -async function confidentialLedgerDelete(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginDeleteAndWait( - resourceGroupName, - appName, - ); - console.log(result); -} - -async function main(): Promise { - await confidentialLedgerDelete(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfGetSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfGetSample.ts deleted file mode 100644 index fc3d7bbbe260..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfGetSample.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of a Managed CCF app. - * - * @summary Retrieves the properties of a Managed CCF app. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Get.json - */ -async function managedCcfGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.get( - resourceGroupName, - appName, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListByResourceGroupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListByResourceGroupSample.ts deleted file mode 100644 index f79f1f65c3f6..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListByResourceGroupSample.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF apps. - * - * @summary Retrieves the properties of all Managed CCF apps. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_List.json - */ -async function managedCcfList(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listByResourceGroup( - resourceGroupName, - )) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await managedCcfList(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListBySubscriptionSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListBySubscriptionSample.ts deleted file mode 100644 index c0b94d99ec49..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfListBySubscriptionSample.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves the properties of all Managed CCF. - * - * @summary Retrieves the properties of all Managed CCF. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_ListBySub.json - */ -async function managedCcfListBySub(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.managedCCFOperations.listBySubscription()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await managedCcfListBySub(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfRestoreSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfRestoreSample.ts deleted file mode 100644 index 8eb4d9f61dba..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfRestoreSample.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ManagedCCFRestore, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Restores a Managed CCF Resource. - * - * @summary Restores a Managed CCF Resource. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Restore.json - */ -async function managedCcfRestore(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCFRestore = { - fileShareName: "DummyFileShareName", - restoreRegion: "EastUS", - uri: "DummySASUri", - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginRestoreAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfRestore(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfUpdateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfUpdateSample.ts deleted file mode 100644 index 2699784fdaaf..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/managedCcfUpdateSample.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - ManagedCCF, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Updates properties of Managed CCF - * - * @summary Updates properties of Managed CCF - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ManagedCCF_Update.json - */ -async function managedCcfUpdate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const appName = "DummyMccfAppName"; - const managedCCF: ManagedCCF = { - location: "EastUS", - properties: { - deploymentType: { - appSourceUri: - "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11", - languageRuntime: "CPP", - }, - }, - tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.managedCCFOperations.beginUpdateAndWait( - resourceGroupName, - appName, - managedCCF, - ); - console.log(result); -} - -async function main(): Promise { - await managedCcfUpdate(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/operationsListSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/operationsListSample.ts deleted file mode 100644 index fb16090a39a3..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/operationsListSample.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; -import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; - -/** - * This sample demonstrates how to Retrieves a list of available API operations - * - * @summary Retrieves a list of available API operations - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/Operations_Get.json - */ -async function operationsGet(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "00000000-0000-0000-0000-000000000000"; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const resArray = new Array(); - for await (const item of client.operations.list()) { - resArray.push(item); - } - console.log(resArray); -} - -async function main(): Promise { - await operationsGet(); -} - -main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/tsconfig.json b/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/tsconfig.json deleted file mode 100644 index 400db87cf648..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2023", - "module": "commonjs", - "lib": [], - "importHelpers": true, - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "moduleResolution": "node10", - "esModuleInterop": true, - "outDir": "./dist", - "resolveJsonModule": true - }, - "include": [ - "./src" - ] -} diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/README.md b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/README.md new file mode 100644 index 000000000000..f9ee429d2988 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/README.md @@ -0,0 +1,66 @@ +# @azure/arm-confidentialledger client library samples for JavaScript (Beta) + +These sample programs show how to use the JavaScript client libraries for @azure/arm-confidentialledger in some common scenarios. + +| **File Name** | **Description** | +| --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [checkNameAvailabilitySample.js][checknameavailabilitysample] | to check whether a resource name is available. x-ms-original-file: 2026-02-23/CheckNameAvailability.json | +| [ledgerCreateSample.js][ledgercreatesample] | creates a Confidential Ledger with the specified ledger parameters. x-ms-original-file: 2026-02-23/ConfidentialLedger_Create.json | +| [ledgerDeleteSample.js][ledgerdeletesample] | deletes an existing Confidential Ledger. x-ms-original-file: 2026-02-23/ConfidentialLedger_Delete.json | +| [ledgerFilesExportSample.js][ledgerfilesexportsample] | copies the ledger files and the service certificate to a customer's storage account of choice. x-ms-original-file: 2026-02-23/ConfidentialLedger_FilesExport.json | +| [ledgerGetSample.js][ledgergetsample] | retrieves the properties of a Confidential Ledger. x-ms-original-file: 2026-02-23/ConfidentialLedger_Get.json | +| [ledgerListByResourceGroupSample.js][ledgerlistbyresourcegroupsample] | retrieves the properties of all Confidential Ledgers. x-ms-original-file: 2026-02-23/ConfidentialLedger_List.json | +| [ledgerListBySubscriptionSample.js][ledgerlistbysubscriptionsample] | retrieves the properties of all Confidential Ledgers. x-ms-original-file: 2026-02-23/ConfidentialLedger_ListBySub.json | +| [ledgerUpdateSample.js][ledgerupdatesample] | updates properties of Confidential Ledger x-ms-original-file: 2026-02-23/ConfidentialLedger_Update.json | +| [operationsListSample.js][operationslistsample] | list the operations for the provider x-ms-original-file: 2026-02-23/Operations_Get.json | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule). + +You need [an Azure subscription][freesub] to run these sample programs. + +Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. + +Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. + +## Setup + +To run the samples using the published version of the package: + +1. Install the dependencies using `npm`: + +```bash +npm install +``` + +2. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. + +3. Run whichever samples you like (note that some samples may require additional setup, see the table above): + +```bash +node checkNameAvailabilitySample.js +``` + +Alternatively, run a single sample with the required environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): + +```bash +node checkNameAvailabilitySample.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[checknameavailabilitysample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/checkNameAvailabilitySample.js +[ledgercreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerCreateSample.js +[ledgerdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerDeleteSample.js +[ledgerfilesexportsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerFilesExportSample.js +[ledgergetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerGetSample.js +[ledgerlistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListByResourceGroupSample.js +[ledgerlistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListBySubscriptionSample.js +[ledgerupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerUpdateSample.js +[operationslistsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/operationsListSample.js +[apiref]: https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview +[freesub]: https://azure.microsoft.com/free/ +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/checkNameAvailabilitySample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/checkNameAvailabilitySample.js new file mode 100644 index 000000000000..fd80f0d7ca15 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/checkNameAvailabilitySample.js @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to to check whether a resource name is available. + * + * @summary to check whether a resource name is available. + * x-ms-original-file: 2026-02-23/CheckNameAvailability.json + */ +async function checkNameAvailability() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "00000000-0000-0000-0000-000000000000"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.checkNameAvailability({ + name: "sample-name", + type: "Microsoft.ConfidentialLedger/ledgers", + }); + console.log(result); +} + +async function main() { + await checkNameAvailability(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerCreateSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerCreateSample.js similarity index 59% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerCreateSample.js rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerCreateSample.js index 03d7d29403da..c669341bb828 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerCreateSample.js +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerCreateSample.js @@ -1,28 +1,20 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); /** - * This sample demonstrates how to Creates a Confidential Ledger with the specified ledger parameters. + * This sample demonstrates how to creates a Confidential Ledger with the specified ledger parameters. * - * @summary Creates a Confidential Ledger with the specified ledger parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Create.json + * @summary creates a Confidential Ledger with the specified ledger parameters. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Create.json */ async function confidentialLedgerCreate() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.create("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -45,17 +37,12 @@ async function confidentialLedgerCreate() { nodeCount: 3, subjectName: "CN=CCF Node", workerThreads: 0, - writeLBAddressPrefix: "write", + applicationType: "ConfidentialLedger", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginCreateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerDeleteSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerDeleteSample.js new file mode 100644 index 000000000000..7af271dee2e8 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerDeleteSample.js @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to deletes an existing Confidential Ledger. + * + * @summary deletes an existing Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Delete.json + */ +async function confidentialLedgerDelete() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + await client.ledger.delete("DummyResourceGroupName", "DummyLedgerName"); +} + +async function main() { + await confidentialLedgerDelete(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerFilesExportSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerFilesExportSample.js new file mode 100644 index 000000000000..47704365ed10 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerFilesExportSample.js @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to copies the ledger files and the service certificate to a customer's storage account of choice. + * + * @summary copies the ledger files and the service certificate to a customer's storage account of choice. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_FilesExport.json + */ +async function confidentialLedgerFilesExport() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.filesExport("DummyResourceGroupName", "DummyLedgerName", { + restoreRegion: "EastUS", + uri: "DummySASUri", + }); + console.log(result); +} + +async function main() { + await confidentialLedgerFilesExport(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerGetSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerGetSample.js new file mode 100644 index 000000000000..b83de5cb3527 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerGetSample.js @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to retrieves the properties of a Confidential Ledger. + * + * @summary retrieves the properties of a Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Get.json + */ +async function confidentialLedgerGet() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.get("DummyResourceGroupName", "DummyLedgerName"); + console.log(result); +} + +async function main() { + await confidentialLedgerGet(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListByResourceGroupSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListByResourceGroupSample.js new file mode 100644 index 000000000000..148fe15295b7 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListByResourceGroupSample.js @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_List.json + */ +async function confidentialLedgerList() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const resArray = new Array(); + for await (const item of client.ledger.listByResourceGroup("DummyResourceGroupName")) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main() { + await confidentialLedgerList(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListBySubscriptionSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListBySubscriptionSample.js new file mode 100644 index 000000000000..af70879d6828 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerListBySubscriptionSample.js @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_ListBySub.json + */ +async function confidentialLedgerListBySub() { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const resArray = new Array(); + for await (const item of client.ledger.listBySubscription()) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main() { + await confidentialLedgerListBySub(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerUpdateSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerUpdateSample.js similarity index 64% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerUpdateSample.js rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerUpdateSample.js index f8d39941e69c..370d198df4c9 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/ledgerUpdateSample.js +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/ledgerUpdateSample.js @@ -1,28 +1,20 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); const { DefaultAzureCredential } = require("@azure/identity"); -require("dotenv/config"); /** - * This sample demonstrates how to Updates properties of Confidential Ledger + * This sample demonstrates how to updates properties of Confidential Ledger * - * @summary Updates properties of Confidential Ledger - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Update.json + * @summary updates properties of Confidential Ledger + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Update.json */ async function confidentialLedgerUpdate() { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.update("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -38,20 +30,16 @@ async function confidentialLedgerUpdate() { ledgerRoleName: "Reader", }, ], + applicationType: "ConfidentialLedger", ledgerType: "Public", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionProps2: "additional property value", additionalProps1: "additional properties", }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginUpdateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/operationsListSample.js b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/operationsListSample.js new file mode 100644 index 000000000000..4787036a255f --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/operationsListSample.js @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +const { ConfidentialLedgerClient } = require("@azure/arm-confidentialledger"); +const { DefaultAzureCredential } = require("@azure/identity"); + +/** + * This sample demonstrates how to list the operations for the provider + * + * @summary list the operations for the provider + * x-ms-original-file: 2026-02-23/Operations_Get.json + */ +async function operationsGet() { + const credential = new DefaultAzureCredential(); + const client = new ConfidentialLedgerClient(credential); + const resArray = new Array(); + for await (const item of client.operations.list()) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main() { + await operationsGet(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/package.json b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/package.json similarity index 73% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/package.json rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/package.json index dc95bc54381f..ed56e15339e6 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/package.json +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/package.json @@ -2,7 +2,7 @@ "name": "@azure-samples/arm-confidentialledger-js-beta", "private": true, "version": "1.0.0", - "description": " client library samples for JavaScript (Beta)", + "description": "@azure/arm-confidentialledger client library samples for JavaScript (Beta)", "engines": { "node": ">=20.0.0" }, @@ -14,10 +14,10 @@ "keywords": [ "node", "azure", + "cloud", "typescript", "browser", - "isomorphic", - "cloud" + "isomorphic" ], "author": "Microsoft Corporation", "license": "MIT", @@ -26,8 +26,11 @@ }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger", "dependencies": { - "@azure/arm-confidentialledger": "next", + "@azure/arm-confidentialledger": "beta", "dotenv": "latest", - "@azure/identity": "^4.6.0" + "@azure/identity": "^4.13.0" + }, + "devDependencies": { + "cross-env": "latest" } } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/sample.env b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/sample.env similarity index 100% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/javascript/sample.env rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/javascript/sample.env diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/README.md b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/README.md new file mode 100644 index 000000000000..09a33a8e5326 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/README.md @@ -0,0 +1,79 @@ +# @azure/arm-confidentialledger client library samples for TypeScript (Beta) + +These sample programs show how to use the TypeScript client libraries for @azure/arm-confidentialledger in some common scenarios. + +| **File Name** | **Description** | +| --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [checkNameAvailabilitySample.ts][checknameavailabilitysample] | to check whether a resource name is available. x-ms-original-file: 2026-02-23/CheckNameAvailability.json | +| [ledgerCreateSample.ts][ledgercreatesample] | creates a Confidential Ledger with the specified ledger parameters. x-ms-original-file: 2026-02-23/ConfidentialLedger_Create.json | +| [ledgerDeleteSample.ts][ledgerdeletesample] | deletes an existing Confidential Ledger. x-ms-original-file: 2026-02-23/ConfidentialLedger_Delete.json | +| [ledgerFilesExportSample.ts][ledgerfilesexportsample] | copies the ledger files and the service certificate to a customer's storage account of choice. x-ms-original-file: 2026-02-23/ConfidentialLedger_FilesExport.json | +| [ledgerGetSample.ts][ledgergetsample] | retrieves the properties of a Confidential Ledger. x-ms-original-file: 2026-02-23/ConfidentialLedger_Get.json | +| [ledgerListByResourceGroupSample.ts][ledgerlistbyresourcegroupsample] | retrieves the properties of all Confidential Ledgers. x-ms-original-file: 2026-02-23/ConfidentialLedger_List.json | +| [ledgerListBySubscriptionSample.ts][ledgerlistbysubscriptionsample] | retrieves the properties of all Confidential Ledgers. x-ms-original-file: 2026-02-23/ConfidentialLedger_ListBySub.json | +| [ledgerUpdateSample.ts][ledgerupdatesample] | updates properties of Confidential Ledger x-ms-original-file: 2026-02-23/ConfidentialLedger_Update.json | +| [operationsListSample.ts][operationslistsample] | list the operations for the provider x-ms-original-file: 2026-02-23/Operations_Get.json | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule). + +Before running the samples in Node, they must be compiled to JavaScript using the TypeScript compiler. For more information on TypeScript, see the [TypeScript documentation][typescript]. Install the TypeScript compiler using: + +```bash +npm install -g typescript +``` + +You need [an Azure subscription][freesub] to run these sample programs. + +Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function. + +Adapting the samples to run in the browser may require some additional consideration. For details, please see the [package README][package]. + +## Setup + +To run the samples using the published version of the package: + +1. Install the dependencies using `npm`: + +```bash +npm install +``` + +2. Compile the samples: + +```bash +npm run build +``` + +3. Edit the file `sample.env`, adding the correct credentials to access the Azure service and run the samples. Then rename the file from `sample.env` to just `.env`. The sample programs will read this file automatically. + +4. Run whichever samples you like (note that some samples may require additional setup, see the table above): + +```bash +node dist/checkNameAvailabilitySample.js +``` + +Alternatively, run a single sample with the required environment variables set (setting up the `.env` file is not required if you do this), for example (cross-platform): + +```bash +node dist/checkNameAvailabilitySample.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[checknameavailabilitysample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/checkNameAvailabilitySample.ts +[ledgercreatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerCreateSample.ts +[ledgerdeletesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerDeleteSample.ts +[ledgerfilesexportsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerFilesExportSample.ts +[ledgergetsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerGetSample.ts +[ledgerlistbyresourcegroupsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListByResourceGroupSample.ts +[ledgerlistbysubscriptionsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListBySubscriptionSample.ts +[ledgerupdatesample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerUpdateSample.ts +[operationslistsample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/operationsListSample.ts +[apiref]: https://learn.microsoft.com/javascript/api/@azure/arm-confidentialledger?view=azure-node-preview +[freesub]: https://azure.microsoft.com/free/ +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger/README.md +[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/package.json b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/package.json similarity index 74% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/package.json rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/package.json index 00aa305e7283..fd7e0fbab7f8 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/package.json +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/package.json @@ -2,7 +2,7 @@ "name": "@azure-samples/arm-confidentialledger-ts-beta", "private": true, "version": "1.0.0", - "description": " client library samples for TypeScript (Beta)", + "description": "@azure/arm-confidentialledger client library samples for TypeScript (Beta)", "engines": { "node": ">=20.0.0" }, @@ -18,10 +18,10 @@ "keywords": [ "node", "azure", + "cloud", "typescript", "browser", - "isomorphic", - "cloud" + "isomorphic" ], "author": "Microsoft Corporation", "license": "MIT", @@ -30,13 +30,14 @@ }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/confidentialledger/arm-confidentialledger", "dependencies": { - "@azure/arm-confidentialledger": "next", + "@azure/arm-confidentialledger": "beta", "dotenv": "latest", - "@azure/identity": "^4.6.0" + "@azure/identity": "^4.13.0" }, "devDependencies": { "@types/node": "^20.0.0", - "typescript": "~5.8.2", - "rimraf": "latest" + "cross-env": "latest", + "rimraf": "latest", + "typescript": "~6.0.2" } } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/sample.env b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/sample.env similarity index 100% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/sample.env rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/sample.env diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/checkNameAvailabilitySample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/checkNameAvailabilitySample.ts new file mode 100644 index 000000000000..55e36f97e20e --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/checkNameAvailabilitySample.ts @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to to check whether a resource name is available. + * + * @summary to check whether a resource name is available. + * x-ms-original-file: 2026-02-23/CheckNameAvailability.json + */ +async function checkNameAvailability(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "00000000-0000-0000-0000-000000000000"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.checkNameAvailability({ + name: "sample-name", + type: "Microsoft.ConfidentialLedger/ledgers", + }); + console.log(result); +} + +async function main(): Promise { + await checkNameAvailability(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerCreateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerCreateSample.ts similarity index 56% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerCreateSample.ts rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerCreateSample.ts index 60e588a8f1bb..3ee206d54329 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerCreateSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerCreateSample.ts @@ -1,33 +1,20 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. -import { - ConfidentialLedger, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; /** - * This sample demonstrates how to Creates a Confidential Ledger with the specified ledger parameters. + * This sample demonstrates how to creates a Confidential Ledger with the specified ledger parameters. * - * @summary Creates a Confidential Ledger with the specified ledger parameters. - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Create.json + * @summary creates a Confidential Ledger with the specified ledger parameters. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Create.json */ async function confidentialLedgerCreate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.create("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -50,17 +37,12 @@ async function confidentialLedgerCreate(): Promise { nodeCount: 3, subjectName: "CN=CCF Node", workerThreads: 0, - writeLBAddressPrefix: "write", + applicationType: "ConfidentialLedger", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionalProps1: "additional properties" }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginCreateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerDeleteSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerDeleteSample.ts new file mode 100644 index 000000000000..8cb4f2e3323f --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerDeleteSample.ts @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to deletes an existing Confidential Ledger. + * + * @summary deletes an existing Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Delete.json + */ +async function confidentialLedgerDelete(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + await client.ledger.delete("DummyResourceGroupName", "DummyLedgerName"); +} + +async function main(): Promise { + await confidentialLedgerDelete(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerFilesExportSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerFilesExportSample.ts new file mode 100644 index 000000000000..f2dcb5e69646 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerFilesExportSample.ts @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to copies the ledger files and the service certificate to a customer's storage account of choice. + * + * @summary copies the ledger files and the service certificate to a customer's storage account of choice. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_FilesExport.json + */ +async function confidentialLedgerFilesExport(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.filesExport("DummyResourceGroupName", "DummyLedgerName", { + restoreRegion: "EastUS", + uri: "DummySASUri", + }); + console.log(result); +} + +async function main(): Promise { + await confidentialLedgerFilesExport(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerGetSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerGetSample.ts new file mode 100644 index 000000000000..b8966efdbc8d --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerGetSample.ts @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to retrieves the properties of a Confidential Ledger. + * + * @summary retrieves the properties of a Confidential Ledger. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Get.json + */ +async function confidentialLedgerGet(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.get("DummyResourceGroupName", "DummyLedgerName"); + console.log(result); +} + +async function main(): Promise { + await confidentialLedgerGet(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListByResourceGroupSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListByResourceGroupSample.ts new file mode 100644 index 000000000000..79695c0920cf --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListByResourceGroupSample.ts @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_List.json + */ +async function confidentialLedgerList(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const resArray = new Array(); + for await (const item of client.ledger.listByResourceGroup("DummyResourceGroupName")) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main(): Promise { + await confidentialLedgerList(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListBySubscriptionSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListBySubscriptionSample.ts new file mode 100644 index 000000000000..3a36f94c3a75 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerListBySubscriptionSample.ts @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to retrieves the properties of all Confidential Ledgers. + * + * @summary retrieves the properties of all Confidential Ledgers. + * x-ms-original-file: 2026-02-23/ConfidentialLedger_ListBySub.json + */ +async function confidentialLedgerListBySub(): Promise { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const resArray = new Array(); + for await (const item of client.ledger.listBySubscription()) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main(): Promise { + await confidentialLedgerListBySub(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerUpdateSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerUpdateSample.ts similarity index 62% rename from sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerUpdateSample.ts rename to sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerUpdateSample.ts index 364422ded032..850b046235a7 100644 --- a/sdk/confidentialledger/arm-confidentialledger/samples/v1-beta/typescript/src/ledgerUpdateSample.ts +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/ledgerUpdateSample.ts @@ -1,33 +1,20 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. -import { - ConfidentialLedger, - ConfidentialLedgerClient, -} from "@azure/arm-confidentialledger"; +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; import { DefaultAzureCredential } from "@azure/identity"; -import "dotenv/config"; /** - * This sample demonstrates how to Updates properties of Confidential Ledger + * This sample demonstrates how to updates properties of Confidential Ledger * - * @summary Updates properties of Confidential Ledger - * x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2024-09-19-preview/examples/ConfidentialLedger_Update.json + * @summary updates properties of Confidential Ledger + * x-ms-original-file: 2026-02-23/ConfidentialLedger_Update.json */ async function confidentialLedgerUpdate(): Promise { - const subscriptionId = - process.env["CONFIDENTIALLEDGER_SUBSCRIPTION_ID"] || - "0000000-0000-0000-0000-000000000001"; - const resourceGroupName = - process.env["CONFIDENTIALLEDGER_RESOURCE_GROUP"] || - "DummyResourceGroupName"; - const ledgerName = "DummyLedgerName"; - const confidentialLedger: ConfidentialLedger = { + const credential = new DefaultAzureCredential(); + const subscriptionId = "0000000-0000-0000-0000-000000000001"; + const client = new ConfidentialLedgerClient(credential, subscriptionId); + const result = await client.ledger.update("DummyResourceGroupName", "DummyLedgerName", { location: "EastUS", properties: { aadBasedSecurityPrincipals: [ @@ -43,20 +30,16 @@ async function confidentialLedgerUpdate(): Promise { ledgerRoleName: "Reader", }, ], + applicationType: "ConfidentialLedger", ledgerType: "Public", + scittConfiguration: + '{\r\n "configuration": {\r\n "policy": {\r\n "policyScript": "export function apply(phdr) { if (!phdr.issuer) {return \'Issuer not found\'} else if (phdr.issuer !== \'did:x509:0:sha256:HnwZ4lezuxq/GVcl/Sk7YWW170qAD0DZBLXilXet0jg=::eku:1.3.6.1.4.1.311.10.3.13\') { return \'Invalid issuer\'; } return true; }"\r\n },\r\n "authentication": {\r\n "allowUnauthenticated": false,\r\n "jwt": {\r\n "requiredClaims": {\r\n "aud": "scitt",\r\n "iss": "https://authserver.com/",\r\n "http://unique.claim/department_id": "654987"\r\n }\r\n }\r\n }\r\n }\r\n }', }, tags: { additionProps2: "additional property value", additionalProps1: "additional properties", }, - }; - const credential = new DefaultAzureCredential(); - const client = new ConfidentialLedgerClient(credential, subscriptionId); - const result = await client.ledger.beginUpdateAndWait( - resourceGroupName, - ledgerName, - confidentialLedger, - ); + }); console.log(result); } diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/operationsListSample.ts b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/operationsListSample.ts new file mode 100644 index 000000000000..c59f11e62f1b --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/src/operationsListSample.ts @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "@azure/arm-confidentialledger"; +import { DefaultAzureCredential } from "@azure/identity"; + +/** + * This sample demonstrates how to list the operations for the provider + * + * @summary list the operations for the provider + * x-ms-original-file: 2026-02-23/Operations_Get.json + */ +async function operationsGet(): Promise { + const credential = new DefaultAzureCredential(); + const client = new ConfidentialLedgerClient(credential); + const resArray = new Array(); + for await (const item of client.operations.list()) { + resArray.push(item); + } + + console.log(resArray); +} + +async function main(): Promise { + await operationsGet(); +} + +main().catch(console.error); diff --git a/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/tsconfig.json b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/tsconfig.json new file mode 100644 index 000000000000..82d2ed3be723 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/samples/v2-beta/typescript/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2023", + "module": "nodenext", + "moduleResolution": "nodenext", + "resolveJsonModule": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "alwaysStrict": true, + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/confidentialLedgerContext.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/confidentialLedgerContext.ts new file mode 100644 index 000000000000..ba78ecfc98e9 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/confidentialLedgerContext.ts @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { logger } from "../logger.js"; +import { KnownVersions } from "../models/models.js"; +import { AzureSupportedClouds, getArmEndpoint } from "../static-helpers/cloudSettingHelpers.js"; +import { Client, ClientOptions, getClient } from "@azure-rest/core-client"; +import { TokenCredential } from "@azure/core-auth"; + +/** Microsoft Azure Confidential Compute Ledger Managed CCF Control Plane REST API. */ +export interface ConfidentialLedgerContext extends Client { + /** The ID of the target subscription. The value must be an UUID. */ + subscriptionId: string; + /** The API version to use for this operation. */ + /** Known values of {@link KnownVersions} that the service accepts. */ + apiVersion?: string; +} + +/** Optional parameters for the client. */ +export interface ConfidentialLedgerClientOptionalParams extends ClientOptions { + /** The API version to use for this operation. */ + /** Known values of {@link KnownVersions} that the service accepts. */ + apiVersion?: string; + /** Specifies the Azure cloud environment for the client. */ + cloudSetting?: AzureSupportedClouds; +} + +/** Microsoft Azure Confidential Compute Ledger Managed CCF Control Plane REST API. */ +export function createConfidentialLedger( + credential: TokenCredential, + subscriptionId: string, + options: ConfidentialLedgerClientOptionalParams = {}, +): ConfidentialLedgerContext { + const endpointUrl = + options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? "https://management.azure.com"; + const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix; + const userAgentInfo = `azsdk-js-arm-confidentialledger/2.0.0-beta.1`; + const userAgentPrefix = prefixFromOptions + ? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}` + : `azsdk-js-api ${userAgentInfo}`; + const { apiVersion: _, ...updatedOptions } = { + ...options, + userAgentOptions: { userAgentPrefix }, + loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info }, + credentials: { + scopes: options.credentials?.scopes ?? ["https://management.azure.com/.default"], + }, + }; + const clientContext = getClient(endpointUrl, credential, updatedOptions); + const apiVersion = options.apiVersion; + return { ...clientContext, apiVersion, subscriptionId } as ConfidentialLedgerContext; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/index.ts new file mode 100644 index 000000000000..0d0696dd1434 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/index.ts @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export type { + ConfidentialLedgerContext, + ConfidentialLedgerClientOptionalParams, +} from "./confidentialLedgerContext.js"; +export { createConfidentialLedger } from "./confidentialLedgerContext.js"; +export { checkNameAvailability } from "./operations.js"; +export type { CheckNameAvailabilityOptionalParams } from "./options.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/index.ts new file mode 100644 index 000000000000..a8d20584cfb8 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/index.ts @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export { + filesExport, + listBySubscription, + listByResourceGroup, + $delete, + update, + create, + get, +} from "./operations.js"; +export type { + LedgerFilesExportOptionalParams, + LedgerListBySubscriptionOptionalParams, + LedgerListByResourceGroupOptionalParams, + LedgerDeleteOptionalParams, + LedgerUpdateOptionalParams, + LedgerCreateOptionalParams, + LedgerGetOptionalParams, +} from "./options.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/operations.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/operations.ts new file mode 100644 index 000000000000..cc869e2e8ab0 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/operations.ts @@ -0,0 +1,418 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerContext as Client } from "../index.js"; +import { + errorResponseDeserializer, + ConfidentialLedger, + confidentialLedgerSerializer, + confidentialLedgerDeserializer, + _ConfidentialLedgerList, + _confidentialLedgerListDeserializer, + ConfidentialLedgerFilesExport, + confidentialLedgerFilesExportSerializer, + ConfidentialLedgerFilesExportResponse, + confidentialLedgerFilesExportResponseDeserializer, +} from "../../models/models.js"; +import { + PagedAsyncIterableIterator, + buildPagedAsyncIterator, +} from "../../static-helpers/pagingHelpers.js"; +import { getLongRunningPoller } from "../../static-helpers/pollingHelpers.js"; +import { expandUrlTemplate } from "../../static-helpers/urlTemplate.js"; +import { + LedgerFilesExportOptionalParams, + LedgerListBySubscriptionOptionalParams, + LedgerListByResourceGroupOptionalParams, + LedgerDeleteOptionalParams, + LedgerUpdateOptionalParams, + LedgerCreateOptionalParams, + LedgerGetOptionalParams, +} from "./options.js"; +import { + StreamableMethod, + PathUncheckedResponse, + createRestError, + operationOptionsToRequestParameters, +} from "@azure-rest/core-client"; +import { PollerLike, OperationState } from "@azure/core-lro"; + +export function _filesExportSend( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options: LedgerFilesExportOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/filesExport{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + ledgerName: ledgerName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).post({ + ...operationOptionsToRequestParameters(options), + contentType: "application/json", + headers: { accept: "application/json", ...options.requestOptions?.headers }, + body: confidentialLedgerFilesExportSerializer(confidentialLedger), + }); +} + +export async function _filesExportDeserialize( + result: PathUncheckedResponse, +): Promise { + const expectedStatuses = ["200", "202", "201"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return confidentialLedgerFilesExportResponseDeserializer(result.body); +} + +/** Copies the ledger files and the service certificate to a customer's storage account of choice. */ +export function filesExport( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options: LedgerFilesExportOptionalParams = { requestOptions: {} }, +): PollerLike< + OperationState, + ConfidentialLedgerFilesExportResponse +> { + return getLongRunningPoller(context, _filesExportDeserialize, ["200", "202", "201"], { + updateIntervalInMs: options?.updateIntervalInMs, + abortSignal: options?.abortSignal, + getInitialResponse: () => + _filesExportSend(context, resourceGroupName, ledgerName, confidentialLedger, options), + resourceLocationConfig: "location", + apiVersion: context.apiVersion ?? "2026-02-23", + }) as PollerLike< + OperationState, + ConfidentialLedgerFilesExportResponse + >; +} + +export function _listBySubscriptionSend( + context: Client, + options: LedgerListBySubscriptionOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers{?api%2Dversion,%24filter}", + { + subscriptionId: context.subscriptionId, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + "%24filter": options?.filter, + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).get({ + ...operationOptionsToRequestParameters(options), + headers: { accept: "application/json", ...options.requestOptions?.headers }, + }); +} + +export async function _listBySubscriptionDeserialize( + result: PathUncheckedResponse, +): Promise<_ConfidentialLedgerList> { + const expectedStatuses = ["200"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return _confidentialLedgerListDeserializer(result.body); +} + +/** Retrieves the properties of all Confidential Ledgers. */ +export function listBySubscription( + context: Client, + options: LedgerListBySubscriptionOptionalParams = { requestOptions: {} }, +): PagedAsyncIterableIterator { + return buildPagedAsyncIterator( + context, + () => _listBySubscriptionSend(context, options), + _listBySubscriptionDeserialize, + ["200"], + { itemName: "value", nextLinkName: "nextLink", apiVersion: context.apiVersion ?? "2026-02-23" }, + ); +} + +export function _listByResourceGroupSend( + context: Client, + resourceGroupName: string, + options: LedgerListByResourceGroupOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers{?api%2Dversion,%24filter}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + "%24filter": options?.filter, + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).get({ + ...operationOptionsToRequestParameters(options), + headers: { accept: "application/json", ...options.requestOptions?.headers }, + }); +} + +export async function _listByResourceGroupDeserialize( + result: PathUncheckedResponse, +): Promise<_ConfidentialLedgerList> { + const expectedStatuses = ["200"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return _confidentialLedgerListDeserializer(result.body); +} + +/** Retrieves the properties of all Confidential Ledgers. */ +export function listByResourceGroup( + context: Client, + resourceGroupName: string, + options: LedgerListByResourceGroupOptionalParams = { requestOptions: {} }, +): PagedAsyncIterableIterator { + return buildPagedAsyncIterator( + context, + () => _listByResourceGroupSend(context, resourceGroupName, options), + _listByResourceGroupDeserialize, + ["200"], + { itemName: "value", nextLinkName: "nextLink", apiVersion: context.apiVersion ?? "2026-02-23" }, + ); +} + +export function _$deleteSend( + context: Client, + resourceGroupName: string, + ledgerName: string, + options: LedgerDeleteOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + ledgerName: ledgerName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).delete({ ...operationOptionsToRequestParameters(options) }); +} + +export async function _$deleteDeserialize(result: PathUncheckedResponse): Promise { + const expectedStatuses = ["200", "202", "204"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return; +} + +/** Deletes an existing Confidential Ledger. */ +export function $delete( + context: Client, + resourceGroupName: string, + ledgerName: string, + options: LedgerDeleteOptionalParams = { requestOptions: {} }, +): PollerLike, void> { + return getLongRunningPoller(context, _$deleteDeserialize, ["200", "202", "204"], { + updateIntervalInMs: options?.updateIntervalInMs, + abortSignal: options?.abortSignal, + getInitialResponse: () => _$deleteSend(context, resourceGroupName, ledgerName, options), + resourceLocationConfig: "location", + apiVersion: context.apiVersion ?? "2026-02-23", + }) as PollerLike, void>; +} + +export function _updateSend( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options: LedgerUpdateOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + ledgerName: ledgerName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).patch({ + ...operationOptionsToRequestParameters(options), + contentType: "application/json", + headers: { accept: "application/json", ...options.requestOptions?.headers }, + body: confidentialLedgerSerializer(confidentialLedger), + }); +} + +export async function _updateDeserialize( + result: PathUncheckedResponse, +): Promise { + const expectedStatuses = ["200", "201", "202"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return confidentialLedgerDeserializer(result.body); +} + +/** Updates properties of Confidential Ledger */ +export function update( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options: LedgerUpdateOptionalParams = { requestOptions: {} }, +): PollerLike, ConfidentialLedger> { + return getLongRunningPoller(context, _updateDeserialize, ["200", "201", "202"], { + updateIntervalInMs: options?.updateIntervalInMs, + abortSignal: options?.abortSignal, + getInitialResponse: () => + _updateSend(context, resourceGroupName, ledgerName, confidentialLedger, options), + resourceLocationConfig: "location", + apiVersion: context.apiVersion ?? "2026-02-23", + }) as PollerLike, ConfidentialLedger>; +} + +export function _createSend( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options: LedgerCreateOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + ledgerName: ledgerName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).put({ + ...operationOptionsToRequestParameters(options), + contentType: "application/json", + headers: { accept: "application/json", ...options.requestOptions?.headers }, + body: confidentialLedgerSerializer(confidentialLedger), + }); +} + +export async function _createDeserialize( + result: PathUncheckedResponse, +): Promise { + const expectedStatuses = ["200", "201", "202"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return confidentialLedgerDeserializer(result.body); +} + +/** Creates a Confidential Ledger with the specified ledger parameters. */ +export function create( + context: Client, + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options: LedgerCreateOptionalParams = { requestOptions: {} }, +): PollerLike, ConfidentialLedger> { + return getLongRunningPoller(context, _createDeserialize, ["200", "201", "202"], { + updateIntervalInMs: options?.updateIntervalInMs, + abortSignal: options?.abortSignal, + getInitialResponse: () => + _createSend(context, resourceGroupName, ledgerName, confidentialLedger, options), + resourceLocationConfig: "azure-async-operation", + apiVersion: context.apiVersion ?? "2026-02-23", + }) as PollerLike, ConfidentialLedger>; +} + +export function _getSend( + context: Client, + resourceGroupName: string, + ledgerName: string, + options: LedgerGetOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + resourceGroupName: resourceGroupName, + ledgerName: ledgerName, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).get({ + ...operationOptionsToRequestParameters(options), + headers: { accept: "application/json", ...options.requestOptions?.headers }, + }); +} + +export async function _getDeserialize(result: PathUncheckedResponse): Promise { + const expectedStatuses = ["200"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return confidentialLedgerDeserializer(result.body); +} + +/** Retrieves the properties of a Confidential Ledger. */ +export async function get( + context: Client, + resourceGroupName: string, + ledgerName: string, + options: LedgerGetOptionalParams = { requestOptions: {} }, +): Promise { + const result = await _getSend(context, resourceGroupName, ledgerName, options); + return _getDeserialize(result); +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/options.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/options.ts new file mode 100644 index 000000000000..e69e2d56c1a4 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/ledger/options.ts @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { OperationOptions } from "@azure-rest/core-client"; + +/** Optional parameters. */ +export interface LedgerFilesExportOptionalParams extends OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; +} + +/** Optional parameters. */ +export interface LedgerListBySubscriptionOptionalParams extends OperationOptions { + /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ + filter?: string; +} + +/** Optional parameters. */ +export interface LedgerListByResourceGroupOptionalParams extends OperationOptions { + /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ + filter?: string; +} + +/** Optional parameters. */ +export interface LedgerDeleteOptionalParams extends OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; +} + +/** Optional parameters. */ +export interface LedgerUpdateOptionalParams extends OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; +} + +/** Optional parameters. */ +export interface LedgerCreateOptionalParams extends OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; +} + +/** Optional parameters. */ +export interface LedgerGetOptionalParams extends OperationOptions {} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/operations.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/operations.ts new file mode 100644 index 000000000000..896a78a344ab --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/operations.ts @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerContext as Client } from "./index.js"; +import { + CheckNameAvailabilityRequest, + checkNameAvailabilityRequestSerializer, + CheckNameAvailabilityResponse, + checkNameAvailabilityResponseDeserializer, + errorResponseDeserializer, +} from "../models/models.js"; +import { expandUrlTemplate } from "../static-helpers/urlTemplate.js"; +import { CheckNameAvailabilityOptionalParams } from "./options.js"; +import { + StreamableMethod, + PathUncheckedResponse, + createRestError, + operationOptionsToRequestParameters, +} from "@azure-rest/core-client"; + +export function _checkNameAvailabilitySend( + context: Client, + nameAvailabilityRequest: CheckNameAvailabilityRequest, + options: CheckNameAvailabilityOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability{?api%2Dversion}", + { + subscriptionId: context.subscriptionId, + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).post({ + ...operationOptionsToRequestParameters(options), + contentType: "application/json", + headers: { accept: "application/json", ...options.requestOptions?.headers }, + body: checkNameAvailabilityRequestSerializer(nameAvailabilityRequest), + }); +} + +export async function _checkNameAvailabilityDeserialize( + result: PathUncheckedResponse, +): Promise { + const expectedStatuses = ["200"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return checkNameAvailabilityResponseDeserializer(result.body); +} + +/** To check whether a resource name is available. */ +export async function checkNameAvailability( + context: Client, + nameAvailabilityRequest: CheckNameAvailabilityRequest, + options: CheckNameAvailabilityOptionalParams = { requestOptions: {} }, +): Promise { + const result = await _checkNameAvailabilitySend(context, nameAvailabilityRequest, options); + return _checkNameAvailabilityDeserialize(result); +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/operations/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/index.ts new file mode 100644 index 000000000000..de883c05d2f1 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/index.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export { list } from "./operations.js"; +export type { OperationsListOptionalParams } from "./options.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/operations/operations.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/operations.ts new file mode 100644 index 000000000000..793cb59ca243 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/operations.ts @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerContext as Client } from "../index.js"; +import { + errorResponseDeserializer, + _ResourceProviderOperationList, + _resourceProviderOperationListDeserializer, + ResourceProviderOperationDefinition, +} from "../../models/models.js"; +import { + PagedAsyncIterableIterator, + buildPagedAsyncIterator, +} from "../../static-helpers/pagingHelpers.js"; +import { expandUrlTemplate } from "../../static-helpers/urlTemplate.js"; +import { OperationsListOptionalParams } from "./options.js"; +import { + StreamableMethod, + PathUncheckedResponse, + createRestError, + operationOptionsToRequestParameters, +} from "@azure-rest/core-client"; + +export function _listSend( + context: Client, + options: OperationsListOptionalParams = { requestOptions: {} }, +): StreamableMethod { + const path = expandUrlTemplate( + "/providers/Microsoft.ConfidentialLedger/operations{?api%2Dversion}", + { + "api%2Dversion": context.apiVersion ?? "2026-02-23", + }, + { + allowReserved: options?.requestOptions?.skipUrlEncoding, + }, + ); + return context.path(path).get({ + ...operationOptionsToRequestParameters(options), + headers: { accept: "application/json", ...options.requestOptions?.headers }, + }); +} + +export async function _listDeserialize( + result: PathUncheckedResponse, +): Promise<_ResourceProviderOperationList> { + const expectedStatuses = ["200"]; + if (!expectedStatuses.includes(result.status)) { + const error = createRestError(result); + error.details = errorResponseDeserializer(result.body); + + throw error; + } + + return _resourceProviderOperationListDeserializer(result.body); +} + +/** List the operations for the provider */ +export function list( + context: Client, + options: OperationsListOptionalParams = { requestOptions: {} }, +): PagedAsyncIterableIterator { + return buildPagedAsyncIterator( + context, + () => _listSend(context, options), + _listDeserialize, + ["200"], + { itemName: "value", nextLinkName: "nextLink", apiVersion: context.apiVersion ?? "2026-02-23" }, + ); +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/operations/options.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/options.ts new file mode 100644 index 000000000000..c461016ad1c5 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/operations/options.ts @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { OperationOptions } from "@azure-rest/core-client"; + +/** Optional parameters. */ +export interface OperationsListOptionalParams extends OperationOptions {} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/api/options.ts b/sdk/confidentialledger/arm-confidentialledger/src/api/options.ts new file mode 100644 index 000000000000..a35e9c312906 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/api/options.ts @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { OperationOptions } from "@azure-rest/core-client"; + +/** Optional parameters. */ +export interface CheckNameAvailabilityOptionalParams extends OperationOptions {} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/classic/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/classic/index.ts new file mode 100644 index 000000000000..3d9ab95e1410 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/classic/index.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export type { LedgerOperations } from "./ledger/index.js"; +export type { OperationsOperations } from "./operations/index.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/classic/ledger/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/classic/ledger/index.ts new file mode 100644 index 000000000000..afa3f125cf8c --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/classic/ledger/index.ts @@ -0,0 +1,253 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerContext } from "../../api/confidentialLedgerContext.js"; +import { + filesExport, + listBySubscription, + listByResourceGroup, + $delete, + update, + create, + get, +} from "../../api/ledger/operations.js"; +import { + LedgerFilesExportOptionalParams, + LedgerListBySubscriptionOptionalParams, + LedgerListByResourceGroupOptionalParams, + LedgerDeleteOptionalParams, + LedgerUpdateOptionalParams, + LedgerCreateOptionalParams, + LedgerGetOptionalParams, +} from "../../api/ledger/options.js"; +import { + ConfidentialLedger, + ConfidentialLedgerFilesExport, + ConfidentialLedgerFilesExportResponse, +} from "../../models/models.js"; +import { PagedAsyncIterableIterator } from "../../static-helpers/pagingHelpers.js"; +import { SimplePollerLike, getSimplePoller } from "../../static-helpers/simplePollerHelpers.js"; +import { PollerLike, OperationState } from "@azure/core-lro"; + +/** Interface representing a Ledger operations. */ +export interface LedgerOperations { + /** Copies the ledger files and the service certificate to a customer's storage account of choice. */ + filesExport: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => PollerLike< + OperationState, + ConfidentialLedgerFilesExportResponse + >; + /** @deprecated use filesExport instead */ + beginFilesExport: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => Promise< + SimplePollerLike< + OperationState, + ConfidentialLedgerFilesExportResponse + > + >; + /** @deprecated use filesExport instead */ + beginFilesExportAndWait: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => Promise; + /** Retrieves the properties of all Confidential Ledgers. */ + listBySubscription: ( + options?: LedgerListBySubscriptionOptionalParams, + ) => PagedAsyncIterableIterator; + /** Retrieves the properties of all Confidential Ledgers. */ + listByResourceGroup: ( + resourceGroupName: string, + options?: LedgerListByResourceGroupOptionalParams, + ) => PagedAsyncIterableIterator; + /** Deletes an existing Confidential Ledger. */ + delete: ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerDeleteOptionalParams, + ) => PollerLike, void>; + /** @deprecated use delete instead */ + beginDelete: ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerDeleteOptionalParams, + ) => Promise, void>>; + /** @deprecated use delete instead */ + beginDeleteAndWait: ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerDeleteOptionalParams, + ) => Promise; + /** Updates properties of Confidential Ledger */ + update: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => PollerLike, ConfidentialLedger>; + /** @deprecated use update instead */ + beginUpdate: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => Promise, ConfidentialLedger>>; + /** @deprecated use update instead */ + beginUpdateAndWait: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => Promise; + /** Creates a Confidential Ledger with the specified ledger parameters. */ + create: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => PollerLike, ConfidentialLedger>; + /** @deprecated use create instead */ + beginCreate: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => Promise, ConfidentialLedger>>; + /** @deprecated use create instead */ + beginCreateAndWait: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => Promise; + /** Retrieves the properties of a Confidential Ledger. */ + get: ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerGetOptionalParams, + ) => Promise; +} + +function _getLedger(context: ConfidentialLedgerContext) { + return { + filesExport: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => filesExport(context, resourceGroupName, ledgerName, confidentialLedger, options), + beginFilesExport: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => { + const poller = filesExport( + context, + resourceGroupName, + ledgerName, + confidentialLedger, + options, + ); + await poller.submitted(); + return getSimplePoller(poller); + }, + beginFilesExportAndWait: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedgerFilesExport, + options?: LedgerFilesExportOptionalParams, + ) => { + return await filesExport(context, resourceGroupName, ledgerName, confidentialLedger, options); + }, + listBySubscription: (options?: LedgerListBySubscriptionOptionalParams) => + listBySubscription(context, options), + listByResourceGroup: ( + resourceGroupName: string, + options?: LedgerListByResourceGroupOptionalParams, + ) => listByResourceGroup(context, resourceGroupName, options), + delete: (resourceGroupName: string, ledgerName: string, options?: LedgerDeleteOptionalParams) => + $delete(context, resourceGroupName, ledgerName, options), + beginDelete: async ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerDeleteOptionalParams, + ) => { + const poller = $delete(context, resourceGroupName, ledgerName, options); + await poller.submitted(); + return getSimplePoller(poller); + }, + beginDeleteAndWait: async ( + resourceGroupName: string, + ledgerName: string, + options?: LedgerDeleteOptionalParams, + ) => { + return await $delete(context, resourceGroupName, ledgerName, options); + }, + update: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => update(context, resourceGroupName, ledgerName, confidentialLedger, options), + beginUpdate: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => { + const poller = update(context, resourceGroupName, ledgerName, confidentialLedger, options); + await poller.submitted(); + return getSimplePoller(poller); + }, + beginUpdateAndWait: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerUpdateOptionalParams, + ) => { + return await update(context, resourceGroupName, ledgerName, confidentialLedger, options); + }, + create: ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => create(context, resourceGroupName, ledgerName, confidentialLedger, options), + beginCreate: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => { + const poller = create(context, resourceGroupName, ledgerName, confidentialLedger, options); + await poller.submitted(); + return getSimplePoller(poller); + }, + beginCreateAndWait: async ( + resourceGroupName: string, + ledgerName: string, + confidentialLedger: ConfidentialLedger, + options?: LedgerCreateOptionalParams, + ) => { + return await create(context, resourceGroupName, ledgerName, confidentialLedger, options); + }, + get: (resourceGroupName: string, ledgerName: string, options?: LedgerGetOptionalParams) => + get(context, resourceGroupName, ledgerName, options), + }; +} + +export function _getLedgerOperations(context: ConfidentialLedgerContext): LedgerOperations { + return { + ..._getLedger(context), + }; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/classic/operations/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/classic/operations/index.ts new file mode 100644 index 000000000000..16de5dd558be --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/classic/operations/index.ts @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerContext } from "../../api/confidentialLedgerContext.js"; +import { list } from "../../api/operations/operations.js"; +import { OperationsListOptionalParams } from "../../api/operations/options.js"; +import { ResourceProviderOperationDefinition } from "../../models/models.js"; +import { PagedAsyncIterableIterator } from "../../static-helpers/pagingHelpers.js"; + +/** Interface representing a Operations operations. */ +export interface OperationsOperations { + /** List the operations for the provider */ + list: ( + options?: OperationsListOptionalParams, + ) => PagedAsyncIterableIterator; +} + +function _getOperations(context: ConfidentialLedgerContext) { + return { + list: (options?: OperationsListOptionalParams) => list(context, options), + }; +} + +export function _getOperationsOperations(context: ConfidentialLedgerContext): OperationsOperations { + return { + ..._getOperations(context), + }; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/confidentialLedgerClient.ts b/sdk/confidentialledger/arm-confidentialledger/src/confidentialLedgerClient.ts index 35a42e064072..3c61ca5b646f 100644 --- a/sdk/confidentialledger/arm-confidentialledger/src/confidentialLedgerClient.ts +++ b/sdk/confidentialledger/arm-confidentialledger/src/confidentialLedgerClient.ts @@ -1,196 +1,70 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. -import * as coreClient from "@azure/core-client"; -import * as coreRestPipeline from "@azure/core-rest-pipeline"; -import { - PipelineRequest, - PipelineResponse, - SendRequest, -} from "@azure/core-rest-pipeline"; -import * as coreAuth from "@azure/core-auth"; -import { - OperationsImpl, - LedgerImpl, - ManagedCCFOperationsImpl, -} from "./operations/index.js"; -import { - Operations, - Ledger, - ManagedCCFOperations, -} from "./operationsInterfaces/index.js"; -import * as Parameters from "./models/parameters.js"; -import * as Mappers from "./models/mappers.js"; import { + ConfidentialLedgerContext, ConfidentialLedgerClientOptionalParams, - CheckNameAvailabilityRequest, - CheckNameAvailabilityOptionalParams, - CheckNameAvailabilityOperationResponse, -} from "./models/index.js"; + createConfidentialLedger, +} from "./api/index.js"; +import { checkNameAvailability } from "./api/operations.js"; +import { CheckNameAvailabilityOptionalParams } from "./api/options.js"; +import { LedgerOperations, _getLedgerOperations } from "./classic/ledger/index.js"; +import { OperationsOperations, _getOperationsOperations } from "./classic/operations/index.js"; +import { CheckNameAvailabilityRequest, CheckNameAvailabilityResponse } from "./models/models.js"; +import { TokenCredential } from "@azure/core-auth"; +import { Pipeline } from "@azure/core-rest-pipeline"; -export class ConfidentialLedgerClient extends coreClient.ServiceClient { - $host: string; - apiVersion: string; - subscriptionId: string; +export type { ConfidentialLedgerClientOptionalParams } from "./api/confidentialLedgerContext.js"; - /** - * Initializes a new instance of the ConfidentialLedgerClient class. - * @param credentials Subscription credentials which uniquely identify client subscription. - * @param subscriptionId The ID of the target subscription. - * @param options The parameter options - */ +export class ConfidentialLedgerClient { + private _client: ConfidentialLedgerContext; + /** The pipeline used by this client to make requests */ + public readonly pipeline: Pipeline; + + constructor(credential: TokenCredential, options?: ConfidentialLedgerClientOptionalParams); constructor( - credentials: coreAuth.TokenCredential, + credential: TokenCredential, subscriptionId: string, options?: ConfidentialLedgerClientOptionalParams, + ); + /** Microsoft Azure Confidential Compute Ledger Managed CCF Control Plane REST API. */ + constructor( + credential: TokenCredential, + subscriptionIdOrOptions?: string | ConfidentialLedgerClientOptionalParams, + options?: ConfidentialLedgerClientOptionalParams, ) { - if (credentials === undefined) { - throw new Error("'credentials' cannot be null"); - } - if (subscriptionId === undefined) { - throw new Error("'subscriptionId' cannot be null"); - } + let subscriptionId: string | undefined; - // Initializing default values for options - if (!options) { - options = {}; + if (typeof subscriptionIdOrOptions === "string") { + subscriptionId = subscriptionIdOrOptions; + } else if (typeof subscriptionIdOrOptions === "object") { + options = subscriptionIdOrOptions; } - const defaults: ConfidentialLedgerClientOptionalParams = { - requestContentType: "application/json; charset=utf-8", - credential: credentials, - }; - - const packageDetails = `azsdk-js-arm-confidentialledger/1.3.0-beta.3`; - const userAgentPrefix = - options.userAgentOptions && options.userAgentOptions.userAgentPrefix - ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` - : `${packageDetails}`; - const optionsWithDefaults = { - ...defaults, + options = options ?? {}; + const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix; + const userAgentPrefix = prefixFromOptions + ? `${prefixFromOptions} azsdk-js-client` + : `azsdk-js-client`; + this._client = createConfidentialLedger(credential, subscriptionId ?? "", { ...options, - userAgentOptions: { - userAgentPrefix, - }, - endpoint: - options.endpoint ?? options.baseUri ?? "https://management.azure.com", - }; - super(optionsWithDefaults); - - let bearerTokenAuthenticationPolicyFound: boolean = false; - if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { - const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = - options.pipeline.getOrderedPolicies(); - bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( - (pipelinePolicy) => - pipelinePolicy.name === - coreRestPipeline.bearerTokenAuthenticationPolicyName, - ); - } - if ( - !options || - !options.pipeline || - options.pipeline.getOrderedPolicies().length == 0 || - !bearerTokenAuthenticationPolicyFound - ) { - this.pipeline.removePolicy({ - name: coreRestPipeline.bearerTokenAuthenticationPolicyName, - }); - this.pipeline.addPolicy( - coreRestPipeline.bearerTokenAuthenticationPolicy({ - credential: credentials, - scopes: - optionsWithDefaults.credentialScopes ?? - `${optionsWithDefaults.endpoint}/.default`, - challengeCallbacks: { - authorizeRequestOnChallenge: - coreClient.authorizeRequestOnClaimChallenge, - }, - }), - ); - } - // Parameter assignments - this.subscriptionId = subscriptionId; - - // Assigning values to Constant parameters - this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2024-09-19-preview"; - this.operations = new OperationsImpl(this); - this.ledger = new LedgerImpl(this); - this.managedCCFOperations = new ManagedCCFOperationsImpl(this); - this.addCustomApiVersionPolicy(options.apiVersion); + userAgentOptions: { userAgentPrefix }, + }); + this.pipeline = this._client.pipeline; + this.ledger = _getLedgerOperations(this._client); + this.operations = _getOperationsOperations(this._client); } - /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ - private addCustomApiVersionPolicy(apiVersion?: string) { - if (!apiVersion) { - return; - } - const apiVersionPolicy = { - name: "CustomApiVersionPolicy", - async sendRequest( - request: PipelineRequest, - next: SendRequest, - ): Promise { - const param = request.url.split("?"); - if (param.length > 1) { - const newParams = param[1].split("&").map((item) => { - if (item.indexOf("api-version") > -1) { - return "api-version=" + apiVersion; - } else { - return item; - } - }); - request.url = param[0] + "?" + newParams.join("&"); - } - return next(request); - }, - }; - this.pipeline.addPolicy(apiVersionPolicy); - } - - /** - * To check whether a resource name is available. - * @param nameAvailabilityRequest Name availability request payload. - * @param options The options parameters. - */ + /** To check whether a resource name is available. */ checkNameAvailability( nameAvailabilityRequest: CheckNameAvailabilityRequest, - options?: CheckNameAvailabilityOptionalParams, - ): Promise { - return this.sendOperationRequest( - { nameAvailabilityRequest, options }, - checkNameAvailabilityOperationSpec, - ); + options: CheckNameAvailabilityOptionalParams = { requestOptions: {} }, + ): Promise { + return checkNameAvailability(this._client, nameAvailabilityRequest, options); } - operations: Operations; - ledger: Ledger; - managedCCFOperations: ManagedCCFOperations; + /** The operation groups for ledger */ + public readonly ledger: LedgerOperations; + /** The operation groups for operations */ + public readonly operations: OperationsOperations; } -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.CheckNameAvailabilityResponse, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.nameAvailabilityRequest, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host, Parameters.subscriptionId], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/index.ts index 12b7b47525a1..eedcf690f8eb 100644 --- a/sdk/confidentialledger/arm-confidentialledger/src/index.ts +++ b/sdk/confidentialledger/arm-confidentialledger/src/index.ts @@ -1,13 +1,72 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { AzureClouds, AzureSupportedClouds } from "./static-helpers/cloudSettingHelpers.js"; +import { + PageSettings, + ContinuablePage, + PagedAsyncIterableIterator, +} from "./static-helpers/pagingHelpers.js"; -/// -export { getContinuationToken } from "./pagingHelper.js"; -export * from "./models/index.js"; export { ConfidentialLedgerClient } from "./confidentialLedgerClient.js"; -export * from "./operationsInterfaces/index.js"; +export type { SimplePollerLike } from "./static-helpers/simplePollerHelpers.js"; +export type { RestorePollerOptions } from "./restorePollerHelpers.js"; +export { restorePoller } from "./restorePollerHelpers.js"; +export type { + CheckNameAvailabilityRequest, + CheckNameAvailabilityResponse, + CheckNameAvailabilityReason, + ErrorResponse, + ErrorDetail, + ErrorAdditionalInfo, + ResourceProviderOperationDefinition, + ResourceProviderOperationDisplay, + ConfidentialLedger, + LedgerProperties, + RunningState, + LedgerType, + ProvisioningState, + LedgerSku, + AADBasedSecurityPrincipal, + LedgerRoleName, + CertBasedSecurityPrincipal, + EnclavePlatform, + ApplicationType, + TrackedResource, + Resource, + SystemData, + CreatedByType, + ConfidentialLedgerFilesExport, + ConfidentialLedgerFilesExportResponse, +} from "./models/index.js"; +export { + KnownCheckNameAvailabilityReason, + KnownRunningState, + KnownLedgerType, + KnownProvisioningState, + KnownLedgerSku, + KnownLedgerRoleName, + KnownEnclavePlatform, + KnownApplicationType, + KnownCreatedByType, + KnownVersions, +} from "./models/index.js"; +export type { + ConfidentialLedgerClientOptionalParams, + CheckNameAvailabilityOptionalParams, +} from "./api/index.js"; +export type { + LedgerFilesExportOptionalParams, + LedgerListBySubscriptionOptionalParams, + LedgerListByResourceGroupOptionalParams, + LedgerDeleteOptionalParams, + LedgerUpdateOptionalParams, + LedgerCreateOptionalParams, + LedgerGetOptionalParams, +} from "./api/ledger/index.js"; +export type { OperationsListOptionalParams } from "./api/operations/index.js"; +export type { LedgerOperations, OperationsOperations } from "./classic/index.js"; +export type { PageSettings, ContinuablePage, PagedAsyncIterableIterator }; +export { AzureClouds }; +export type { AzureSupportedClouds }; +export { RestError, isRestError } from "@azure/core-rest-pipeline"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/logger.ts b/sdk/confidentialledger/arm-confidentialledger/src/logger.ts new file mode 100644 index 000000000000..1afaa6882186 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/logger.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { createClientLogger } from "@azure/logger"; +export const logger = createClientLogger("arm-confidentialledger"); diff --git a/sdk/confidentialledger/arm-confidentialledger/src/lroImpl.ts b/sdk/confidentialledger/arm-confidentialledger/src/lroImpl.ts deleted file mode 100644 index cbc015d00e0e..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/lroImpl.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { AbortSignalLike } from "@azure/abort-controller"; -import { LongRunningOperation, LroResponse } from "@azure/core-lro"; - -export function createLroSpec(inputs: { - sendOperationFn: (args: any, spec: any) => Promise>; - args: Record; - spec: { - readonly requestBody?: unknown; - readonly path?: string; - readonly httpMethod: string; - } & Record; -}): LongRunningOperation { - const { args, spec, sendOperationFn } = inputs; - return { - requestMethod: spec.httpMethod, - requestPath: spec.path!, - sendInitialRequest: () => sendOperationFn(args, spec), - sendPollRequest: ( - path: string, - options?: { abortSignal?: AbortSignalLike }, - ) => { - const { requestBody, ...restSpec } = spec; - return sendOperationFn(args, { - ...restSpec, - httpMethod: "GET", - path, - abortSignal: options?.abortSignal, - }); - }, - }; -} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/models/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/models/index.ts index 4b9ba574cbf4..bee466a438d1 100644 --- a/sdk/confidentialledger/arm-confidentialledger/src/models/index.ts +++ b/sdk/confidentialledger/arm-confidentialledger/src/models/index.ts @@ -1,838 +1,42 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import * as coreClient from "@azure/core-client"; - -/** List containing this Resource Provider's available operations. */ -export interface ResourceProviderOperationList { - /** - * Resource provider operations list. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly value?: ResourceProviderOperationDefinition[]; - /** - * The URI that can be used to request the next page for list of Azure operations. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly nextLink?: string; -} - -/** Describes the Resource Provider Operation. */ -export interface ResourceProviderOperationDefinition { - /** Resource provider operation name. */ - name?: string; - /** Indicates whether the operation is data action or not. */ - isDataAction?: boolean; - /** Details about the operations */ - display?: ResourceProviderOperationDisplay; -} - -/** Describes the properties of the Operation. */ -export interface ResourceProviderOperationDisplay { - /** Name of the resource provider. */ - provider?: string; - /** Name of the resource type. */ - resource?: string; - /** Name of the resource provider operation. */ - operation?: string; - /** Description of the resource provider operation. */ - description?: string; -} - -/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ -export interface ErrorResponse { - /** The error object. */ - error?: ErrorDetail; -} - -/** The error detail. */ -export interface ErrorDetail { - /** - * The error code. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly code?: string; - /** - * The error message. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; - /** - * The error target. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly target?: string; - /** - * The error details. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly details?: ErrorDetail[]; - /** - * The error additional info. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly additionalInfo?: ErrorAdditionalInfo[]; -} - -/** The resource management error additional info. */ -export interface ErrorAdditionalInfo { - /** - * The additional info type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; - /** - * The additional info. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly info?: Record; -} - -/** The check availability request body. */ -export interface CheckNameAvailabilityRequest { - /** The name of the resource for which availability needs to be checked. */ - name?: string; - /** The resource type. */ - type?: string; -} - -/** The check availability result. */ -export interface CheckNameAvailabilityResponse { - /** Indicates if the resource name is available. */ - nameAvailable?: boolean; - /** The reason why the given name is not available. */ - reason?: CheckNameAvailabilityReason; - /** Detailed reason why the given name is available. */ - message?: string; -} - -/** Additional Confidential Ledger properties. */ -export interface LedgerProperties { - /** - * Unique name for the Confidential Ledger. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly ledgerName?: string; - /** - * Endpoint for calling Ledger Service. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly ledgerUri?: string; - /** - * Endpoint for accessing network identity. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly identityServiceUri?: string; - /** - * Internal namespace for the Ledger - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly ledgerInternalNamespace?: string; - /** Object representing RunningState for Ledger. */ - runningState?: RunningState; - /** Type of Confidential Ledger */ - ledgerType?: LedgerType; - /** - * Provisioning state of Ledger Resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly provisioningState?: ProvisioningState; - /** SKU associated with the ledger */ - ledgerSku?: LedgerSku; - /** Array of all AAD based Security Principals. */ - aadBasedSecurityPrincipals?: AADBasedSecurityPrincipal[]; - /** Array of all cert based Security Principals. */ - certBasedSecurityPrincipals?: CertBasedSecurityPrincipal[]; - /** CCF Property for the logging level for the untrusted host: Trace, Debug, Info, Fail, Fatal. */ - hostLevel?: string; - /** CCF Property for the maximum size of the http request body: 1MB, 5MB, 10MB. */ - maxBodySizeInMb?: number; - /** CCF Property for the subject name to include in the node certificate. Default: CN=CCF Node. */ - subjectName?: string; - /** Number of CCF nodes in the ACC Ledger. */ - nodeCount?: number; - /** Prefix for the write load balancer. Example: write */ - writeLBAddressPrefix?: string; - /** Number of additional threads processing incoming client requests in the enclave (modify with care!) */ - workerThreads?: number; - /** Enclave platform of the Confidential Ledger. */ - enclavePlatform?: EnclavePlatform; - /** Application type of the Confidential Ledger. */ - applicationType?: ApplicationType; -} - -/** AAD based security principal with associated Ledger RoleName */ -export interface AADBasedSecurityPrincipal { - /** UUID/GUID based Principal Id of the Security Principal */ - principalId?: string; - /** UUID/GUID based Tenant Id of the Security Principal */ - tenantId?: string; - /** LedgerRole associated with the Security Principal of Ledger */ - ledgerRoleName?: LedgerRoleName; -} - -/** Cert based security principal with Ledger RoleName */ -export interface CertBasedSecurityPrincipal { - /** Public key of the user cert (.pem or .cer) */ - cert?: string; - /** LedgerRole associated with the Security Principal of Ledger */ - ledgerRoleName?: LedgerRoleName; -} - -/** Common fields that are returned in the response for all Azure Resource Manager resources */ -export interface Resource { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; - /** - * The name of the resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly name?: string; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; -} - -/** Metadata pertaining to creation and last modification of the resource. */ -export interface SystemData { - /** The identity that created the resource. */ - createdBy?: string; - /** The type of identity that created the resource. */ - createdByType?: CreatedByType; - /** The timestamp of resource creation (UTC). */ - createdAt?: Date; - /** The identity that last modified the resource. */ - lastModifiedBy?: string; - /** The type of identity that last modified the resource. */ - lastModifiedByType?: CreatedByType; - /** The timestamp of resource last modification (UTC) */ - lastModifiedAt?: Date; -} - -/** Object that includes an array of Confidential Ledgers and a possible link for next set. */ -export interface ConfidentialLedgerList { - /** List of Confidential Ledgers */ - value?: ConfidentialLedger[]; - /** The URL the client should use to fetch the next page (per server side paging). */ - nextLink?: string; -} - -/** Object representing Backup properties of a Confidential Ledger Resource. */ -export interface ConfidentialLedgerBackup { - /** The region where the backup of the ledger will eventually be restored to. */ - restoreRegion?: string; - /** SAS URI used to access the backup Fileshare. */ - uri: string; -} - -/** Object representing the backup response of a Confidential Ledger Resource. */ -export interface ConfidentialLedgerBackupResponse { - /** - * Response body stating if the ledger is being backed up. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; -} - -/** Object representing Restore properties of a Confidential Ledger Resource. */ -export interface ConfidentialLedgerRestore { - /** Fileshare where the ledger backup is stored. */ - fileShareName: string; - /** The region the ledger is being restored to. */ - restoreRegion: string; - /** SAS URI used to access the backup fileshare. */ - uri: string; -} - -/** Object representing the restore response of a Confidential Ledger Resource. */ -export interface ConfidentialLedgerRestoreResponse { - /** - * Response body stating if the ledger is being restored. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; -} - -/** Additional Managed CCF properties. */ -export interface ManagedCCFProperties { - /** - * Unique name for the Managed CCF. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly appName?: string; - /** - * Endpoint for calling Managed CCF Service. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly appUri?: string; - /** - * Endpoint for accessing network identity. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly identityServiceUri?: string; - /** List of member identity certificates for Managed CCF */ - memberIdentityCertificates?: MemberIdentityCertificate[]; - /** Deployment Type of Managed CCF */ - deploymentType?: DeploymentType; - /** Object representing RunningState for Managed CCF. */ - runningState?: RunningState; - /** - * Provisioning state of Managed CCF Resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly provisioningState?: ProvisioningState; - /** Number of CCF nodes in the Managed CCF. */ - nodeCount?: number; - /** Enclave platform of Managed CCF. */ - enclavePlatform?: EnclavePlatform; -} - -/** Object representing MemberIdentityCertificate for Managed CCF. */ -export interface MemberIdentityCertificate { - /** Member Identity Certificate */ - certificate?: string; - /** Member Identity Certificate Encryption Key */ - encryptionkey?: string; - /** Anything */ - tags?: any; -} - -/** Object representing DeploymentType for Managed CCF. */ -export interface DeploymentType { - /** Unique name for the Managed CCF. */ - languageRuntime?: LanguageRuntime; - /** Source Uri containing ManagedCCF code */ - appSourceUri?: string; -} - -/** Object that includes an array of Managed CCF and a possible link for next set. */ -export interface ManagedCCFList { - /** List of Managed CCF */ - value?: ManagedCCF[]; - /** The URL the client should use to fetch the next page (per server side paging). */ - nextLink?: string; -} - -/** Object representing Backup properties of a Managed CCF Resource. */ -export interface ManagedCCFBackup { - /** The region where the backup of the managed CCF resource will eventually be restored to. */ - restoreRegion?: string; - /** SAS URI used to access the backup Fileshare. */ - uri: string; -} - -/** Object representing the backup response of a Managed CCF Resource. */ -export interface ManagedCCFBackupResponse { - /** - * Response body stating if the managed CCF resource is being backed up. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; -} - -/** Object representing Restore properties of Managed CCF Resource. */ -export interface ManagedCCFRestore { - /** Fileshare where the managed CCF resource backup is stored. */ - fileShareName: string; - /** The region the managed CCF resource is being restored to. */ - restoreRegion: string; - /** SAS URI used to access the backup Fileshare. */ - uri: string; -} - -/** Object representing the restore response of a Managed CCF Resource. */ -export interface ManagedCCFRestoreResponse { - /** - * Response body stating if the managed CCF resource is being restored. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; -} - -/** Tags for Managed CCF Certificates */ -export interface CertificateTags { - /** Additional tags for Managed CCF Certificates */ - tags?: { [propertyName: string]: string }; -} - -/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ -export interface TrackedResource extends Resource { - /** Resource tags. */ - tags?: { [propertyName: string]: string }; - /** The geo-location where the resource lives */ - location: string; -} - -/** Confidential Ledger. Contains the properties of Confidential Ledger Resource. */ -export interface ConfidentialLedger extends TrackedResource { - /** Properties of Confidential Ledger Resource. */ - properties?: LedgerProperties; -} - -/** Managed CCF. Contains the properties of Managed CCF Resource. */ -export interface ManagedCCF extends TrackedResource { - /** Properties of Managed CCF Resource. */ - properties?: ManagedCCFProperties; -} - -/** Known values of {@link CheckNameAvailabilityReason} that the service accepts. */ -export enum KnownCheckNameAvailabilityReason { - /** Invalid */ - Invalid = "Invalid", - /** AlreadyExists */ - AlreadyExists = "AlreadyExists", -} - -/** - * Defines values for CheckNameAvailabilityReason. \ - * {@link KnownCheckNameAvailabilityReason} can be used interchangeably with CheckNameAvailabilityReason, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Invalid** \ - * **AlreadyExists** - */ -export type CheckNameAvailabilityReason = string; - -/** Known values of {@link RunningState} that the service accepts. */ -export enum KnownRunningState { - /** Active */ - Active = "Active", - /** Paused */ - Paused = "Paused", - /** Unknown */ - Unknown = "Unknown", - /** Pausing */ - Pausing = "Pausing", - /** Resuming */ - Resuming = "Resuming", -} - -/** - * Defines values for RunningState. \ - * {@link KnownRunningState} can be used interchangeably with RunningState, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Active** \ - * **Paused** \ - * **Unknown** \ - * **Pausing** \ - * **Resuming** - */ -export type RunningState = string; - -/** Known values of {@link LedgerType} that the service accepts. */ -export enum KnownLedgerType { - /** Unknown */ - Unknown = "Unknown", - /** Public */ - Public = "Public", - /** Private */ - Private = "Private", -} - -/** - * Defines values for LedgerType. \ - * {@link KnownLedgerType} can be used interchangeably with LedgerType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Unknown** \ - * **Public** \ - * **Private** - */ -export type LedgerType = string; - -/** Known values of {@link ProvisioningState} that the service accepts. */ -export enum KnownProvisioningState { - /** Unknown */ - Unknown = "Unknown", - /** Succeeded */ - Succeeded = "Succeeded", - /** Failed */ - Failed = "Failed", - /** Canceled */ - Canceled = "Canceled", - /** Creating */ - Creating = "Creating", - /** Deleting */ - Deleting = "Deleting", - /** Updating */ - Updating = "Updating", -} - -/** - * Defines values for ProvisioningState. \ - * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Unknown** \ - * **Succeeded** \ - * **Failed** \ - * **Canceled** \ - * **Creating** \ - * **Deleting** \ - * **Updating** - */ -export type ProvisioningState = string; - -/** Known values of {@link LedgerSku} that the service accepts. */ -export enum KnownLedgerSku { - /** Standard */ - Standard = "Standard", - /** Basic */ - Basic = "Basic", - /** Unknown */ - Unknown = "Unknown", -} - -/** - * Defines values for LedgerSku. \ - * {@link KnownLedgerSku} can be used interchangeably with LedgerSku, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Standard** \ - * **Basic** \ - * **Unknown** - */ -export type LedgerSku = string; - -/** Known values of {@link LedgerRoleName} that the service accepts. */ -export enum KnownLedgerRoleName { - /** Reader */ - Reader = "Reader", - /** Contributor */ - Contributor = "Contributor", - /** Administrator */ - Administrator = "Administrator", -} - -/** - * Defines values for LedgerRoleName. \ - * {@link KnownLedgerRoleName} can be used interchangeably with LedgerRoleName, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Reader** \ - * **Contributor** \ - * **Administrator** - */ -export type LedgerRoleName = string; - -/** Known values of {@link EnclavePlatform} that the service accepts. */ -export enum KnownEnclavePlatform { - /** IntelSgx */ - IntelSgx = "IntelSgx", - /** AmdSevSnp */ - AmdSevSnp = "AmdSevSnp", -} - -/** - * Defines values for EnclavePlatform. \ - * {@link KnownEnclavePlatform} can be used interchangeably with EnclavePlatform, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **IntelSgx** \ - * **AmdSevSnp** - */ -export type EnclavePlatform = string; - -/** Known values of {@link ApplicationType} that the service accepts. */ -export enum KnownApplicationType { - /** ConfidentialLedger */ - ConfidentialLedger = "ConfidentialLedger", - /** CodeTransparency */ - CodeTransparency = "CodeTransparency", -} - -/** - * Defines values for ApplicationType. \ - * {@link KnownApplicationType} can be used interchangeably with ApplicationType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **ConfidentialLedger** \ - * **CodeTransparency** - */ -export type ApplicationType = string; - -/** Known values of {@link CreatedByType} that the service accepts. */ -export enum KnownCreatedByType { - /** User */ - User = "User", - /** Application */ - Application = "Application", - /** ManagedIdentity */ - ManagedIdentity = "ManagedIdentity", - /** Key */ - Key = "Key", -} - -/** - * Defines values for CreatedByType. \ - * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **User** \ - * **Application** \ - * **ManagedIdentity** \ - * **Key** - */ -export type CreatedByType = string; - -/** Known values of {@link LanguageRuntime} that the service accepts. */ -export enum KnownLanguageRuntime { - /** CPP */ - CPP = "CPP", - /** JS */ - JS = "JS", -} - -/** - * Defines values for LanguageRuntime. \ - * {@link KnownLanguageRuntime} can be used interchangeably with LanguageRuntime, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **CPP** \ - * **JS** - */ -export type LanguageRuntime = string; - -/** Optional parameters. */ -export interface OperationsListOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the list operation. */ -export type OperationsListResponse = ResourceProviderOperationList; - -/** Optional parameters. */ -export interface OperationsListNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listNext operation. */ -export type OperationsListNextResponse = ResourceProviderOperationList; - -/** Optional parameters. */ -export interface CheckNameAvailabilityOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the checkNameAvailability operation. */ -export type CheckNameAvailabilityOperationResponse = - CheckNameAvailabilityResponse; - -/** Optional parameters. */ -export interface LedgerGetOptionalParams extends coreClient.OperationOptions {} - -/** Contains response data for the get operation. */ -export type LedgerGetResponse = ConfidentialLedger; - -/** Optional parameters. */ -export interface LedgerDeleteOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Optional parameters. */ -export interface LedgerCreateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the create operation. */ -export type LedgerCreateResponse = ConfidentialLedger; - -/** Optional parameters. */ -export interface LedgerUpdateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the update operation. */ -export type LedgerUpdateResponse = ConfidentialLedger; - -/** Optional parameters. */ -export interface LedgerListByResourceGroupOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ - filter?: string; -} - -/** Contains response data for the listByResourceGroup operation. */ -export type LedgerListByResourceGroupResponse = ConfidentialLedgerList; - -/** Optional parameters. */ -export interface LedgerListBySubscriptionOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ - filter?: string; -} - -/** Contains response data for the listBySubscription operation. */ -export type LedgerListBySubscriptionResponse = ConfidentialLedgerList; - -/** Optional parameters. */ -export interface LedgerBackupOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the backup operation. */ -export type LedgerBackupResponse = ConfidentialLedgerBackupResponse; - -/** Optional parameters. */ -export interface LedgerRestoreOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the restore operation. */ -export type LedgerRestoreResponse = ConfidentialLedgerRestoreResponse; - -/** Optional parameters. */ -export interface LedgerListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByResourceGroupNext operation. */ -export type LedgerListByResourceGroupNextResponse = ConfidentialLedgerList; - -/** Optional parameters. */ -export interface LedgerListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listBySubscriptionNext operation. */ -export type LedgerListBySubscriptionNextResponse = ConfidentialLedgerList; - -/** Optional parameters. */ -export interface ManagedCCFGetOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the get operation. */ -export type ManagedCCFGetResponse = ManagedCCF; - -/** Optional parameters. */ -export interface ManagedCCFDeleteOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Optional parameters. */ -export interface ManagedCCFCreateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the create operation. */ -export type ManagedCCFCreateResponse = ManagedCCF; - -/** Optional parameters. */ -export interface ManagedCCFUpdateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the update operation. */ -export type ManagedCCFUpdateResponse = ManagedCCF; - -/** Optional parameters. */ -export interface ManagedCCFListByResourceGroupOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ - filter?: string; -} - -/** Contains response data for the listByResourceGroup operation. */ -export type ManagedCCFListByResourceGroupResponse = ManagedCCFList; - -/** Optional parameters. */ -export interface ManagedCCFListBySubscriptionOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' */ - filter?: string; -} - -/** Contains response data for the listBySubscription operation. */ -export type ManagedCCFListBySubscriptionResponse = ManagedCCFList; - -/** Optional parameters. */ -export interface ManagedCCFBackupOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the backup operation. */ -export type ManagedCCFBackupOperationResponse = ManagedCCFBackupResponse; - -/** Optional parameters. */ -export interface ManagedCCFRestoreOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the restore operation. */ -export type ManagedCCFRestoreOperationResponse = ManagedCCFRestoreResponse; - -/** Optional parameters. */ -export interface ManagedCCFListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByResourceGroupNext operation. */ -export type ManagedCCFListByResourceGroupNextResponse = ManagedCCFList; - -/** Optional parameters. */ -export interface ManagedCCFListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listBySubscriptionNext operation. */ -export type ManagedCCFListBySubscriptionNextResponse = ManagedCCFList; - -/** Optional parameters. */ -export interface ConfidentialLedgerClientOptionalParams - extends coreClient.ServiceClientOptions { - /** server parameter */ - $host?: string; - /** Api Version */ - apiVersion?: string; - /** Overrides client endpoint. */ - endpoint?: string; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export type { + CheckNameAvailabilityRequest, + CheckNameAvailabilityResponse, + CheckNameAvailabilityReason, + ErrorResponse, + ErrorDetail, + ErrorAdditionalInfo, + ResourceProviderOperationDefinition, + ResourceProviderOperationDisplay, + ConfidentialLedger, + LedgerProperties, + RunningState, + LedgerType, + ProvisioningState, + LedgerSku, + AADBasedSecurityPrincipal, + LedgerRoleName, + CertBasedSecurityPrincipal, + EnclavePlatform, + ApplicationType, + TrackedResource, + Resource, + SystemData, + CreatedByType, + ConfidentialLedgerFilesExport, + ConfidentialLedgerFilesExportResponse, +} from "./models.js"; +export { + KnownCheckNameAvailabilityReason, + KnownRunningState, + KnownLedgerType, + KnownProvisioningState, + KnownLedgerSku, + KnownLedgerRoleName, + KnownEnclavePlatform, + KnownApplicationType, + KnownCreatedByType, + KnownVersions, +} from "./models.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/models/mappers.ts b/sdk/confidentialledger/arm-confidentialledger/src/models/mappers.ts deleted file mode 100644 index 693e52090144..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/models/mappers.ts +++ /dev/null @@ -1,926 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import * as coreClient from "@azure/core-client"; - -export const ResourceProviderOperationList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceProviderOperationList", - modelProperties: { - value: { - serializedName: "value", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceProviderOperationDefinition", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ResourceProviderOperationDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceProviderOperationDefinition", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "String", - }, - }, - isDataAction: { - serializedName: "isDataAction", - type: { - name: "Boolean", - }, - }, - display: { - serializedName: "display", - type: { - name: "Composite", - className: "ResourceProviderOperationDisplay", - }, - }, - }, - }, -}; - -export const ResourceProviderOperationDisplay: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceProviderOperationDisplay", - modelProperties: { - provider: { - serializedName: "provider", - type: { - name: "String", - }, - }, - resource: { - serializedName: "resource", - type: { - name: "String", - }, - }, - operation: { - serializedName: "operation", - type: { - name: "String", - }, - }, - description: { - serializedName: "description", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ErrorResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorResponse", - modelProperties: { - error: { - serializedName: "error", - type: { - name: "Composite", - className: "ErrorDetail", - }, - }, - }, - }, -}; - -export const ErrorDetail: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorDetail", - modelProperties: { - code: { - serializedName: "code", - readOnly: true, - type: { - name: "String", - }, - }, - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String", - }, - }, - target: { - serializedName: "target", - readOnly: true, - type: { - name: "String", - }, - }, - details: { - serializedName: "details", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorDetail", - }, - }, - }, - }, - additionalInfo: { - serializedName: "additionalInfo", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorAdditionalInfo", - }, - }, - }, - }, - }, - }, -}; - -export const ErrorAdditionalInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorAdditionalInfo", - modelProperties: { - type: { - serializedName: "type", - readOnly: true, - type: { - name: "String", - }, - }, - info: { - serializedName: "info", - readOnly: true, - type: { - name: "Dictionary", - value: { type: { name: "any" } }, - }, - }, - }, - }, -}; - -export const CheckNameAvailabilityRequest: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CheckNameAvailabilityRequest", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "String", - }, - }, - type: { - serializedName: "type", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const CheckNameAvailabilityResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CheckNameAvailabilityResponse", - modelProperties: { - nameAvailable: { - serializedName: "nameAvailable", - type: { - name: "Boolean", - }, - }, - reason: { - serializedName: "reason", - type: { - name: "String", - }, - }, - message: { - serializedName: "message", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const LedgerProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LedgerProperties", - modelProperties: { - ledgerName: { - serializedName: "ledgerName", - readOnly: true, - type: { - name: "String", - }, - }, - ledgerUri: { - serializedName: "ledgerUri", - readOnly: true, - type: { - name: "String", - }, - }, - identityServiceUri: { - serializedName: "identityServiceUri", - readOnly: true, - type: { - name: "String", - }, - }, - ledgerInternalNamespace: { - serializedName: "ledgerInternalNamespace", - readOnly: true, - type: { - name: "String", - }, - }, - runningState: { - serializedName: "runningState", - type: { - name: "String", - }, - }, - ledgerType: { - serializedName: "ledgerType", - type: { - name: "String", - }, - }, - provisioningState: { - serializedName: "provisioningState", - readOnly: true, - type: { - name: "String", - }, - }, - ledgerSku: { - serializedName: "ledgerSku", - type: { - name: "String", - }, - }, - aadBasedSecurityPrincipals: { - serializedName: "aadBasedSecurityPrincipals", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AADBasedSecurityPrincipal", - }, - }, - }, - }, - certBasedSecurityPrincipals: { - serializedName: "certBasedSecurityPrincipals", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "CertBasedSecurityPrincipal", - }, - }, - }, - }, - hostLevel: { - serializedName: "hostLevel", - type: { - name: "String", - }, - }, - maxBodySizeInMb: { - serializedName: "maxBodySizeInMb", - type: { - name: "Number", - }, - }, - subjectName: { - serializedName: "subjectName", - type: { - name: "String", - }, - }, - nodeCount: { - serializedName: "nodeCount", - type: { - name: "Number", - }, - }, - writeLBAddressPrefix: { - serializedName: "writeLBAddressPrefix", - type: { - name: "String", - }, - }, - workerThreads: { - serializedName: "workerThreads", - type: { - name: "Number", - }, - }, - enclavePlatform: { - serializedName: "enclavePlatform", - type: { - name: "String", - }, - }, - applicationType: { - serializedName: "applicationType", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const AADBasedSecurityPrincipal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "AADBasedSecurityPrincipal", - modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String", - }, - }, - tenantId: { - serializedName: "tenantId", - type: { - name: "String", - }, - }, - ledgerRoleName: { - serializedName: "ledgerRoleName", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const CertBasedSecurityPrincipal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CertBasedSecurityPrincipal", - modelProperties: { - cert: { - serializedName: "cert", - type: { - name: "String", - }, - }, - ledgerRoleName: { - serializedName: "ledgerRoleName", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const Resource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Resource", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String", - }, - }, - name: { - serializedName: "name", - readOnly: true, - type: { - name: "String", - }, - }, - type: { - serializedName: "type", - readOnly: true, - type: { - name: "String", - }, - }, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData", - }, - }, - }, - }, -}; - -export const SystemData: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SystemData", - modelProperties: { - createdBy: { - serializedName: "createdBy", - type: { - name: "String", - }, - }, - createdByType: { - serializedName: "createdByType", - type: { - name: "String", - }, - }, - createdAt: { - serializedName: "createdAt", - type: { - name: "DateTime", - }, - }, - lastModifiedBy: { - serializedName: "lastModifiedBy", - type: { - name: "String", - }, - }, - lastModifiedByType: { - serializedName: "lastModifiedByType", - type: { - name: "String", - }, - }, - lastModifiedAt: { - serializedName: "lastModifiedAt", - type: { - name: "DateTime", - }, - }, - }, - }, -}; - -export const ConfidentialLedgerList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedgerList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ConfidentialLedger", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConfidentialLedgerBackup: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedgerBackup", - modelProperties: { - restoreRegion: { - serializedName: "restoreRegion", - type: { - name: "String", - }, - }, - uri: { - serializedName: "uri", - required: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConfidentialLedgerBackupResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedgerBackupResponse", - modelProperties: { - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConfidentialLedgerRestore: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedgerRestore", - modelProperties: { - fileShareName: { - serializedName: "fileShareName", - required: true, - type: { - name: "String", - }, - }, - restoreRegion: { - serializedName: "restoreRegion", - required: true, - type: { - name: "String", - }, - }, - uri: { - serializedName: "uri", - required: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConfidentialLedgerRestoreResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedgerRestoreResponse", - modelProperties: { - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFProperties", - modelProperties: { - appName: { - serializedName: "appName", - readOnly: true, - type: { - name: "String", - }, - }, - appUri: { - serializedName: "appUri", - readOnly: true, - type: { - name: "String", - }, - }, - identityServiceUri: { - serializedName: "identityServiceUri", - readOnly: true, - type: { - name: "String", - }, - }, - memberIdentityCertificates: { - serializedName: "memberIdentityCertificates", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MemberIdentityCertificate", - }, - }, - }, - }, - deploymentType: { - serializedName: "deploymentType", - type: { - name: "Composite", - className: "DeploymentType", - }, - }, - runningState: { - serializedName: "runningState", - type: { - name: "String", - }, - }, - provisioningState: { - serializedName: "provisioningState", - readOnly: true, - type: { - name: "String", - }, - }, - nodeCount: { - defaultValue: 3, - serializedName: "nodeCount", - type: { - name: "Number", - }, - }, - enclavePlatform: { - serializedName: "enclavePlatform", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const MemberIdentityCertificate: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MemberIdentityCertificate", - modelProperties: { - certificate: { - serializedName: "certificate", - type: { - name: "String", - }, - }, - encryptionkey: { - serializedName: "encryptionkey", - type: { - name: "String", - }, - }, - tags: { - serializedName: "tags", - type: { - name: "any", - }, - }, - }, - }, -}; - -export const DeploymentType: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DeploymentType", - modelProperties: { - languageRuntime: { - serializedName: "languageRuntime", - type: { - name: "String", - }, - }, - appSourceUri: { - serializedName: "appSourceUri", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedCCF", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFBackup: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFBackup", - modelProperties: { - restoreRegion: { - serializedName: "restoreRegion", - type: { - name: "String", - }, - }, - uri: { - serializedName: "uri", - required: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFBackupResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFBackupResponse", - modelProperties: { - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFRestore: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFRestore", - modelProperties: { - fileShareName: { - serializedName: "fileShareName", - required: true, - type: { - name: "String", - }, - }, - restoreRegion: { - serializedName: "restoreRegion", - required: true, - type: { - name: "String", - }, - }, - uri: { - serializedName: "uri", - required: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ManagedCCFRestoreResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCFRestoreResponse", - modelProperties: { - message: { - serializedName: "message", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const CertificateTags: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CertificateTags", - modelProperties: { - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } }, - }, - }, - }, - }, -}; - -export const TrackedResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "TrackedResource", - modelProperties: { - ...Resource.type.modelProperties, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } }, - }, - }, - location: { - serializedName: "location", - required: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConfidentialLedger: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConfidentialLedger", - modelProperties: { - ...TrackedResource.type.modelProperties, - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "LedgerProperties", - }, - }, - }, - }, -}; - -export const ManagedCCF: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ManagedCCF", - modelProperties: { - ...TrackedResource.type.modelProperties, - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "ManagedCCFProperties", - }, - }, - }, - }, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/models/models.ts b/sdk/confidentialledger/arm-confidentialledger/src/models/models.ts new file mode 100644 index 000000000000..c34c4b43ee48 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/models/models.ts @@ -0,0 +1,723 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This file contains only generated model types and their (de)serializers. + * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input. + */ +/* eslint-disable @typescript-eslint/naming-convention */ +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/** The check availability request body. */ +export interface CheckNameAvailabilityRequest { + /** The name of the resource for which availability needs to be checked. */ + name?: string; + /** The resource type. */ + type?: string; +} + +export function checkNameAvailabilityRequestSerializer(item: CheckNameAvailabilityRequest): any { + return { name: item["name"], type: item["type"] }; +} + +/** The check availability result. */ +export interface CheckNameAvailabilityResponse { + /** Indicates if the resource name is available. */ + nameAvailable?: boolean; + /** The reason why the given name is not available. */ + reason?: CheckNameAvailabilityReason; + /** Detailed reason why the given name is not available. */ + message?: string; +} + +export function checkNameAvailabilityResponseDeserializer( + item: any, +): CheckNameAvailabilityResponse { + return { + nameAvailable: item["nameAvailable"], + reason: item["reason"], + message: item["message"], + }; +} + +/** Possible reasons for a name not being available. */ +export enum KnownCheckNameAvailabilityReason { + /** Name is invalid. */ + Invalid = "Invalid", + /** Name already exists. */ + AlreadyExists = "AlreadyExists", +} + +/** + * Possible reasons for a name not being available. \ + * {@link KnownCheckNameAvailabilityReason} can be used interchangeably with CheckNameAvailabilityReason, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid**: Name is invalid. \ + * **AlreadyExists**: Name already exists. + */ +export type CheckNameAvailabilityReason = string; + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorDetail; +} + +export function errorResponseDeserializer(item: any): ErrorResponse { + return { + error: !item["error"] ? item["error"] : errorDetailDeserializer(item["error"]), + }; +} + +/** The error detail. */ +export interface ErrorDetail { + /** The error code. */ + readonly code?: string; + /** The error message. */ + readonly message?: string; + /** The error target. */ + readonly target?: string; + /** The error details. */ + readonly details?: ErrorDetail[]; + /** The error additional info. */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +export function errorDetailDeserializer(item: any): ErrorDetail { + return { + code: item["code"], + message: item["message"], + target: item["target"], + details: !item["details"] ? item["details"] : errorDetailArrayDeserializer(item["details"]), + additionalInfo: !item["additionalInfo"] + ? item["additionalInfo"] + : errorAdditionalInfoArrayDeserializer(item["additionalInfo"]), + }; +} + +export function errorDetailArrayDeserializer(result: Array): any[] { + return result.map((item) => { + return errorDetailDeserializer(item); + }); +} + +export function errorAdditionalInfoArrayDeserializer(result: Array): any[] { + return result.map((item) => { + return errorAdditionalInfoDeserializer(item); + }); +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** The additional info type. */ + readonly type?: string; + /** The additional info. */ + readonly info?: any; +} + +export function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo { + return { + type: item["type"], + info: item["info"], + }; +} + +/** List containing this Resource Provider's available operations. */ +export interface _ResourceProviderOperationList { + /** The list of operations. */ + readonly value?: ResourceProviderOperationDefinition[]; + /** The URL to get the next set of results, if any. */ + nextLink?: string; +} + +export function _resourceProviderOperationListDeserializer( + item: any, +): _ResourceProviderOperationList { + return { + value: !item["value"] + ? item["value"] + : resourceProviderOperationDefinitionArrayDeserializer(item["value"]), + nextLink: item["nextLink"], + }; +} + +export function resourceProviderOperationDefinitionArrayDeserializer( + result: Array, +): any[] { + return result.map((item) => { + return resourceProviderOperationDefinitionDeserializer(item); + }); +} + +/** Describes the Resource Provider Operation. */ +export interface ResourceProviderOperationDefinition { + /** Resource provider operation name. */ + name?: string; + /** Indicates whether the operation is data action or not. */ + isDataAction?: boolean; + /** Details about the operations */ + display?: ResourceProviderOperationDisplay; +} + +export function resourceProviderOperationDefinitionDeserializer( + item: any, +): ResourceProviderOperationDefinition { + return { + name: item["name"], + isDataAction: item["isDataAction"], + display: !item["display"] + ? item["display"] + : resourceProviderOperationDisplayDeserializer(item["display"]), + }; +} + +/** Describes the properties of the Operation. */ +export interface ResourceProviderOperationDisplay { + /** Name of the resource provider. */ + provider?: string; + /** Name of the resource type. */ + resource?: string; + /** Name of the resource provider operation. */ + operation?: string; + /** Description of the resource provider operation. */ + description?: string; +} + +export function resourceProviderOperationDisplayDeserializer( + item: any, +): ResourceProviderOperationDisplay { + return { + provider: item["provider"], + resource: item["resource"], + operation: item["operation"], + description: item["description"], + }; +} + +/** Confidential Ledger. Contains the properties of Confidential Ledger Resource. */ +export interface ConfidentialLedger extends TrackedResource { + /** Properties of Confidential Ledger Resource. */ + properties?: LedgerProperties; +} + +export function confidentialLedgerSerializer(item: ConfidentialLedger): any { + return { + tags: item["tags"], + location: item["location"], + properties: !item["properties"] + ? item["properties"] + : ledgerPropertiesSerializer(item["properties"]), + }; +} + +export function confidentialLedgerDeserializer(item: any): ConfidentialLedger { + return { + tags: !item["tags"] + ? item["tags"] + : Object.fromEntries(Object.entries(item["tags"]).map(([k, p]: [string, any]) => [k, p])), + location: item["location"], + id: item["id"], + name: item["name"], + type: item["type"], + systemData: !item["systemData"] + ? item["systemData"] + : systemDataDeserializer(item["systemData"]), + properties: !item["properties"] + ? item["properties"] + : ledgerPropertiesDeserializer(item["properties"]), + }; +} + +/** Additional Confidential Ledger properties. */ +export interface LedgerProperties { + /** Unique name for the Confidential Ledger. */ + readonly ledgerName?: string; + /** Endpoint for calling Ledger Service. */ + readonly ledgerUri?: string; + /** Endpoint for accessing network identity. */ + readonly identityServiceUri?: string; + /** Internal namespace for the Ledger */ + readonly ledgerInternalNamespace?: string; + /** Object representing RunningState for Ledger. */ + runningState?: RunningState; + /** Type of Confidential Ledger */ + ledgerType?: LedgerType; + /** Provisioning state of Ledger Resource */ + readonly provisioningState?: ProvisioningState; + /** SKU associated with the ledger */ + ledgerSku?: LedgerSku; + /** Array of all AAD based Security Principals. */ + aadBasedSecurityPrincipals?: AADBasedSecurityPrincipal[]; + /** Array of all cert based Security Principals. */ + certBasedSecurityPrincipals?: CertBasedSecurityPrincipal[]; + /** CCF Property for the logging level for the untrusted host: Trace, Debug, Info, Fail, Fatal. */ + hostLevel?: string; + /** CCF Property for the maximum size of the http request body: 1MB, 5MB, 10MB. */ + maxBodySizeInMb?: number; + /** CCF Property for the subject name to include in the node certificate. Default: CN=CCF Node. */ + subjectName?: string; + /** Number of CCF nodes in the ACC Ledger. */ + nodeCount?: number; + /** Prefix for the write load balancer. Example: write */ + writeLBAddressPrefix?: string; + /** Number of additional threads processing incoming client requests in the enclave (modify with care!) */ + workerThreads?: number; + /** Enclave platform of the Confidential Ledger. */ + readonly enclavePlatform?: EnclavePlatform; + /** Application type of the Confidential Ledger. */ + applicationType?: ApplicationType; + /** The SCITT Configuration that needs to be set for the Confidential Ledger. */ + scittConfiguration?: string; +} + +export function ledgerPropertiesSerializer(item: LedgerProperties): any { + return { + runningState: item["runningState"], + ledgerType: item["ledgerType"], + ledgerSku: item["ledgerSku"], + aadBasedSecurityPrincipals: !item["aadBasedSecurityPrincipals"] + ? item["aadBasedSecurityPrincipals"] + : aadBasedSecurityPrincipalArraySerializer(item["aadBasedSecurityPrincipals"]), + certBasedSecurityPrincipals: !item["certBasedSecurityPrincipals"] + ? item["certBasedSecurityPrincipals"] + : certBasedSecurityPrincipalArraySerializer(item["certBasedSecurityPrincipals"]), + hostLevel: item["hostLevel"], + maxBodySizeInMb: item["maxBodySizeInMb"], + subjectName: item["subjectName"], + nodeCount: item["nodeCount"], + writeLBAddressPrefix: item["writeLBAddressPrefix"], + workerThreads: item["workerThreads"], + applicationType: item["applicationType"], + scittConfiguration: item["scittConfiguration"], + }; +} + +export function ledgerPropertiesDeserializer(item: any): LedgerProperties { + return { + ledgerName: item["ledgerName"], + ledgerUri: item["ledgerUri"], + identityServiceUri: item["identityServiceUri"], + ledgerInternalNamespace: item["ledgerInternalNamespace"], + runningState: item["runningState"], + ledgerType: item["ledgerType"], + provisioningState: item["provisioningState"], + ledgerSku: item["ledgerSku"], + aadBasedSecurityPrincipals: !item["aadBasedSecurityPrincipals"] + ? item["aadBasedSecurityPrincipals"] + : aadBasedSecurityPrincipalArrayDeserializer(item["aadBasedSecurityPrincipals"]), + certBasedSecurityPrincipals: !item["certBasedSecurityPrincipals"] + ? item["certBasedSecurityPrincipals"] + : certBasedSecurityPrincipalArrayDeserializer(item["certBasedSecurityPrincipals"]), + hostLevel: item["hostLevel"], + maxBodySizeInMb: item["maxBodySizeInMb"], + subjectName: item["subjectName"], + nodeCount: item["nodeCount"], + writeLBAddressPrefix: item["writeLBAddressPrefix"], + workerThreads: item["workerThreads"], + enclavePlatform: item["enclavePlatform"], + applicationType: item["applicationType"], + scittConfiguration: item["scittConfiguration"], + }; +} + +/** Object representing RunningState for Confidential Ledger. */ +export enum KnownRunningState { + /** Active */ + Active = "Active", + /** Paused */ + Paused = "Paused", + /** Unknown */ + Unknown = "Unknown", + /** Pausing */ + Pausing = "Pausing", + /** Resuming */ + Resuming = "Resuming", +} + +/** + * Object representing RunningState for Confidential Ledger. \ + * {@link KnownRunningState} can be used interchangeably with RunningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Active** \ + * **Paused** \ + * **Unknown** \ + * **Pausing** \ + * **Resuming** + */ +export type RunningState = string; + +/** Type of the ledger. Private means transaction data is encrypted. */ +export enum KnownLedgerType { + /** Unknown */ + Unknown = "Unknown", + /** Public */ + Public = "Public", + /** Private */ + Private = "Private", +} + +/** + * Type of the ledger. Private means transaction data is encrypted. \ + * {@link KnownLedgerType} can be used interchangeably with LedgerType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Public** \ + * **Private** + */ +export type LedgerType = string; + +/** Object representing ProvisioningState for Confidential Ledger. */ +export enum KnownProvisioningState { + /** Unknown */ + Unknown = "Unknown", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Canceled */ + Canceled = "Canceled", + /** Creating */ + Creating = "Creating", + /** Deleting */ + Deleting = "Deleting", + /** Updating */ + Updating = "Updating", +} + +/** + * Object representing ProvisioningState for Confidential Ledger. \ + * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Succeeded** \ + * **Failed** \ + * **Canceled** \ + * **Creating** \ + * **Deleting** \ + * **Updating** + */ +export type ProvisioningState = string; + +/** SKU associated with the ledger resource */ +export enum KnownLedgerSku { + /** Standard */ + Standard = "Standard", + /** Basic */ + Basic = "Basic", + /** Unknown */ + Unknown = "Unknown", +} + +/** + * SKU associated with the ledger resource \ + * {@link KnownLedgerSku} can be used interchangeably with LedgerSku, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard** \ + * **Basic** \ + * **Unknown** + */ +export type LedgerSku = string; + +export function aadBasedSecurityPrincipalArraySerializer( + result: Array, +): any[] { + return result.map((item) => { + return aadBasedSecurityPrincipalSerializer(item); + }); +} + +export function aadBasedSecurityPrincipalArrayDeserializer( + result: Array, +): any[] { + return result.map((item) => { + return aadBasedSecurityPrincipalDeserializer(item); + }); +} + +/** AAD based security principal with associated Ledger RoleName */ +export interface AADBasedSecurityPrincipal { + /** UUID/GUID based Principal Id of the Security Principal */ + principalId?: string; + /** UUID/GUID based Tenant Id of the Security Principal */ + tenantId?: string; + /** LedgerRole associated with the Security Principal of Ledger */ + ledgerRoleName?: LedgerRoleName; +} + +export function aadBasedSecurityPrincipalSerializer(item: AADBasedSecurityPrincipal): any { + return { + principalId: item["principalId"], + tenantId: item["tenantId"], + ledgerRoleName: item["ledgerRoleName"], + }; +} + +export function aadBasedSecurityPrincipalDeserializer(item: any): AADBasedSecurityPrincipal { + return { + principalId: item["principalId"], + tenantId: item["tenantId"], + ledgerRoleName: item["ledgerRoleName"], + }; +} + +/** LedgerRole associated with the Security Principal of Ledger */ +export enum KnownLedgerRoleName { + /** Reader */ + Reader = "Reader", + /** Contributor */ + Contributor = "Contributor", + /** Administrator */ + Administrator = "Administrator", +} + +/** + * LedgerRole associated with the Security Principal of Ledger \ + * {@link KnownLedgerRoleName} can be used interchangeably with LedgerRoleName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Reader** \ + * **Contributor** \ + * **Administrator** + */ +export type LedgerRoleName = string; + +export function certBasedSecurityPrincipalArraySerializer( + result: Array, +): any[] { + return result.map((item) => { + return certBasedSecurityPrincipalSerializer(item); + }); +} + +export function certBasedSecurityPrincipalArrayDeserializer( + result: Array, +): any[] { + return result.map((item) => { + return certBasedSecurityPrincipalDeserializer(item); + }); +} + +/** Cert based security principal with Ledger RoleName */ +export interface CertBasedSecurityPrincipal { + /** Public key of the user cert (.pem or .cer) */ + cert?: string; + /** LedgerRole associated with the Security Principal of Ledger */ + ledgerRoleName?: LedgerRoleName; +} + +export function certBasedSecurityPrincipalSerializer(item: CertBasedSecurityPrincipal): any { + return { cert: item["cert"], ledgerRoleName: item["ledgerRoleName"] }; +} + +export function certBasedSecurityPrincipalDeserializer(item: any): CertBasedSecurityPrincipal { + return { + cert: item["cert"], + ledgerRoleName: item["ledgerRoleName"], + }; +} + +/** Object representing the enclave platform for the Confidential Ledger application. Defaults to IntelSgx. */ +export enum KnownEnclavePlatform { + /** IntelSgx */ + IntelSgx = "IntelSgx", + /** AmdSevSnp */ + AmdSevSnp = "AmdSevSnp", +} + +/** + * Object representing the enclave platform for the Confidential Ledger application. Defaults to IntelSgx. \ + * {@link KnownEnclavePlatform} can be used interchangeably with EnclavePlatform, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **IntelSgx** \ + * **AmdSevSnp** + */ +export type EnclavePlatform = string; + +/** Object representing the application type of the Confidential Ledger. Defaults to ConfidentialLedger. */ +export enum KnownApplicationType { + /** ConfidentialLedger */ + ConfidentialLedger = "ConfidentialLedger", + /** CodeTransparency */ + CodeTransparency = "CodeTransparency", +} + +/** + * Object representing the application type of the Confidential Ledger. Defaults to ConfidentialLedger. \ + * {@link KnownApplicationType} can be used interchangeably with ApplicationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ConfidentialLedger** \ + * **CodeTransparency** + */ +export type ApplicationType = string; + +/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ +export interface TrackedResource extends Resource { + /** Resource tags. */ + tags?: Record; + /** The geo-location where the resource lives */ + location: string; +} + +export function trackedResourceSerializer(item: TrackedResource): any { + return { tags: item["tags"], location: item["location"] }; +} + +export function trackedResourceDeserializer(item: any): TrackedResource { + return { + id: item["id"], + name: item["name"], + type: item["type"], + systemData: !item["systemData"] + ? item["systemData"] + : systemDataDeserializer(item["systemData"]), + tags: !item["tags"] + ? item["tags"] + : Object.fromEntries(Object.entries(item["tags"]).map(([k, p]: [string, any]) => [k, p])), + location: item["location"], + }; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { + /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ + readonly id?: string; + /** The name of the resource */ + readonly name?: string; + /** The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ + readonly type?: string; + /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */ + readonly systemData?: SystemData; +} + +export function resourceSerializer(_item: Resource): any { + return {}; +} + +export function resourceDeserializer(item: any): Resource { + return { + id: item["id"], + name: item["name"], + type: item["type"], + systemData: !item["systemData"] + ? item["systemData"] + : systemDataDeserializer(item["systemData"]), + }; +} + +/** Metadata pertaining to creation and last modification of the resource. */ +export interface SystemData { + /** The identity that created the resource. */ + createdBy?: string; + /** The type of identity that created the resource. */ + createdByType?: CreatedByType; + /** The timestamp of resource creation (UTC). */ + createdAt?: Date; + /** The identity that last modified the resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the resource. */ + lastModifiedByType?: CreatedByType; + /** The timestamp of resource last modification (UTC) */ + lastModifiedAt?: Date; +} + +export function systemDataDeserializer(item: any): SystemData { + return { + createdBy: item["createdBy"], + createdByType: item["createdByType"], + createdAt: !item["createdAt"] ? item["createdAt"] : new Date(item["createdAt"]), + lastModifiedBy: item["lastModifiedBy"], + lastModifiedByType: item["lastModifiedByType"], + lastModifiedAt: !item["lastModifiedAt"] + ? item["lastModifiedAt"] + : new Date(item["lastModifiedAt"]), + }; +} + +/** The kind of entity that created the resource. */ +export enum KnownCreatedByType { + /** The entity was created by a user. */ + User = "User", + /** The entity was created by an application. */ + Application = "Application", + /** The entity was created by a managed identity. */ + ManagedIdentity = "ManagedIdentity", + /** The entity was created by a key. */ + Key = "Key", +} + +/** + * The kind of entity that created the resource. \ + * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User**: The entity was created by a user. \ + * **Application**: The entity was created by an application. \ + * **ManagedIdentity**: The entity was created by a managed identity. \ + * **Key**: The entity was created by a key. + */ +export type CreatedByType = string; + +/** Object that includes an array of Confidential Ledgers and a possible link for next set. */ +export interface _ConfidentialLedgerList { + /** The ConfidentialLedger items on this page */ + value: ConfidentialLedger[]; + /** The link to the next page of items */ + nextLink?: string; +} + +export function _confidentialLedgerListDeserializer(item: any): _ConfidentialLedgerList { + return { + value: confidentialLedgerArrayDeserializer(item["value"]), + nextLink: item["nextLink"], + }; +} + +export function confidentialLedgerArraySerializer(result: Array): any[] { + return result.map((item) => { + return confidentialLedgerSerializer(item); + }); +} + +export function confidentialLedgerArrayDeserializer(result: Array): any[] { + return result.map((item) => { + return confidentialLedgerDeserializer(item); + }); +} + +/** Object representing Files Export properties of a Confidential Ledger Resource. */ +export interface ConfidentialLedgerFilesExport { + /** The region where the exported ledger files will eventually be restored to. */ + restoreRegion?: string; + /** SAS URI used to access the Fileshare for exporting ledger files. */ + uri: string; +} + +export function confidentialLedgerFilesExportSerializer(item: ConfidentialLedgerFilesExport): any { + return { restoreRegion: item["restoreRegion"], uri: item["uri"] }; +} + +/** Object representing the files export response of a Confidential Ledger Resource. */ +export interface ConfidentialLedgerFilesExportResponse { + /** Response body stating if the ledger files are being exported. */ + readonly message?: string; +} + +export function confidentialLedgerFilesExportResponseDeserializer( + item: any, +): ConfidentialLedgerFilesExportResponse { + return { + message: item["message"], + }; +} + +/** The available API versions. */ +export enum KnownVersions { + /** The 2026-02-23 API version. */ + V20260223 = "2026-02-23", +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/models/parameters.ts b/sdk/confidentialledger/arm-confidentialledger/src/models/parameters.ts deleted file mode 100644 index 566a4190b22e..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/models/parameters.ts +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { - OperationParameter, - OperationURLParameter, - OperationQueryParameter, -} from "@azure/core-client"; -import { - CheckNameAvailabilityRequest as CheckNameAvailabilityRequestMapper, - ConfidentialLedger as ConfidentialLedgerMapper, - ConfidentialLedgerBackup as ConfidentialLedgerBackupMapper, - ConfidentialLedgerRestore as ConfidentialLedgerRestoreMapper, - ManagedCCF as ManagedCCFMapper, - ManagedCCFBackup as ManagedCCFBackupMapper, - ManagedCCFRestore as ManagedCCFRestoreMapper, -} from "../models/mappers.js"; - -export const accept: OperationParameter = { - parameterPath: "accept", - mapper: { - defaultValue: "application/json", - isConstant: true, - serializedName: "Accept", - type: { - name: "String", - }, - }, -}; - -export const $host: OperationURLParameter = { - parameterPath: "$host", - mapper: { - serializedName: "$host", - required: true, - type: { - name: "String", - }, - }, - skipEncoding: true, -}; - -export const apiVersion: OperationQueryParameter = { - parameterPath: "apiVersion", - mapper: { - defaultValue: "2024-09-19-preview", - isConstant: true, - serializedName: "api-version", - type: { - name: "String", - }, - }, -}; - -export const nextLink: OperationURLParameter = { - parameterPath: "nextLink", - mapper: { - serializedName: "nextLink", - required: true, - type: { - name: "String", - }, - }, - skipEncoding: true, -}; - -export const contentType: OperationParameter = { - parameterPath: ["options", "contentType"], - mapper: { - defaultValue: "application/json", - isConstant: true, - serializedName: "Content-Type", - type: { - name: "String", - }, - }, -}; - -export const nameAvailabilityRequest: OperationParameter = { - parameterPath: "nameAvailabilityRequest", - mapper: CheckNameAvailabilityRequestMapper, -}; - -export const subscriptionId: OperationURLParameter = { - parameterPath: "subscriptionId", - mapper: { - constraints: { - MinLength: 1, - }, - serializedName: "subscriptionId", - required: true, - type: { - name: "String", - }, - }, -}; - -export const resourceGroupName: OperationURLParameter = { - parameterPath: "resourceGroupName", - mapper: { - constraints: { - MaxLength: 90, - MinLength: 1, - }, - serializedName: "resourceGroupName", - required: true, - type: { - name: "String", - }, - }, -}; - -export const ledgerName: OperationURLParameter = { - parameterPath: "ledgerName", - mapper: { - constraints: { - Pattern: new RegExp("^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"), - }, - serializedName: "ledgerName", - required: true, - type: { - name: "String", - }, - }, -}; - -export const confidentialLedger: OperationParameter = { - parameterPath: "confidentialLedger", - mapper: ConfidentialLedgerMapper, -}; - -export const filter: OperationQueryParameter = { - parameterPath: ["options", "filter"], - mapper: { - serializedName: "$filter", - type: { - name: "String", - }, - }, -}; - -export const confidentialLedger1: OperationParameter = { - parameterPath: "confidentialLedger", - mapper: ConfidentialLedgerBackupMapper, -}; - -export const confidentialLedger2: OperationParameter = { - parameterPath: "confidentialLedger", - mapper: ConfidentialLedgerRestoreMapper, -}; - -export const appName: OperationURLParameter = { - parameterPath: "appName", - mapper: { - constraints: { - Pattern: new RegExp("^[a-zA-Z0-9]"), - }, - serializedName: "appName", - required: true, - type: { - name: "String", - }, - }, -}; - -export const managedCCF: OperationParameter = { - parameterPath: "managedCCF", - mapper: ManagedCCFMapper, -}; - -export const managedCCF1: OperationParameter = { - parameterPath: "managedCCF", - mapper: ManagedCCFBackupMapper, -}; - -export const managedCCF2: OperationParameter = { - parameterPath: "managedCCF", - mapper: ManagedCCFRestoreMapper, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operations/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/operations/index.ts deleted file mode 100644 index 7b402fa84460..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operations/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export * from "./operations.js"; -export * from "./ledger.js"; -export * from "./managedCCFOperations.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operations/ledger.ts b/sdk/confidentialledger/arm-confidentialledger/src/operations/ledger.ts deleted file mode 100644 index 2a87424cc76f..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operations/ledger.ts +++ /dev/null @@ -1,957 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper.js"; -import { Ledger } from "../operationsInterfaces/index.js"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers.js"; -import * as Parameters from "../models/parameters.js"; -import { ConfidentialLedgerClient } from "../confidentialLedgerClient.js"; -import { - SimplePollerLike, - OperationState, - createHttpPoller, -} from "@azure/core-lro"; -import { createLroSpec } from "../lroImpl.js"; -import { - ConfidentialLedger, - LedgerListByResourceGroupNextOptionalParams, - LedgerListByResourceGroupOptionalParams, - LedgerListByResourceGroupResponse, - LedgerListBySubscriptionNextOptionalParams, - LedgerListBySubscriptionOptionalParams, - LedgerListBySubscriptionResponse, - LedgerGetOptionalParams, - LedgerGetResponse, - LedgerDeleteOptionalParams, - LedgerCreateOptionalParams, - LedgerCreateResponse, - LedgerUpdateOptionalParams, - LedgerUpdateResponse, - ConfidentialLedgerBackup, - LedgerBackupOptionalParams, - LedgerBackupResponse, - ConfidentialLedgerRestore, - LedgerRestoreOptionalParams, - LedgerRestoreResponse, - LedgerListByResourceGroupNextResponse, - LedgerListBySubscriptionNextResponse, -} from "../models/index.js"; - -/// -/** Class containing Ledger operations. */ -export class LedgerImpl implements Ledger { - private readonly client: ConfidentialLedgerClient; - - /** - * Initialize a new instance of the class Ledger class. - * @param client Reference to the service client - */ - constructor(client: ConfidentialLedgerClient) { - this.client = client; - } - - /** - * Retrieves the properties of all Confidential Ledgers. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - public listByResourceGroup( - resourceGroupName: string, - options?: LedgerListByResourceGroupOptionalParams, - ): PagedAsyncIterableIterator { - const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listByResourceGroupPagingPage( - resourceGroupName, - options, - settings, - ); - }, - }; - } - - private async *listByResourceGroupPagingPage( - resourceGroupName: string, - options?: LedgerListByResourceGroupOptionalParams, - settings?: PageSettings, - ): AsyncIterableIterator { - let result: LedgerListByResourceGroupResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listByResourceGroup(resourceGroupName, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listByResourceGroupNext( - resourceGroupName, - continuationToken, - options, - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listByResourceGroupPagingAll( - resourceGroupName: string, - options?: LedgerListByResourceGroupOptionalParams, - ): AsyncIterableIterator { - for await (const page of this.listByResourceGroupPagingPage( - resourceGroupName, - options, - )) { - yield* page; - } - } - - /** - * Retrieves the properties of all Confidential Ledgers. - * @param options The options parameters. - */ - public listBySubscription( - options?: LedgerListBySubscriptionOptionalParams, - ): PagedAsyncIterableIterator { - const iter = this.listBySubscriptionPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listBySubscriptionPagingPage(options, settings); - }, - }; - } - - private async *listBySubscriptionPagingPage( - options?: LedgerListBySubscriptionOptionalParams, - settings?: PageSettings, - ): AsyncIterableIterator { - let result: LedgerListBySubscriptionResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listBySubscription(options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listBySubscriptionNext(continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listBySubscriptionPagingAll( - options?: LedgerListBySubscriptionOptionalParams, - ): AsyncIterableIterator { - for await (const page of this.listBySubscriptionPagingPage(options)) { - yield* page; - } - } - - /** - * Retrieves the properties of a Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - get( - resourceGroupName: string, - ledgerName: string, - options?: LedgerGetOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, ledgerName, options }, - getOperationSpec, - ); - } - - /** - * Deletes an existing Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - async beginDelete( - resourceGroupName: string, - ledgerName: string, - options?: LedgerDeleteOptionalParams, - ): Promise, void>> { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, ledgerName, options }, - spec: deleteOperationSpec, - }); - const poller = await createHttpPoller>(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Deletes an existing Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - async beginDeleteAndWait( - resourceGroupName: string, - ledgerName: string, - options?: LedgerDeleteOptionalParams, - ): Promise { - const poller = await this.beginDelete( - resourceGroupName, - ledgerName, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Creates a Confidential Ledger with the specified ledger parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Create Request Body - * @param options The options parameters. - */ - async beginCreate( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerCreateOptionalParams, - ): Promise< - SimplePollerLike, LedgerCreateResponse> - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, ledgerName, confidentialLedger, options }, - spec: createOperationSpec, - }); - const poller = await createHttpPoller< - LedgerCreateResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - resourceLocationConfig: "azure-async-operation", - }); - await poller.poll(); - return poller; - } - - /** - * Creates a Confidential Ledger with the specified ledger parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Create Request Body - * @param options The options parameters. - */ - async beginCreateAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerCreateOptionalParams, - ): Promise { - const poller = await this.beginCreate( - resourceGroupName, - ledgerName, - confidentialLedger, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Updates properties of Confidential Ledger - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger request body for Updating Ledger - * @param options The options parameters. - */ - async beginUpdate( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerUpdateOptionalParams, - ): Promise< - SimplePollerLike, LedgerUpdateResponse> - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, ledgerName, confidentialLedger, options }, - spec: updateOperationSpec, - }); - const poller = await createHttpPoller< - LedgerUpdateResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Updates properties of Confidential Ledger - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger request body for Updating Ledger - * @param options The options parameters. - */ - async beginUpdateAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerUpdateOptionalParams, - ): Promise { - const poller = await this.beginUpdate( - resourceGroupName, - ledgerName, - confidentialLedger, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Retrieves the properties of all Confidential Ledgers. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - private _listByResourceGroup( - resourceGroupName: string, - options?: LedgerListByResourceGroupOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, options }, - listByResourceGroupOperationSpec, - ); - } - - /** - * Retrieves the properties of all Confidential Ledgers. - * @param options The options parameters. - */ - private _listBySubscription( - options?: LedgerListBySubscriptionOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { options }, - listBySubscriptionOperationSpec, - ); - } - - /** - * Backs up a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Backup Request Body - * @param options The options parameters. - */ - async beginBackup( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerBackup, - options?: LedgerBackupOptionalParams, - ): Promise< - SimplePollerLike, LedgerBackupResponse> - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, ledgerName, confidentialLedger, options }, - spec: backupOperationSpec, - }); - const poller = await createHttpPoller< - LedgerBackupResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Backs up a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Backup Request Body - * @param options The options parameters. - */ - async beginBackupAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerBackup, - options?: LedgerBackupOptionalParams, - ): Promise { - const poller = await this.beginBackup( - resourceGroupName, - ledgerName, - confidentialLedger, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Restores a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Restore Request Body - * @param options The options parameters. - */ - async beginRestore( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerRestore, - options?: LedgerRestoreOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - LedgerRestoreResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, ledgerName, confidentialLedger, options }, - spec: restoreOperationSpec, - }); - const poller = await createHttpPoller< - LedgerRestoreResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Restores a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Restore Request Body - * @param options The options parameters. - */ - async beginRestoreAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerRestore, - options?: LedgerRestoreOptionalParams, - ): Promise { - const poller = await this.beginRestore( - resourceGroupName, - ledgerName, - confidentialLedger, - options, - ); - return poller.pollUntilDone(); - } - - /** - * ListByResourceGroupNext - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. - * @param options The options parameters. - */ - private _listByResourceGroupNext( - resourceGroupName: string, - nextLink: string, - options?: LedgerListByResourceGroupNextOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, nextLink, options }, - listByResourceGroupNextOperationSpec, - ); - } - - /** - * ListBySubscriptionNext - * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. - * @param options The options parameters. - */ - private _listBySubscriptionNext( - nextLink: string, - options?: LedgerListBySubscriptionNextOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { nextLink, options }, - listBySubscriptionNextOperationSpec, - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedger, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const deleteOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const createOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 201: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 202: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 204: { - bodyMapper: Mappers.ConfidentialLedger, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.confidentialLedger, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const updateOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}", - httpMethod: "PATCH", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 201: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 202: { - bodyMapper: Mappers.ConfidentialLedger, - }, - 204: { - bodyMapper: Mappers.ConfidentialLedger, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.confidentialLedger, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const listByResourceGroupOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const listBySubscriptionOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers/", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.subscriptionId], - headerParameters: [Parameters.accept], - serializer, -}; -const backupOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/backup", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerBackupResponse, - }, - 201: { - bodyMapper: Mappers.ConfidentialLedgerBackupResponse, - }, - 202: { - bodyMapper: Mappers.ConfidentialLedgerBackupResponse, - }, - 204: { - bodyMapper: Mappers.ConfidentialLedgerBackupResponse, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.confidentialLedger1, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const restoreOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/restore", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerRestoreResponse, - }, - 201: { - bodyMapper: Mappers.ConfidentialLedgerRestoreResponse, - }, - 202: { - bodyMapper: Mappers.ConfidentialLedgerRestoreResponse, - }, - 204: { - bodyMapper: Mappers.ConfidentialLedgerRestoreResponse, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.confidentialLedger2, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.ledgerName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - Parameters.resourceGroupName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ConfidentialLedgerList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - ], - headerParameters: [Parameters.accept], - serializer, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operations/managedCCFOperations.ts b/sdk/confidentialledger/arm-confidentialledger/src/operations/managedCCFOperations.ts deleted file mode 100644 index 5e6f339d0e50..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operations/managedCCFOperations.ts +++ /dev/null @@ -1,962 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper.js"; -import { ManagedCCFOperations } from "../operationsInterfaces/index.js"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers.js"; -import * as Parameters from "../models/parameters.js"; -import { ConfidentialLedgerClient } from "../confidentialLedgerClient.js"; -import { - SimplePollerLike, - OperationState, - createHttpPoller, -} from "@azure/core-lro"; -import { createLroSpec } from "../lroImpl.js"; -import { - ManagedCCF, - ManagedCCFListByResourceGroupNextOptionalParams, - ManagedCCFListByResourceGroupOptionalParams, - ManagedCCFListByResourceGroupResponse, - ManagedCCFListBySubscriptionNextOptionalParams, - ManagedCCFListBySubscriptionOptionalParams, - ManagedCCFListBySubscriptionResponse, - ManagedCCFGetOptionalParams, - ManagedCCFGetResponse, - ManagedCCFDeleteOptionalParams, - ManagedCCFCreateOptionalParams, - ManagedCCFCreateResponse, - ManagedCCFUpdateOptionalParams, - ManagedCCFUpdateResponse, - ManagedCCFBackup, - ManagedCCFBackupOptionalParams, - ManagedCCFBackupOperationResponse, - ManagedCCFRestore, - ManagedCCFRestoreOptionalParams, - ManagedCCFRestoreOperationResponse, - ManagedCCFListByResourceGroupNextResponse, - ManagedCCFListBySubscriptionNextResponse, -} from "../models/index.js"; - -/// -/** Class containing ManagedCCFOperations operations. */ -export class ManagedCCFOperationsImpl implements ManagedCCFOperations { - private readonly client: ConfidentialLedgerClient; - - /** - * Initialize a new instance of the class ManagedCCFOperations class. - * @param client Reference to the service client - */ - constructor(client: ConfidentialLedgerClient) { - this.client = client; - } - - /** - * Retrieves the properties of all Managed CCF apps. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - public listByResourceGroup( - resourceGroupName: string, - options?: ManagedCCFListByResourceGroupOptionalParams, - ): PagedAsyncIterableIterator { - const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listByResourceGroupPagingPage( - resourceGroupName, - options, - settings, - ); - }, - }; - } - - private async *listByResourceGroupPagingPage( - resourceGroupName: string, - options?: ManagedCCFListByResourceGroupOptionalParams, - settings?: PageSettings, - ): AsyncIterableIterator { - let result: ManagedCCFListByResourceGroupResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listByResourceGroup(resourceGroupName, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listByResourceGroupNext( - resourceGroupName, - continuationToken, - options, - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listByResourceGroupPagingAll( - resourceGroupName: string, - options?: ManagedCCFListByResourceGroupOptionalParams, - ): AsyncIterableIterator { - for await (const page of this.listByResourceGroupPagingPage( - resourceGroupName, - options, - )) { - yield* page; - } - } - - /** - * Retrieves the properties of all Managed CCF. - * @param options The options parameters. - */ - public listBySubscription( - options?: ManagedCCFListBySubscriptionOptionalParams, - ): PagedAsyncIterableIterator { - const iter = this.listBySubscriptionPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listBySubscriptionPagingPage(options, settings); - }, - }; - } - - private async *listBySubscriptionPagingPage( - options?: ManagedCCFListBySubscriptionOptionalParams, - settings?: PageSettings, - ): AsyncIterableIterator { - let result: ManagedCCFListBySubscriptionResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listBySubscription(options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listBySubscriptionNext(continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listBySubscriptionPagingAll( - options?: ManagedCCFListBySubscriptionOptionalParams, - ): AsyncIterableIterator { - for await (const page of this.listBySubscriptionPagingPage(options)) { - yield* page; - } - } - - /** - * Retrieves the properties of a Managed CCF app. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - get( - resourceGroupName: string, - appName: string, - options?: ManagedCCFGetOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, appName, options }, - getOperationSpec, - ); - } - - /** - * Deletes an existing Managed CCF. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - async beginDelete( - resourceGroupName: string, - appName: string, - options?: ManagedCCFDeleteOptionalParams, - ): Promise, void>> { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, appName, options }, - spec: deleteOperationSpec, - }); - const poller = await createHttpPoller>(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Deletes an existing Managed CCF. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - async beginDeleteAndWait( - resourceGroupName: string, - appName: string, - options?: ManagedCCFDeleteOptionalParams, - ): Promise { - const poller = await this.beginDelete(resourceGroupName, appName, options); - return poller.pollUntilDone(); - } - - /** - * Creates a Managed CCF with the specified Managed CCF parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Create Request Body - * @param options The options parameters. - */ - async beginCreate( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFCreateOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFCreateResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, appName, managedCCF, options }, - spec: createOperationSpec, - }); - const poller = await createHttpPoller< - ManagedCCFCreateResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - resourceLocationConfig: "azure-async-operation", - }); - await poller.poll(); - return poller; - } - - /** - * Creates a Managed CCF with the specified Managed CCF parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Create Request Body - * @param options The options parameters. - */ - async beginCreateAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFCreateOptionalParams, - ): Promise { - const poller = await this.beginCreate( - resourceGroupName, - appName, - managedCCF, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Updates properties of Managed CCF - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Request body for Updating Managed CCF App - * @param options The options parameters. - */ - async beginUpdate( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFUpdateOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFUpdateResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, appName, managedCCF, options }, - spec: updateOperationSpec, - }); - const poller = await createHttpPoller< - ManagedCCFUpdateResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Updates properties of Managed CCF - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Request body for Updating Managed CCF App - * @param options The options parameters. - */ - async beginUpdateAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFUpdateOptionalParams, - ): Promise { - const poller = await this.beginUpdate( - resourceGroupName, - appName, - managedCCF, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Retrieves the properties of all Managed CCF apps. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - private _listByResourceGroup( - resourceGroupName: string, - options?: ManagedCCFListByResourceGroupOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, options }, - listByResourceGroupOperationSpec, - ); - } - - /** - * Retrieves the properties of all Managed CCF. - * @param options The options parameters. - */ - private _listBySubscription( - options?: ManagedCCFListBySubscriptionOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { options }, - listBySubscriptionOperationSpec, - ); - } - - /** - * Backs up a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Backup Request Body - * @param options The options parameters. - */ - async beginBackup( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFBackup, - options?: ManagedCCFBackupOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFBackupOperationResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, appName, managedCCF, options }, - spec: backupOperationSpec, - }); - const poller = await createHttpPoller< - ManagedCCFBackupOperationResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Backs up a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Backup Request Body - * @param options The options parameters. - */ - async beginBackupAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFBackup, - options?: ManagedCCFBackupOptionalParams, - ): Promise { - const poller = await this.beginBackup( - resourceGroupName, - appName, - managedCCF, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Restores a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Restore Request Body - * @param options The options parameters. - */ - async beginRestore( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFRestore, - options?: ManagedCCFRestoreOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFRestoreOperationResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ) => { - let currentRawResponse: coreClient.FullOperationResponse | undefined = - undefined; - const providedCallback = args.options?.onResponse; - const callback: coreClient.RawResponseCallback = ( - rawResponse: coreClient.FullOperationResponse, - flatResponse: unknown, - ) => { - currentRawResponse = rawResponse; - providedCallback?.(rawResponse, flatResponse); - }; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: callback, - }, - }; - const flatResponse = await directSendOperation(updatedArgs, spec); - return { - flatResponse, - rawResponse: { - statusCode: currentRawResponse!.status, - body: currentRawResponse!.parsedBody, - headers: currentRawResponse!.headers.toJSON(), - }, - }; - }; - - const lro = createLroSpec({ - sendOperationFn, - args: { resourceGroupName, appName, managedCCF, options }, - spec: restoreOperationSpec, - }); - const poller = await createHttpPoller< - ManagedCCFRestoreOperationResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - }); - await poller.poll(); - return poller; - } - - /** - * Restores a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Restore Request Body - * @param options The options parameters. - */ - async beginRestoreAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFRestore, - options?: ManagedCCFRestoreOptionalParams, - ): Promise { - const poller = await this.beginRestore( - resourceGroupName, - appName, - managedCCF, - options, - ); - return poller.pollUntilDone(); - } - - /** - * ListByResourceGroupNext - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. - * @param options The options parameters. - */ - private _listByResourceGroupNext( - resourceGroupName: string, - nextLink: string, - options?: ManagedCCFListByResourceGroupNextOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, nextLink, options }, - listByResourceGroupNextOperationSpec, - ); - } - - /** - * ListBySubscriptionNext - * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. - * @param options The options parameters. - */ - private _listBySubscriptionNext( - nextLink: string, - options?: ManagedCCFListBySubscriptionNextOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { nextLink, options }, - listBySubscriptionNextOperationSpec, - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCF, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const deleteOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const createOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCF, - }, - 201: { - bodyMapper: Mappers.ManagedCCF, - }, - 202: { - bodyMapper: Mappers.ManagedCCF, - }, - 204: { - bodyMapper: Mappers.ManagedCCF, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.managedCCF, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const updateOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}", - httpMethod: "PATCH", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCF, - }, - 201: { - bodyMapper: Mappers.ManagedCCF, - }, - 202: { - bodyMapper: Mappers.ManagedCCF, - }, - 204: { - bodyMapper: Mappers.ManagedCCF, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.managedCCF, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const listByResourceGroupOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const listBySubscriptionOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/managedCCFs/", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.subscriptionId], - headerParameters: [Parameters.accept], - serializer, -}; -const backupOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}/backup", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFBackupResponse, - }, - 201: { - bodyMapper: Mappers.ManagedCCFBackupResponse, - }, - 202: { - bodyMapper: Mappers.ManagedCCFBackupResponse, - }, - 204: { - bodyMapper: Mappers.ManagedCCFBackupResponse, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.managedCCF1, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const restoreOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}/restore", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFRestoreResponse, - }, - 201: { - bodyMapper: Mappers.ManagedCCFRestoreResponse, - }, - 202: { - bodyMapper: Mappers.ManagedCCFRestoreResponse, - }, - 204: { - bodyMapper: Mappers.ManagedCCFRestoreResponse, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - requestBody: Parameters.managedCCF2, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.appName, - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer, -}; -const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - Parameters.resourceGroupName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ManagedCCFList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - ], - headerParameters: [Parameters.accept], - serializer, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operations/operations.ts b/sdk/confidentialledger/arm-confidentialledger/src/operations/operations.ts deleted file mode 100644 index d5278946f80d..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operations/operations.ts +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper.js"; -import { Operations } from "../operationsInterfaces/index.js"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers.js"; -import * as Parameters from "../models/parameters.js"; -import { ConfidentialLedgerClient } from "../confidentialLedgerClient.js"; -import { - ResourceProviderOperationDefinition, - OperationsListNextOptionalParams, - OperationsListOptionalParams, - OperationsListResponse, - OperationsListNextResponse, -} from "../models/index.js"; - -/// -/** Class containing Operations operations. */ -export class OperationsImpl implements Operations { - private readonly client: ConfidentialLedgerClient; - - /** - * Initialize a new instance of the class Operations class. - * @param client Reference to the service client - */ - constructor(client: ConfidentialLedgerClient) { - this.client = client; - } - - /** - * Retrieves a list of available API operations - * @param options The options parameters. - */ - public list( - options?: OperationsListOptionalParams, - ): PagedAsyncIterableIterator { - const iter = this.listPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listPagingPage(options, settings); - }, - }; - } - - private async *listPagingPage( - options?: OperationsListOptionalParams, - settings?: PageSettings, - ): AsyncIterableIterator { - let result: OperationsListResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._list(options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listNext(continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listPagingAll( - options?: OperationsListOptionalParams, - ): AsyncIterableIterator { - for await (const page of this.listPagingPage(options)) { - yield* page; - } - } - - /** - * Retrieves a list of available API operations - * @param options The options parameters. - */ - private _list( - options?: OperationsListOptionalParams, - ): Promise { - return this.client.sendOperationRequest({ options }, listOperationSpec); - } - - /** - * ListNext - * @param nextLink The nextLink from the previous successful call to the List method. - * @param options The options parameters. - */ - private _listNext( - nextLink: string, - options?: OperationsListNextOptionalParams, - ): Promise { - return this.client.sendOperationRequest( - { nextLink, options }, - listNextOperationSpec, - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listOperationSpec: coreClient.OperationSpec = { - path: "/providers/Microsoft.ConfidentialLedger/operations", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ResourceProviderOperationList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host], - headerParameters: [Parameters.accept], - serializer, -}; -const listNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ResourceProviderOperationList, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - urlParameters: [Parameters.$host, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer, -}; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/index.ts b/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/index.ts deleted file mode 100644 index 7b402fa84460..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export * from "./operations.js"; -export * from "./ledger.js"; -export * from "./managedCCFOperations.js"; diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/ledger.ts b/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/ledger.ts deleted file mode 100644 index dbaa4f5d6fab..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/ledger.ts +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { SimplePollerLike, OperationState } from "@azure/core-lro"; -import { - ConfidentialLedger, - LedgerListByResourceGroupOptionalParams, - LedgerListBySubscriptionOptionalParams, - LedgerGetOptionalParams, - LedgerGetResponse, - LedgerDeleteOptionalParams, - LedgerCreateOptionalParams, - LedgerCreateResponse, - LedgerUpdateOptionalParams, - LedgerUpdateResponse, - ConfidentialLedgerBackup, - LedgerBackupOptionalParams, - LedgerBackupResponse, - ConfidentialLedgerRestore, - LedgerRestoreOptionalParams, - LedgerRestoreResponse, -} from "../models/index.js"; - -/// -/** Interface representing a Ledger. */ -export interface Ledger { - /** - * Retrieves the properties of all Confidential Ledgers. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - listByResourceGroup( - resourceGroupName: string, - options?: LedgerListByResourceGroupOptionalParams, - ): PagedAsyncIterableIterator; - /** - * Retrieves the properties of all Confidential Ledgers. - * @param options The options parameters. - */ - listBySubscription( - options?: LedgerListBySubscriptionOptionalParams, - ): PagedAsyncIterableIterator; - /** - * Retrieves the properties of a Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - get( - resourceGroupName: string, - ledgerName: string, - options?: LedgerGetOptionalParams, - ): Promise; - /** - * Deletes an existing Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - beginDelete( - resourceGroupName: string, - ledgerName: string, - options?: LedgerDeleteOptionalParams, - ): Promise, void>>; - /** - * Deletes an existing Confidential Ledger. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param options The options parameters. - */ - beginDeleteAndWait( - resourceGroupName: string, - ledgerName: string, - options?: LedgerDeleteOptionalParams, - ): Promise; - /** - * Creates a Confidential Ledger with the specified ledger parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Create Request Body - * @param options The options parameters. - */ - beginCreate( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerCreateOptionalParams, - ): Promise< - SimplePollerLike, LedgerCreateResponse> - >; - /** - * Creates a Confidential Ledger with the specified ledger parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Create Request Body - * @param options The options parameters. - */ - beginCreateAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerCreateOptionalParams, - ): Promise; - /** - * Updates properties of Confidential Ledger - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger request body for Updating Ledger - * @param options The options parameters. - */ - beginUpdate( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerUpdateOptionalParams, - ): Promise< - SimplePollerLike, LedgerUpdateResponse> - >; - /** - * Updates properties of Confidential Ledger - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger request body for Updating Ledger - * @param options The options parameters. - */ - beginUpdateAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedger, - options?: LedgerUpdateOptionalParams, - ): Promise; - /** - * Backs up a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Backup Request Body - * @param options The options parameters. - */ - beginBackup( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerBackup, - options?: LedgerBackupOptionalParams, - ): Promise< - SimplePollerLike, LedgerBackupResponse> - >; - /** - * Backs up a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Backup Request Body - * @param options The options parameters. - */ - beginBackupAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerBackup, - options?: LedgerBackupOptionalParams, - ): Promise; - /** - * Restores a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Restore Request Body - * @param options The options parameters. - */ - beginRestore( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerRestore, - options?: LedgerRestoreOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - LedgerRestoreResponse - > - >; - /** - * Restores a Confidential Ledger Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param ledgerName Name of the Confidential Ledger - * @param confidentialLedger Confidential Ledger Restore Request Body - * @param options The options parameters. - */ - beginRestoreAndWait( - resourceGroupName: string, - ledgerName: string, - confidentialLedger: ConfidentialLedgerRestore, - options?: LedgerRestoreOptionalParams, - ): Promise; -} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/managedCCFOperations.ts b/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/managedCCFOperations.ts deleted file mode 100644 index 20618a092b88..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/managedCCFOperations.ts +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { SimplePollerLike, OperationState } from "@azure/core-lro"; -import { - ManagedCCF, - ManagedCCFListByResourceGroupOptionalParams, - ManagedCCFListBySubscriptionOptionalParams, - ManagedCCFGetOptionalParams, - ManagedCCFGetResponse, - ManagedCCFDeleteOptionalParams, - ManagedCCFCreateOptionalParams, - ManagedCCFCreateResponse, - ManagedCCFUpdateOptionalParams, - ManagedCCFUpdateResponse, - ManagedCCFBackup, - ManagedCCFBackupOptionalParams, - ManagedCCFBackupOperationResponse, - ManagedCCFRestore, - ManagedCCFRestoreOptionalParams, - ManagedCCFRestoreOperationResponse, -} from "../models/index.js"; - -/// -/** Interface representing a ManagedCCFOperations. */ -export interface ManagedCCFOperations { - /** - * Retrieves the properties of all Managed CCF apps. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - listByResourceGroup( - resourceGroupName: string, - options?: ManagedCCFListByResourceGroupOptionalParams, - ): PagedAsyncIterableIterator; - /** - * Retrieves the properties of all Managed CCF. - * @param options The options parameters. - */ - listBySubscription( - options?: ManagedCCFListBySubscriptionOptionalParams, - ): PagedAsyncIterableIterator; - /** - * Retrieves the properties of a Managed CCF app. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - get( - resourceGroupName: string, - appName: string, - options?: ManagedCCFGetOptionalParams, - ): Promise; - /** - * Deletes an existing Managed CCF. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - beginDelete( - resourceGroupName: string, - appName: string, - options?: ManagedCCFDeleteOptionalParams, - ): Promise, void>>; - /** - * Deletes an existing Managed CCF. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param options The options parameters. - */ - beginDeleteAndWait( - resourceGroupName: string, - appName: string, - options?: ManagedCCFDeleteOptionalParams, - ): Promise; - /** - * Creates a Managed CCF with the specified Managed CCF parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Create Request Body - * @param options The options parameters. - */ - beginCreate( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFCreateOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFCreateResponse - > - >; - /** - * Creates a Managed CCF with the specified Managed CCF parameters. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Create Request Body - * @param options The options parameters. - */ - beginCreateAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFCreateOptionalParams, - ): Promise; - /** - * Updates properties of Managed CCF - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Request body for Updating Managed CCF App - * @param options The options parameters. - */ - beginUpdate( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFUpdateOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFUpdateResponse - > - >; - /** - * Updates properties of Managed CCF - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Request body for Updating Managed CCF App - * @param options The options parameters. - */ - beginUpdateAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCF, - options?: ManagedCCFUpdateOptionalParams, - ): Promise; - /** - * Backs up a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Backup Request Body - * @param options The options parameters. - */ - beginBackup( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFBackup, - options?: ManagedCCFBackupOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFBackupOperationResponse - > - >; - /** - * Backs up a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Backup Request Body - * @param options The options parameters. - */ - beginBackupAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFBackup, - options?: ManagedCCFBackupOptionalParams, - ): Promise; - /** - * Restores a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Restore Request Body - * @param options The options parameters. - */ - beginRestore( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFRestore, - options?: ManagedCCFRestoreOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ManagedCCFRestoreOperationResponse - > - >; - /** - * Restores a Managed CCF Resource. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appName Name of the Managed CCF - * @param managedCCF Managed CCF Restore Request Body - * @param options The options parameters. - */ - beginRestoreAndWait( - resourceGroupName: string, - appName: string, - managedCCF: ManagedCCFRestore, - options?: ManagedCCFRestoreOptionalParams, - ): Promise; -} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/operations.ts b/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/operations.ts deleted file mode 100644 index c860b9541785..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/operationsInterfaces/operations.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - ResourceProviderOperationDefinition, - OperationsListOptionalParams, -} from "../models/index.js"; - -/// -/** Interface representing a Operations. */ -export interface Operations { - /** - * Retrieves a list of available API operations - * @param options The options parameters. - */ - list( - options?: OperationsListOptionalParams, - ): PagedAsyncIterableIterator; -} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/pagingHelper.ts b/sdk/confidentialledger/arm-confidentialledger/src/pagingHelper.ts deleted file mode 100644 index 205cccc26592..000000000000 --- a/sdk/confidentialledger/arm-confidentialledger/src/pagingHelper.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export interface PageInfo { - continuationToken?: string; -} - -const pageMap = new WeakMap(); - -/** - * Given the last `.value` produced by the `byPage` iterator, - * returns a continuation token that can be used to begin paging from - * that point later. - * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator. - * @returns The continuation token that can be passed into byPage() during future calls. - */ -export function getContinuationToken(page: unknown): string | undefined { - if (typeof page !== "object" || page === null) { - return undefined; - } - return pageMap.get(page)?.continuationToken; -} - -export function setContinuationToken( - page: unknown, - continuationToken: string | undefined, -): void { - if (typeof page !== "object" || page === null || !continuationToken) { - return; - } - const pageInfo = pageMap.get(page) ?? {}; - pageInfo.continuationToken = continuationToken; - pageMap.set(page, pageInfo); -} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/restorePollerHelpers.ts b/sdk/confidentialledger/arm-confidentialledger/src/restorePollerHelpers.ts new file mode 100644 index 000000000000..af2ea10c018b --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/restorePollerHelpers.ts @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ConfidentialLedgerClient } from "./confidentialLedgerClient.js"; +import { + _filesExportDeserialize, + _$deleteDeserialize, + _updateDeserialize, + _createDeserialize, +} from "./api/ledger/operations.js"; +import { getLongRunningPoller } from "./static-helpers/pollingHelpers.js"; +import { OperationOptions, PathUncheckedResponse } from "@azure-rest/core-client"; +import { AbortSignalLike } from "@azure/abort-controller"; +import { + PollerLike, + OperationState, + deserializeState, + ResourceLocationConfig, +} from "@azure/core-lro"; + +export interface RestorePollerOptions< + TResult, + TResponse extends PathUncheckedResponse = PathUncheckedResponse, +> extends OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** + * The signal which can be used to abort requests. + */ + abortSignal?: AbortSignalLike; + /** Deserialization function for raw response body */ + processResponseBody?: (result: TResponse) => Promise; +} + +/** + * Creates a poller from the serialized state of another poller. This can be + * useful when you want to create pollers on a different host or a poller + * needs to be constructed after the original one is not in scope. + */ +export function restorePoller( + client: ConfidentialLedgerClient, + serializedState: string, + sourceOperation: (...args: any[]) => PollerLike, TResult>, + options?: RestorePollerOptions, +): PollerLike, TResult> { + const pollerConfig = deserializeState(serializedState).config; + const { initialRequestUrl, requestMethod, metadata } = pollerConfig; + if (!initialRequestUrl || !requestMethod) { + throw new Error( + `Invalid serialized state: ${serializedState} for sourceOperation ${sourceOperation?.name}`, + ); + } + const resourceLocationConfig = metadata?.["resourceLocationConfig"] as + | ResourceLocationConfig + | undefined; + const { deserializer, expectedStatuses = [] } = + getDeserializationHelper(initialRequestUrl, requestMethod) ?? {}; + const deserializeHelper = options?.processResponseBody ?? deserializer; + if (!deserializeHelper) { + throw new Error( + `Please ensure the operation is in this client! We can't find its deserializeHelper for ${sourceOperation?.name}.`, + ); + } + const apiVersion = getApiVersionFromUrl(initialRequestUrl); + return getLongRunningPoller( + (client as any)["_client"] ?? client, + deserializeHelper as (result: TResponse) => Promise, + expectedStatuses, + { + updateIntervalInMs: options?.updateIntervalInMs, + abortSignal: options?.abortSignal, + resourceLocationConfig, + restoreFrom: serializedState, + initialRequestUrl, + apiVersion, + }, + ); +} + +interface DeserializationHelper { + deserializer: (result: PathUncheckedResponse) => Promise; + expectedStatuses: string[]; +} + +const deserializeMap: Record = { + "POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/filesExport": + { deserializer: _filesExportDeserialize, expectedStatuses: ["200", "202", "201"] }, + "DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}": + { deserializer: _$deleteDeserialize, expectedStatuses: ["200", "202", "204"] }, + "PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}": + { deserializer: _updateDeserialize, expectedStatuses: ["200", "201", "202"] }, + "PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}": + { deserializer: _createDeserialize, expectedStatuses: ["200", "201", "202"] }, +}; + +function getDeserializationHelper( + urlStr: string, + method: string, +): DeserializationHelper | undefined { + const path = new URL(urlStr).pathname; + const pathParts = path.split("/"); + + // Traverse list to match the longest candidate + // matchedLen: the length of candidate path + // matchedValue: the matched status code array + let matchedLen = -1, + matchedValue: DeserializationHelper | undefined; + + // Iterate the responseMap to find a match + for (const [key, value] of Object.entries(deserializeMap)) { + // Extracting the path from the map key which is in format + // GET /path/foo + if (!key.startsWith(method)) { + continue; + } + const candidatePath = getPathFromMapKey(key); + // Get each part of the url path + const candidateParts = candidatePath.split("/"); + + // track if we have found a match to return the values found. + let found = true; + for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) { + if (candidateParts[i]?.startsWith("{") && candidateParts[i]?.indexOf("}") !== -1) { + const start = candidateParts[i]!.indexOf("}") + 1, + end = candidateParts[i]?.length; + // If the current part of the candidate is a "template" part + // Try to use the suffix of pattern to match the path + // {guid} ==> $ + // {guid}:export ==> :export$ + const isMatched = new RegExp(`${candidateParts[i]?.slice(start, end)}`).test( + pathParts[j] || "", + ); + + if (!isMatched) { + found = false; + break; + } + continue; + } + + // If the candidate part is not a template and + // the parts don't match mark the candidate as not found + // to move on with the next candidate path. + if (candidateParts[i] !== pathParts[j]) { + found = false; + break; + } + } + + // We finished evaluating the current candidate parts + // Update the matched value if and only if we found the longer pattern + if (found && candidatePath.length > matchedLen) { + matchedLen = candidatePath.length; + matchedValue = value; + } + } + + return matchedValue; +} + +function getPathFromMapKey(mapKey: string): string { + const pathStart = mapKey.indexOf("/"); + return mapKey.slice(pathStart); +} + +function getApiVersionFromUrl(urlStr: string): string | undefined { + const url = new URL(urlStr); + return url.searchParams.get("api-version") ?? undefined; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/cloudSettingHelpers.ts b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/cloudSettingHelpers.ts new file mode 100644 index 000000000000..613112c6e397 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/cloudSettingHelpers.ts @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * An enum to describe Azure Cloud environments. + * @enum {string} + */ +export enum AzureClouds { + /** Azure public cloud, which is the default cloud for Azure SDKs. */ + AZURE_PUBLIC_CLOUD = "AZURE_PUBLIC_CLOUD", + /** Azure China cloud */ + AZURE_CHINA_CLOUD = "AZURE_CHINA_CLOUD", + /** Azure US government cloud */ + AZURE_US_GOVERNMENT = "AZURE_US_GOVERNMENT", +} + +/** The supported values for cloud setting as a string literal type */ +export type AzureSupportedClouds = `${AzureClouds}`; + +/** + * Gets the Azure Resource Manager endpoint URL for the specified cloud setting. + * @param cloudSetting - The Azure cloud environment setting. Use one of the AzureClouds enum values. + * @returns The ARM endpoint URL for the specified cloud, or undefined if cloudSetting is undefined. + * @throws {Error} Throws an error if an unknown cloud setting is provided. + */ +export function getArmEndpoint(cloudSetting?: AzureSupportedClouds): string | undefined { + if (cloudSetting === undefined) { + return undefined; + } + const cloudEndpoints: Record = { + AZURE_CHINA_CLOUD: "https://management.chinacloudapi.cn/", + AZURE_US_GOVERNMENT: "https://management.usgovcloudapi.net/", + AZURE_PUBLIC_CLOUD: "https://management.azure.com/", + }; + if (cloudSetting in cloudEndpoints) { + return cloudEndpoints[cloudSetting]; + } else { + throw new Error( + `Unknown cloud setting: ${cloudSetting}. Please refer to the enum AzureClouds for possible values.`, + ); + } +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pagingHelpers.ts b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pagingHelpers.ts new file mode 100644 index 000000000000..5545e8e42a92 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pagingHelpers.ts @@ -0,0 +1,267 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { Client, createRestError, PathUncheckedResponse } from "@azure-rest/core-client"; +import { RestError } from "@azure/core-rest-pipeline"; + +/** + * Options for the byPage method + */ +export interface PageSettings { + /** + * A reference to a specific page to start iterating from. + */ + continuationToken?: string; +} + +/** + * An interface that describes a page of results. + */ +export type ContinuablePage = TPage & { + /** + * The token that keeps track of where to continue the iterator + */ + continuationToken?: string; +}; + +/** + * An interface that allows async iterable iteration both to completion and by page. + */ +export interface PagedAsyncIterableIterator< + TElement, + TPage = TElement[], + TPageSettings extends PageSettings = PageSettings, +> { + /** + * The next method, part of the iteration protocol + */ + next(): Promise>; + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator](): PagedAsyncIterableIterator; + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings?: TPageSettings) => AsyncIterableIterator>; +} + +/** + * An interface that describes how to communicate with the service. + */ +export interface PagedResult< + TElement, + TPage = TElement[], + TPageSettings extends PageSettings = PageSettings, +> { + /** + * Link to the first page of results. + */ + firstPageLink?: string; + /** + * A method that returns a page of results. + */ + getPage: (pageLink?: string) => Promise<{ page: TPage; nextPageLink?: string } | undefined>; + /** + * a function to implement the `byPage` method on the paged async iterator. + */ + byPage?: (settings?: TPageSettings) => AsyncIterableIterator>; + + /** + * A function to extract elements from a page. + */ + toElements?: (page: TPage) => TElement[]; +} + +/** + * Options for the paging helper + */ +export interface BuildPagedAsyncIteratorOptions { + itemName?: string; + nextLinkName?: string; + nextLinkMethod?: "GET" | "POST"; + apiVersion?: string; +} + +/** + * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator + */ +export function buildPagedAsyncIterator< + TElement, + TPage = TElement[], + TPageSettings extends PageSettings = PageSettings, + TResponse extends PathUncheckedResponse = PathUncheckedResponse, +>( + client: Client, + getInitialResponse: () => PromiseLike, + processResponseBody: (result: TResponse) => PromiseLike, + expectedStatuses: string[], + options: BuildPagedAsyncIteratorOptions = {}, +): PagedAsyncIterableIterator { + const itemName = options.itemName ?? "value"; + const nextLinkName = options.nextLinkName ?? "nextLink"; + const nextLinkMethod = options.nextLinkMethod ?? "GET"; + const apiVersion = options.apiVersion; + const pagedResult: PagedResult = { + getPage: async (pageLink?: string) => { + let result; + if (pageLink === undefined) { + result = await getInitialResponse(); + } else { + const resolvedPageLink = apiVersion ? addApiVersionToUrl(pageLink, apiVersion) : pageLink; + result = + nextLinkMethod === "POST" + ? await client.pathUnchecked(resolvedPageLink).post() + : await client.pathUnchecked(resolvedPageLink).get(); + } + checkPagingRequest(result, expectedStatuses); + const results = await processResponseBody(result as TResponse); + const nextLink = getNextLink(results, nextLinkName); + const values = getElements(results, itemName) as TPage; + return { + page: values, + nextPageLink: nextLink, + }; + }, + byPage: (settings?: TPageSettings) => { + const { continuationToken } = settings ?? {}; + return getPageAsyncIterator(pagedResult, { + pageLink: continuationToken, + }); + }, + }; + return getPagedAsyncIterator(pagedResult); +} + +/** + * returns an async iterator that iterates over results. It also has a `byPage` + * method that returns pages of items at once. + * + * @param pagedResult - an object that specifies how to get pages. + * @returns a paged async iterator that iterates over results. + */ + +function getPagedAsyncIterator< + TElement, + TPage = TElement[], + TPageSettings extends PageSettings = PageSettings, +>( + pagedResult: PagedResult, +): PagedAsyncIterableIterator { + const iter = getItemAsyncIterator(pagedResult); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: + pagedResult?.byPage ?? + ((settings?: TPageSettings) => { + const { continuationToken } = settings ?? {}; + return getPageAsyncIterator(pagedResult, { + pageLink: continuationToken, + }); + }), + }; +} + +async function* getItemAsyncIterator( + pagedResult: PagedResult, +): AsyncIterableIterator { + const pages = getPageAsyncIterator(pagedResult); + for await (const page of pages) { + yield* page as unknown as TElement[]; + } +} + +async function* getPageAsyncIterator( + pagedResult: PagedResult, + options: { + pageLink?: string; + } = {}, +): AsyncIterableIterator> { + const { pageLink } = options; + let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink); + if (!response) { + return; + } + let result = response.page as ContinuablePage; + result.continuationToken = response.nextPageLink; + yield result; + while (response.nextPageLink) { + response = await pagedResult.getPage(response.nextPageLink); + if (!response) { + return; + } + result = response.page as ContinuablePage; + result.continuationToken = response.nextPageLink; + yield result; + } +} + +/** + * Gets for the value of nextLink in the body + */ +function getNextLink(body: unknown, nextLinkName?: string): string | undefined { + if (!nextLinkName) { + return undefined; + } + + const nextLink = (body as Record)[nextLinkName]; + + if (typeof nextLink !== "string" && typeof nextLink !== "undefined" && nextLink !== null) { + throw new RestError( + `Body Property ${nextLinkName} should be a string or undefined or null but got ${typeof nextLink}`, + ); + } + + if (nextLink === null) { + return undefined; + } + + return nextLink; +} + +/** + * Gets the elements of the current request in the body. + */ +function getElements(body: unknown, itemName: string): T[] { + const value = (body as Record)[itemName] as T[]; + if (!Array.isArray(value)) { + throw new RestError( + `Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}`, + ); + } + + return value ?? []; +} + +/** + * Checks if a request failed + */ +function checkPagingRequest(response: PathUncheckedResponse, expectedStatuses: string[]): void { + if (!expectedStatuses.includes(response.status)) { + throw createRestError( + `Pagination failed with unexpected statusCode ${response.status}`, + response, + ); + } +} + +/** + * Adds the api-version query parameter on a URL if it's not present. + * @param url - the URL to modify + * @param apiVersion - the API version to set + * @returns - the URL with the api-version query parameter set + */ +function addApiVersionToUrl(url: string, apiVersion: string): string { + // The base URL is only used for parsing and won't appear in the returned URL + const urlObj = new URL(url, "https://microsoft.com"); + if (!urlObj.searchParams.get("api-version")) { + // Append one if there is no apiVersion + return `${url}${urlObj.search ? "&" : "?"}api-version=${apiVersion}`; + } + return url; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pollingHelpers.ts b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pollingHelpers.ts new file mode 100644 index 000000000000..6fd1221b06ae --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/pollingHelpers.ts @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { + PollerLike, + OperationState, + ResourceLocationConfig, + RunningOperation, + createHttpPoller, + OperationResponse, +} from "@azure/core-lro"; + +import { Client, PathUncheckedResponse, createRestError } from "@azure-rest/core-client"; +import { AbortSignalLike } from "@azure/abort-controller"; + +export interface GetLongRunningPollerOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** + * The signal which can be used to abort requests. + */ + abortSignal?: AbortSignalLike; + /** + * The potential location of the result of the LRO if specified by the LRO extension in the swagger. + */ + resourceLocationConfig?: ResourceLocationConfig; + /** + * The original url of the LRO + * Should not be null when restoreFrom is set + */ + initialRequestUrl?: string; + /** + * A serialized poller which can be used to resume an existing paused Long-Running-Operation. + */ + restoreFrom?: string; + /** + * The function to get the initial response + */ + getInitialResponse?: () => PromiseLike; + /** + * The api-version of the LRO + */ + apiVersion?: string; +} +export function getLongRunningPoller( + client: Client, + processResponseBody: (result: TResponse) => Promise, + expectedStatuses: string[], + options: GetLongRunningPollerOptions, +): PollerLike, TResult> { + const { restoreFrom, getInitialResponse, apiVersion } = options; + if (!restoreFrom && !getInitialResponse) { + throw new Error("Either restoreFrom or getInitialResponse must be specified"); + } + let initialResponse: TResponse | undefined = undefined; + const pollAbortController = new AbortController(); + const poller: RunningOperation = { + sendInitialRequest: async () => { + if (!getInitialResponse) { + throw new Error("getInitialResponse is required when initializing a new poller"); + } + initialResponse = await getInitialResponse(); + return getLroResponse(initialResponse, expectedStatuses); + }, + sendPollRequest: async ( + path: string, + pollOptions?: { + abortSignal?: AbortSignalLike; + }, + ) => { + // The poll request would both listen to the user provided abort signal and the poller's own abort signal + function abortListener(): void { + pollAbortController.abort(); + } + const abortSignal = pollAbortController.signal; + if (options.abortSignal?.aborted) { + pollAbortController.abort(); + } else if (pollOptions?.abortSignal?.aborted) { + pollAbortController.abort(); + } else if (!abortSignal.aborted) { + options.abortSignal?.addEventListener("abort", abortListener, { + once: true, + }); + pollOptions?.abortSignal?.addEventListener("abort", abortListener, { + once: true, + }); + } + let response; + try { + const pollingPath = apiVersion ? addApiVersionToUrl(path, apiVersion) : path; + response = await client.pathUnchecked(pollingPath).get({ abortSignal }); + } finally { + options.abortSignal?.removeEventListener("abort", abortListener); + pollOptions?.abortSignal?.removeEventListener("abort", abortListener); + } + + return getLroResponse(response as TResponse, expectedStatuses); + }, + }; + return createHttpPoller(poller, { + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: options?.resourceLocationConfig, + restoreFrom: options?.restoreFrom, + processResult: (result: unknown) => { + return processResponseBody(result as TResponse); + }, + }); +} +/** + * Converts a Rest Client response to a response that the LRO implementation understands + * @param response - a rest client http response + * @param deserializeFn - deserialize function to convert Rest response to modular output + * @returns - An LRO response that the LRO implementation understands + */ +function getLroResponse( + response: TResponse, + expectedStatuses: string[], +): OperationResponse { + if (!expectedStatuses.includes(response.status)) { + throw createRestError(response); + } + + return { + flatResponse: response, + rawResponse: { + ...response, + statusCode: Number.parseInt(response.status), + body: response.body, + }, + }; +} + +/** + * Adds the api-version query parameter on a URL if it's not present. + * @param url - the URL to modify + * @param apiVersion - the API version to set + * @returns - the URL with the api-version query parameter set + */ +function addApiVersionToUrl(url: string, apiVersion: string): string { + // The base URL is only used for parsing and won't appear in the returned URL + const urlObj = new URL(url, "https://microsoft.com"); + if (!urlObj.searchParams.get("api-version")) { + // Append one if there is no apiVersion + return `${url}${urlObj.search ? "&" : "?"}api-version=${apiVersion}`; + } + return url; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/simplePollerHelpers.ts b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/simplePollerHelpers.ts new file mode 100644 index 000000000000..21c6d5eee895 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/simplePollerHelpers.ts @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { PollerLike, OperationState, CancelOnProgress } from "@azure/core-lro"; +import { AbortSignalLike } from "@azure/abort-controller"; + +/** + * A simple poller that can be used to poll a long running operation. + */ +export interface SimplePollerLike, TResult> { + /** + * Returns true if the poller has finished polling. + */ + isDone(): boolean; + /** + * Returns the state of the operation. + */ + getOperationState(): TState; + /** + * Returns the result value of the operation, + * regardless of the state of the poller. + * It can return undefined or an incomplete form of the final TResult value + * depending on the implementation. + */ + getResult(): TResult | undefined; + /** + * Returns a promise that will resolve once a single polling request finishes. + * It does this by calling the update method of the Poller's operation. + */ + poll(options?: { abortSignal?: AbortSignalLike }): Promise; + /** + * Returns a promise that will resolve once the underlying operation is completed. + */ + pollUntilDone(pollOptions?: { abortSignal?: AbortSignalLike }): Promise; + /** + * Invokes the provided callback after each polling is completed, + * sending the current state of the poller's operation. + * + * It returns a method that can be used to stop receiving updates on the given callback function. + */ + onProgress(callback: (state: TState) => void): CancelOnProgress; + + /** + * Returns a promise that could be used for serialized version of the poller's operation + * by invoking the operation's serialize method. + */ + serialize(): Promise; + + /** + * Wait the poller to be submitted. + */ + submitted(): Promise; + + /** + * Returns a string representation of the poller's operation. Similar to serialize but returns a string. + * @deprecated Use serialize() instead. + */ + toString(): string; + + /** + * Stops the poller from continuing to poll. Please note this will only stop the client-side polling + * @deprecated Use abortSignal to stop polling instead. + */ + stopPolling(): void; + + /** + * Returns true if the poller is stopped. + * @deprecated Use abortSignal status to track this instead. + */ + isStopped(): boolean; +} + +/** + * Create the deprecated SimplePollerLike from PollerLike + * @param poller PollerLike to convert + * @returns SimplePollerLike + */ +export function getSimplePoller( + poller: PollerLike, TResult>, +): SimplePollerLike, TResult> { + const simplePoller: SimplePollerLike, TResult> = { + isDone() { + return poller.isDone; + }, + isStopped() { + throw new Error("isStopped is deprecated. Use abortSignal status to track this instead."); + }, + getOperationState() { + if (!poller.operationState) { + throw new Error( + "Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().", + ); + } + return poller.operationState; + }, + getResult() { + return poller.result; + }, + toString() { + if (!poller.operationState) { + throw new Error( + "Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().", + ); + } + return JSON.stringify({ + state: poller.operationState, + }); + }, + stopPolling() { + throw new Error("stopPolling is deprecated. Use abortSignal to stop polling instead."); + }, + onProgress: poller.onProgress, + poll: poller.poll, + pollUntilDone: poller.pollUntilDone, + serialize: poller.serialize, + submitted: poller.submitted, + }; + return simplePoller; +} diff --git a/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/urlTemplate.ts b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/urlTemplate.ts new file mode 100644 index 000000000000..e8af8cd3ab73 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/src/static-helpers/urlTemplate.ts @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// --------------------- +// interfaces +// --------------------- +interface ValueOptions { + isFirst: boolean; // is first value in the expression + op?: string; // operator + varValue?: any; // variable value + varName?: string; // variable name + modifier?: string; // modifier e.g * + reserved?: boolean; // if true we'll keep reserved words with not encoding +} + +export interface UrlTemplateOptions { + // if set to true, reserved characters will not be encoded + allowReserved?: boolean; +} + +// --------------------- +// helpers +// --------------------- +function encodeComponent(val: string, reserved?: boolean, op?: string): string { + return (reserved ?? op === "+") || op === "#" + ? encodeReservedComponent(val) + : encodeRFC3986URIComponent(val); +} + +function encodeReservedComponent(str: string): string { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part)) + .join(""); +} + +function encodeRFC3986URIComponent(str: string): string { + return encodeURIComponent(str).replace( + /[!'()*]/g, + (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, + ); +} + +function isDefined(val: any): boolean { + return val !== undefined && val !== null; +} + +function getNamedAndIfEmpty(op?: string): [boolean, string] { + return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""]; +} + +function getFirstOrSep(op?: string, isFirst = false): string { + if (isFirst) { + return !op || op === "+" ? "" : op; + } else if (!op || op === "+" || op === "#") { + return ","; + } else if (op === "?") { + return "&"; + } else { + return op; + } +} + +function getExpandedValue(option: ValueOptions): string { + let isFirst = option.isFirst; + const { op, varName, varValue: value, reserved } = option; + const vals: string[] = []; + const [named, ifEmpty] = getNamedAndIfEmpty(op); + + if (Array.isArray(value)) { + for (const val of value.filter(isDefined)) { + // prepare the following parts: separator, varName, value + vals.push(`${getFirstOrSep(op, isFirst)}`); + if (named && varName) { + vals.push(`${encodeURIComponent(varName)}`); + if (val === "") { + vals.push(ifEmpty); + } else { + vals.push("="); + } + } + vals.push(encodeComponent(val, reserved, op)); + isFirst = false; + } + } else if (typeof value === "object") { + for (const key of Object.keys(value)) { + const val = value[key]; + if (!isDefined(val)) { + continue; + } + // prepare the following parts: separator, key, value + vals.push(`${getFirstOrSep(op, isFirst)}`); + if (key) { + vals.push(`${encodeURIComponent(key)}`); + if (named && val === "") { + vals.push(ifEmpty); + } else { + vals.push("="); + } + } + vals.push(encodeComponent(val, reserved, op)); + isFirst = false; + } + } + return vals.join(""); +} + +function getNonExpandedValue(option: ValueOptions): string | undefined { + const { op, varName, varValue: value, isFirst, reserved } = option; + const vals: string[] = []; + const first = getFirstOrSep(op, isFirst); + const [named, ifEmpty] = getNamedAndIfEmpty(op); + if (named && varName) { + vals.push(encodeComponent(varName, reserved, op)); + if (value === "") { + if (!ifEmpty) { + vals.push(ifEmpty); + } + return !vals.join("") ? undefined : `${first}${vals.join("")}`; + } + vals.push("="); + } + + const items = []; + if (Array.isArray(value)) { + for (const val of value.filter(isDefined)) { + items.push(encodeComponent(val, reserved, op)); + } + } else if (typeof value === "object") { + for (const key of Object.keys(value)) { + if (!isDefined(value[key])) { + continue; + } + items.push(encodeRFC3986URIComponent(key)); + items.push(encodeComponent(value[key], reserved, op)); + } + } + vals.push(items.join(",")); + return !vals.join(",") ? undefined : `${first}${vals.join("")}`; +} + +function getVarValue(option: ValueOptions): string | undefined { + const { op, varName, modifier, isFirst, reserved, varValue: value } = option; + + if (!isDefined(value)) { + return undefined; + } else if (["string", "number", "boolean"].includes(typeof value)) { + let val = value.toString(); + const [named, ifEmpty] = getNamedAndIfEmpty(op); + const vals: string[] = [getFirstOrSep(op, isFirst)]; + if (named && varName) { + // No need to encode varName considering it is already encoded + vals.push(varName); + if (val === "") { + vals.push(ifEmpty); + } else { + vals.push("="); + } + } + if (modifier && modifier !== "*") { + val = val.substring(0, parseInt(modifier, 10)); + } + vals.push(encodeComponent(val, reserved, op)); + return vals.join(""); + } else if (modifier === "*") { + return getExpandedValue(option); + } else { + return getNonExpandedValue(option); + } +} + +// --------------------------------------------------------------------------------------------------- +// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570. +// --------------------------------------------------------------------------------------------------- +export function expandUrlTemplate( + template: string, + context: Record, + option?: UrlTemplateOptions, +): string { + const result = template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => { + if (!expr) { + return encodeReservedComponent(text); + } + let op; + if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) { + op = expr[0]; + expr = expr.slice(1); + } + const varList = expr.split(/,/g); + const innerResult = []; + for (const varSpec of varList) { + const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec); + if (!varMatch || !varMatch[1]) { + continue; + } + const varValue = getVarValue({ + isFirst: innerResult.length === 0, + op, + varValue: context[varMatch[1]], + varName: varMatch[1], + modifier: varMatch[2] || varMatch[3], + reserved: option?.allowReserved, + }); + if (varValue) { + innerResult.push(varValue); + } + } + return innerResult.join(""); + }); + + return normalizeUnreserved(result); +} + +/** + * Normalize an expanded URI by decoding percent-encoded unreserved characters. + * RFC 3986 unreserved: "-" / "." / "~" + */ +function normalizeUnreserved(uri: string): string { + return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => { + const char = String.fromCharCode(parseInt(hex, 16)); + // Decode only if it's unreserved + if (/[.~-]/.test(char)) { + return char; + } + return match; // leave other encodings intact + }); +} diff --git a/sdk/confidentialledger/arm-confidentialledger/test/snippets.spec.ts b/sdk/confidentialledger/arm-confidentialledger/test/snippets.spec.ts index f0d4a8165814..1164789a7f70 100644 --- a/sdk/confidentialledger/arm-confidentialledger/test/snippets.spec.ts +++ b/sdk/confidentialledger/arm-confidentialledger/test/snippets.spec.ts @@ -1,34 +1,23 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { ConfidentialLedgerClient } from "../src/index.js"; -import { - DefaultAzureCredential, - InteractiveBrowserCredential, -} from "@azure/identity"; +import { DefaultAzureCredential, InteractiveBrowserCredential } from "@azure/identity"; import { setLogLevel } from "@azure/logger"; import { describe, it } from "vitest"; describe("snippets", () => { it("ReadmeSampleCreateClient_Node", async () => { const subscriptionId = "00000000-0000-0000-0000-000000000000"; - const client = new ConfidentialLedgerClient( - new DefaultAzureCredential(), - subscriptionId, - ); + const client = new ConfidentialLedgerClient(new DefaultAzureCredential(), subscriptionId); }); it("ReadmeSampleCreateClient_Browser", async () => { - const subscriptionId = "00000000-0000-0000-0000-000000000000"; const credential = new InteractiveBrowserCredential({ tenantId: "", clientId: "", }); + const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new ConfidentialLedgerClient(credential, subscriptionId); }); diff --git a/sdk/confidentialledger/arm-confidentialledger/tsconfig.json b/sdk/confidentialledger/arm-confidentialledger/tsconfig.json index 4f50981fb333..d0a44aae0734 100644 --- a/sdk/confidentialledger/arm-confidentialledger/tsconfig.json +++ b/sdk/confidentialledger/arm-confidentialledger/tsconfig.json @@ -4,19 +4,22 @@ "path": "./config/tsconfig.src.esm.json" }, { - "path": "./config/tsconfig.src.cjs.json" + "path": "./config/tsconfig.src.browser.json" }, { - "path": "./config/tsconfig.src.browser.json" + "path": "./config/tsconfig.src.cjs.json" }, { "path": "./config/tsconfig.test.node.json" }, { - "path": "./config/tsconfig.snippets.json" + "path": "./config/tsconfig.test.browser.json" }, { "path": "./config/tsconfig.samples.json" + }, + { + "path": "./config/tsconfig.snippets.json" } ], "files": [] diff --git a/sdk/confidentialledger/arm-confidentialledger/tsp-location.yaml b/sdk/confidentialledger/arm-confidentialledger/tsp-location.yaml new file mode 100644 index 000000000000..455baec9b985 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/tsp-location.yaml @@ -0,0 +1,4 @@ +directory: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/ConfidentialLedger +commit: 5844a51fbf0a1dcc72001ce84dd2078f0f01a2d9 +repo: Azure/azure-rest-api-specs +additionalDirectories: diff --git a/sdk/confidentialledger/arm-confidentialledger/warp.config.yml b/sdk/confidentialledger/arm-confidentialledger/warp.config.yml index 326e6c0415c8..386add61f280 100644 --- a/sdk/confidentialledger/arm-confidentialledger/warp.config.yml +++ b/sdk/confidentialledger/arm-confidentialledger/warp.config.yml @@ -1,5 +1,12 @@ +# warp.config.yml — build configuration -extends: ../../../warp.base.config.yml +exports: + "./package.json": "./package.json" + ".": "./src/index.ts" + "./api": "./src/api/index.ts" + "./api/ledger": "./src/api/ledger/index.ts" + "./api/operations": "./src/api/operations/index.ts" + "./models": "./src/models/index.ts" targets: - name: browser diff --git a/sdk/confidentialledger/ci.mgmt.yml b/sdk/confidentialledger/ci.mgmt.yml index b571a1013827..d8073ef4230a 100644 --- a/sdk/confidentialledger/ci.mgmt.yml +++ b/sdk/confidentialledger/ci.mgmt.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -13,7 +13,6 @@ trigger: include: - sdk/confidentialledger/arm-confidentialledger - sdk/confidentialledger/ci.mgmt.yml - pr: branches: include: @@ -27,7 +26,6 @@ pr: include: - sdk/confidentialledger/arm-confidentialledger - sdk/confidentialledger/ci.mgmt.yml - extends: template: /eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: @@ -35,4 +33,3 @@ extends: Artifacts: - name: azure-arm-confidentialledger safeName: azurearmconfidentialledger - \ No newline at end of file From 77d8decdc13a27b32b4a28ed6b6759cf9c846df0 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" Date: Mon, 1 Jun 2026 14:19:31 +0800 Subject: [PATCH 2/3] update --- .../arm-confidentialledger/assets.json | 2 +- .../config/tspconfig.lint.json | 7 +++++ .../arm-confidentialledger/eslint.config.mjs | 29 +++++++++++++------ .../arm-confidentialledger/package.json | 4 +-- 4 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json diff --git a/sdk/confidentialledger/arm-confidentialledger/assets.json b/sdk/confidentialledger/arm-confidentialledger/assets.json index 25da34955c26..566cac1bac55 100644 --- a/sdk/confidentialledger/arm-confidentialledger/assets.json +++ b/sdk/confidentialledger/arm-confidentialledger/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "js", "TagPrefix": "js/confidentialledger/arm-confidentialledger", - "Tag": "js/confidentialledger/arm-confidentialledger_793af17d06" + "Tag": "js/confidentialledger/arm-confidentialledger_5ef16612f8" } diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json b/sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json new file mode 100644 index 000000000000..8431a95cbcb1 --- /dev/null +++ b/sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json @@ -0,0 +1,7 @@ +{ + "extends": "../../../../tsconfig.json", + "include": [ + "../src", + "../test" + ] +} diff --git a/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs b/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs index 6d2f8a5914c3..93322da715ec 100644 --- a/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs +++ b/sdk/confidentialledger/arm-confidentialledger/eslint.config.mjs @@ -1,14 +1,25 @@ import azsdkEslint from "@azure/eslint-plugin-azure-sdk"; -export default azsdkEslint.config([ +export default [ + ...azsdkEslint.config([ + { + rules: { + "@azure/azure-sdk/ts-modules-only-named": "warn", + "@azure/azure-sdk/ts-package-json-types": "warn", + "@azure/azure-sdk/ts-package-json-engine-is-present": "warn", + "@azure/azure-sdk/ts-package-json-files-required": "off", + "@azure/azure-sdk/ts-package-json-main-is-cjs": "off", + "tsdoc/syntax": "warn", + }, + }, + ]), { - rules: { - "@azure/azure-sdk/ts-modules-only-named": "warn", - "@azure/azure-sdk/ts-package-json-types": "warn", - "@azure/azure-sdk/ts-package-json-engine-is-present": "warn", - "@azure/azure-sdk/ts-package-json-files-required": "off", - "@azure/azure-sdk/ts-package-json-main-is-cjs": "off", - "tsdoc/syntax": "warn", + files: ["src/**/*.ts", "src/**/*.mts", "test/**/*.ts"], + languageOptions: { + parserOptions: { + projectService: false, + project: "./config/tsconfig.lint.json", + }, }, }, -]); +]; diff --git a/sdk/confidentialledger/arm-confidentialledger/package.json b/sdk/confidentialledger/arm-confidentialledger/package.json index aa0e7ac9823d..4d7baba7cea3 100644 --- a/sdk/confidentialledger/arm-confidentialledger/package.json +++ b/sdk/confidentialledger/arm-confidentialledger/package.json @@ -166,11 +166,11 @@ "execute:samples": "dev-tool samples run samples-dev", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\" \"samples-dev/*.ts\"", "generate:client": "echo skipped", - "test:browser": "dev-tool run build-test && dev-tool run test:vitest --browser", + "test:browser": "dev-tool run test:vitest --browser", "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api", "test:node": "dev-tool run test:vitest", "test:node:esm": "dev-tool run test:vitest --esm", - "test": "npm run test:node && npm run test:browser", + "test": "tsc -b --noEmit && npm run test:node && npm run test:browser", "update-snippets": "dev-tool run update-snippets" }, "//sampleConfiguration": { From 3ba9d7dc8b10481e2b2c16884de945ced174c862 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" Date: Mon, 1 Jun 2026 18:01:34 +0800 Subject: [PATCH 3/3] update --- .../config/{tspconfig.lint.json => tsconfig.lint.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sdk/confidentialledger/arm-confidentialledger/config/{tspconfig.lint.json => tsconfig.lint.json} (100%) diff --git a/sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json b/sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json similarity index 100% rename from sdk/confidentialledger/arm-confidentialledger/config/tspconfig.lint.json rename to sdk/confidentialledger/arm-confidentialledger/config/tsconfig.lint.json