Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AutoPR @azure/arm-cosmosdb] [CosmosDB][2021-11-15-preview] Client Side Encryption - Added new algorithm field in KeyWrapMetadata . #7790

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions common/config/rush/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 2 additions & 12 deletions sdk/cosmosdb/arm-cosmosdb/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
# Release History

## 16.0.0-beta.2 (Unreleased)

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes

## 16.0.0-beta.1 (2022-02-21)

## 16.0.0-beta.2 (2022-02-25)

**Features**

Expand Down
11 changes: 0 additions & 11 deletions sdk/cosmosdb/arm-cosmosdb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ Azure Cosmos DB Database Service Resource Provider REST API
- [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.

### Prerequisites

- An [Azure subscription][azure_sub].
Expand Down Expand Up @@ -51,17 +49,8 @@ For more information about how to create an Azure AD Application check out [this
```javascript
const { CosmosDBManagementClient } = require("@azure/arm-cosmosdb");
const { DefaultAzureCredential } = require("@azure/identity");
// For client-side applications running in the browser, use InteractiveBrowserCredential instead of DefaultAzureCredential. See https://aka.ms/azsdk/js/identity/examples for more details.

const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new CosmosDBManagementClient(new DefaultAzureCredential(), subscriptionId);

// For client-side applications running in the browser, use this code instead:
// const credential = new InteractiveBrowserCredential({
// tenantId: "<YOUR_TENANT_ID>",
// clientId: "<YOUR_CLIENT_ID>"
// });
// const client = new CosmosDBManagementClient(credential, subscriptionId);
```


Expand Down
6 changes: 3 additions & 3 deletions sdk/cosmosdb/arm-cosmosdb/_meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"commit": "bb9f1204f9a337404ff7e7b73b4c7b4ddde7f8f1",
"commit": "ba07552080b88192d739cea21c41c15ee14c7e5f",
"readme": "specification/cosmos-db/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:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/cosmos-db/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220217.1",
"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=/home/vsts/work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/cosmos-db/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220105.1",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"use": "@autorest/typescript@6.0.0-alpha.16.20220217.1"
"use": "@autorest/typescript@6.0.0-alpha.16.20220105.1"
}
24 changes: 8 additions & 16 deletions sdk/cosmosdb/arm-cosmosdb/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"sdk-type": "mgmt",
"author": "Microsoft Corporation",
"description": "A generated SDK for CosmosDBManagementClient.",
"version": "16.0.0-beta.2",
"version": "1.0.0-beta.1",
"engines": {
"node": ">=12.0.0"
},
Expand All @@ -29,13 +29,13 @@
"types": "./types/arm-cosmosdb.d.ts",
"devDependencies": {
"@microsoft/api-extractor": "^7.18.11",
"@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-multi-entry": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.1.3",
"@rollup/plugin-commonjs": "11.0.2",
"@rollup/plugin-json": "^4.0.0",
"@rollup/plugin-multi-entry": "^3.0.0",
"@rollup/plugin-node-resolve": "^8.0.0",
"mkdirp": "^1.0.4",
"rollup": "^2.66.1",
"rollup-plugin-sourcemaps": "^0.6.3",
"rollup": "^1.16.3",
"rollup-plugin-sourcemaps": "^0.4.2",
"typescript": "~4.2.0",
"uglify-js": "^3.4.9",
"rimraf": "^3.0.0",
Expand Down Expand Up @@ -98,13 +98,5 @@
"docs": "echo skipped"
},
"sideEffects": false,
"//metadata": {
"constantPaths": [
{
"path": "src/cosmosDBManagementClient.ts",
"prefix": "packageDetails"
}
]
},
"autoPublish": true
}
}
1 change: 1 addition & 0 deletions sdk/cosmosdb/arm-cosmosdb/review/arm-cosmosdb.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1899,6 +1899,7 @@ export type KeyKind = string;

// @public
export interface KeyWrapMetadata {
algorithm?: string;
name?: string;
type?: string;
value?: string;
Expand Down
78 changes: 72 additions & 6 deletions sdk/cosmosdb/arm-cosmosdb/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,62 @@ import json from "@rollup/plugin-json";

import nodeBuiltins from "builtin-modules";

/**
* Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api.
*
* NOTE: this manual configuration is only needed because OpenTelemetry uses an
* __exportStar downleveled helper function to declare its exports which confuses
* rollup's automatic discovery mechanism.
*
* @returns an object reference that can be `...`'d into your cjs() configuration.
*/
export function openTelemetryCommonJs() {
const namedExports = {};

for (const key of [
"@opentelemetry/api",
"@azure/core-tracing/node_modules/@opentelemetry/api"
]) {
namedExports[key] = [
"SpanKind",
"TraceFlags",
"getSpan",
"setSpan",
"SpanStatusCode",
"getSpanContext",
"setSpanContext"
];
}

const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"];

for (const version of releasedOpenTelemetryVersions) {
namedExports[
// working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path.
`../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js`
] = [
"SpanKind",
"TraceFlags",
"getSpan",
"setSpan",
"StatusCode",
"CanonicalCode",
"getSpanContext",
"setSpanContext"
];
}

return namedExports;
}

// #region Warning Handler

/**
* A function that can determine whether a rollup warning should be ignored. If
* A function that can determine whether a rollupwarning should be ignored. If
* the function returns `true`, then the warning will not be displayed.
*/

function ignoreNiseSinonEval(warning) {
function ignoreNiseSinonEvalWarnings(warning) {
return (
warning.code === "EVAL" &&
warning.id &&
Expand All @@ -30,14 +78,17 @@ function ignoreNiseSinonEval(warning) {
);
}

function ignoreChaiCircularDependency(warning) {
function ignoreChaiCircularDependencyWarnings(warning) {
return (
warning.code === "CIRCULAR_DEPENDENCY" &&
warning.importer && warning.importer.includes("node_modules/chai") === true
);
}

const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval];
const warningInhibitors = [
ignoreChaiCircularDependencyWarnings,
ignoreNiseSinonEvalWarnings
];

/**
* Construct a warning handler for the shared rollup configuration
Expand Down Expand Up @@ -71,7 +122,22 @@ function makeBrowserTestConfig() {
nodeResolve({
mainFields: ["module", "browser"]
}),
cjs(),
cjs({
namedExports: {
// Chai's strange internal architecture makes it impossible to statically
// analyze its exports.
chai: [
"version",
"use",
"util",
"config",
"expect",
"should",
"assert"
],
...openTelemetryCommonJs()
}
}),
json(),
sourcemaps()
//viz({ filename: "dist-test/browser-stats.html", sourcemap: true })
Expand Down Expand Up @@ -107,7 +173,7 @@ export function makeConfig(pkg, options) {
],
output: { file: "dist/index.js", format: "cjs", sourcemap: true },
preserveSymlinks: false,
plugins: [sourcemaps(), nodeResolve()]
plugins: [sourcemaps(), nodeResolve(), cjs()]
};

const config = [baseConfig];
Expand Down
2 changes: 2 additions & 0 deletions sdk/cosmosdb/arm-cosmosdb/src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -842,6 +842,8 @@ export interface KeyWrapMetadata {
type?: string;
/** Reference / link to the KeyEncryptionKey. */
value?: string;
/** Algorithm used in wrapping and unwrapping of the data encryption key. */
algorithm?: string;
}

/** The resource model definition for a ARM proxy resource. It will have everything other than required location and tags */
Expand Down
6 changes: 6 additions & 0 deletions sdk/cosmosdb/arm-cosmosdb/src/models/mappers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1973,6 +1973,12 @@ export const KeyWrapMetadata: coreClient.CompositeMapper = {
type: {
name: "String"
}
},
algorithm: {
serializedName: "algorithm",
type: {
name: "String"
}
}
}
}
Expand Down
48 changes: 48 additions & 0 deletions sdk/cosmosdb/arm-cosmosdb/test/sampleTest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* 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 {
env,
record,
RecorderEnvironmentSetup,
Recorder
} from "@azure-tools/test-recorder";
import * as assert from "assert";

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: []
};

describe("My test", () => {
let recorder: Recorder;

beforeEach(async function() {
recorder = record(this, recorderEnvSetup);
});

afterEach(async function() {
await recorder.stop();
});

it("sample test", async function() {
console.log("Hi, I'm a test!");
});
});
10 changes: 5 additions & 5 deletions sdk/cosmosdb/ci.mgmt.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.

trigger:
branches:
include:
Expand All @@ -10,7 +10,7 @@ trigger:
include:
- sdk/cosmosdb/arm-cosmosdb/
- sdk/cosmosdb/ci.mgmt.yml

- sdk/cosmosdb/arm-cosmosdb
pr:
branches:
include:
Expand All @@ -19,16 +19,16 @@ pr:
- release/*
- hotfix/*
exclude:
- feature/v4
- feature/v4
paths:
include:
- sdk/cosmosdb/arm-cosmosdb/
- sdk/cosmosdb/ci.mgmt.yml

- sdk/cosmosdb/arm-cosmosdb
extends:
template: /eng/pipelines/templates/stages/archetype-sdk-client.yml
parameters:
ServiceDirectory: cosmosdb
Artifacts:
- name: azure-arm-cosmosdb
safeName: azurearmcosmosdb
safeName: azurearmcosmosdb
Loading