diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index b71e08ea50a9..20f8386fb5fb 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14078,7 +14078,7 @@ packages: dev: false file:projects/arm-redisenterprisecache.tgz: - resolution: {integrity: sha512-4uA0DnlOVKog890YujHlp5PAr4wMFtzXAn+ha0Kk0++q2MVMuQdlpSe5Yevt5nxfpXcVRehyxRq1ycIumgb8ag==, tarball: file:projects/arm-redisenterprisecache.tgz} + resolution: {integrity: sha512-l/T+/lyxzOD2NzEGtRrkGfVGqsUkqpwfJ5Dp9tn1+3GeXf9cGzS6Q3T3n70gBxq7Z+OXveltpeJTTSb1262uiQ==, tarball: file:projects/arm-redisenterprisecache.tgz} name: '@rush-temp/arm-redisenterprisecache' version: 0.0.0 dependencies: @@ -14089,6 +14089,8 @@ packages: '@rollup/plugin-json': 4.1.0_rollup@2.79.1 '@rollup/plugin-multi-entry': 4.1.0_rollup@2.79.1 '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 + '@types/chai': 4.3.3 + chai: 4.3.6 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 @@ -14096,11 +14098,10 @@ packages: rollup: 2.79.1 rollup-plugin-sourcemaps: 0.6.3_rollup@2.79.1 tslib: 2.4.0 - typescript: 4.2.4 + typescript: 4.6.4 uglify-js: 3.17.4 transitivePeerDependencies: - '@types/node' - - encoding - supports-color dev: false @@ -15551,7 +15552,7 @@ packages: dev: false file:projects/communication-email.tgz: - resolution: {integrity: sha512-RhI+WjqfaBqh0U8veuoa5ZrFNTH/LJzWkOM3Q85xPYbUjbnSRYz4EoAMjHQqVmj9hZvhSbouIUKVsBQ2oQM8jA==, tarball: file:projects/communication-email.tgz} + resolution: {integrity: sha512-JUM2HfVa7yIVOHZ2hdb4QjOe3EA0XgNw+8TTjKDJ4319hEcss0cdw4lSg6kBG/S1EGL+yjS+xY86YWkY68xw+g==, tarball: file:projects/communication-email.tgz} name: '@rush-temp/communication-email' version: 0.0.0 dependencies: @@ -17312,7 +17313,7 @@ packages: dev: false file:projects/keyvault-admin.tgz: - resolution: {integrity: sha512-zt5Iu56m9r0icm/kPw+dSYGCDhXP9YvUODLIlCinUSBZ8/dhcr2ovf57pb/5Ojqjuaxo2Lpj4ON9Q2Moc1pPYw==, tarball: file:projects/keyvault-admin.tgz} + resolution: {integrity: sha512-qegEv0paVx7dHJIGMtm8fTGiVf0AKTLUquBP7seg/SwQ2X1SMJR0O5XOJrIyfX1VBG7L+TSr04adfr/1TIR2YQ==, tarball: file:projects/keyvault-admin.tgz} name: '@rush-temp/keyvault-admin' version: 0.0.0 dependencies: @@ -18129,7 +18130,7 @@ packages: dev: false file:projects/perf-app-configuration.tgz: - resolution: {integrity: sha512-BzR9fvBllxo1pEws5GZiMxuzWLQ7KjDJMfrzlcfwWZIldYlntxGolkUbdVYKsQlxiiq6W+aq/OY8j3AGqI7cwQ==, tarball: file:projects/perf-app-configuration.tgz} + resolution: {integrity: sha512-b33BULpxOX6J9dR9f56lJ7afd7XBXxEQZBtZwG3pq0Slu6LjWh717zNT0t+HV/uNPpDTUySako6JAzVPT5yJWQ==, tarball: file:projects/perf-app-configuration.tgz} name: '@rush-temp/perf-app-configuration' version: 0.0.0 dependencies: @@ -18512,7 +18513,7 @@ packages: dev: false file:projects/perf-template.tgz: - resolution: {integrity: sha512-CR7LZ2mTcTzlarWLzMt5NaXWF8Wqyxkq9XPVS7BXzPMLAUx2sjTkZtDBuNK0UQ+lGJ3uqhpokEQO6A6jw9fwtg==, tarball: file:projects/perf-template.tgz} + resolution: {integrity: sha512-vkGuclIBHH0EYig/IAlJuKXo0FPxnqH3LWulE/Ibe4LUnjHFEv6qTEtps9HpSL/UhkERBiBJo5o7wsNO/ElgwA==, tarball: file:projects/perf-template.tgz} name: '@rush-temp/perf-template' version: 0.0.0 dependencies: diff --git a/sdk/redisenterprise/arm-redisenterprisecache/CHANGELOG.md b/sdk/redisenterprise/arm-redisenterprisecache/CHANGELOG.md index 0a872c98438b..05a4d2f01987 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/CHANGELOG.md +++ b/sdk/redisenterprise/arm-redisenterprisecache/CHANGELOG.md @@ -1,15 +1,17 @@ # Release History + +## 2.2.0 (2022-11-03) + +**Features** -## 2.1.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added Interface Cluster + - Added Interface Database + - Added Interface PrivateEndpointConnection + - Added Interface PrivateLinkResource + - Added Interface ProxyResource + - Added Interface TrackedResource + + ## 2.1.0 (2022-04-11) **Features** diff --git a/sdk/redisenterprise/arm-redisenterprisecache/_meta.json b/sdk/redisenterprise/arm-redisenterprisecache/_meta.json index 5b6ba3265527..4c27dcedf31f 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/_meta.json +++ b/sdk/redisenterprise/arm-redisenterprisecache/_meta.json @@ -1,8 +1,8 @@ { - "commit": "468e23d2ac1bd3f3956924eadc2cc881a2b37e73", + "commit": "69236c863dad79dc8bd0ba644f1359e0927e4a7e", "readme": "specification/redisenterprise/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\redisenterprise\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.18.20220329.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/redisenterprise/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.2", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.2.1", - "use": "@autorest/typescript@6.0.0-alpha.18.20220329.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.5.0", + "use": "@autorest/typescript@6.0.0-rc.2" } \ No newline at end of file diff --git a/sdk/redisenterprise/arm-redisenterprisecache/package.json b/sdk/redisenterprise/arm-redisenterprisecache/package.json index 42caeb8f3172..5ed7f08fa1aa 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/package.json +++ b/sdk/redisenterprise/arm-redisenterprisecache/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for RedisEnterpriseManagementClient.", - "version": "2.1.1", + "version": "2.2.0", "engines": { "node": ">=14.0.0" }, @@ -11,9 +11,9 @@ "@azure/core-lro": "^2.2.0", "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", - "@azure/core-client": "^1.0.0", + "@azure/core-client": "^1.5.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.8.0", "tslib": "^2.2.0" }, "keywords": [ @@ -36,13 +36,17 @@ "mkdirp": "^1.0.4", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~4.2.0", + "typescript": "~4.6.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/redisenterprise/arm-redisenterprisecache", "repository": { @@ -93,9 +97,8 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", - "integration-test:browser": "echo skipped", - "docs": "echo skipped" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { @@ -106,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-redisenterprisecache?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/redisenterprise/arm-redisenterprisecache/review/arm-redisenterprisecache.api.md b/sdk/redisenterprise/arm-redisenterprisecache/review/arm-redisenterprisecache.api.md index bfdf883104f7..31843c44178a 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/review/arm-redisenterprisecache.api.md +++ b/sdk/redisenterprise/arm-redisenterprisecache/review/arm-redisenterprisecache.api.md @@ -26,16 +26,16 @@ export type ActionType = string; export type AofFrequency = string; // @public -export type Cluster = TrackedResource & { - sku: Sku; - zones?: string[]; - minimumTlsVersion?: TlsVersion; +export interface Cluster extends TrackedResource { readonly hostName?: string; + minimumTlsVersion?: TlsVersion; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; readonly provisioningState?: ProvisioningState; - readonly resourceState?: ResourceState; readonly redisVersion?: string; - readonly privateEndpointConnections?: PrivateEndpointConnection[]; -}; + readonly resourceState?: ResourceState; + sku: Sku; + zones?: string[]; +} // @public export type ClusteringPolicy = string; @@ -61,17 +61,17 @@ export interface ClusterUpdate { } // @public -export type Database = ProxyResource & { +export interface Database extends ProxyResource { clientProtocol?: Protocol; - port?: number; - readonly provisioningState?: ProvisioningState; - readonly resourceState?: ResourceState; clusteringPolicy?: ClusteringPolicy; evictionPolicy?: EvictionPolicy; - persistence?: Persistence; - modules?: Module[]; geoReplication?: DatabasePropertiesGeoReplication; -}; + modules?: Module[]; + persistence?: Persistence; + port?: number; + readonly provisioningState?: ProvisioningState; + readonly resourceState?: ResourceState; +} // @public export interface DatabaseList { @@ -238,179 +238,118 @@ export interface ImportClusterParameters { // @public export enum KnownActionType { - // (undocumented) Internal = "Internal" } // @public export enum KnownAofFrequency { - // (undocumented) Always = "always", - // (undocumented) OneS = "1s" } // @public export enum KnownClusteringPolicy { - // (undocumented) EnterpriseCluster = "EnterpriseCluster", - // (undocumented) OSSCluster = "OSSCluster" } // @public export enum KnownEvictionPolicy { - // (undocumented) AllKeysLFU = "AllKeysLFU", - // (undocumented) AllKeysLRU = "AllKeysLRU", - // (undocumented) AllKeysRandom = "AllKeysRandom", - // (undocumented) NoEviction = "NoEviction", - // (undocumented) VolatileLFU = "VolatileLFU", - // (undocumented) VolatileLRU = "VolatileLRU", - // (undocumented) VolatileRandom = "VolatileRandom", - // (undocumented) VolatileTTL = "VolatileTTL" } // @public export enum KnownLinkState { - // (undocumented) Linked = "Linked", - // (undocumented) LinkFailed = "LinkFailed", - // (undocumented) Linking = "Linking", - // (undocumented) UnlinkFailed = "UnlinkFailed", - // (undocumented) Unlinking = "Unlinking" } // @public export enum KnownOrigin { - // (undocumented) System = "system", - // (undocumented) User = "user", - // (undocumented) UserSystem = "user,system" } // @public export enum KnownPrivateEndpointConnectionProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded" } // @public export enum KnownPrivateEndpointServiceConnectionStatus { - // (undocumented) Approved = "Approved", - // (undocumented) Pending = "Pending", - // (undocumented) Rejected = "Rejected" } // @public export enum KnownProtocol { - // (undocumented) Encrypted = "Encrypted", - // (undocumented) Plaintext = "Plaintext" } // @public export enum KnownProvisioningState { - // (undocumented) Canceled = "Canceled", - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownRdbFrequency { - // (undocumented) OneH = "1h", - // (undocumented) SixH = "6h", - // (undocumented) TwelveH = "12h" } // @public export enum KnownResourceState { - // (undocumented) CreateFailed = "CreateFailed", - // (undocumented) Creating = "Creating", - // (undocumented) DeleteFailed = "DeleteFailed", - // (undocumented) Deleting = "Deleting", - // (undocumented) Disabled = "Disabled", - // (undocumented) DisableFailed = "DisableFailed", - // (undocumented) Disabling = "Disabling", - // (undocumented) EnableFailed = "EnableFailed", - // (undocumented) Enabling = "Enabling", - // (undocumented) Running = "Running", - // (undocumented) UpdateFailed = "UpdateFailed", - // (undocumented) Updating = "Updating" } // @public export enum KnownSkuName { - // (undocumented) EnterpriseE10 = "Enterprise_E10", - // (undocumented) EnterpriseE100 = "Enterprise_E100", - // (undocumented) EnterpriseE20 = "Enterprise_E20", - // (undocumented) EnterpriseE50 = "Enterprise_E50", - // (undocumented) EnterpriseFlashF1500 = "EnterpriseFlash_F1500", - // (undocumented) EnterpriseFlashF300 = "EnterpriseFlash_F300", - // (undocumented) EnterpriseFlashF700 = "EnterpriseFlash_F700" } // @public export enum KnownTlsVersion { - // (undocumented) One0 = "1.0", - // (undocumented) One1 = "1.1", - // (undocumented) One2 = "1.2" } @@ -511,11 +450,11 @@ export interface PrivateEndpoint { } // @public -export type PrivateEndpointConnection = Resource & { +export interface PrivateEndpointConnection extends Resource { privateEndpoint?: PrivateEndpoint; privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; readonly provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} // @public export interface PrivateEndpointConnectionListResult { @@ -565,11 +504,11 @@ export type PrivateEndpointConnectionsPutResponse = PrivateEndpointConnection; export type PrivateEndpointServiceConnectionStatus = string; // @public -export type PrivateLinkResource = Resource & { +export interface PrivateLinkResource extends Resource { readonly groupId?: string; readonly requiredMembers?: string[]; requiredZoneNames?: string[]; -}; +} // @public export interface PrivateLinkResourceListResult { @@ -602,7 +541,8 @@ export type Protocol = string; export type ProvisioningState = string; // @public -export type ProxyResource = Resource & {}; +export interface ProxyResource extends Resource { +} // @public export type RdbFrequency = string; @@ -737,12 +677,12 @@ export type SkuName = string; export type TlsVersion = string; // @public -export type TrackedResource = Resource & { +export interface TrackedResource extends Resource { + location: string; tags?: { [propertyName: string]: string; }; - location: string; -}; +} // (No @packageDocumentation comment for this package) diff --git a/sdk/redisenterprise/arm-redisenterprisecache/src/models/index.ts b/sdk/redisenterprise/arm-redisenterprisecache/src/models/index.ts index b688726da85c..008564f03f2a 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/src/models/index.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/src/models/index.ts @@ -363,7 +363,7 @@ export interface ForceUnlinkParameters { } /** The Private Endpoint Connection resource. */ -export type PrivateEndpointConnection = Resource & { +export interface PrivateEndpointConnection extends Resource { /** The resource of private end point. */ privateEndpoint?: PrivateEndpoint; /** A collection of information about the state of the connection between service consumer and provider. */ @@ -373,21 +373,21 @@ export type PrivateEndpointConnection = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} /** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ -export type TrackedResource = Resource & { +export interface TrackedResource extends Resource { /** Resource tags. */ tags?: { [propertyName: string]: string }; /** The geo-location where the resource lives */ location: string; -}; +} /** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ -export type ProxyResource = Resource & {}; +export interface ProxyResource extends Resource {} /** A private link resource */ -export type PrivateLinkResource = Resource & { +export interface PrivateLinkResource extends Resource { /** * The private link resource group id. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -400,10 +400,10 @@ export type PrivateLinkResource = Resource & { readonly requiredMembers?: string[]; /** The private link resource Private link DNS zone name. */ requiredZoneNames?: string[]; -}; +} /** Describes the RedisEnterprise cluster */ -export type Cluster = TrackedResource & { +export interface Cluster extends TrackedResource { /** The SKU to create, which affects price, performance, and features. */ sku: Sku; /** The Availability Zones where this cluster will be deployed. */ @@ -435,10 +435,10 @@ export type Cluster = TrackedResource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly privateEndpointConnections?: PrivateEndpointConnection[]; -}; +} /** Describes a database on the RedisEnterprise cluster */ -export type Database = ProxyResource & { +export interface Database extends ProxyResource { /** Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. */ clientProtocol?: Protocol; /** TCP port of the database endpoint. Specified at create time. Defaults to an available port. */ @@ -463,12 +463,15 @@ export type Database = ProxyResource & { modules?: Module[]; /** Optional set of properties to configure geo replication for this database. */ geoReplication?: DatabasePropertiesGeoReplication; -}; +} /** Known values of {@link Origin} that the service accepts. */ export enum KnownOrigin { + /** User */ User = "user", + /** System */ System = "system", + /** UserSystem */ UserSystem = "user,system" } @@ -485,6 +488,7 @@ export type Origin = string; /** Known values of {@link ActionType} that the service accepts. */ export enum KnownActionType { + /** Internal */ Internal = "Internal" } @@ -499,12 +503,19 @@ export type ActionType = string; /** Known values of {@link SkuName} that the service accepts. */ export enum KnownSkuName { + /** EnterpriseE10 */ EnterpriseE10 = "Enterprise_E10", + /** EnterpriseE20 */ EnterpriseE20 = "Enterprise_E20", + /** EnterpriseE50 */ EnterpriseE50 = "Enterprise_E50", + /** EnterpriseE100 */ EnterpriseE100 = "Enterprise_E100", + /** EnterpriseFlashF300 */ EnterpriseFlashF300 = "EnterpriseFlash_F300", + /** EnterpriseFlashF700 */ EnterpriseFlashF700 = "EnterpriseFlash_F700", + /** EnterpriseFlashF1500 */ EnterpriseFlashF1500 = "EnterpriseFlash_F1500" } @@ -525,8 +536,11 @@ export type SkuName = string; /** Known values of {@link TlsVersion} that the service accepts. */ export enum KnownTlsVersion { + /** One0 */ One0 = "1.0", + /** One1 */ One1 = "1.1", + /** One2 */ One2 = "1.2" } @@ -543,11 +557,17 @@ export type TlsVersion = string; /** Known values of {@link ProvisioningState} that the service accepts. */ export enum KnownProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Canceled */ Canceled = "Canceled", + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Deleting */ Deleting = "Deleting" } @@ -567,17 +587,29 @@ export type ProvisioningState = string; /** Known values of {@link ResourceState} that the service accepts. */ export enum KnownResourceState { + /** Running */ Running = "Running", + /** Creating */ Creating = "Creating", + /** CreateFailed */ CreateFailed = "CreateFailed", + /** Updating */ Updating = "Updating", + /** UpdateFailed */ UpdateFailed = "UpdateFailed", + /** Deleting */ Deleting = "Deleting", + /** DeleteFailed */ DeleteFailed = "DeleteFailed", + /** Enabling */ Enabling = "Enabling", + /** EnableFailed */ EnableFailed = "EnableFailed", + /** Disabling */ Disabling = "Disabling", + /** DisableFailed */ DisableFailed = "DisableFailed", + /** Disabled */ Disabled = "Disabled" } @@ -603,8 +635,11 @@ export type ResourceState = string; /** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ export enum KnownPrivateEndpointServiceConnectionStatus { + /** Pending */ Pending = "Pending", + /** Approved */ Approved = "Approved", + /** Rejected */ Rejected = "Rejected" } @@ -621,9 +656,13 @@ export type PrivateEndpointServiceConnectionStatus = string; /** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ export enum KnownPrivateEndpointConnectionProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Creating */ Creating = "Creating", + /** Deleting */ Deleting = "Deleting", + /** Failed */ Failed = "Failed" } @@ -641,7 +680,9 @@ export type PrivateEndpointConnectionProvisioningState = string; /** Known values of {@link Protocol} that the service accepts. */ export enum KnownProtocol { + /** Encrypted */ Encrypted = "Encrypted", + /** Plaintext */ Plaintext = "Plaintext" } @@ -657,7 +698,9 @@ export type Protocol = string; /** Known values of {@link ClusteringPolicy} that the service accepts. */ export enum KnownClusteringPolicy { + /** EnterpriseCluster */ EnterpriseCluster = "EnterpriseCluster", + /** OSSCluster */ OSSCluster = "OSSCluster" } @@ -673,13 +716,21 @@ export type ClusteringPolicy = string; /** Known values of {@link EvictionPolicy} that the service accepts. */ export enum KnownEvictionPolicy { + /** AllKeysLFU */ AllKeysLFU = "AllKeysLFU", + /** AllKeysLRU */ AllKeysLRU = "AllKeysLRU", + /** AllKeysRandom */ AllKeysRandom = "AllKeysRandom", + /** VolatileLRU */ VolatileLRU = "VolatileLRU", + /** VolatileLFU */ VolatileLFU = "VolatileLFU", + /** VolatileTTL */ VolatileTTL = "VolatileTTL", + /** VolatileRandom */ VolatileRandom = "VolatileRandom", + /** NoEviction */ NoEviction = "NoEviction" } @@ -701,7 +752,9 @@ export type EvictionPolicy = string; /** Known values of {@link AofFrequency} that the service accepts. */ export enum KnownAofFrequency { + /** OneS */ OneS = "1s", + /** Always */ Always = "always" } @@ -717,8 +770,11 @@ export type AofFrequency = string; /** Known values of {@link RdbFrequency} that the service accepts. */ export enum KnownRdbFrequency { + /** OneH */ OneH = "1h", + /** SixH */ SixH = "6h", + /** TwelveH */ TwelveH = "12h" } @@ -735,10 +791,15 @@ export type RdbFrequency = string; /** Known values of {@link LinkState} that the service accepts. */ export enum KnownLinkState { + /** Linked */ Linked = "Linked", + /** Linking */ Linking = "Linking", + /** Unlinking */ Unlinking = "Unlinking", + /** LinkFailed */ LinkFailed = "LinkFailed", + /** UnlinkFailed */ UnlinkFailed = "UnlinkFailed" } diff --git a/sdk/redisenterprise/arm-redisenterprisecache/src/models/parameters.ts b/sdk/redisenterprise/arm-redisenterprisecache/src/models/parameters.ts index eb599b1f0600..578c2b61c331 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/src/models/parameters.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/src/models/parameters.ts @@ -74,6 +74,9 @@ export const nextLink: OperationURLParameter = { export const location: OperationURLParameter = { parameterPath: "location", mapper: { + constraints: { + MinLength: 1 + }, serializedName: "location", required: true, type: { @@ -85,6 +88,9 @@ export const location: OperationURLParameter = { export const operationId: OperationURLParameter = { parameterPath: "operationId", mapper: { + constraints: { + MinLength: 1 + }, serializedName: "operationId", required: true, type: { diff --git a/sdk/redisenterprise/arm-redisenterprisecache/src/operations/operationsStatus.ts b/sdk/redisenterprise/arm-redisenterprisecache/src/operations/operationsStatus.ts index 2fc2e330a963..36d2abc4e484 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/src/operations/operationsStatus.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/src/operations/operationsStatus.ts @@ -30,8 +30,8 @@ export class OperationsStatusImpl implements OperationsStatus { /** * Gets the status of operation. - * @param location The region the operation is in. - * @param operationId The operation's unique identifier. + * @param location The name of Azure region. + * @param operationId The ID of an ongoing async operation. * @param options The options parameters. */ get( diff --git a/sdk/redisenterprise/arm-redisenterprisecache/src/operationsInterfaces/operationsStatus.ts b/sdk/redisenterprise/arm-redisenterprisecache/src/operationsInterfaces/operationsStatus.ts index 1b05cbcca2f4..ebd95b095ec9 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/src/operationsInterfaces/operationsStatus.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/src/operationsInterfaces/operationsStatus.ts @@ -15,8 +15,8 @@ import { export interface OperationsStatus { /** * Gets the status of operation. - * @param location The region the operation is in. - * @param operationId The operation's unique identifier. + * @param location The name of Azure region. + * @param operationId The ID of an ongoing async operation. * @param options The options parameters. */ get( diff --git a/sdk/redisenterprise/arm-redisenterprisecache/src/redisEnterpriseManagementClient.ts b/sdk/redisenterprise/arm-redisenterprisecache/src/redisEnterpriseManagementClient.ts index 5e5088580884..7ba12d7bfe91 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/src/redisEnterpriseManagementClient.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/src/redisEnterpriseManagementClient.ts @@ -7,6 +7,12 @@ */ 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, @@ -58,7 +64,7 @@ export class RedisEnterpriseManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-redisenterprisecache/2.1.1`; + const packageDetails = `azsdk-js-arm-redisenterprisecache/2.2.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -77,6 +83,36 @@ export class RedisEnterpriseManagementClient extends coreClient.ServiceClient { 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}`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } // Parameter assignments this.subscriptionId = subscriptionId; @@ -89,6 +125,35 @@ export class RedisEnterpriseManagementClient extends coreClient.ServiceClient { this.databases = new DatabasesImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** 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); } operations: Operations; diff --git a/sdk/redisenterprise/arm-redisenterprisecache/test/sampleTest.ts b/sdk/redisenterprise/arm-redisenterprisecache/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/test/sampleTest.ts +++ b/sdk/redisenterprise/arm-redisenterprisecache/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - 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" - }, - customizationsOnRecordings: [ - (recording: any): any => - recording.replace( - /"access_token":"[^"]*"/g, - `"access_token":"access_token"` - ) - ], - queryParametersToSkip: [] +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() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() { diff --git a/sdk/redisenterprise/arm-redisenterprisecache/tsconfig.json b/sdk/redisenterprise/arm-redisenterprisecache/tsconfig.json index b929ba4f3f0f..3e6ae96443f3 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/tsconfig.json +++ b/sdk/redisenterprise/arm-redisenterprisecache/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-redisenterprisecache": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"