diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 6580b036846c..4506b3cd582e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14121,7 +14121,7 @@ packages: dev: false file:projects/arm-recoveryservices.tgz: - resolution: {integrity: sha512-d+ex8sh5G7PLClGTy7nxGd5oftJoPSpi13ovAm4RNkn2PYmqCrs0v3AxLgsDqAFPDsz2C9heNi/hNCVgtkPf/A==, tarball: file:projects/arm-recoveryservices.tgz} + resolution: {integrity: sha512-QtyJPlPOBDp2VCQ1pWPFfulRPiIV/0aN3PulzMeoiZFJgdmhOp0BqzcI2eqh9rfKm3IpORV06tutuEHibUPUKA==, tarball: file:projects/arm-recoveryservices.tgz} name: '@rush-temp/arm-recoveryservices' version: 0.0.0 dependencies: @@ -14141,7 +14141,7 @@ packages: rollup: 2.79.0 rollup-plugin-sourcemaps: 0.6.3_rollup@2.79.0 tslib: 2.4.0 - typescript: 4.6.4 + typescript: 4.2.4 uglify-js: 3.16.3 transitivePeerDependencies: - '@types/node' diff --git a/sdk/recoveryservices/arm-recoveryservices/CHANGELOG.md b/sdk/recoveryservices/arm-recoveryservices/CHANGELOG.md index 8df9b9de0d3c..36e68dcaffd7 100644 --- a/sdk/recoveryservices/arm-recoveryservices/CHANGELOG.md +++ b/sdk/recoveryservices/arm-recoveryservices/CHANGELOG.md @@ -1,5 +1,16 @@ # Release History +## 5.2.0 (2022-09-21) + +**Features** + + - Added Interface ImmutabilitySettings + - Added Interface SecuritySettings + - Added Type Alias ImmutabilityState + - Interface VaultProperties has a new optional parameter securitySettings + - Added Enum KnownImmutabilityState + + ## 5.1.0 (2022-07-22) **Features** diff --git a/sdk/recoveryservices/arm-recoveryservices/README.md b/sdk/recoveryservices/arm-recoveryservices/README.md index 4c2a2ef7b1ba..d73e2a0f752b 100644 --- a/sdk/recoveryservices/arm-recoveryservices/README.md +++ b/sdk/recoveryservices/arm-recoveryservices/README.md @@ -13,7 +13,7 @@ Recovery Services Client ### Currently supported environments -- [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule) +- [LTS versions of Node.js](https://nodejs.org/about/releases/) - Latest versions of Safari, Chrome, Edge and Firefox. See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. diff --git a/sdk/recoveryservices/arm-recoveryservices/_meta.json b/sdk/recoveryservices/arm-recoveryservices/_meta.json index ff30ff40780a..30fe0bddb1b9 100644 --- a/sdk/recoveryservices/arm-recoveryservices/_meta.json +++ b/sdk/recoveryservices/arm-recoveryservices/_meta.json @@ -1,8 +1,8 @@ { - "commit": "405811c51aa09803caedfe17fd305e110db1ca5e", + "commit": "174c900586585ae3435a30aa668766caec66dc18", "readme": "specification/recoveryservices/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --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\\recoveryservices\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.1.20220720.1 --generate-sample=true", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/recoveryservices/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.4.0", - "use": "@autorest/typescript@6.0.0-rc.1.20220720.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", + "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/recoveryservices/arm-recoveryservices/package.json b/sdk/recoveryservices/arm-recoveryservices/package.json index e551b5d95073..576572f05923 100644 --- a/sdk/recoveryservices/arm-recoveryservices/package.json +++ b/sdk/recoveryservices/arm-recoveryservices/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for RecoveryServicesClient.", - "version": "5.1.0", + "version": "5.2.0", "engines": { "node": ">=12.0.0" }, @@ -36,7 +36,7 @@ "mkdirp": "^1.0.4", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~4.6.0", + "typescript": "~4.2.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", @@ -109,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-recoveryservices?view=azure-node-preview" - } + "autoPublish": true } \ No newline at end of file diff --git a/sdk/recoveryservices/arm-recoveryservices/review/arm-recoveryservices.api.md b/sdk/recoveryservices/arm-recoveryservices/review/arm-recoveryservices.api.md index 12bf5a2f2c0c..abbb29c4523a 100644 --- a/sdk/recoveryservices/arm-recoveryservices/review/arm-recoveryservices.api.md +++ b/sdk/recoveryservices/arm-recoveryservices/review/arm-recoveryservices.api.md @@ -152,6 +152,15 @@ export interface IdentityData { }; } +// @public +export interface ImmutabilitySettings { + // (undocumented) + state?: ImmutabilityState; +} + +// @public +export type ImmutabilityState = string; + // @public export type InfrastructureEncryptionState = string; @@ -198,6 +207,13 @@ export enum KnownCrossRegionRestore { Enabled = "Enabled" } +// @public +export enum KnownImmutabilityState { + Disabled = "Disabled", + Locked = "Locked", + Unlocked = "Unlocked" +} + // @public export enum KnownInfrastructureEncryptionState { Disabled = "Disabled", @@ -570,6 +586,11 @@ export type ResourceIdentityType = string; // @public export type ResourceMoveState = string; +// @public +export interface SecuritySettings { + immutabilitySettings?: ImmutabilitySettings; +} + // @public export interface Sku { capacity?: string; @@ -726,6 +747,7 @@ export interface VaultProperties { readonly privateEndpointStateForSiteRecovery?: VaultPrivateEndpointState; readonly provisioningState?: string; redundancySettings?: VaultPropertiesRedundancySettings; + securitySettings?: SecuritySettings; upgradeDetails?: UpgradeDetails; } diff --git a/sdk/recoveryservices/arm-recoveryservices/src/models/index.ts b/sdk/recoveryservices/arm-recoveryservices/src/models/index.ts index aa94abb60040..04879956e864 100644 --- a/sdk/recoveryservices/arm-recoveryservices/src/models/index.ts +++ b/sdk/recoveryservices/arm-recoveryservices/src/models/index.ts @@ -305,6 +305,8 @@ export interface VaultProperties { monitoringSettings?: MonitoringSettings; /** The redundancy Settings of a Vault */ redundancySettings?: VaultPropertiesRedundancySettings; + /** Security Settings of the vault */ + securitySettings?: SecuritySettings; } /** Details for upgrading vault. */ @@ -517,6 +519,17 @@ export interface VaultPropertiesRedundancySettings { readonly crossRegionRestore?: CrossRegionRestore; } +/** Security Settings of the vault */ +export interface SecuritySettings { + /** Immutability Settings of a vault */ + immutabilitySettings?: ImmutabilitySettings; +} + +/** Immutability Settings of vault */ +export interface ImmutabilitySettings { + state?: ImmutabilityState; +} + /** Identifies the unique system identifier for each Azure resource. */ export interface Sku { /** Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig */ @@ -1052,6 +1065,27 @@ export enum KnownCrossRegionRestore { */ export type CrossRegionRestore = string; +/** Known values of {@link ImmutabilityState} that the service accepts. */ +export enum KnownImmutabilityState { + /** Disabled */ + Disabled = "Disabled", + /** Unlocked */ + Unlocked = "Unlocked", + /** Locked */ + Locked = "Locked" +} + +/** + * Defines values for ImmutabilityState. \ + * {@link KnownImmutabilityState} can be used interchangeably with ImmutabilityState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Disabled** \ + * **Unlocked** \ + * **Locked** + */ +export type ImmutabilityState = string; + /** Known values of {@link SkuName} that the service accepts. */ export enum KnownSkuName { /** Standard */ diff --git a/sdk/recoveryservices/arm-recoveryservices/src/models/mappers.ts b/sdk/recoveryservices/arm-recoveryservices/src/models/mappers.ts index ac2c711e56f4..2906d6f31c19 100644 --- a/sdk/recoveryservices/arm-recoveryservices/src/models/mappers.ts +++ b/sdk/recoveryservices/arm-recoveryservices/src/models/mappers.ts @@ -698,6 +698,13 @@ export const VaultProperties: coreClient.CompositeMapper = { name: "Composite", className: "VaultPropertiesRedundancySettings" } + }, + securitySettings: { + serializedName: "securitySettings", + type: { + name: "Composite", + className: "SecuritySettings" + } } } } @@ -1080,6 +1087,37 @@ export const VaultPropertiesRedundancySettings: coreClient.CompositeMapper = { } }; +export const SecuritySettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecuritySettings", + modelProperties: { + immutabilitySettings: { + serializedName: "immutabilitySettings", + type: { + name: "Composite", + className: "ImmutabilitySettings" + } + } + } + } +}; + +export const ImmutabilitySettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImmutabilitySettings", + modelProperties: { + state: { + serializedName: "state", + type: { + name: "String" + } + } + } + } +}; + export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", diff --git a/sdk/recoveryservices/arm-recoveryservices/src/models/parameters.ts b/sdk/recoveryservices/arm-recoveryservices/src/models/parameters.ts index 3295d24ccce6..fc18b9c90826 100644 --- a/sdk/recoveryservices/arm-recoveryservices/src/models/parameters.ts +++ b/sdk/recoveryservices/arm-recoveryservices/src/models/parameters.ts @@ -74,7 +74,7 @@ export const subscriptionId: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-04-01", + defaultValue: "2022-08-01", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/recoveryservices/arm-recoveryservices/src/recoveryServicesClient.ts b/sdk/recoveryservices/arm-recoveryservices/src/recoveryServicesClient.ts index a1d44222b1fd..7dbf46d2b633 100644 --- a/sdk/recoveryservices/arm-recoveryservices/src/recoveryServicesClient.ts +++ b/sdk/recoveryservices/arm-recoveryservices/src/recoveryServicesClient.ts @@ -78,7 +78,7 @@ export class RecoveryServicesClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-recoveryservices/5.1.0`; + const packageDetails = `azsdk-js-arm-recoveryservices/5.2.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -98,41 +98,34 @@ export class RecoveryServicesClient extends coreClient.ServiceClient { }; super(optionsWithDefaults); - let bearerTokenAuthenticationPolicyFound: boolean = false; if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); - bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + const 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}`, - challengeCallbacks: { - authorizeRequestOnChallenge: - coreClient.authorizeRequestOnClaimChallenge - } - }) - ); + if (!bearerTokenAuthenticationPolicyFound) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + scopes: `${optionsWithDefaults.baseUri}/.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 || "2022-04-01"; + this.apiVersion = options.apiVersion || "2022-08-01"; this.vaultCertificates = new VaultCertificatesImpl(this); this.registeredIdentities = new RegisteredIdentitiesImpl(this); this.replicationUsages = new ReplicationUsagesImpl(this); diff --git a/sdk/recoveryservices/arm-recoveryservices/test/sampleTest.ts b/sdk/recoveryservices/arm-recoveryservices/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/recoveryservices/arm-recoveryservices/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * 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 { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/recoveryservices/arm-recoveryservices/tsconfig.json b/sdk/recoveryservices/arm-recoveryservices/tsconfig.json index 8dfee3f17de0..3e6ae96443f3 100644 --- a/sdk/recoveryservices/arm-recoveryservices/tsconfig.json +++ b/sdk/recoveryservices/arm-recoveryservices/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-recoveryservices": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"