diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 694e81b4a476..8b144989a0cc 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -47,6 +47,7 @@ specifiers: '@rush-temp/arm-logic': file:./projects/arm-logic.tgz '@rush-temp/arm-managedapplications': file:./projects/arm-managedapplications.tgz '@rush-temp/arm-managementgroups': file:./projects/arm-managementgroups.tgz + '@rush-temp/arm-mariadb': file:./projects/arm-mariadb.tgz '@rush-temp/arm-mediaservices': file:./projects/arm-mediaservices.tgz '@rush-temp/arm-monitor': file:./projects/arm-monitor.tgz '@rush-temp/arm-msi': file:./projects/arm-msi.tgz @@ -228,6 +229,7 @@ dependencies: '@rush-temp/arm-logic': file:projects/arm-logic.tgz '@rush-temp/arm-managedapplications': file:projects/arm-managedapplications.tgz '@rush-temp/arm-managementgroups': file:projects/arm-managementgroups.tgz + '@rush-temp/arm-mariadb': file:projects/arm-mariadb.tgz '@rush-temp/arm-mediaservices': file:projects/arm-mediaservices.tgz '@rush-temp/arm-monitor': file:projects/arm-monitor.tgz '@rush-temp/arm-msi': file:projects/arm-msi.tgz @@ -6977,7 +6979,7 @@ packages: hasBin: true dev: false - /ts-node/10.4.0_276ff2ad8f60608417677a4691c0f835: + /ts-node/10.4.0_28670484a221c7e896c5d6b821a5cbb7: resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} hasBin: true peerDependencies: @@ -7003,11 +7005,11 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.2.4 + typescript: 4.4.4 yn: 3.1.1 dev: false - /ts-node/10.4.0_54d7f9b57c83a5c5120be11b085b9de6: + /ts-node/10.4.0_f9f9f28f986ed7ad377c75abc9f416f4: resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} hasBin: true peerDependencies: @@ -7033,7 +7035,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.4.4 + typescript: 4.2.4 yn: 3.1.1 dev: false @@ -7629,7 +7631,7 @@ packages: prettier: 2.5.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -7857,7 +7859,7 @@ packages: rollup: 1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -7908,7 +7910,7 @@ packages: rollup: 1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -7965,7 +7967,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.14.5 @@ -8770,6 +8772,27 @@ packages: uglify-js: 3.14.5 dev: false + file:projects/arm-mariadb.tgz: + resolution: {integrity: sha512-E/e56H73Ps5/FxJ7mxAJYKCnPYtHKhI7cdIBX0HxdL8EB/0mgwynt1jjr7Z2Ci811rQZ4GUnFSOCz5rsDFBBag==, tarball: file:projects/arm-mariadb.tgz} + name: '@rush-temp/arm-mariadb' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.19.2 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + cross-env: 7.0.3 + mkdirp: 1.0.4 + mocha: 7.2.0 + rimraf: 3.0.2 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.5 + dev: false + file:projects/arm-mediaservices.tgz: resolution: {integrity: sha512-wt5O7fsBlkomvh57wJRSiBwgIAAmjjLwaX3HhUj2WNHhIjY/M3PQ8n/172v99nzZ2hTxBQPmokO4eyz9sKSqDA==, tarball: file:projects/arm-mediaservices.tgz} name: '@rush-temp/arm-mediaservices' @@ -9487,7 +9510,7 @@ packages: rollup: 1.32.1 safe-buffer: 5.2.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -9982,7 +10005,7 @@ packages: dev: false file:projects/core-amqp.tgz: - resolution: {integrity: sha512-jmyXvDp5FyZIlqp1zATESQp6qO2NqjKSfY5o9ojPsKN/g9WJ45RL4jfy+cD5u8C2t9jSDTsCoL+jbiLptpkDLA==, tarball: file:projects/core-amqp.tgz} + resolution: {integrity: sha512-nAZlMW/WFVSloK1iVzoSJNx9CHjvMl4/kJrnq1s5Okn96/AQX19SYkqfdvmew1Oy3bxfDC2g3n3e1CFLrlSyEg==, tarball: file:projects/core-amqp.tgz} name: '@rush-temp/core-amqp' version: 0.0.0 dependencies: @@ -10025,7 +10048,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 url: 0.11.0 @@ -10111,7 +10134,7 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -10342,7 +10365,7 @@ packages: shx: 0.3.3 sinon: 9.2.4 tough-cookie: 4.0.0 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 tunnel: 0.0.6 typescript: 4.2.4 @@ -10390,7 +10413,7 @@ packages: prettier: 2.5.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.14.5 @@ -10657,7 +10680,7 @@ packages: sinon: 9.2.4 snap-shot-it: 7.9.6 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 universal-user-agent: 6.0.0 @@ -10714,7 +10737,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -10760,7 +10783,7 @@ packages: rollup: 1.32.1 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - ts-node: 10.4.0_54d7f9b57c83a5c5120be11b085b9de6 + ts-node: 10.4.0_28670484a221c7e896c5d6b821a5cbb7 tslib: 2.3.1 typescript: 4.4.4 yaml: 1.10.2 @@ -10917,7 +10940,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -10979,7 +11002,7 @@ packages: rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -11034,7 +11057,7 @@ packages: prettier: 2.5.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -11087,7 +11110,7 @@ packages: prettier: 2.5.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -11289,7 +11312,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -11553,7 +11576,7 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11702,7 +11725,7 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11774,7 +11797,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11794,7 +11817,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11814,7 +11837,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11834,7 +11857,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -11873,7 +11896,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11894,7 +11917,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -11917,7 +11940,7 @@ packages: moment: 2.29.1 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -11937,7 +11960,7 @@ packages: eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11957,7 +11980,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -11978,7 +12001,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12000,7 +12023,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12021,7 +12044,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12041,7 +12064,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -12060,7 +12083,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 transitivePeerDependencies: @@ -12081,7 +12104,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12104,7 +12127,7 @@ packages: node-fetch: 2.6.6 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12125,7 +12148,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12146,7 +12169,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12167,7 +12190,7 @@ packages: eslint: 7.32.0 prettier: 2.5.1 rimraf: 3.0.2 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 @@ -12539,7 +12562,7 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12608,7 +12631,7 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 ws: 8.3.0 @@ -12671,7 +12694,7 @@ packages: rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12734,7 +12757,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12797,7 +12820,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12858,7 +12881,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12916,7 +12939,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -12976,7 +12999,7 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 @@ -13028,7 +13051,7 @@ packages: rollup: 1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.14.5 @@ -13082,7 +13105,7 @@ packages: rollup: 1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.14.5 @@ -13135,7 +13158,7 @@ packages: rollup: 1.32.1 sinon: 9.2.4 source-map-support: 0.5.21 - ts-node: 10.4.0_276ff2ad8f60608417677a4691c0f835 + ts-node: 10.4.0_f9f9f28f986ed7ad377c75abc9f416f4 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.14.5 diff --git a/rush.json b/rush.json index 66a9aa13703f..ca14b2cc743c 100644 --- a/rush.json +++ b/rush.json @@ -1215,6 +1215,11 @@ "packageName": "@azure/arm-containerinstance", "projectFolder": "sdk/containerinstance/arm-containerinstance", "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-mariadb", + "projectFolder": "sdk/mariadb/arm-mariadb", + "versionPolicyName": "management" } ] } \ No newline at end of file diff --git a/sdk/mariadb/arm-mariadb/CHANGELOG.md b/sdk/mariadb/arm-mariadb/CHANGELOG.md new file mode 100644 index 000000000000..2d12e4f2da31 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/CHANGELOG.md @@ -0,0 +1,11 @@ +# Release History + +## 2.0.0 (2022-01-05) + +The package of @azure/arm-mariadb is using our next generation design principles since version 2.0.0, which contains breaking changes. + +To understand the detail of the change, please refer to [Changelog](https://aka.ms/js-track2-changelog). + +To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/js-track2-migration-guide). + +To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/mariadb/arm-mariadb/LICENSE.txt b/sdk/mariadb/arm-mariadb/LICENSE similarity index 96% rename from sdk/mariadb/arm-mariadb/LICENSE.txt rename to sdk/mariadb/arm-mariadb/LICENSE index b73b4a1293c3..5d1d36e0af80 100644 --- a/sdk/mariadb/arm-mariadb/LICENSE.txt +++ b/sdk/mariadb/arm-mariadb/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Microsoft +Copyright (c) 2022 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/sdk/mariadb/arm-mariadb/README.md b/sdk/mariadb/arm-mariadb/README.md index 24b0d86c603d..fc5d463d3e1a 100644 --- a/sdk/mariadb/arm-mariadb/README.md +++ b/sdk/mariadb/arm-mariadb/README.md @@ -1,102 +1,98 @@ -## Azure MariaDBManagementClient SDK for JavaScript +# Azure MariaDBManagement client library for JavaScript -This package contains an isomorphic SDK for MariaDBManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure MariaDBManagement client. + +The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/mariadb/arm-mariadb) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-mariadb) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-mariadb) | +[Samples](https://github.com/Azure-Samples/azure-samples-js-management) + +## Getting started ### Currently supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge, and Firefox. +- Latest versions of Safari, Chrome, Edge and Firefox. + +### Prerequisites + +- An [Azure subscription][azure_sub]. + +### Install the `@azure/arm-mariadb` package -### How to Install +Install the Azure MariaDBManagement client library for JavaScript with `npm`: ```bash npm install @azure/arm-mariadb ``` -### How to use +### Create and authenticate a `MariaDBManagementClient` -#### nodejs - Authentication, client creation and get servers as an example written in TypeScript. +To create a client object to access the Azure MariaDBManagement API, you will need the `endpoint` of your Azure MariaDBManagement resource and a `credential`. The Azure MariaDBManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure MariaDBManagement resource in the [Azure Portal][azure_portal]. -##### Install @azure/ms-rest-nodeauth +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). + +To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: ```bash -npm install @azure/ms-rest-nodeauth +npm install @azure/identity ``` -##### Sample code - -```typescript -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; -import { MariaDBManagementClient, MariaDBManagementModels, MariaDBManagementMappers } from "@azure/arm-mariadb"; -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new MariaDBManagementClient(creds, subscriptionId); - const resourceGroupName = "testresourceGroupName"; - const serverName = "testserverName"; - client.servers.get(resourceGroupName, serverName).then((result) => { - console.log("The result is:"); - console.log(result); - }); -}).catch((err) => { - console.error(err); -}); +You will also need to **register a new AAD application and grant access to Azure MariaDBManagement** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). +Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. + +For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal). + +```javascript +const { MariaDBManagementClient } = require("@azure/arm-mariadb"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new MariaDBManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation and get servers as an example written in JavaScript. -##### Install @azure/ms-rest-browserauth +### 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). -```bash -npm install @azure/ms-rest-browserauth -``` +## Key concepts -##### Sample code - -See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - -- index.html -```html - - - - @azure/arm-mariadb sample - - - - - - - - +### MariaDBManagementClient + +`MariaDBManagementClient` is the primary interface for developers using the Azure MariaDBManagement client library. Explore the methods on this client object to understand the different features of the Azure MariaDBManagement service that you can access. + +## Troubleshooting + +### Logging + +Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`: + +```javascript +const { setLogLevel } = require("@azure/logger"); +setLogLevel("info"); ``` +For more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger). + +## 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. + +## Contributing + +If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code. + ## Related projects -- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) +- [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js) ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fmariadb%2Farm-mariadb%2FREADME.png) + +[azure_cli]: https://docs.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 +[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential diff --git a/sdk/mariadb/arm-mariadb/_meta.json b/sdk/mariadb/arm-mariadb/_meta.json new file mode 100644 index 000000000000..3dff0dadeea1 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "e8c6db17dc13a00155936dcaeacf4da0a1fabf77", + "readme": "specification/mariadb/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.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/mariadb/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20211130.1", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.16.20211130.1" +} \ No newline at end of file diff --git a/sdk/mariadb/arm-mariadb/api-extractor.json b/sdk/mariadb/arm-mariadb/api-extractor.json new file mode 100644 index 000000000000..381553a2303b --- /dev/null +++ b/sdk/mariadb/arm-mariadb/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/src/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-mariadb.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/mariadb/arm-mariadb/package.json b/sdk/mariadb/arm-mariadb/package.json index c7d9bf80cc17..7622c778212e 100644 --- a/sdk/mariadb/arm-mariadb/package.json +++ b/sdk/mariadb/arm-mariadb/package.json @@ -1,57 +1,91 @@ { "name": "@azure/arm-mariadb", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "MariaDBManagementClient Library with typescript type definitions for node.js and browser.", - "version": "1.4.0", + "description": "A generated SDK for MariaDBManagementClient.", + "version": "2.0.0", + "engines": { "node": ">=12.0.0" }, "dependencies": { - "@azure/ms-rest-azure-js": "^1.3.2", - "@azure/ms-rest-js": "^1.8.1", - "tslib": "^1.9.3" + "@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-auth": "^1.3.0", + "@azure/core-rest-pipeline": "^1.1.0", + "tslib": "^2.2.0" }, - "keywords": [ - "node", - "azure", - "typescript", - "browser", - "isomorphic" - ], + "keywords": ["node", "azure", "typescript", "browser", "isomorphic"], "license": "MIT", - "main": "./dist/arm-mariadb.js", - "module": "./esm/mariaDBManagementClient.js", - "types": "./esm/mariaDBManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/src/index.js", + "types": "./types/arm-mariadb.d.ts", "devDependencies": { - "typescript": "^3.1.1", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", + "@microsoft/api-extractor": "^7.18.11", + "@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": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "uglify-js": "^3.4.9" + "typescript": "~4.2.0", + "uglify-js": "^3.4.9", + "rimraf": "^3.0.0", + "@azure/identity": "^2.0.1", + "@azure-tools/test-recorder": "^1.0.0", + "mocha": "^7.1.1", + "cross-env": "^7.0.2" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/mariadb/arm-mariadb", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" }, - "bugs": { - "url": "https://github.com/Azure/azure-sdk-for-js/issues" - }, + "bugs": { "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.d.ts.map", + "dist-esm/**/*.js", + "dist-esm/**/*.js.map", + "dist-esm/**/*.d.ts", + "dist-esm/**/*.d.ts.map", "src/**/*.ts", "README.md", + "LICENSE", "rollup.config.js", - "tsconfig.json" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-mariadb.js.map'\" -o ./dist/arm-mariadb.min.js ./dist/arm-mariadb.js", - "prepack": "npm install && npm run build" + "build": "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", + "prepack": "npm run build", + "pack": "npm pack 2>&1", + "extract-api": "api-extractor run --local", + "lint": "echo skipped", + "audit": "echo skipped", + "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "build:node": "echo skipped", + "build:browser": "echo skipped", + "build:test": "echo skipped", + "build:samples": "echo skipped.", + "check-format": "echo skipped", + "execute:samples": "echo skipped", + "format": "echo skipped", + "test": "npm run integration-test", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "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" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/mariadb/arm-mariadb/review/arm-mariadb.api.md b/sdk/mariadb/arm-mariadb/review/arm-mariadb.api.md new file mode 100644 index 000000000000..46153b33e586 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/review/arm-mariadb.api.md @@ -0,0 +1,1399 @@ +## API Report File for "@azure/arm-mariadb" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; +import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { PollerLike } from '@azure/core-lro'; +import { PollOperationState } from '@azure/core-lro'; + +// @public +export type Advisor = ProxyResource & { + properties?: Record; +}; + +// @public +export interface Advisors { + get(resourceGroupName: string, serverName: string, advisorName: string, options?: AdvisorsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: AdvisorsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AdvisorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AdvisorsGetResponse = Advisor; + +// @public +export interface AdvisorsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AdvisorsListByServerNextResponse = AdvisorsResultList; + +// @public +export interface AdvisorsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AdvisorsListByServerResponse = AdvisorsResultList; + +// @public +export interface AdvisorsResultList { + readonly nextLink?: string; + readonly value?: Advisor[]; +} + +// @public +export interface CheckNameAvailability { + execute(nameAvailabilityRequest: NameAvailabilityRequest, options?: CheckNameAvailabilityExecuteOptionalParams): Promise; +} + +// @public +export interface CheckNameAvailabilityExecuteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CheckNameAvailabilityExecuteResponse = NameAvailability; + +// @public +export interface CloudError { + error?: ErrorResponse; +} + +// @public +export interface CloudErrorAutoGenerated { + error?: ErrorResponse; +} + +// @public +export type Configuration = ProxyResource & { + value?: string; + readonly description?: string; + readonly defaultValue?: string; + readonly dataType?: string; + readonly allowedValues?: string; + source?: string; +}; + +// @public +export interface ConfigurationListResult { + value?: Configuration[]; +} + +// @public +export interface Configurations { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, configurationName: string, parameters: Configuration, options?: ConfigurationsCreateOrUpdateOptionalParams): Promise, ConfigurationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, configurationName: string, parameters: Configuration, options?: ConfigurationsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, configurationName: string, options?: ConfigurationsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ConfigurationsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ConfigurationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ConfigurationsCreateOrUpdateResponse = Configuration; + +// @public +export interface ConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConfigurationsGetResponse = Configuration; + +// @public +export interface ConfigurationsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConfigurationsListByServerResponse = ConfigurationListResult; + +// @public +export type CreateMode = string; + +// @public +export interface CreateRecommendedActionSessionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type Database = ProxyResource & { + charset?: string; + collation?: string; +}; + +// @public +export interface DatabaseListResult { + value?: Database[]; +} + +// @public +export interface Databases { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise, DatabasesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: DatabasesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesCreateOrUpdateResponse = Database; + +// @public +export interface DatabasesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesGetResponse = Database; + +// @public +export interface DatabasesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListByServerResponse = DatabaseListResult; + +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorResponse { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorResponse[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export type FirewallRule = ProxyResource & { + startIpAddress: string; + endIpAddress: string; +}; + +// @public +export interface FirewallRuleListResult { + value?: FirewallRule[]; +} + +// @public +export interface FirewallRules { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: FirewallRule, options?: FirewallRulesCreateOrUpdateOptionalParams): Promise, FirewallRulesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: FirewallRule, options?: FirewallRulesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: FirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface FirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type FirewallRulesCreateOrUpdateResponse = FirewallRule; + +// @public +export interface FirewallRulesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface FirewallRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesGetResponse = FirewallRule; + +// @public +export interface FirewallRulesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesListByServerResponse = FirewallRuleListResult; + +// @public +export type GeoRedundantBackup = string; + +// @public +export enum KnownCreateMode { + // (undocumented) + Default = "Default", + // (undocumented) + GeoRestore = "GeoRestore", + // (undocumented) + PointInTimeRestore = "PointInTimeRestore", + // (undocumented) + Replica = "Replica" +} + +// @public +export enum KnownGeoRedundantBackup { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownMinimalTlsVersionEnum { + // (undocumented) + TLS10 = "TLS1_0", + // (undocumented) + TLS11 = "TLS1_1", + // (undocumented) + TLS12 = "TLS1_2", + // (undocumented) + TLSEnforcementDisabled = "TLSEnforcementDisabled" +} + +// @public +export enum KnownOperationOrigin { + // (undocumented) + NotSpecified = "NotSpecified", + // (undocumented) + System = "system", + // (undocumented) + User = "user" +} + +// @public +export enum KnownPrivateEndpointProvisioningState { + // (undocumented) + Approving = "Approving", + // (undocumented) + Dropping = "Dropping", + // (undocumented) + Failed = "Failed", + // (undocumented) + Ready = "Ready", + // (undocumented) + Rejecting = "Rejecting" +} + +// @public +export enum KnownPrivateLinkServiceConnectionStateActionsRequire { + // (undocumented) + None = "None" +} + +// @public +export enum KnownPrivateLinkServiceConnectionStateStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected" +} + +// @public +export enum KnownPublicNetworkAccessEnum { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownQueryPerformanceInsightResetDataResultState { + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded" +} + +// @public +export enum KnownSecurityAlertPolicyName { + // (undocumented) + Default = "Default" +} + +// @public +export enum KnownServerState { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Dropping = "Dropping", + // (undocumented) + Ready = "Ready" +} + +// @public +export enum KnownServerVersion { + // (undocumented) + Ten2 = "10.2", + // (undocumented) + Ten3 = "10.3" +} + +// @public +export enum KnownSkuTier { + // (undocumented) + Basic = "Basic", + // (undocumented) + GeneralPurpose = "GeneralPurpose", + // (undocumented) + MemoryOptimized = "MemoryOptimized" +} + +// @public +export enum KnownStorageAutogrow { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownVirtualNetworkRuleState { + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Initializing = "Initializing", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Ready = "Ready", + // (undocumented) + Unknown = "Unknown" +} + +// @public +export interface LocationBasedPerformanceTier { + list(locationName: string, options?: LocationBasedPerformanceTierListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LocationBasedPerformanceTierListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LocationBasedPerformanceTierListResponse = PerformanceTierListResult; + +// @public +export interface LocationBasedRecommendedActionSessionsOperationStatus { + get(locationName: string, operationId: string, options?: LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams): Promise; +} + +// @public +export interface LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LocationBasedRecommendedActionSessionsOperationStatusGetResponse = RecommendedActionSessionsOperationStatus; + +// @public +export interface LocationBasedRecommendedActionSessionsResult { + list(locationName: string, operationId: string, options?: LocationBasedRecommendedActionSessionsResultListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LocationBasedRecommendedActionSessionsResultListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LocationBasedRecommendedActionSessionsResultListNextResponse = RecommendationActionsResultList; + +// @public +export interface LocationBasedRecommendedActionSessionsResultListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LocationBasedRecommendedActionSessionsResultListResponse = RecommendationActionsResultList; + +// @public +export type LogFile = ProxyResource & { + sizeInKB?: number; + readonly createdTime?: Date; + readonly lastModifiedTime?: Date; + typePropertiesType?: string; + readonly url?: string; +}; + +// @public +export interface LogFileListResult { + value?: LogFile[]; +} + +// @public +export interface LogFiles { + listByServer(resourceGroupName: string, serverName: string, options?: LogFilesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LogFilesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LogFilesListByServerResponse = LogFileListResult; + +// @public (undocumented) +export class MariaDBManagementClient extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: MariaDBManagementClientOptionalParams); + // (undocumented) + advisors: Advisors; + beginCreateRecommendedActionSession(resourceGroupName: string, serverName: string, advisorName: string, databaseName: string, options?: CreateRecommendedActionSessionOptionalParams): Promise, void>>; + beginCreateRecommendedActionSessionAndWait(resourceGroupName: string, serverName: string, advisorName: string, databaseName: string, options?: CreateRecommendedActionSessionOptionalParams): Promise; + // (undocumented) + checkNameAvailability: CheckNameAvailability; + // (undocumented) + configurations: Configurations; + // (undocumented) + databases: Databases; + // (undocumented) + firewallRules: FirewallRules; + // (undocumented) + locationBasedPerformanceTier: LocationBasedPerformanceTier; + // (undocumented) + locationBasedRecommendedActionSessionsOperationStatus: LocationBasedRecommendedActionSessionsOperationStatus; + // (undocumented) + locationBasedRecommendedActionSessionsResult: LocationBasedRecommendedActionSessionsResult; + // (undocumented) + logFiles: LogFiles; + // (undocumented) + operations: Operations; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + queryTexts: QueryTexts; + // (undocumented) + recommendedActions: RecommendedActions; + // (undocumented) + recoverableServers: RecoverableServers; + // (undocumented) + replicas: Replicas; + resetQueryPerformanceInsightData(resourceGroupName: string, serverName: string, options?: ResetQueryPerformanceInsightDataOptionalParams): Promise; + // (undocumented) + serverBasedPerformanceTier: ServerBasedPerformanceTier; + // (undocumented) + serverParameters: ServerParameters; + // (undocumented) + servers: Servers; + // (undocumented) + serverSecurityAlertPolicies: ServerSecurityAlertPolicies; + // (undocumented) + subscriptionId: string; + // (undocumented) + topQueryStatistics: TopQueryStatistics; + // (undocumented) + virtualNetworkRules: VirtualNetworkRules; + // (undocumented) + waitStatistics: WaitStatistics; +} + +// @public +export interface MariaDBManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + endpoint?: string; +} + +// @public +export type MinimalTlsVersionEnum = string; + +// @public +export interface NameAvailability { + message?: string; + nameAvailable?: boolean; + reason?: string; +} + +// @public +export interface NameAvailabilityRequest { + name: string; + type?: string; +} + +// @public +export interface Operation { + readonly display?: OperationDisplay; + readonly name?: string; + readonly origin?: OperationOrigin; + readonly properties?: { + [propertyName: string]: Record; + }; +} + +// @public +export interface OperationDisplay { + readonly description?: string; + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; +} + +// @public +export interface OperationListResult { + value?: Operation[]; +} + +// @public +export type OperationOrigin = string; + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): Promise; +} + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + +// @public +export interface PerformanceTierListResult { + value?: PerformanceTierProperties[]; +} + +// @public +export interface PerformanceTierProperties { + id?: string; + maxBackupRetentionDays?: number; + maxLargeStorageMB?: number; + maxStorageMB?: number; + minBackupRetentionDays?: number; + minLargeStorageMB?: number; + minStorageMB?: number; + serviceLevelObjectives?: PerformanceTierServiceLevelObjectives[]; +} + +// @public +export interface PerformanceTierServiceLevelObjectives { + edition?: string; + hardwareGeneration?: string; + id?: string; + maxBackupRetentionDays?: number; + maxStorageMB?: number; + minBackupRetentionDays?: number; + minStorageMB?: number; + vCore?: number; +} + +// @public +export type PrivateEndpointConnection = ProxyResource & { + privateEndpoint?: PrivateEndpointProperty; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: string; +}; + +// @public +export interface PrivateEndpointConnectionListResult { + readonly nextLink?: string; + readonly value?: PrivateEndpointConnection[]; +} + +// @public +export interface PrivateEndpointConnections { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise, PrivateEndpointConnectionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + beginUpdateTags(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: TagsObject, options?: PrivateEndpointConnectionsUpdateTagsOptionalParams): Promise, PrivateEndpointConnectionsUpdateTagsResponse>>; + beginUpdateTagsAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: TagsObject, options?: PrivateEndpointConnectionsUpdateTagsOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: PrivateEndpointConnectionsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsUpdateTagsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PrivateEndpointConnectionsUpdateTagsResponse = PrivateEndpointConnection; + +// @public (undocumented) +export interface PrivateEndpointProperty { + id?: string; +} + +// @public +export type PrivateEndpointProvisioningState = string; + +// @public +export type PrivateLinkResource = ProxyResource & { + readonly properties?: PrivateLinkResourceProperties; +}; + +// @public +export interface PrivateLinkResourceListResult { + readonly nextLink?: string; + readonly value?: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResourceProperties { + readonly groupId?: string; + readonly requiredMembers?: string[]; +} + +// @public +export interface PrivateLinkResources { + get(resourceGroupName: string, serverName: string, groupName: string, options?: PrivateLinkResourcesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: PrivateLinkResourcesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesGetResponse = PrivateLinkResource; + +// @public +export interface PrivateLinkResourcesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult; + +// @public +export type PrivateLinkServiceConnectionStateActionsRequire = string; + +// @public (undocumented) +export interface PrivateLinkServiceConnectionStateProperty { + readonly actionsRequired?: string; + description: string; + status: string; +} + +// @public +export type PrivateLinkServiceConnectionStateStatus = string; + +// @public +export type ProxyResource = Resource & {}; + +// @public +export type PublicNetworkAccessEnum = string; + +// @public +export interface QueryPerformanceInsightResetDataResult { + message?: string; + status?: QueryPerformanceInsightResetDataResultState; +} + +// @public +export type QueryPerformanceInsightResetDataResultState = string; + +// @public +export type QueryStatistic = ProxyResource & { + queryId?: string; + startTime?: Date; + endTime?: Date; + aggregationFunction?: string; + databaseNames?: string[]; + queryExecutionCount?: number; + metricName?: string; + metricDisplayName?: string; + metricValue?: number; + metricValueUnit?: string; +}; + +// @public +export type QueryText = ProxyResource & { + queryId?: string; + queryText?: string; +}; + +// @public +export interface QueryTexts { + get(resourceGroupName: string, serverName: string, queryId: string, options?: QueryTextsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, queryIds: string[], options?: QueryTextsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface QueryTextsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueryTextsGetResponse = QueryText; + +// @public +export interface QueryTextsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueryTextsListByServerNextResponse = QueryTextsResultList; + +// @public +export interface QueryTextsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueryTextsListByServerResponse = QueryTextsResultList; + +// @public +export interface QueryTextsResultList { + readonly nextLink?: string; + readonly value?: QueryText[]; +} + +// @public +export type RecommendationAction = ProxyResource & { + advisorName?: string; + sessionId?: string; + actionId?: number; + createdTime?: Date; + expirationTime?: Date; + reason?: string; + recommendationType?: string; + details?: { + [propertyName: string]: string; + }; +}; + +// @public +export interface RecommendationActionsResultList { + readonly nextLink?: string; + readonly value?: RecommendationAction[]; +} + +// @public +export interface RecommendedActions { + get(resourceGroupName: string, serverName: string, advisorName: string, recommendedActionName: string, options?: RecommendedActionsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, advisorName: string, options?: RecommendedActionsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RecommendedActionSessionsOperationStatus { + name?: string; + startTime?: Date; + status?: string; +} + +// @public +export interface RecommendedActionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecommendedActionsGetResponse = RecommendationAction; + +// @public +export interface RecommendedActionsListByServerNextOptionalParams extends coreClient.OperationOptions { + sessionId?: string; +} + +// @public +export type RecommendedActionsListByServerNextResponse = RecommendationActionsResultList; + +// @public +export interface RecommendedActionsListByServerOptionalParams extends coreClient.OperationOptions { + sessionId?: string; +} + +// @public +export type RecommendedActionsListByServerResponse = RecommendationActionsResultList; + +// @public +export type RecoverableServerResource = ProxyResource & { + readonly lastAvailableBackupDateTime?: string; + readonly serviceLevelObjective?: string; + readonly edition?: string; + readonly vCore?: number; + readonly hardwareGeneration?: string; + readonly version?: string; +}; + +// @public +export interface RecoverableServers { + get(resourceGroupName: string, serverName: string, options?: RecoverableServersGetOptionalParams): Promise; +} + +// @public +export interface RecoverableServersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableServersGetResponse = RecoverableServerResource; + +// @public +export interface Replicas { + listByServer(resourceGroupName: string, serverName: string, options?: ReplicasListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ReplicasListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicasListByServerResponse = ServerListResult; + +// @public +export interface ResetQueryPerformanceInsightDataOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResetQueryPerformanceInsightDataResponse = QueryPerformanceInsightResetDataResult; + +// @public +export interface Resource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type SecurityAlertPolicyName = string; + +// @public +export type Server = TrackedResource & { + sku?: Sku; + administratorLogin?: string; + version?: ServerVersion; + sslEnforcement?: SslEnforcementEnum; + minimalTlsVersion?: MinimalTlsVersionEnum; + userVisibleState?: ServerState; + fullyQualifiedDomainName?: string; + earliestRestoreDate?: Date; + storageProfile?: StorageProfile; + replicationRole?: string; + masterServerId?: string; + replicaCapacity?: number; + publicNetworkAccess?: PublicNetworkAccessEnum; + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; +}; + +// @public +export interface ServerBasedPerformanceTier { + list(resourceGroupName: string, serverName: string, options?: ServerBasedPerformanceTierListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerBasedPerformanceTierListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerBasedPerformanceTierListResponse = PerformanceTierListResult; + +// @public +export interface ServerForCreate { + location: string; + properties: ServerPropertiesForCreateUnion; + sku?: Sku; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface ServerListResult { + value?: Server[]; +} + +// @public +export interface ServerParameters { + beginListUpdateConfigurations(resourceGroupName: string, serverName: string, value: ConfigurationListResult, options?: ServerParametersListUpdateConfigurationsOptionalParams): Promise, ServerParametersListUpdateConfigurationsResponse>>; + beginListUpdateConfigurationsAndWait(resourceGroupName: string, serverName: string, value: ConfigurationListResult, options?: ServerParametersListUpdateConfigurationsOptionalParams): Promise; +} + +// @public +export interface ServerParametersListUpdateConfigurationsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerParametersListUpdateConfigurationsResponse = ConfigurationListResult; + +// @public +export interface ServerPrivateEndpointConnection { + readonly id?: string; + readonly properties?: ServerPrivateEndpointConnectionProperties; +} + +// @public +export interface ServerPrivateEndpointConnectionProperties { + privateEndpoint?: PrivateEndpointProperty; + privateLinkServiceConnectionState?: ServerPrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: PrivateEndpointProvisioningState; +} + +// @public (undocumented) +export interface ServerPrivateLinkServiceConnectionStateProperty { + readonly actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire; + description: string; + status: PrivateLinkServiceConnectionStateStatus; +} + +// @public +export interface ServerPropertiesForCreate { + createMode: "Default" | "PointInTimeRestore" | "GeoRestore" | "Replica"; + minimalTlsVersion?: MinimalTlsVersionEnum; + publicNetworkAccess?: PublicNetworkAccessEnum; + sslEnforcement?: SslEnforcementEnum; + storageProfile?: StorageProfile; + version?: ServerVersion; +} + +// @public (undocumented) +export type ServerPropertiesForCreateUnion = ServerPropertiesForCreate | ServerPropertiesForDefaultCreate | ServerPropertiesForRestore | ServerPropertiesForGeoRestore | ServerPropertiesForReplica; + +// @public +export type ServerPropertiesForDefaultCreate = ServerPropertiesForCreate & { + createMode: "Default"; + administratorLogin: string; + administratorLoginPassword: string; +}; + +// @public +export type ServerPropertiesForGeoRestore = ServerPropertiesForCreate & { + createMode: "GeoRestore"; + sourceServerId: string; +}; + +// @public +export type ServerPropertiesForReplica = ServerPropertiesForCreate & { + createMode: "Replica"; + sourceServerId: string; +}; + +// @public +export type ServerPropertiesForRestore = ServerPropertiesForCreate & { + createMode: "PointInTimeRestore"; + sourceServerId: string; + restorePointInTime: Date; +}; + +// @public +export interface Servers { + beginCreate(resourceGroupName: string, serverName: string, parameters: ServerForCreate, options?: ServersCreateOptionalParams): Promise, ServersCreateResponse>>; + beginCreateAndWait(resourceGroupName: string, serverName: string, parameters: ServerForCreate, options?: ServersCreateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise; + beginRestart(resourceGroupName: string, serverName: string, options?: ServersRestartOptionalParams): Promise, void>>; + beginRestartAndWait(resourceGroupName: string, serverName: string, options?: ServersRestartOptionalParams): Promise; + beginStart(resourceGroupName: string, serverName: string, options?: ServersStartOptionalParams): Promise, void>>; + beginStartAndWait(resourceGroupName: string, serverName: string, options?: ServersStartOptionalParams): Promise; + beginStop(resourceGroupName: string, serverName: string, options?: ServersStopOptionalParams): Promise, void>>; + beginStopAndWait(resourceGroupName: string, serverName: string, options?: ServersStopOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, parameters: ServerUpdateParameters, options?: ServersUpdateOptionalParams): Promise, ServersUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ServerUpdateParameters, options?: ServersUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, options?: ServersGetOptionalParams): Promise; + list(options?: ServersListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: ServersListByResourceGroupOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServersCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServersCreateResponse = Server; + +// @public +export interface ServersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerSecurityAlertPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise, ServerSecurityAlertPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ServerSecurityAlertPoliciesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerSecurityAlertPoliciesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy; + +// @public +export interface ServerSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy; + +// @public +export interface ServerSecurityAlertPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesListByServerNextResponse = ServerSecurityAlertPolicyListResult; + +// @public +export interface ServerSecurityAlertPoliciesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesListByServerResponse = ServerSecurityAlertPolicyListResult; + +// @public +export type ServerSecurityAlertPolicy = ProxyResource & { + state?: ServerSecurityAlertPolicyState; + disabledAlerts?: string[]; + emailAddresses?: string[]; + emailAccountAdmins?: boolean; + storageEndpoint?: string; + storageAccountAccessKey?: string; + retentionDays?: number; +}; + +// @public +export interface ServerSecurityAlertPolicyListResult { + readonly nextLink?: string; + readonly value?: ServerSecurityAlertPolicy[]; +} + +// @public +export type ServerSecurityAlertPolicyState = "Enabled" | "Disabled"; + +// @public +export interface ServersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServersGetResponse = Server; + +// @public +export interface ServersListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServersListByResourceGroupResponse = ServerListResult; + +// @public +export interface ServersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServersListResponse = ServerListResult; + +// @public +export interface ServersRestartOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServersStartOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServersStopOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerState = string; + +// @public +export interface ServersUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServersUpdateResponse = Server; + +// @public +export interface ServerUpdateParameters { + administratorLoginPassword?: string; + minimalTlsVersion?: MinimalTlsVersionEnum; + publicNetworkAccess?: PublicNetworkAccessEnum; + replicationRole?: string; + sku?: Sku; + sslEnforcement?: SslEnforcementEnum; + storageProfile?: StorageProfile; + tags?: { + [propertyName: string]: string; + }; + version?: ServerVersion; +} + +// @public +export type ServerVersion = string; + +// @public +export interface Sku { + capacity?: number; + family?: string; + name: string; + size?: string; + tier?: SkuTier; +} + +// @public +export type SkuTier = string; + +// @public +export type SslEnforcementEnum = "Enabled" | "Disabled"; + +// @public +export type StorageAutogrow = string; + +// @public +export interface StorageProfile { + backupRetentionDays?: number; + geoRedundantBackup?: GeoRedundantBackup; + storageAutogrow?: StorageAutogrow; + storageMB?: number; +} + +// @public +export interface TagsObject { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface TopQueryStatistics { + get(resourceGroupName: string, serverName: string, queryStatisticId: string, options?: TopQueryStatisticsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, parameters: TopQueryStatisticsInput, options?: TopQueryStatisticsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TopQueryStatisticsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopQueryStatisticsGetResponse = QueryStatistic; + +// @public +export interface TopQueryStatisticsInput { + aggregationFunction: string; + aggregationWindow: string; + numberOfTopQueries: number; + observationEndTime: Date; + observationStartTime: Date; + observedMetric: string; +} + +// @public +export interface TopQueryStatisticsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopQueryStatisticsListByServerNextResponse = TopQueryStatisticsResultList; + +// @public +export interface TopQueryStatisticsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopQueryStatisticsListByServerResponse = TopQueryStatisticsResultList; + +// @public +export interface TopQueryStatisticsResultList { + readonly nextLink?: string; + readonly value?: QueryStatistic[]; +} + +// @public +export type TrackedResource = Resource & { + tags?: { + [propertyName: string]: string; + }; + location: string; +}; + +// @public +export type VirtualNetworkRule = ProxyResource & { + virtualNetworkSubnetId?: string; + ignoreMissingVnetServiceEndpoint?: boolean; + readonly state?: VirtualNetworkRuleState; +}; + +// @public +export interface VirtualNetworkRuleListResult { + readonly nextLink?: string; + readonly value?: VirtualNetworkRule[]; +} + +// @public +export interface VirtualNetworkRules { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise, VirtualNetworkRulesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: VirtualNetworkRulesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface VirtualNetworkRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule; + +// @public +export interface VirtualNetworkRulesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesGetResponse = VirtualNetworkRule; + +// @public +export interface VirtualNetworkRulesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult; + +// @public +export interface VirtualNetworkRulesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult; + +// @public +export type VirtualNetworkRuleState = string; + +// @public +export type WaitStatistic = ProxyResource & { + startTime?: Date; + endTime?: Date; + eventName?: string; + eventTypeName?: string; + queryId?: number; + databaseName?: string; + userId?: number; + count?: number; + totalTimeInMs?: number; +}; + +// @public +export interface WaitStatistics { + get(resourceGroupName: string, serverName: string, waitStatisticsId: string, options?: WaitStatisticsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, parameters: WaitStatisticsInput, options?: WaitStatisticsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface WaitStatisticsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WaitStatisticsGetResponse = WaitStatistic; + +// @public +export interface WaitStatisticsInput { + aggregationWindow: string; + observationEndTime: Date; + observationStartTime: Date; +} + +// @public +export interface WaitStatisticsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WaitStatisticsListByServerNextResponse = WaitStatisticsResultList; + +// @public +export interface WaitStatisticsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WaitStatisticsListByServerResponse = WaitStatisticsResultList; + +// @public +export interface WaitStatisticsResultList { + readonly nextLink?: string; + readonly value?: WaitStatistic[]; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/mariadb/arm-mariadb/rollup.config.js b/sdk/mariadb/arm-mariadb/rollup.config.js index 5735360934e7..9be1955eb7f1 100644 --- a/sdk/mariadb/arm-mariadb/rollup.config.js +++ b/sdk/mariadb/arm-mariadb/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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 nodeResolve from "@rollup/plugin-node-resolve"; +import cjs from "@rollup/plugin-commonjs"; import sourcemaps from "rollup-plugin-sourcemaps"; +import multiEntry from "@rollup/plugin-multi-entry"; +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 /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/mariaDBManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-mariadb.js", - format: "umd", - name: "Azure.ArmMariadb", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * Construct a warning handler for the shared rollup configuration + * that ignores certain warnings that are not relevant to testing. + */ +function makeOnWarnForTesting() { + return (warning, warn) => { + // If every inhibitor returns false (i.e. no inhibitors), then show the warning + if (warningInhibitors.every((inhib) => !inhib(warning))) { + warn(warning); + } + }; +} + +// #endregion + +function makeBrowserTestConfig() { + const config = { + input: { + include: ["dist-esm/test/**/*.spec.js"], + exclude: ["dist-esm/test/**/node/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + 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 }) + ], + onwarn: makeOnWarnForTesting(), + // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0, + // rollup started respecting the "sideEffects" field in package.json. Since + // our package.json sets "sideEffects=false", this also applies to test + // code, which causes all tests to be removed by tree-shaking. + treeshake: false + }; + + return config; +} + +const defaultConfigurationOptions = { + disableBrowserBundle: false }; -export default config; +export function makeConfig(pkg, options) { + options = { + ...defaultConfigurationOptions, + ...(options || {}) + }; + + const baseConfig = { + // Use the package's module field if it has one + input: pkg["module"] || "dist-esm/src/index.js", + external: [ + ...nodeBuiltins, + ...Object.keys(pkg.dependencies), + ...Object.keys(pkg.devDependencies) + ], + output: { file: "dist/index.js", format: "cjs", sourcemap: true }, + preserveSymlinks: false, + plugins: [sourcemaps(), nodeResolve(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/mariadb/arm-mariadb/src/index.ts b/sdk/mariadb/arm-mariadb/src/index.ts new file mode 100644 index 000000000000..44ba13be822f --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/index.ts @@ -0,0 +1,12 @@ +/* + * 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 "./models"; +export { MariaDBManagementClient } from "./mariaDBManagementClient"; +export * from "./operationsInterfaces"; diff --git a/sdk/mariadb/arm-mariadb/src/lroImpl.ts b/sdk/mariadb/arm-mariadb/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/lroImpl.ts @@ -0,0 +1,34 @@ +/* + * 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 { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export class LroImpl implements LongRunningOperation { + constructor( + private sendOperationFn: (args: any, spec: any) => Promise>, + private args: Record, + private spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record, + public requestPath: string = spec.path!, + public requestMethod: string = spec.httpMethod + ) {} + public async sendInitialRequest(): Promise> { + return this.sendOperationFn(this.args, this.spec); + } + public async sendPollRequest(path: string): Promise> { + const { requestBody, ...restSpec } = this.spec; + return this.sendOperationFn(this.args, { + ...restSpec, + path, + httpMethod: "GET" + }); + } +} diff --git a/sdk/mariadb/arm-mariadb/src/mariaDBManagementClient.ts b/sdk/mariadb/arm-mariadb/src/mariaDBManagementClient.ts index b88492aa13ab..0595251dc83f 100644 --- a/sdk/mariadb/arm-mariadb/src/mariaDBManagementClient.ts +++ b/sdk/mariadb/arm-mariadb/src/mariaDBManagementClient.ts @@ -1,62 +1,329 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "./models"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "./lroImpl"; +import { + ServersImpl, + ReplicasImpl, + FirewallRulesImpl, + VirtualNetworkRulesImpl, + DatabasesImpl, + ConfigurationsImpl, + ServerParametersImpl, + LogFilesImpl, + RecoverableServersImpl, + ServerBasedPerformanceTierImpl, + LocationBasedPerformanceTierImpl, + CheckNameAvailabilityImpl, + OperationsImpl, + QueryTextsImpl, + TopQueryStatisticsImpl, + WaitStatisticsImpl, + AdvisorsImpl, + RecommendedActionsImpl, + LocationBasedRecommendedActionSessionsOperationStatusImpl, + LocationBasedRecommendedActionSessionsResultImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, + ServerSecurityAlertPoliciesImpl +} from "./operations"; +import { + Servers, + Replicas, + FirewallRules, + VirtualNetworkRules, + Databases, + Configurations, + ServerParameters, + LogFiles, + RecoverableServers, + ServerBasedPerformanceTier, + LocationBasedPerformanceTier, + CheckNameAvailability, + Operations, + QueryTexts, + TopQueryStatistics, + WaitStatistics, + Advisors, + RecommendedActions, + LocationBasedRecommendedActionSessionsOperationStatus, + LocationBasedRecommendedActionSessionsResult, + PrivateEndpointConnections, + PrivateLinkResources, + ServerSecurityAlertPolicies +} from "./operationsInterfaces"; +import * as Parameters from "./models/parameters"; import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; -import { MariaDBManagementClientContext } from "./mariaDBManagementClientContext"; - - -class MariaDBManagementClient extends MariaDBManagementClientContext { - // Operation groups - servers: operations.Servers; - replicas: operations.Replicas; - firewallRules: operations.FirewallRules; - virtualNetworkRules: operations.VirtualNetworkRules; - databases: operations.Databases; - configurations: operations.Configurations; - logFiles: operations.LogFiles; - locationBasedPerformanceTier: operations.LocationBasedPerformanceTier; - checkNameAvailability: operations.CheckNameAvailability; - serverSecurityAlertPolicies: operations.ServerSecurityAlertPolicies; - operations: operations.Operations; +import { + MariaDBManagementClientOptionalParams, + ResetQueryPerformanceInsightDataOptionalParams, + ResetQueryPerformanceInsightDataResponse, + CreateRecommendedActionSessionOptionalParams +} from "./models"; + +export class MariaDBManagementClient extends coreClient.ServiceClient { + $host: string; + subscriptionId: string; /** * Initializes a new instance of the MariaDBManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. - * @param subscriptionId The subscription ID that identifies an Azure subscription. - * @param [options] The parameter options + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId The ID of the target subscription. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MariaDBManagementClientOptions) { - super(credentials, subscriptionId, options); - this.servers = new operations.Servers(this); - this.replicas = new operations.Replicas(this); - this.firewallRules = new operations.FirewallRules(this); - this.virtualNetworkRules = new operations.VirtualNetworkRules(this); - this.databases = new operations.Databases(this); - this.configurations = new operations.Configurations(this); - this.logFiles = new operations.LogFiles(this); - this.locationBasedPerformanceTier = new operations.LocationBasedPerformanceTier(this); - this.checkNameAvailability = new operations.CheckNameAvailability(this); - this.serverSecurityAlertPolicies = new operations.ServerSecurityAlertPolicies(this); - this.operations = new operations.Operations(this); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: MariaDBManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); + } + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); + } + + // Initializing default values for options + if (!options) { + options = {}; + } + const defaults: MariaDBManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-mariadb/2.0.0`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + if (!options.credentialScopes) { + options.credentialScopes = ["https://management.azure.com/.default"]; + } + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "https://management.azure.com" + }; + super(optionsWithDefaults); + // Parameter assignments + this.subscriptionId = subscriptionId; + + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.servers = new ServersImpl(this); + this.replicas = new ReplicasImpl(this); + this.firewallRules = new FirewallRulesImpl(this); + this.virtualNetworkRules = new VirtualNetworkRulesImpl(this); + this.databases = new DatabasesImpl(this); + this.configurations = new ConfigurationsImpl(this); + this.serverParameters = new ServerParametersImpl(this); + this.logFiles = new LogFilesImpl(this); + this.recoverableServers = new RecoverableServersImpl(this); + this.serverBasedPerformanceTier = new ServerBasedPerformanceTierImpl(this); + this.locationBasedPerformanceTier = new LocationBasedPerformanceTierImpl( + this + ); + this.checkNameAvailability = new CheckNameAvailabilityImpl(this); + this.operations = new OperationsImpl(this); + this.queryTexts = new QueryTextsImpl(this); + this.topQueryStatistics = new TopQueryStatisticsImpl(this); + this.waitStatistics = new WaitStatisticsImpl(this); + this.advisors = new AdvisorsImpl(this); + this.recommendedActions = new RecommendedActionsImpl(this); + this.locationBasedRecommendedActionSessionsOperationStatus = new LocationBasedRecommendedActionSessionsOperationStatusImpl( + this + ); + this.locationBasedRecommendedActionSessionsResult = new LocationBasedRecommendedActionSessionsResultImpl( + this + ); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.serverSecurityAlertPolicies = new ServerSecurityAlertPoliciesImpl( + this + ); } -} + /** + * Reset data for Query Performance Insight. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + resetQueryPerformanceInsightData( + resourceGroupName: string, + serverName: string, + options?: ResetQueryPerformanceInsightDataOptionalParams + ): Promise { + return this.sendOperationRequest( + { resourceGroupName, serverName, options }, + resetQueryPerformanceInsightDataOperationSpec + ); + } + + /** + * Create recommendation action session for the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + async beginCreateRecommendedActionSession( + resourceGroupName: string, + serverName: string, + advisorName: string, + databaseName: string, + options?: CreateRecommendedActionSessionOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, advisorName, databaseName, options }, + createRecommendedActionSessionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Create recommendation action session for the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + async beginCreateRecommendedActionSessionAndWait( + resourceGroupName: string, + serverName: string, + advisorName: string, + databaseName: string, + options?: CreateRecommendedActionSessionOptionalParams + ): Promise { + const poller = await this.beginCreateRecommendedActionSession( + resourceGroupName, + serverName, + advisorName, + databaseName, + options + ); + return poller.pollUntilDone(); + } + + servers: Servers; + replicas: Replicas; + firewallRules: FirewallRules; + virtualNetworkRules: VirtualNetworkRules; + databases: Databases; + configurations: Configurations; + serverParameters: ServerParameters; + logFiles: LogFiles; + recoverableServers: RecoverableServers; + serverBasedPerformanceTier: ServerBasedPerformanceTier; + locationBasedPerformanceTier: LocationBasedPerformanceTier; + checkNameAvailability: CheckNameAvailability; + operations: Operations; + queryTexts: QueryTexts; + topQueryStatistics: TopQueryStatistics; + waitStatistics: WaitStatistics; + advisors: Advisors; + recommendedActions: RecommendedActions; + locationBasedRecommendedActionSessionsOperationStatus: LocationBasedRecommendedActionSessionsOperationStatus; + locationBasedRecommendedActionSessionsResult: LocationBasedRecommendedActionSessionsResult; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; + serverSecurityAlertPolicies: ServerSecurityAlertPolicies; +} // Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -export { - MariaDBManagementClient, - MariaDBManagementClientContext, - Models as MariaDBManagementModels, - Mappers as MariaDBManagementMappers +const resetQueryPerformanceInsightDataOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/resetQueryPerformanceInsightData", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.QueryPerformanceInsightResetDataResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createRecommendedActionSessionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion, Parameters.databaseName1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName + ], + serializer }; -export * from "./operations"; diff --git a/sdk/mariadb/arm-mariadb/src/mariaDBManagementClientContext.ts b/sdk/mariadb/arm-mariadb/src/mariaDBManagementClientContext.ts deleted file mode 100644 index 9c249c826287..000000000000 --- a/sdk/mariadb/arm-mariadb/src/mariaDBManagementClientContext.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; - -const packageName = "@azure/arm-mariadb"; -const packageVersion = "1.4.0"; - -export class MariaDBManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials; - subscriptionId: string; - apiVersion?: string; - - /** - * Initializes a new instance of the MariaDBManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. - * @param subscriptionId The subscription ID that identifies an Azure subscription. - * @param [options] The parameter options - */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MariaDBManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); - } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); - } - - if (!options) { - options = {}; - } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } - - super(credentials, options); - - this.apiVersion = '2018-06-01'; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; - this.subscriptionId = subscriptionId; - - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } - } -} diff --git a/sdk/mariadb/arm-mariadb/src/models/checkNameAvailabilityMappers.ts b/sdk/mariadb/arm-mariadb/src/models/checkNameAvailabilityMappers.ts deleted file mode 100644 index ba8b8606adc4..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/checkNameAvailabilityMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - CloudError, - NameAvailability, - NameAvailabilityRequest -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/configurationsMappers.ts b/sdk/mariadb/arm-mariadb/src/models/configurationsMappers.ts deleted file mode 100644 index 3df779f095a3..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/configurationsMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - ConfigurationListResult, - Database, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/databasesMappers.ts b/sdk/mariadb/arm-mariadb/src/models/databasesMappers.ts deleted file mode 100644 index aab1065ee094..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/databasesMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - DatabaseListResult, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/firewallRulesMappers.ts b/sdk/mariadb/arm-mariadb/src/models/firewallRulesMappers.ts deleted file mode 100644 index 2b819a0b71bc..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/firewallRulesMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - FirewallRuleListResult, - LogFile, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/index.ts b/sdk/mariadb/arm-mariadb/src/models/index.ts index 5fd1820dc05a..aaf10b82a0b4 100644 --- a/sdk/mariadb/arm-mariadb/src/models/index.ts +++ b/sdk/mariadb/arm-mariadb/src/models/index.ts @@ -1,1427 +1,1695 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; +export type ServerPropertiesForCreateUnion = + | ServerPropertiesForCreate + | ServerPropertiesForDefaultCreate + | ServerPropertiesForRestore + | ServerPropertiesForGeoRestore + | ServerPropertiesForReplica; -/** - * Resource properties. - */ -export interface ProxyResource extends BaseResource { - /** - * Resource ID - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly id?: string; - /** - * Resource name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; - /** - * Resource type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly type?: string; -} - -/** - * Resource properties including location and tags for track resources. - */ -export interface TrackedResource extends ProxyResource { - /** - * The location the resource resides in. - */ +/** Represents a server to be created. */ +export interface ServerForCreate { + /** The SKU (pricing tier) of the server. */ + sku?: Sku; + /** Properties of the server. */ + properties: ServerPropertiesForCreateUnion; + /** The location the resource resides in. */ location: string; - /** - * Application-specific metadata in the form of key-value pairs. - */ + /** Application-specific metadata in the form of key-value pairs. */ tags?: { [propertyName: string]: string }; } -/** - * Storage Profile properties of a server - */ +/** Billing information related properties of a server. */ +export interface Sku { + /** The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8. */ + name: string; + /** The tier of the particular SKU, e.g. Basic. */ + tier?: SkuTier; + /** The scale up/out capacity, representing server's compute units. */ + capacity?: number; + /** The size code, to be interpreted by resource as appropriate. */ + size?: string; + /** The family of hardware. */ + family?: string; +} + +/** The properties used to create a new server. */ +export interface ServerPropertiesForCreate { + /** Polymorphic discriminator, which specifies the different types this object can be */ + createMode: "Default" | "PointInTimeRestore" | "GeoRestore" | "Replica"; + /** Server version. */ + version?: ServerVersion; + /** Enable ssl enforcement or not when connect to server. */ + sslEnforcement?: SslEnforcementEnum; + /** Enforce a minimal Tls version for the server. */ + minimalTlsVersion?: MinimalTlsVersionEnum; + /** Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + publicNetworkAccess?: PublicNetworkAccessEnum; + /** Storage profile of a server. */ + storageProfile?: StorageProfile; +} + +/** Storage Profile properties of a server */ export interface StorageProfile { - /** - * Backup retention days for the server. - */ + /** Backup retention days for the server. */ backupRetentionDays?: number; + /** Enable Geo-redundant or not for server backup. */ + geoRedundantBackup?: GeoRedundantBackup; + /** Max storage allowed for a server. */ + storageMB?: number; + /** Enable Storage Auto Grow. */ + storageAutogrow?: StorageAutogrow; +} + +/** A private endpoint connection under a server */ +export interface ServerPrivateEndpointConnection { /** - * Enable Geo-redundant or not for server backup. Possible values include: 'Enabled', 'Disabled' + * Resource Id of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - geoRedundantBackup?: GeoRedundantBackup; + readonly id?: string; /** - * Max storage allowed for a server. + * Private endpoint connection properties + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageMB?: number; + readonly properties?: ServerPrivateEndpointConnectionProperties; +} + +/** Properties of a private endpoint connection. */ +export interface ServerPrivateEndpointConnectionProperties { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: PrivateEndpointProperty; + /** Connection state of the private endpoint connection. */ + privateLinkServiceConnectionState?: ServerPrivateLinkServiceConnectionStateProperty; /** - * Enable Storage Auto Grow. Possible values include: 'Enabled', 'Disabled' + * State of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAutogrow?: StorageAutogrow; + readonly provisioningState?: PrivateEndpointProvisioningState; } -/** - * Contains the possible cases for ServerPropertiesForCreate. - */ -export type ServerPropertiesForCreateUnion = ServerPropertiesForCreate | ServerPropertiesForDefaultCreate | ServerPropertiesForRestore | ServerPropertiesForGeoRestore | ServerPropertiesForReplica; +export interface PrivateEndpointProperty { + /** Resource id of the private endpoint. */ + id?: string; +} -/** - * The properties used to create a new server. - */ -export interface ServerPropertiesForCreate { +export interface ServerPrivateLinkServiceConnectionStateProperty { + /** The private link service connection status. */ + status: PrivateLinkServiceConnectionStateStatus; + /** The private link service connection description. */ + description: string; /** - * Polymorphic Discriminator + * The actions required for private link service connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode: "ServerPropertiesForCreate"; + readonly actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { /** - * Server version. Possible values include: '5.6', '5.7' + * 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. */ - version?: ServerVersion; + readonly id?: string; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslEnforcement?: SslEnforcementEnum; + readonly name?: string; /** - * Storage profile of a server. + * 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. */ - storageProfile?: StorageProfile; + readonly type?: string; } -/** - * The properties used to create a new server. - */ -export interface ServerPropertiesForDefaultCreate { - /** - * Polymorphic Discriminator - */ - createMode: "Default"; +/** An error response from the Batch service. */ +export interface CloudError { + /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ + error?: ErrorResponse; +} + +/** 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 { /** - * Server version. Possible values include: '5.6', '5.7' + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: ServerVersion; + readonly code?: string; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslEnforcement?: SslEnforcementEnum; + readonly message?: string; /** - * Storage profile of a server. + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageProfile?: StorageProfile; + readonly target?: string; /** - * The administrator's login name of a server. Can only be specified when the server is being - * created (and is required for creation). + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin: string; + readonly details?: ErrorResponse[]; /** - * The password of the administrator login. + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword: string; + readonly additionalInfo?: ErrorAdditionalInfo[]; } -/** - * The properties used to create a new server by restoring from a backup. - */ -export interface ServerPropertiesForRestore { +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { /** - * Polymorphic Discriminator + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode: "PointInTimeRestore"; + readonly type?: string; /** - * Server version. Possible values include: '5.6', '5.7' + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: ServerVersion; + readonly info?: Record; +} + +/** Parameters allowed to update for a server. */ +export interface ServerUpdateParameters { + /** The SKU (pricing tier) of the server. */ + sku?: Sku; + /** Application-specific metadata in the form of key-value pairs. */ + tags?: { [propertyName: string]: string }; + /** Storage profile of a server. */ + storageProfile?: StorageProfile; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * The password of the administrator login. + * This value contains a credential. Consider obscuring before showing to users */ + administratorLoginPassword?: string; + /** The version of a server. */ + version?: ServerVersion; + /** Enable ssl enforcement or not when connect to server. */ sslEnforcement?: SslEnforcementEnum; + /** Enforce a minimal Tls version for the server. */ + minimalTlsVersion?: MinimalTlsVersionEnum; + /** Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + publicNetworkAccess?: PublicNetworkAccessEnum; + /** The replication role of the server. */ + replicationRole?: string; +} + +/** A list of servers. */ +export interface ServerListResult { + /** The list of servers */ + value?: Server[]; +} + +/** A list of firewall rules. */ +export interface FirewallRuleListResult { + /** The list of firewall rules in a server. */ + value?: FirewallRule[]; +} + +/** A list of virtual network rules. */ +export interface VirtualNetworkRuleListResult { /** - * Storage profile of a server. - */ - storageProfile?: StorageProfile; - /** - * The source server id to restore from. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceServerId: string; + readonly value?: VirtualNetworkRule[]; /** - * Restore point creation time (ISO8601 format), specifying the time to restore from. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime: Date; + readonly nextLink?: string; } -/** - * The properties used to create a new server by restoring to a different region from a geo - * replicated backup. - */ -export interface ServerPropertiesForGeoRestore { - /** - * Polymorphic Discriminator - */ - createMode: "GeoRestore"; +/** A List of databases. */ +export interface DatabaseListResult { + /** The list of databases housed in a server */ + value?: Database[]; +} + +/** A list of server configurations. */ +export interface ConfigurationListResult { + /** The list of server configurations. */ + value?: Configuration[]; +} + +/** A list of log files. */ +export interface LogFileListResult { + /** The list of log files. */ + value?: LogFile[]; +} + +/** A list of performance tiers. */ +export interface PerformanceTierListResult { + /** The list of performance tiers */ + value?: PerformanceTierProperties[]; +} + +/** Performance tier properties */ +export interface PerformanceTierProperties { + /** ID of the performance tier. */ + id?: string; + /** Maximum Backup retention in days for the performance tier edition */ + maxBackupRetentionDays?: number; + /** Minimum Backup retention in days for the performance tier edition */ + minBackupRetentionDays?: number; + /** Max storage allowed for a server. */ + maxStorageMB?: number; + /** Max storage allowed for a server. */ + minLargeStorageMB?: number; + /** Max storage allowed for a server. */ + maxLargeStorageMB?: number; + /** Max storage allowed for a server. */ + minStorageMB?: number; + /** Service level objectives associated with the performance tier */ + serviceLevelObjectives?: PerformanceTierServiceLevelObjectives[]; +} + +/** Service level objectives for performance tier. */ +export interface PerformanceTierServiceLevelObjectives { + /** ID for the service level objective. */ + id?: string; + /** Edition of the performance tier. */ + edition?: string; + /** vCore associated with the service level objective */ + vCore?: number; + /** Hardware generation associated with the service level objective */ + hardwareGeneration?: string; + /** Maximum Backup retention in days for the performance tier edition */ + maxBackupRetentionDays?: number; + /** Minimum Backup retention in days for the performance tier edition */ + minBackupRetentionDays?: number; + /** Max storage allowed for a server. */ + maxStorageMB?: number; + /** Max storage allowed for a server. */ + minStorageMB?: number; +} + +/** Request from client to check resource name availability. */ +export interface NameAvailabilityRequest { + /** Resource name to verify. */ + name: string; + /** Resource type used for verification. */ + type?: string; +} + +/** Represents a resource name availability. */ +export interface NameAvailability { + /** Error Message. */ + message?: string; + /** Indicates whether the resource name is available. */ + nameAvailable?: boolean; + /** Reason for name being unavailable. */ + reason?: string; +} + +/** A list of resource provider operations. */ +export interface OperationListResult { + /** The list of resource provider operations. */ + value?: Operation[]; +} + +/** REST API operation definition. */ +export interface Operation { /** - * Server version. Possible values include: '5.6', '5.7' + * The name of the operation being performed on this particular object. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: ServerVersion; + readonly name?: string; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * The localized display information for this particular operation or action. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslEnforcement?: SslEnforcementEnum; + readonly display?: OperationDisplay; /** - * Storage profile of a server. + * The intended executor of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageProfile?: StorageProfile; + readonly origin?: OperationOrigin; /** - * The source server id to restore from. + * Additional descriptions for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceServerId: string; + readonly properties?: { [propertyName: string]: Record }; } -/** - * The properties to create a new replica. - */ -export interface ServerPropertiesForReplica { - /** - * Polymorphic Discriminator - */ - createMode: "Replica"; +/** Display metadata associated with the operation. */ +export interface OperationDisplay { /** - * Server version. Possible values include: '5.6', '5.7' + * Operation resource provider name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: ServerVersion; + readonly provider?: string; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * Resource on which the operation is performed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslEnforcement?: SslEnforcementEnum; + readonly resource?: string; /** - * Storage profile of a server. + * Localized friendly name for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageProfile?: StorageProfile; + readonly operation?: string; /** - * The master server id to create replica from. + * Operation description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceServerId: string; + readonly description?: string; } -/** - * Billing information related properties of a server. - */ -export interface Sku { - /** - * The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8. - */ - name?: string; +/** A list of query texts. */ +export interface QueryTextsResultList { /** - * The tier of the particular SKU, e.g. Basic. Possible values include: 'Basic', - * 'GeneralPurpose', 'MemoryOptimized' + * The list of query texts. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tier?: SkuTier; + readonly value?: QueryText[]; /** - * The scale up/out capacity, representing server's compute units. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - capacity?: number; + readonly nextLink?: string; +} + +/** Input to get top query statistics */ +export interface TopQueryStatisticsInput { + /** Max number of top queries to return. */ + numberOfTopQueries: number; + /** Aggregation function name. */ + aggregationFunction: string; + /** Observed metric name. */ + observedMetric: string; + /** Observation start time. */ + observationStartTime: Date; + /** Observation end time. */ + observationEndTime: Date; + /** Aggregation interval type in ISO 8601 format. */ + aggregationWindow: string; +} + +/** A list of query statistics. */ +export interface TopQueryStatisticsResultList { /** - * The size code, to be interpreted by resource as appropriate. + * The list of top query statistics. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - size?: string; + readonly value?: QueryStatistic[]; /** - * The family of hardware. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - family?: string; + readonly nextLink?: string; } -/** - * Represents a server. - */ -export interface Server extends TrackedResource { +/** Input to get wait statistics */ +export interface WaitStatisticsInput { + /** Observation start time. */ + observationStartTime: Date; + /** Observation end time. */ + observationEndTime: Date; + /** Aggregation interval type in ISO 8601 format. */ + aggregationWindow: string; +} + +/** A list of wait statistics. */ +export interface WaitStatisticsResultList { /** - * The SKU (pricing tier) of the server. + * The list of wait statistics. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly value?: WaitStatistic[]; /** - * The administrator's login name of a server. Can only be specified when the server is being - * created (and is required for creation). + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin?: string; + readonly nextLink?: string; +} + +/** Result of Query Performance Insight data reset. */ +export interface QueryPerformanceInsightResetDataResult { + /** Indicates result of the operation. */ + status?: QueryPerformanceInsightResetDataResultState; + /** operation message. */ + message?: string; +} + +/** A list of query statistics. */ +export interface AdvisorsResultList { /** - * Server version. Possible values include: '5.6', '5.7' + * The list of recommendation action advisors. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: ServerVersion; + readonly value?: Advisor[]; /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslEnforcement?: SslEnforcementEnum; + readonly nextLink?: string; +} + +/** A list of recommendation actions. */ +export interface RecommendationActionsResultList { /** - * A state of a server that is visible to user. Possible values include: 'Ready', 'Dropping', - * 'Disabled' + * The list of recommendation action advisors. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - userVisibleState?: ServerState; + readonly value?: RecommendationAction[]; /** - * The fully qualified domain name of a server. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - fullyQualifiedDomainName?: string; + readonly nextLink?: string; +} + +/** Recommendation action session operation status. */ +export interface RecommendedActionSessionsOperationStatus { + /** Operation identifier. */ + name?: string; + /** Operation start time. */ + startTime?: Date; + /** Operation status. */ + status?: string; +} + +export interface PrivateLinkServiceConnectionStateProperty { + /** The private link service connection status. */ + status: string; + /** The private link service connection description. */ + description: string; /** - * Earliest restore point creation time (ISO8601 format) + * The actions required for private link service connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - earliestRestoreDate?: Date; + readonly actionsRequired?: string; +} + +/** Tags object for patch operations. */ +export interface TagsObject { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +} + +/** A list of private endpoint connections. */ +export interface PrivateEndpointConnectionListResult { /** - * Storage profile of a server. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageProfile?: StorageProfile; + readonly value?: PrivateEndpointConnection[]; /** - * The replication role of the server. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - replicationRole?: string; + readonly nextLink?: string; +} + +/** A list of private link resources */ +export interface PrivateLinkResourceListResult { /** - * The master server id of a replica server. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - masterServerId?: string; + readonly value?: PrivateLinkResource[]; /** - * The maximum number of replicas that a master server can have. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - replicaCapacity?: number; + readonly nextLink?: string; } -/** - * Represents a server to be created. - */ -export interface ServerForCreate { +/** Properties of a private link resource. */ +export interface PrivateLinkResourceProperties { /** - * The SKU (pricing tier) of the server. + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly groupId?: string; /** - * Properties of the server. + * The private link resource required member names. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties: ServerPropertiesForCreateUnion; + readonly requiredMembers?: string[]; +} + +/** A list of the server's security alert policies. */ +export interface ServerSecurityAlertPolicyListResult { /** - * The location the resource resides in. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location: string; + readonly value?: ServerSecurityAlertPolicy[]; /** - * Application-specific metadata in the form of key-value pairs. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly nextLink?: string; } -/** - * Parameters allowed to update for a server. - */ -export interface ServerUpdateParameters { - /** - * The SKU (pricing tier) of the server. - */ - sku?: Sku; - /** - * Storage profile of a server. - */ - storageProfile?: StorageProfile; +/** An error response from the Batch service. */ +export interface CloudErrorAutoGenerated { + /** Error message */ + error?: ErrorResponse; +} + +/** The properties used to create a new server. */ +export type ServerPropertiesForDefaultCreate = ServerPropertiesForCreate & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + createMode: "Default"; + /** The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). */ + administratorLogin: string; /** * The password of the administrator login. + * This value contains a credential. Consider obscuring before showing to users */ - administratorLoginPassword?: string; - /** - * The version of a server. Possible values include: '5.6', '5.7' - */ + administratorLoginPassword: string; +}; + +/** The properties used to create a new server by restoring from a backup. */ +export type ServerPropertiesForRestore = ServerPropertiesForCreate & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + createMode: "PointInTimeRestore"; + /** The source server id to restore from. */ + sourceServerId: string; + /** Restore point creation time (ISO8601 format), specifying the time to restore from. */ + restorePointInTime: Date; +}; + +/** The properties used to create a new server by restoring to a different region from a geo replicated backup. */ +export type ServerPropertiesForGeoRestore = ServerPropertiesForCreate & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + createMode: "GeoRestore"; + /** The source server id to restore from. */ + sourceServerId: string; +}; + +/** The properties to create a new replica. */ +export type ServerPropertiesForReplica = ServerPropertiesForCreate & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + createMode: "Replica"; + /** The master server id to create replica from. */ + sourceServerId: string; +}; + +/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ +export type TrackedResource = 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 & {}; + +/** Represents a server. */ +export type Server = TrackedResource & { + /** The SKU (pricing tier) of the server. */ + sku?: Sku; + /** The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). */ + administratorLogin?: string; + /** Server version. */ version?: ServerVersion; - /** - * Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', - * 'Disabled' - */ + /** Enable ssl enforcement or not when connect to server. */ sslEnforcement?: SslEnforcementEnum; - /** - * The replication role of the server. - */ + /** Enforce a minimal Tls version for the server. */ + minimalTlsVersion?: MinimalTlsVersionEnum; + /** A state of a server that is visible to user. */ + userVisibleState?: ServerState; + /** The fully qualified domain name of a server. */ + fullyQualifiedDomainName?: string; + /** Earliest restore point creation time (ISO8601 format) */ + earliestRestoreDate?: Date; + /** Storage profile of a server. */ + storageProfile?: StorageProfile; + /** The replication role of the server. */ replicationRole?: string; + /** The master server id of a replica server. */ + masterServerId?: string; + /** The maximum number of replicas that a master server can have. */ + replicaCapacity?: number; + /** Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + publicNetworkAccess?: PublicNetworkAccessEnum; /** - * Application-specific metadata in the form of key-value pairs. + * List of private endpoint connections on a server + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; +}; -/** - * Represents a server firewall rule. - */ -export interface FirewallRule extends ProxyResource { - /** - * The start IP address of the server firewall rule. Must be IPv4 format. - */ +/** Represents a server firewall rule. */ +export type FirewallRule = ProxyResource & { + /** The start IP address of the server firewall rule. Must be IPv4 format. */ startIpAddress: string; - /** - * The end IP address of the server firewall rule. Must be IPv4 format. - */ + /** The end IP address of the server firewall rule. Must be IPv4 format. */ endIpAddress: string; -} +}; -/** - * A virtual network rule. - */ -export interface VirtualNetworkRule extends ProxyResource { - /** - * The ARM resource id of the virtual network subnet. - */ - virtualNetworkSubnetId: string; - /** - * Create firewall rule before the virtual network has vnet service endpoint enabled. - */ +/** A virtual network rule. */ +export type VirtualNetworkRule = ProxyResource & { + /** The ARM resource id of the virtual network subnet. */ + virtualNetworkSubnetId?: string; + /** Create firewall rule before the virtual network has vnet service endpoint enabled. */ ignoreMissingVnetServiceEndpoint?: boolean; /** - * Virtual Network Rule State. Possible values include: 'Initializing', 'InProgress', 'Ready', - * 'Deleting', 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Virtual Network Rule State + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly state?: VirtualNetworkRuleState; -} +}; -/** - * Represents a Database. - */ -export interface Database extends ProxyResource { - /** - * The charset of the database. - */ +/** Represents a Database. */ +export type Database = ProxyResource & { + /** The charset of the database. */ charset?: string; - /** - * The collation of the database. - */ + /** The collation of the database. */ collation?: string; -} +}; -/** - * Represents a Configuration. - */ -export interface Configuration extends ProxyResource { - /** - * Value of the configuration. - */ +/** Represents a Configuration. */ +export type Configuration = ProxyResource & { + /** Value of the configuration. */ value?: string; /** * Description of the configuration. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly description?: string; /** * Default value of the configuration. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly defaultValue?: string; /** * Data type of the configuration. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly dataType?: string; /** * Allowed values of the configuration. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly allowedValues?: string; - /** - * Source of the configuration. - */ + /** Source of the configuration. */ source?: string; -} - -/** - * Display metadata associated with the operation. - */ -export interface OperationDisplay { - /** - * Operation resource provider name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provider?: string; - /** - * Resource on which the operation is performed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly resource?: string; - /** - * Localized friendly name for the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly operation?: string; - /** - * Operation description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly description?: string; -} - -/** - * REST API operation definition. - */ -export interface Operation { - /** - * The name of the operation being performed on this particular object. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; - /** - * The localized display information for this particular operation or action. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly display?: OperationDisplay; - /** - * The intended executor of the operation. Possible values include: 'NotSpecified', 'user', - * 'system' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly origin?: OperationOrigin; - /** - * Additional descriptions for the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly properties?: { [propertyName: string]: any }; -} - -/** - * A list of resource provider operations. - */ -export interface OperationListResult { - /** - * The list of resource provider operations. - */ - value?: Operation[]; -} +}; -/** - * Represents a log file. - */ -export interface LogFile extends ProxyResource { - /** - * Size of the log file. - */ +/** Represents a log file. */ +export type LogFile = ProxyResource & { + /** Size of the log file. */ sizeInKB?: number; /** * Creation timestamp of the log file. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdTime?: Date; /** * Last modified timestamp of the log file. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly lastModifiedTime?: Date; - /** - * Type of the log file. - */ - logFileType?: string; + /** Type of the log file. */ + typePropertiesType?: string; /** * The url to download the log file from. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly url?: string; -} +}; -/** - * Service level objectives for performance tier. - */ -export interface PerformanceTierServiceLevelObjectives { +/** A recoverable server resource. */ +export type RecoverableServerResource = ProxyResource & { /** - * ID for the service level objective. + * The last available backup date time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; + readonly lastAvailableBackupDateTime?: string; + /** + * The service level objective + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly serviceLevelObjective?: string; /** * Edition of the performance tier. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - edition?: string; + readonly edition?: string; /** * vCore associated with the service level objective + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vCore?: number; + readonly vCore?: number; /** * Hardware generation associated with the service level objective + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hardwareGeneration?: string; - /** - * Maximum Backup retention in days for the performance tier edition - */ - maxBackupRetentionDays?: number; - /** - * Minimum Backup retention in days for the performance tier edition - */ - minBackupRetentionDays?: number; + readonly hardwareGeneration?: string; /** - * Max storage allowed for a server. + * The MariaDB version + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxStorageMB?: number; - /** - * Max storage allowed for a server. - */ - minStorageMB?: number; -} + readonly version?: string; +}; -/** - * Performance tier properties - */ -export interface PerformanceTierProperties { - /** - * ID of the performance tier. - */ - id?: string; - /** - * Service level objectives associated with the performance tier - */ - serviceLevelObjectives?: PerformanceTierServiceLevelObjectives[]; -} +/** Represents a Query Text. */ +export type QueryText = ProxyResource & { + /** Query identifier unique to the server. */ + queryId?: string; + /** Query text. */ + queryText?: string; +}; -/** - * Request from client to check resource name availability. - */ -export interface NameAvailabilityRequest { - /** - * Resource name to verify. - */ - name: string; - /** - * Resource type used for verification. - */ - type?: string; -} +/** Represents a Query Statistic. */ +export type QueryStatistic = ProxyResource & { + /** Database query identifier. */ + queryId?: string; + /** Observation start time. */ + startTime?: Date; + /** Observation end time. */ + endTime?: Date; + /** Aggregation function name. */ + aggregationFunction?: string; + /** The list of database names. */ + databaseNames?: string[]; + /** Number of query executions in this time interval. */ + queryExecutionCount?: number; + /** Metric name. */ + metricName?: string; + /** Metric display name. */ + metricDisplayName?: string; + /** Metric value. */ + metricValue?: number; + /** Metric value unit. */ + metricValueUnit?: string; +}; -/** - * Represents a resource name availability. - */ -export interface NameAvailability { - /** - * Error Message. - */ - message?: string; - /** - * Indicates whether the resource name is available. - */ - nameAvailable?: boolean; - /** - * Reason for name being unavailable. - */ +/** Represents a Wait Statistic. */ +export type WaitStatistic = ProxyResource & { + /** Observation start time. */ + startTime?: Date; + /** Observation end time. */ + endTime?: Date; + /** Wait event name. */ + eventName?: string; + /** Wait event type name. */ + eventTypeName?: string; + /** Database query identifier. */ + queryId?: number; + /** Database Name. */ + databaseName?: string; + /** Database user identifier. */ + userId?: number; + /** Wait event count observed in this time interval. */ + count?: number; + /** Total time of wait in milliseconds in this time interval. */ + totalTimeInMs?: number; +}; + +/** Represents a recommendation action advisor. */ +export type Advisor = ProxyResource & { + /** The properties of a recommendation action advisor. */ + properties?: Record; +}; + +/** Represents a Recommendation Action. */ +export type RecommendationAction = ProxyResource & { + /** Advisor name. */ + advisorName?: string; + /** Recommendation action session identifier. */ + sessionId?: string; + /** Recommendation action identifier. */ + actionId?: number; + /** Recommendation action creation time. */ + createdTime?: Date; + /** Recommendation action expiration time. */ + expirationTime?: Date; + /** Recommendation action reason. */ reason?: string; -} + /** Recommendation action type. */ + recommendationType?: string; + /** Recommendation action details. */ + details?: { [propertyName: string]: string }; +}; -/** - * A server security alert policy. - */ -export interface ServerSecurityAlertPolicy extends ProxyResource { +/** A private endpoint connection */ +export type PrivateEndpointConnection = ProxyResource & { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: PrivateEndpointProperty; + /** Connection state of the private endpoint connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; /** - * Specifies the state of the policy, whether it is enabled or disabled. Possible values include: - * 'Enabled', 'Disabled' + * State of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: ServerSecurityAlertPolicyState; + readonly provisioningState?: string; +}; + +/** A private link resource */ +export type PrivateLinkResource = ProxyResource & { /** - * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - * Sql_Injection_Vulnerability, Access_Anomaly + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly properties?: PrivateLinkResourceProperties; +}; + +/** A server security alert policy. */ +export type ServerSecurityAlertPolicy = ProxyResource & { + /** Specifies the state of the policy, whether it is enabled or disabled. */ + state?: ServerSecurityAlertPolicyState; + /** Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly */ disabledAlerts?: string[]; - /** - * Specifies an array of e-mail addresses to which the alert is sent. - */ + /** Specifies an array of e-mail addresses to which the alert is sent. */ emailAddresses?: string[]; - /** - * Specifies that the alert is sent to the account administrators. - */ + /** Specifies that the alert is sent to the account administrators. */ emailAccountAdmins?: boolean; - /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob - * storage will hold all Threat Detection audit logs. - */ + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. */ storageEndpoint?: string; - /** - * Specifies the identifier key of the Threat Detection audit storage account. - */ + /** Specifies the identifier key of the Threat Detection audit storage account. */ storageAccountAccessKey?: string; - /** - * Specifies the number of days to keep in the Threat Detection audit logs. - */ + /** Specifies the number of days to keep in the Threat Detection audit logs. */ retentionDays?: number; +}; + +/** Known values of {@link SkuTier} that the service accepts. */ +export enum KnownSkuTier { + Basic = "Basic", + GeneralPurpose = "GeneralPurpose", + MemoryOptimized = "MemoryOptimized" } /** - * An interface representing MariaDBManagementClientOptions. + * Defines values for SkuTier. \ + * {@link KnownSkuTier} can be used interchangeably with SkuTier, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Basic** \ + * **GeneralPurpose** \ + * **MemoryOptimized** */ -export interface MariaDBManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; +export type SkuTier = string; + +/** Known values of {@link ServerVersion} that the service accepts. */ +export enum KnownServerVersion { + Ten2 = "10.2", + Ten3 = "10.3" } /** - * @interface - * A list of servers. - * @extends Array + * Defines values for ServerVersion. \ + * {@link KnownServerVersion} can be used interchangeably with ServerVersion, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **10.2** \ + * **10.3** */ -export interface ServerListResult extends Array { +export type ServerVersion = string; + +/** Known values of {@link MinimalTlsVersionEnum} that the service accepts. */ +export enum KnownMinimalTlsVersionEnum { + TLS10 = "TLS1_0", + TLS11 = "TLS1_1", + TLS12 = "TLS1_2", + TLSEnforcementDisabled = "TLSEnforcementDisabled" } /** - * @interface - * A list of firewall rules. - * @extends Array + * Defines values for MinimalTlsVersionEnum. \ + * {@link KnownMinimalTlsVersionEnum} can be used interchangeably with MinimalTlsVersionEnum, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **TLS1_0** \ + * **TLS1_1** \ + * **TLS1_2** \ + * **TLSEnforcementDisabled** */ -export interface FirewallRuleListResult extends Array { +export type MinimalTlsVersionEnum = string; + +/** Known values of {@link PublicNetworkAccessEnum} that the service accepts. */ +export enum KnownPublicNetworkAccessEnum { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * @interface - * A list of virtual network rules. - * @extends Array + * Defines values for PublicNetworkAccessEnum. \ + * {@link KnownPublicNetworkAccessEnum} can be used interchangeably with PublicNetworkAccessEnum, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export interface VirtualNetworkRuleListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type PublicNetworkAccessEnum = string; + +/** Known values of {@link GeoRedundantBackup} that the service accepts. */ +export enum KnownGeoRedundantBackup { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * @interface - * A List of databases. - * @extends Array + * Defines values for GeoRedundantBackup. \ + * {@link KnownGeoRedundantBackup} can be used interchangeably with GeoRedundantBackup, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export interface DatabaseListResult extends Array { +export type GeoRedundantBackup = string; + +/** Known values of {@link StorageAutogrow} that the service accepts. */ +export enum KnownStorageAutogrow { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * @interface - * A list of server configurations. - * @extends Array + * Defines values for StorageAutogrow. \ + * {@link KnownStorageAutogrow} can be used interchangeably with StorageAutogrow, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export interface ConfigurationListResult extends Array { +export type StorageAutogrow = string; + +/** Known values of {@link CreateMode} that the service accepts. */ +export enum KnownCreateMode { + Default = "Default", + PointInTimeRestore = "PointInTimeRestore", + GeoRestore = "GeoRestore", + Replica = "Replica" } /** - * @interface - * A list of log files. - * @extends Array + * Defines values for CreateMode. \ + * {@link KnownCreateMode} can be used interchangeably with CreateMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **PointInTimeRestore** \ + * **GeoRestore** \ + * **Replica** */ -export interface LogFileListResult extends Array { +export type CreateMode = string; + +/** Known values of {@link ServerState} that the service accepts. */ +export enum KnownServerState { + Ready = "Ready", + Dropping = "Dropping", + Disabled = "Disabled" } /** - * @interface - * A list of performance tiers. - * @extends Array + * Defines values for ServerState. \ + * {@link KnownServerState} can be used interchangeably with ServerState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Ready** \ + * **Dropping** \ + * **Disabled** */ -export interface PerformanceTierListResult extends Array { +export type ServerState = string; + +/** Known values of {@link PrivateLinkServiceConnectionStateStatus} that the service accepts. */ +export enum KnownPrivateLinkServiceConnectionStateStatus { + Approved = "Approved", + Pending = "Pending", + Rejected = "Rejected", + Disconnected = "Disconnected" } /** - * Defines values for ServerVersion. - * Possible values include: '5.6', '5.7' - * @readonly - * @enum {string} + * Defines values for PrivateLinkServiceConnectionStateStatus. \ + * {@link KnownPrivateLinkServiceConnectionStateStatus} can be used interchangeably with PrivateLinkServiceConnectionStateStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approved** \ + * **Pending** \ + * **Rejected** \ + * **Disconnected** */ -export type ServerVersion = '5.6' | '5.7'; +export type PrivateLinkServiceConnectionStateStatus = string; -/** - * Defines values for SslEnforcementEnum. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type SslEnforcementEnum = 'Enabled' | 'Disabled'; +/** Known values of {@link PrivateLinkServiceConnectionStateActionsRequire} that the service accepts. */ +export enum KnownPrivateLinkServiceConnectionStateActionsRequire { + None = "None" +} /** - * Defines values for ServerState. - * Possible values include: 'Ready', 'Dropping', 'Disabled' - * @readonly - * @enum {string} + * Defines values for PrivateLinkServiceConnectionStateActionsRequire. \ + * {@link KnownPrivateLinkServiceConnectionStateActionsRequire} can be used interchangeably with PrivateLinkServiceConnectionStateActionsRequire, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** */ -export type ServerState = 'Ready' | 'Dropping' | 'Disabled'; +export type PrivateLinkServiceConnectionStateActionsRequire = string; -/** - * Defines values for GeoRedundantBackup. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type GeoRedundantBackup = 'Enabled' | 'Disabled'; +/** Known values of {@link PrivateEndpointProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointProvisioningState { + Approving = "Approving", + Ready = "Ready", + Dropping = "Dropping", + Failed = "Failed", + Rejecting = "Rejecting" +} /** - * Defines values for StorageAutogrow. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type StorageAutogrow = 'Enabled' | 'Disabled'; + * Defines values for PrivateEndpointProvisioningState. \ + * {@link KnownPrivateEndpointProvisioningState} can be used interchangeably with PrivateEndpointProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approving** \ + * **Ready** \ + * **Dropping** \ + * **Failed** \ + * **Rejecting** + */ +export type PrivateEndpointProvisioningState = string; + +/** Known values of {@link VirtualNetworkRuleState} that the service accepts. */ +export enum KnownVirtualNetworkRuleState { + Initializing = "Initializing", + InProgress = "InProgress", + Ready = "Ready", + Deleting = "Deleting", + Unknown = "Unknown" +} /** - * Defines values for SkuTier. - * Possible values include: 'Basic', 'GeneralPurpose', 'MemoryOptimized' - * @readonly - * @enum {string} + * Defines values for VirtualNetworkRuleState. \ + * {@link KnownVirtualNetworkRuleState} can be used interchangeably with VirtualNetworkRuleState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Initializing** \ + * **InProgress** \ + * **Ready** \ + * **Deleting** \ + * **Unknown** */ -export type SkuTier = 'Basic' | 'GeneralPurpose' | 'MemoryOptimized'; +export type VirtualNetworkRuleState = string; -/** - * Defines values for VirtualNetworkRuleState. - * Possible values include: 'Initializing', 'InProgress', 'Ready', 'Deleting', 'Unknown' - * @readonly - * @enum {string} - */ -export type VirtualNetworkRuleState = 'Initializing' | 'InProgress' | 'Ready' | 'Deleting' | 'Unknown'; +/** Known values of {@link OperationOrigin} that the service accepts. */ +export enum KnownOperationOrigin { + NotSpecified = "NotSpecified", + User = "user", + System = "system" +} /** - * Defines values for OperationOrigin. - * Possible values include: 'NotSpecified', 'user', 'system' - * @readonly - * @enum {string} + * Defines values for OperationOrigin. \ + * {@link KnownOperationOrigin} can be used interchangeably with OperationOrigin, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotSpecified** \ + * **user** \ + * **system** */ -export type OperationOrigin = 'NotSpecified' | 'user' | 'system'; +export type OperationOrigin = string; -/** - * Defines values for ServerSecurityAlertPolicyState. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type ServerSecurityAlertPolicyState = 'Enabled' | 'Disabled'; +/** Known values of {@link QueryPerformanceInsightResetDataResultState} that the service accepts. */ +export enum KnownQueryPerformanceInsightResetDataResultState { + Succeeded = "Succeeded", + Failed = "Failed" +} /** - * Contains response data for the create operation. + * Defines values for QueryPerformanceInsightResetDataResultState. \ + * {@link KnownQueryPerformanceInsightResetDataResultState} can be used interchangeably with QueryPerformanceInsightResetDataResultState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Failed** */ -export type ServersCreateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +export type QueryPerformanceInsightResetDataResultState = string; -/** - * Contains response data for the update operation. - */ -export type ServersUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Known values of {@link SecurityAlertPolicyName} that the service accepts. */ +export enum KnownSecurityAlertPolicyName { + Default = "Default" +} /** - * Contains response data for the get operation. - */ -export type ServersGetResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; + * Defines values for SecurityAlertPolicyName. \ + * {@link KnownSecurityAlertPolicyName} can be used interchangeably with SecurityAlertPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** + */ +export type SecurityAlertPolicyName = string; +/** Defines values for SslEnforcementEnum. */ +export type SslEnforcementEnum = "Enabled" | "Disabled"; +/** Defines values for ServerSecurityAlertPolicyState. */ +export type ServerSecurityAlertPolicyState = "Enabled" | "Disabled"; + +/** Optional parameters. */ +export interface ServersCreateOptionalParams + 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 listByResourceGroup operation. - */ -export type ServersListByResourceGroupResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Contains response data for the create operation. */ +export type ServersCreateResponse = Server; -/** - * Contains response data for the list operation. - */ -export type ServersListResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Optional parameters. */ +export interface ServersUpdateOptionalParams + 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 beginCreate operation. - */ -export type ServersBeginCreateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Contains response data for the update operation. */ +export type ServersUpdateResponse = Server; -/** - * Contains response data for the beginUpdate operation. - */ -export type ServersBeginUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Optional parameters. */ +export interface ServersDeleteOptionalParams + 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 listByServer operation. - */ -export type ReplicasListByServerResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Optional parameters. */ +export interface ServersGetOptionalParams extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type FirewallRulesCreateOrUpdateResponse = FirewallRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRule; - }; -}; +/** Contains response data for the get operation. */ +export type ServersGetResponse = Server; -/** - * Contains response data for the get operation. - */ -export type FirewallRulesGetResponse = FirewallRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRule; - }; -}; +/** Optional parameters. */ +export interface ServersListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type FirewallRulesListByServerResponse = FirewallRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRuleListResult; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type ServersListByResourceGroupResponse = ServerListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type FirewallRulesBeginCreateOrUpdateResponse = FirewallRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRule; - }; -}; +/** Optional parameters. */ +export interface ServersListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type VirtualNetworkRulesGetResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Contains response data for the list operation. */ +export type ServersListResponse = ServerListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Optional parameters. */ +export interface ServersRestartOptionalParams + 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 listByServer operation. - */ -export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRuleListResult; - }; -}; +/** Optional parameters. */ +export interface ServersStartOptionalParams + 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 beginCreateOrUpdate operation. - */ -export type VirtualNetworkRulesBeginCreateOrUpdateResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Optional parameters. */ +export interface ServersStopOptionalParams 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 listByServerNext operation. - */ -export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRuleListResult; - }; -}; +/** Optional parameters. */ +export interface ReplicasListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type DatabasesCreateOrUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Contains response data for the listByServer operation. */ +export type ReplicasListByServerResponse = ServerListResult; -/** - * Contains response data for the get operation. - */ -export type DatabasesGetResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesCreateOrUpdateOptionalParams + 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 listByServer operation. - */ -export type DatabasesListByServerResponse = DatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type FirewallRulesCreateOrUpdateResponse = FirewallRule; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type DatabasesBeginCreateOrUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesDeleteOptionalParams + 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 createOrUpdate operation. - */ -export type ConfigurationsCreateOrUpdateResponse = Configuration & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Configuration; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ConfigurationsGetResponse = Configuration & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Configuration; - }; -}; +/** Contains response data for the get operation. */ +export type FirewallRulesGetResponse = FirewallRule; -/** - * Contains response data for the listByServer operation. - */ -export type ConfigurationsListByServerResponse = ConfigurationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConfigurationListResult; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ConfigurationsBeginCreateOrUpdateResponse = Configuration & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Configuration; - }; -}; +/** Contains response data for the listByServer operation. */ +export type FirewallRulesListByServerResponse = FirewallRuleListResult; -/** - * Contains response data for the listByServer operation. - */ -export type LogFilesListByServerResponse = LogFileListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogFileListResult; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type LocationBasedPerformanceTierListResponse = PerformanceTierListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: PerformanceTierListResult; - }; -}; +/** Contains response data for the get operation. */ +export type VirtualNetworkRulesGetResponse = VirtualNetworkRule; -/** - * Contains response data for the execute operation. - */ -export type CheckNameAvailabilityExecuteResponse = NameAvailability & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: NameAvailability; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesCreateOrUpdateOptionalParams + 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 get operation. - */ -export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesDeleteOptionalParams + 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 beginCreateOrUpdate operation. - */ -export type ServerSecurityAlertPoliciesBeginCreateOrUpdateResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Contains response data for the listByServer operation. */ +export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult; + +/** Optional parameters. */ +export interface VirtualNetworkRulesListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult; + +/** Optional parameters. */ +export interface DatabasesCreateOrUpdateOptionalParams + 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 createOrUpdate operation. */ +export type DatabasesCreateOrUpdateResponse = Database; + +/** Optional parameters. */ +export interface DatabasesDeleteOptionalParams + 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 DatabasesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DatabasesGetResponse = Database; + +/** Optional parameters. */ +export interface DatabasesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type DatabasesListByServerResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface ConfigurationsCreateOrUpdateOptionalParams + 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 createOrUpdate operation. */ +export type ConfigurationsCreateOrUpdateResponse = Configuration; + +/** Optional parameters. */ +export interface ConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ConfigurationsGetResponse = Configuration; + +/** Optional parameters. */ +export interface ConfigurationsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ConfigurationsListByServerResponse = ConfigurationListResult; + +/** Optional parameters. */ +export interface ServerParametersListUpdateConfigurationsOptionalParams + 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 listUpdateConfigurations operation. */ +export type ServerParametersListUpdateConfigurationsResponse = ConfigurationListResult; + +/** Optional parameters. */ +export interface LogFilesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type LogFilesListByServerResponse = LogFileListResult; + +/** Optional parameters. */ +export interface RecoverableServersGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RecoverableServersGetResponse = RecoverableServerResource; + +/** Optional parameters. */ +export interface ServerBasedPerformanceTierListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ServerBasedPerformanceTierListResponse = PerformanceTierListResult; + +/** Optional parameters. */ +export interface LocationBasedPerformanceTierListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type LocationBasedPerformanceTierListResponse = PerformanceTierListResult; + +/** Optional parameters. */ +export interface CheckNameAvailabilityExecuteOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the execute operation. */ +export type CheckNameAvailabilityExecuteResponse = NameAvailability; + +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; + +/** Optional parameters. */ +export interface QueryTextsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type QueryTextsGetResponse = QueryText; + +/** Optional parameters. */ +export interface QueryTextsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type QueryTextsListByServerResponse = QueryTextsResultList; + +/** Optional parameters. */ +export interface QueryTextsListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type QueryTextsListByServerNextResponse = QueryTextsResultList; + +/** Optional parameters. */ +export interface TopQueryStatisticsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type TopQueryStatisticsGetResponse = QueryStatistic; + +/** Optional parameters. */ +export interface TopQueryStatisticsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type TopQueryStatisticsListByServerResponse = TopQueryStatisticsResultList; + +/** Optional parameters. */ +export interface TopQueryStatisticsListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type TopQueryStatisticsListByServerNextResponse = TopQueryStatisticsResultList; + +/** Optional parameters. */ +export interface WaitStatisticsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type WaitStatisticsGetResponse = WaitStatistic; + +/** Optional parameters. */ +export interface WaitStatisticsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type WaitStatisticsListByServerResponse = WaitStatisticsResultList; + +/** Optional parameters. */ +export interface WaitStatisticsListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type WaitStatisticsListByServerNextResponse = WaitStatisticsResultList; + +/** Optional parameters. */ +export interface ResetQueryPerformanceInsightDataOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the resetQueryPerformanceInsightData operation. */ +export type ResetQueryPerformanceInsightDataResponse = QueryPerformanceInsightResetDataResult; + +/** Optional parameters. */ +export interface CreateRecommendedActionSessionOptionalParams + 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 AdvisorsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AdvisorsGetResponse = Advisor; + +/** Optional parameters. */ +export interface AdvisorsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type AdvisorsListByServerResponse = AdvisorsResultList; + +/** Optional parameters. */ +export interface AdvisorsListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type AdvisorsListByServerNextResponse = AdvisorsResultList; + +/** Optional parameters. */ +export interface RecommendedActionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RecommendedActionsGetResponse = RecommendationAction; + +/** Optional parameters. */ +export interface RecommendedActionsListByServerOptionalParams + extends coreClient.OperationOptions { + /** The recommendation action session identifier. */ + sessionId?: string; +} + +/** Contains response data for the listByServer operation. */ +export type RecommendedActionsListByServerResponse = RecommendationActionsResultList; + +/** Optional parameters. */ +export interface RecommendedActionsListByServerNextOptionalParams + extends coreClient.OperationOptions { + /** The recommendation action session identifier. */ + sessionId?: string; +} + +/** Contains response data for the listByServerNext operation. */ +export type RecommendedActionsListByServerNextResponse = RecommendationActionsResultList; + +/** Optional parameters. */ +export interface LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type LocationBasedRecommendedActionSessionsOperationStatusGetResponse = RecommendedActionSessionsOperationStatus; + +/** Optional parameters. */ +export interface LocationBasedRecommendedActionSessionsResultListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type LocationBasedRecommendedActionSessionsResultListResponse = RecommendationActionsResultList; + +/** Optional parameters. */ +export interface LocationBasedRecommendedActionSessionsResultListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type LocationBasedRecommendedActionSessionsResultListNextResponse = RecommendationActionsResultList; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams + 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 createOrUpdate operation. */ +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + 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 PrivateEndpointConnectionsUpdateTagsOptionalParams + 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 updateTags operation. */ +export type PrivateEndpointConnectionsUpdateTagsResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type PrivateLinkResourcesGetResponse = PrivateLinkResource; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy; + +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + 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 createOrUpdate operation. */ +export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy; + +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ServerSecurityAlertPoliciesListByServerResponse = ServerSecurityAlertPolicyListResult; + +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type ServerSecurityAlertPoliciesListByServerNextResponse = ServerSecurityAlertPolicyListResult; + +/** Optional parameters. */ +export interface MariaDBManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/mariadb/arm-mariadb/src/models/locationBasedPerformanceTierMappers.ts b/sdk/mariadb/arm-mariadb/src/models/locationBasedPerformanceTierMappers.ts deleted file mode 100644 index a4911d3e4ae0..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/locationBasedPerformanceTierMappers.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - CloudError, - PerformanceTierListResult, - PerformanceTierProperties, - PerformanceTierServiceLevelObjectives -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/logFilesMappers.ts b/sdk/mariadb/arm-mariadb/src/models/logFilesMappers.ts deleted file mode 100644 index b6832542b835..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/logFilesMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - LogFile, - LogFileListResult, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/mappers.ts b/sdk/mariadb/arm-mariadb/src/models/mappers.ts index ed38ecdfbf78..87625b7abb83 100644 --- a/sdk/mariadb/arm-mariadb/src/models/mappers.ts +++ b/sdk/mariadb/arm-mariadb/src/models/mappers.ts @@ -1,58 +1,35 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const ProxyResource: msRest.CompositeMapper = { - serializedName: "ProxyResource", +export const ServerForCreate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProxyResource", + className: "ServerForCreate", modelProperties: { - id: { - readOnly: true, - serializedName: "id", + sku: { + serializedName: "sku", type: { - name: "String" + name: "Composite", + className: "Sku" } }, - name: { - readOnly: true, - serializedName: "name", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "ServerPropertiesForCreate" } }, - type: { - readOnly: true, - serializedName: "type", - type: { - name: "String" - } - } - } - } -}; - -export const TrackedResource: msRest.CompositeMapper = { - serializedName: "TrackedResource", - type: { - name: "Composite", - className: "TrackedResource", - modelProperties: { - ...ProxyResource.type.modelProperties, location: { - required: true, serializedName: "location", + required: true, type: { name: "String" } @@ -61,43 +38,48 @@ export const TrackedResource: msRest.CompositeMapper = { serializedName: "tags", type: { name: "Dictionary", - value: { - type: { - name: "String" - } - } + value: { type: { name: "String" } } } } } } }; -export const StorageProfile: msRest.CompositeMapper = { - serializedName: "StorageProfile", +export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", - className: "StorageProfile", + className: "Sku", modelProperties: { - backupRetentionDays: { - serializedName: "backupRetentionDays", + name: { + serializedName: "name", + required: true, type: { - name: "Number" + name: "String" } }, - geoRedundantBackup: { - serializedName: "geoRedundantBackup", + tier: { + serializedName: "tier", type: { name: "String" } }, - storageMB: { - serializedName: "storageMB", + capacity: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "capacity", type: { name: "Number" } }, - storageAutogrow: { - serializedName: "storageAutogrow", + size: { + serializedName: "size", + type: { + name: "String" + } + }, + family: { + serializedName: "family", type: { name: "String" } @@ -106,16 +88,15 @@ export const StorageProfile: msRest.CompositeMapper = { } }; -export const ServerPropertiesForCreate: msRest.CompositeMapper = { - serializedName: "ServerPropertiesForCreate", +export const ServerPropertiesForCreate: coreClient.CompositeMapper = { type: { name: "Composite", + className: "ServerPropertiesForCreate", + uberParent: "ServerPropertiesForCreate", polymorphicDiscriminator: { serializedName: "createMode", clientName: "createMode" }, - uberParent: "ServerPropertiesForCreate", - className: "ServerPropertiesForCreate", modelProperties: { version: { serializedName: "version", @@ -127,10 +108,19 @@ export const ServerPropertiesForCreate: msRest.CompositeMapper = { serializedName: "sslEnforcement", type: { name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + allowedValues: ["Enabled", "Disabled"] + } + }, + minimalTlsVersion: { + serializedName: "minimalTlsVersion", + type: { + name: "String" + } + }, + publicNetworkAccess: { + serializedName: "publicNetworkAccess", + type: { + name: "String" } }, storageProfile: { @@ -141,8 +131,8 @@ export const ServerPropertiesForCreate: msRest.CompositeMapper = { } }, createMode: { - required: true, serializedName: "createMode", + required: true, type: { name: "String" } @@ -151,25 +141,31 @@ export const ServerPropertiesForCreate: msRest.CompositeMapper = { } }; -export const ServerPropertiesForDefaultCreate: msRest.CompositeMapper = { - serializedName: "Default", +export const StorageProfile: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ServerPropertiesForCreate.type.polymorphicDiscriminator, - uberParent: "ServerPropertiesForCreate", - className: "ServerPropertiesForDefaultCreate", + className: "StorageProfile", modelProperties: { - ...ServerPropertiesForCreate.type.modelProperties, - administratorLogin: { - required: true, - serializedName: "administratorLogin", + backupRetentionDays: { + serializedName: "backupRetentionDays", + type: { + name: "Number" + } + }, + geoRedundantBackup: { + serializedName: "geoRedundantBackup", type: { name: "String" } }, - administratorLoginPassword: { - required: true, - serializedName: "administratorLoginPassword", + storageMB: { + serializedName: "storageMB", + type: { + name: "Number" + } + }, + storageAutogrow: { + serializedName: "storageAutogrow", type: { name: "String" } @@ -178,45 +174,51 @@ export const ServerPropertiesForDefaultCreate: msRest.CompositeMapper = { } }; -export const ServerPropertiesForRestore: msRest.CompositeMapper = { - serializedName: "PointInTimeRestore", +export const ServerPrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ServerPropertiesForCreate.type.polymorphicDiscriminator, - uberParent: "ServerPropertiesForCreate", - className: "ServerPropertiesForRestore", + className: "ServerPrivateEndpointConnection", modelProperties: { - ...ServerPropertiesForCreate.type.modelProperties, - sourceServerId: { - required: true, - serializedName: "sourceServerId", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - restorePointInTime: { - required: true, - serializedName: "restorePointInTime", + properties: { + serializedName: "properties", type: { - name: "DateTime" + name: "Composite", + className: "ServerPrivateEndpointConnectionProperties" } } } } }; -export const ServerPropertiesForGeoRestore: msRest.CompositeMapper = { - serializedName: "GeoRestore", +export const ServerPrivateEndpointConnectionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ServerPropertiesForCreate.type.polymorphicDiscriminator, - uberParent: "ServerPropertiesForCreate", - className: "ServerPropertiesForGeoRestore", + className: "ServerPrivateEndpointConnectionProperties", modelProperties: { - ...ServerPropertiesForCreate.type.modelProperties, - sourceServerId: { - required: true, - serializedName: "sourceServerId", + privateEndpoint: { + serializedName: "privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpointProperty" + } + }, + privateLinkServiceConnectionState: { + serializedName: "privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "ServerPrivateLinkServiceConnectionStateProperty" + } + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, type: { name: "String" } @@ -225,18 +227,13 @@ export const ServerPropertiesForGeoRestore: msRest.CompositeMapper = { } }; -export const ServerPropertiesForReplica: msRest.CompositeMapper = { - serializedName: "Replica", +export const PrivateEndpointProperty: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ServerPropertiesForCreate.type.polymorphicDiscriminator, - uberParent: "ServerPropertiesForCreate", - className: "ServerPropertiesForReplica", + className: "PrivateEndpointProperty", modelProperties: { - ...ServerPropertiesForCreate.type.modelProperties, - sourceServerId: { - required: true, - serializedName: "sourceServerId", + id: { + serializedName: "id", type: { name: "String" } @@ -245,41 +242,58 @@ export const ServerPropertiesForReplica: msRest.CompositeMapper = { } }; -export const Sku: msRest.CompositeMapper = { - serializedName: "Sku", +export const ServerPrivateLinkServiceConnectionStateProperty: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Sku", + className: "ServerPrivateLinkServiceConnectionStateProperty", modelProperties: { - name: { - serializedName: "name", + status: { + serializedName: "status", + required: true, type: { name: "String" } }, - tier: { - serializedName: "tier", + description: { + serializedName: "description", + required: true, type: { name: "String" } }, - capacity: { - serializedName: "capacity", - constraints: { - InclusiveMinimum: 0 - }, + actionsRequired: { + serializedName: "actionsRequired", + readOnly: true, type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" } }, - size: { - serializedName: "size", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - family: { - serializedName: "family", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } @@ -288,58 +302,119 @@ export const Sku: msRest.CompositeMapper = { } }; -export const Server: msRest.CompositeMapper = { - serializedName: "Server", +export const CloudError: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Server", + className: "CloudError", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", + error: { + serializedName: "error", type: { name: "Composite", - className: "Sku" + className: "ErrorResponse" } - }, - administratorLogin: { - serializedName: "properties.administratorLogin", + } + } + } +}; + +export const ErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, type: { name: "String" } }, - version: { - serializedName: "properties.version", + message: { + serializedName: "message", + readOnly: true, type: { name: "String" } }, - sslEnforcement: { - serializedName: "properties.sslEnforcement", + target: { + serializedName: "target", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + name: "String" } }, - userVisibleState: { - serializedName: "properties.userVisibleState", + details: { + serializedName: "details", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorResponse" + } + } } }, - fullyQualifiedDomainName: { - serializedName: "properties.fullyQualifiedDomainName", + 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" } }, - earliestRestoreDate: { - serializedName: "properties.earliestRestoreDate", + info: { + serializedName: "info", + readOnly: true, type: { - name: "DateTime" + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const ServerUpdateParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerUpdateParameters", + modelProperties: { + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } } }, storageProfile: { @@ -349,37 +424,1058 @@ export const Server: msRest.CompositeMapper = { className: "StorageProfile" } }, + administratorLoginPassword: { + serializedName: "properties.administratorLoginPassword", + type: { + name: "String" + } + }, + version: { + serializedName: "properties.version", + type: { + name: "String" + } + }, + sslEnforcement: { + serializedName: "properties.sslEnforcement", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", + type: { + name: "String" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + }, replicationRole: { serializedName: "properties.replicationRole", type: { name: "String" } - }, - masterServerId: { - serializedName: "properties.masterServerId", + } + } + } +}; + +export const ServerListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Server" + } + } + } + } + } + } +}; + +export const FirewallRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FirewallRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FirewallRule" + } + } + } + } + } + } +}; + +export const VirtualNetworkRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRuleListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkRule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Database" + } + } + } + } + } + } +}; + +export const ConfigurationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConfigurationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Configuration" + } + } + } + } + } + } +}; + +export const LogFileListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LogFileListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LogFile" + } + } + } + } + } + } +}; + +export const PerformanceTierListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerformanceTierListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PerformanceTierProperties" + } + } + } + } + } + } +}; + +export const PerformanceTierProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerformanceTierProperties", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + maxBackupRetentionDays: { + serializedName: "maxBackupRetentionDays", + type: { + name: "Number" + } + }, + minBackupRetentionDays: { + serializedName: "minBackupRetentionDays", + type: { + name: "Number" + } + }, + maxStorageMB: { + serializedName: "maxStorageMB", + type: { + name: "Number" + } + }, + minLargeStorageMB: { + serializedName: "minLargeStorageMB", + type: { + name: "Number" + } + }, + maxLargeStorageMB: { + serializedName: "maxLargeStorageMB", + type: { + name: "Number" + } + }, + minStorageMB: { + serializedName: "minStorageMB", + type: { + name: "Number" + } + }, + serviceLevelObjectives: { + serializedName: "serviceLevelObjectives", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PerformanceTierServiceLevelObjectives" + } + } + } + } + } + } +}; + +export const PerformanceTierServiceLevelObjectives: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerformanceTierServiceLevelObjectives", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + edition: { + serializedName: "edition", + type: { + name: "String" + } + }, + vCore: { + serializedName: "vCore", + type: { + name: "Number" + } + }, + hardwareGeneration: { + serializedName: "hardwareGeneration", + type: { + name: "String" + } + }, + maxBackupRetentionDays: { + serializedName: "maxBackupRetentionDays", + type: { + name: "Number" + } + }, + minBackupRetentionDays: { + serializedName: "minBackupRetentionDays", + type: { + name: "Number" + } + }, + maxStorageMB: { + serializedName: "maxStorageMB", + type: { + name: "Number" + } + }, + minStorageMB: { + serializedName: "minStorageMB", + type: { + name: "Number" + } + } + } + } +}; + +export const NameAvailabilityRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NameAvailabilityRequest", + modelProperties: { + name: { + serializedName: "name", + required: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const NameAvailability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NameAvailability", + modelProperties: { + message: { + serializedName: "message", + type: { + name: "String" + } + }, + nameAvailable: { + serializedName: "nameAvailable", + type: { + name: "Boolean" + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + } + } + } +}; + +export const Operation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + origin: { + serializedName: "origin", + readOnly: true, + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + readOnly: true, + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + readOnly: true, + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + readOnly: true, + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "description", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const QueryTextsResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "QueryTextsResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryText" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TopQueryStatisticsInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TopQueryStatisticsInput", + modelProperties: { + numberOfTopQueries: { + serializedName: "properties.numberOfTopQueries", + required: true, + type: { + name: "Number" + } + }, + aggregationFunction: { + serializedName: "properties.aggregationFunction", + required: true, + type: { + name: "String" + } + }, + observedMetric: { + serializedName: "properties.observedMetric", + required: true, + type: { + name: "String" + } + }, + observationStartTime: { + serializedName: "properties.observationStartTime", + required: true, + type: { + name: "DateTime" + } + }, + observationEndTime: { + serializedName: "properties.observationEndTime", + required: true, + type: { + name: "DateTime" + } + }, + aggregationWindow: { + serializedName: "properties.aggregationWindow", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const TopQueryStatisticsResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TopQueryStatisticsResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryStatistic" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const WaitStatisticsInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WaitStatisticsInput", + modelProperties: { + observationStartTime: { + serializedName: "properties.observationStartTime", + required: true, + type: { + name: "DateTime" + } + }, + observationEndTime: { + serializedName: "properties.observationEndTime", + required: true, + type: { + name: "DateTime" + } + }, + aggregationWindow: { + serializedName: "properties.aggregationWindow", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const WaitStatisticsResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WaitStatisticsResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WaitStatistic" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const QueryPerformanceInsightResetDataResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "QueryPerformanceInsightResetDataResult", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const AdvisorsResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AdvisorsResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Advisor" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecommendationActionsResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecommendationActionsResultList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecommendationAction" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecommendedActionSessionsOperationStatus: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecommendedActionSessionsOperationStatus", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionStateProperty: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionStateProperty", + modelProperties: { + status: { + serializedName: "status", + required: true, + type: { + name: "String" + } + }, + description: { + serializedName: "description", + required: true, + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TagsObject: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TagsObject", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceProperties", + modelProperties: { + groupId: { + serializedName: "groupId", + readOnly: true, + type: { + name: "String" + } + }, + requiredMembers: { + serializedName: "requiredMembers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ServerSecurityAlertPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerSecurityAlertPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerSecurityAlertPolicy" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const CloudErrorAutoGenerated: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudErrorAutoGenerated", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + } +}; + +export const ServerPropertiesForDefaultCreate: coreClient.CompositeMapper = { + serializedName: "Default", + type: { + name: "Composite", + className: "ServerPropertiesForDefaultCreate", + uberParent: "ServerPropertiesForCreate", + polymorphicDiscriminator: + ServerPropertiesForCreate.type.polymorphicDiscriminator, + modelProperties: { + ...ServerPropertiesForCreate.type.modelProperties, + administratorLogin: { + serializedName: "administratorLogin", + required: true, + type: { + name: "String" + } + }, + administratorLoginPassword: { + serializedName: "administratorLoginPassword", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServerPropertiesForRestore: coreClient.CompositeMapper = { + serializedName: "PointInTimeRestore", + type: { + name: "Composite", + className: "ServerPropertiesForRestore", + uberParent: "ServerPropertiesForCreate", + polymorphicDiscriminator: + ServerPropertiesForCreate.type.polymorphicDiscriminator, + modelProperties: { + ...ServerPropertiesForCreate.type.modelProperties, + sourceServerId: { + serializedName: "sourceServerId", + required: true, + type: { + name: "String" + } + }, + restorePointInTime: { + serializedName: "restorePointInTime", + required: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const ServerPropertiesForGeoRestore: coreClient.CompositeMapper = { + serializedName: "GeoRestore", + type: { + name: "Composite", + className: "ServerPropertiesForGeoRestore", + uberParent: "ServerPropertiesForCreate", + polymorphicDiscriminator: + ServerPropertiesForCreate.type.polymorphicDiscriminator, + modelProperties: { + ...ServerPropertiesForCreate.type.modelProperties, + sourceServerId: { + serializedName: "sourceServerId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServerPropertiesForReplica: coreClient.CompositeMapper = { + serializedName: "Replica", + type: { + name: "Composite", + className: "ServerPropertiesForReplica", + uberParent: "ServerPropertiesForCreate", + polymorphicDiscriminator: + ServerPropertiesForCreate.type.polymorphicDiscriminator, + modelProperties: { + ...ServerPropertiesForCreate.type.modelProperties, + sourceServerId: { + serializedName: "sourceServerId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - replicaCapacity: { - serializedName: "properties.replicaCapacity", - constraints: { - InclusiveMinimum: 0 - }, + location: { + serializedName: "location", + required: true, type: { - name: "Number" + name: "String" } } } } }; -export const ServerForCreate: msRest.CompositeMapper = { - serializedName: "ServerForCreate", +export const ProxyResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerForCreate", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const Server: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Server", modelProperties: { + ...TrackedResource.type.modelProperties, sku: { serializedName: "sku", type: { @@ -387,47 +1483,47 @@ export const ServerForCreate: msRest.CompositeMapper = { className: "Sku" } }, - properties: { - required: true, - serializedName: "properties", + administratorLogin: { + serializedName: "properties.administratorLogin", type: { - name: "Composite", - className: "ServerPropertiesForCreate" + name: "String" } }, - location: { - required: true, - serializedName: "location", + version: { + serializedName: "properties.version", type: { name: "String" } }, - tags: { - serializedName: "tags", + sslEnforcement: { + serializedName: "properties.sslEnforcement", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Enum", + allowedValues: ["Enabled", "Disabled"] } - } - } - } -}; - -export const ServerUpdateParameters: msRest.CompositeMapper = { - serializedName: "ServerUpdateParameters", - type: { - name: "Composite", - className: "ServerUpdateParameters", - modelProperties: { - sku: { - serializedName: "sku", + }, + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", type: { - name: "Composite", - className: "Sku" + name: "String" + } + }, + userVisibleState: { + serializedName: "properties.userVisibleState", + type: { + name: "String" + } + }, + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", + type: { + name: "String" + } + }, + earliestRestoreDate: { + serializedName: "properties.earliestRestoreDate", + type: { + name: "DateTime" } }, storageProfile: { @@ -437,41 +1533,42 @@ export const ServerUpdateParameters: msRest.CompositeMapper = { className: "StorageProfile" } }, - administratorLoginPassword: { - serializedName: "properties.administratorLoginPassword", + replicationRole: { + serializedName: "properties.replicationRole", type: { name: "String" } }, - version: { - serializedName: "properties.version", + masterServerId: { + serializedName: "properties.masterServerId", type: { name: "String" } }, - sslEnforcement: { - serializedName: "properties.sslEnforcement", + replicaCapacity: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.replicaCapacity", type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + name: "Number" } }, - replicationRole: { - serializedName: "properties.replicationRole", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - tags: { - serializedName: "tags", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "ServerPrivateEndpointConnection" } } } @@ -480,29 +1577,32 @@ export const ServerUpdateParameters: msRest.CompositeMapper = { } }; -export const FirewallRule: msRest.CompositeMapper = { - serializedName: "FirewallRule", +export const FirewallRule: coreClient.CompositeMapper = { type: { name: "Composite", className: "FirewallRule", modelProperties: { ...ProxyResource.type.modelProperties, startIpAddress: { - required: true, - serializedName: "properties.startIpAddress", constraints: { - Pattern: /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/ + Pattern: new RegExp( + "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + ) }, + serializedName: "properties.startIpAddress", + required: true, type: { name: "String" } }, endIpAddress: { - required: true, - serializedName: "properties.endIpAddress", constraints: { - Pattern: /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/ + Pattern: new RegExp( + "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + ) }, + serializedName: "properties.endIpAddress", + required: true, type: { name: "String" } @@ -511,15 +1611,13 @@ export const FirewallRule: msRest.CompositeMapper = { } }; -export const VirtualNetworkRule: msRest.CompositeMapper = { - serializedName: "VirtualNetworkRule", +export const VirtualNetworkRule: coreClient.CompositeMapper = { type: { name: "Composite", className: "VirtualNetworkRule", modelProperties: { ...ProxyResource.type.modelProperties, virtualNetworkSubnetId: { - required: true, serializedName: "properties.virtualNetworkSubnetId", type: { name: "String" @@ -532,8 +1630,8 @@ export const VirtualNetworkRule: msRest.CompositeMapper = { } }, state: { - readOnly: true, serializedName: "properties.state", + readOnly: true, type: { name: "String" } @@ -542,8 +1640,7 @@ export const VirtualNetworkRule: msRest.CompositeMapper = { } }; -export const Database: msRest.CompositeMapper = { - serializedName: "Database", +export const Database: coreClient.CompositeMapper = { type: { name: "Composite", className: "Database", @@ -565,8 +1662,7 @@ export const Database: msRest.CompositeMapper = { } }; -export const Configuration: msRest.CompositeMapper = { - serializedName: "Configuration", +export const Configuration: coreClient.CompositeMapper = { type: { name: "Composite", className: "Configuration", @@ -579,29 +1675,29 @@ export const Configuration: msRest.CompositeMapper = { } }, description: { - readOnly: true, serializedName: "properties.description", + readOnly: true, type: { name: "String" } }, defaultValue: { - readOnly: true, serializedName: "properties.defaultValue", + readOnly: true, type: { name: "String" } }, dataType: { - readOnly: true, serializedName: "properties.dataType", + readOnly: true, type: { name: "String" } }, allowedValues: { - readOnly: true, serializedName: "properties.allowedValues", + readOnly: true, type: { name: "String" } @@ -616,36 +1712,41 @@ export const Configuration: msRest.CompositeMapper = { } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "OperationDisplay", +export const LogFile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationDisplay", + className: "LogFile", modelProperties: { - provider: { - readOnly: true, - serializedName: "provider", + ...ProxyResource.type.modelProperties, + sizeInKB: { + serializedName: "properties.sizeInKB", type: { - name: "String" + name: "Number" } }, - resource: { + createdTime: { + serializedName: "properties.createdTime", readOnly: true, - serializedName: "resource", type: { - name: "String" + name: "DateTime" } }, - operation: { + lastModifiedTime: { + serializedName: "properties.lastModifiedTime", readOnly: true, - serializedName: "operation", + type: { + name: "DateTime" + } + }, + typePropertiesType: { + serializedName: "properties.type", type: { name: "String" } }, - description: { + url: { + serializedName: "properties.url", readOnly: true, - serializedName: "description", type: { name: "String" } @@ -654,108 +1755,147 @@ export const OperationDisplay: msRest.CompositeMapper = { } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const RecoverableServerResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Operation", + className: "RecoverableServerResource", modelProperties: { - name: { + ...ProxyResource.type.modelProperties, + lastAvailableBackupDateTime: { + serializedName: "properties.lastAvailableBackupDateTime", readOnly: true, - serializedName: "name", type: { name: "String" } }, - display: { + serviceLevelObjective: { + serializedName: "properties.serviceLevelObjective", readOnly: true, - serializedName: "display", type: { - name: "Composite", - className: "OperationDisplay" + name: "String" } }, - origin: { + edition: { + serializedName: "properties.edition", readOnly: true, - serializedName: "origin", type: { name: "String" } }, - properties: { + vCore: { + serializedName: "properties.vCore", readOnly: true, - serializedName: "properties", type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + name: "Number" + } + }, + hardwareGeneration: { + serializedName: "properties.hardwareGeneration", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "properties.version", + readOnly: true, + type: { + name: "String" } } } } }; -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", +export const QueryText: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationListResult", + className: "QueryText", modelProperties: { - value: { - serializedName: "value", + ...ProxyResource.type.modelProperties, + queryId: { + serializedName: "properties.queryId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Operation" - } - } + name: "String" + } + }, + queryText: { + serializedName: "properties.queryText", + type: { + name: "String" } } } } }; -export const LogFile: msRest.CompositeMapper = { - serializedName: "LogFile", +export const QueryStatistic: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LogFile", + className: "QueryStatistic", modelProperties: { ...ProxyResource.type.modelProperties, - sizeInKB: { - serializedName: "properties.sizeInKB", + queryId: { + serializedName: "properties.queryId", type: { - name: "Number" + name: "String" } }, - createdTime: { - readOnly: true, - serializedName: "properties.createdTime", + startTime: { + serializedName: "properties.startTime", type: { name: "DateTime" } }, - lastModifiedTime: { - readOnly: true, - serializedName: "properties.lastModifiedTime", + endTime: { + serializedName: "properties.endTime", type: { name: "DateTime" } }, - logFileType: { - serializedName: "properties.type", + aggregationFunction: { + serializedName: "properties.aggregationFunction", + type: { + name: "String" + } + }, + databaseNames: { + serializedName: "properties.databaseNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + queryExecutionCount: { + serializedName: "properties.queryExecutionCount", + type: { + name: "Number" + } + }, + metricName: { + serializedName: "properties.metricName", + type: { + name: "String" + } + }, + metricDisplayName: { + serializedName: "properties.metricDisplayName", type: { name: "String" } }, - url: { - readOnly: true, - serializedName: "properties.url", + metricValue: { + serializedName: "properties.metricValue", + type: { + name: "Number" + } + }, + metricValueUnit: { + serializedName: "properties.metricValueUnit", type: { name: "String" } @@ -764,56 +1904,62 @@ export const LogFile: msRest.CompositeMapper = { } }; -export const PerformanceTierServiceLevelObjectives: msRest.CompositeMapper = { - serializedName: "PerformanceTierServiceLevelObjectives", +export const WaitStatistic: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PerformanceTierServiceLevelObjectives", + className: "WaitStatistic", modelProperties: { - id: { - serializedName: "id", + ...ProxyResource.type.modelProperties, + startTime: { + serializedName: "properties.startTime", type: { - name: "String" + name: "DateTime" } }, - edition: { - serializedName: "edition", + endTime: { + serializedName: "properties.endTime", type: { - name: "String" + name: "DateTime" } }, - vCore: { - serializedName: "vCore", + eventName: { + serializedName: "properties.eventName", type: { - name: "Number" + name: "String" } }, - hardwareGeneration: { - serializedName: "hardwareGeneration", + eventTypeName: { + serializedName: "properties.eventTypeName", type: { name: "String" } }, - maxBackupRetentionDays: { - serializedName: "maxBackupRetentionDays", + queryId: { + serializedName: "properties.queryId", type: { name: "Number" } }, - minBackupRetentionDays: { - serializedName: "minBackupRetentionDays", + databaseName: { + serializedName: "properties.databaseName", + type: { + name: "String" + } + }, + userId: { + serializedName: "properties.userId", type: { name: "Number" } }, - maxStorageMB: { - serializedName: "maxStorageMB", + count: { + serializedName: "properties.count", type: { name: "Number" } }, - minStorageMB: { - serializedName: "minStorageMB", + totalTimeInMs: { + serializedName: "properties.totalTimeInMs", type: { name: "Number" } @@ -822,77 +1968,105 @@ export const PerformanceTierServiceLevelObjectives: msRest.CompositeMapper = { } }; -export const PerformanceTierProperties: msRest.CompositeMapper = { - serializedName: "PerformanceTierProperties", +export const Advisor: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PerformanceTierProperties", + className: "Advisor", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - serviceLevelObjectives: { - serializedName: "serviceLevelObjectives", + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PerformanceTierServiceLevelObjectives" - } - } + name: "Dictionary", + value: { type: { name: "any" } } } } } } }; -export const NameAvailabilityRequest: msRest.CompositeMapper = { - serializedName: "NameAvailabilityRequest", +export const RecommendationAction: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NameAvailabilityRequest", + className: "RecommendationAction", modelProperties: { - name: { - required: true, - serializedName: "name", + ...ProxyResource.type.modelProperties, + advisorName: { + serializedName: "properties.advisorName", type: { name: "String" } }, - type: { - serializedName: "type", + sessionId: { + serializedName: "properties.sessionId", + type: { + name: "String" + } + }, + actionId: { + serializedName: "properties.actionId", + type: { + name: "Number" + } + }, + createdTime: { + serializedName: "properties.createdTime", + type: { + name: "DateTime" + } + }, + expirationTime: { + serializedName: "properties.expirationTime", + type: { + name: "DateTime" + } + }, + reason: { + serializedName: "properties.reason", + type: { + name: "String" + } + }, + recommendationType: { + serializedName: "properties.recommendationType", type: { name: "String" } + }, + details: { + serializedName: "properties.details", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } } } } }; -export const NameAvailability: msRest.CompositeMapper = { - serializedName: "NameAvailability", +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NameAvailability", + className: "PrivateEndpointConnection", modelProperties: { - message: { - serializedName: "message", + ...ProxyResource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { - name: "String" + name: "Composite", + className: "PrivateEndpointProperty" } }, - nameAvailable: { - serializedName: "nameAvailable", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "Boolean" + name: "Composite", + className: "PrivateLinkServiceConnectionStateProperty" } }, - reason: { - serializedName: "reason", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } @@ -901,22 +2075,34 @@ export const NameAvailability: msRest.CompositeMapper = { } }; -export const ServerSecurityAlertPolicy: msRest.CompositeMapper = { - serializedName: "ServerSecurityAlertPolicy", +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PrivateLinkResourceProperties" + } + } + } + } +}; + +export const ServerSecurityAlertPolicy: coreClient.CompositeMapper = { type: { name: "Composite", className: "ServerSecurityAlertPolicy", modelProperties: { ...ProxyResource.type.modelProperties, state: { - required: true, serializedName: "properties.state", type: { name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + allowedValues: ["Enabled", "Disabled"] } }, disabledAlerts: { @@ -969,173 +2155,10 @@ export const ServerSecurityAlertPolicy: msRest.CompositeMapper = { } }; -export const ServerListResult: msRest.CompositeMapper = { - serializedName: "ServerListResult", - type: { - name: "Composite", - className: "ServerListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Server" - } - } - } - } - } - } -}; - -export const FirewallRuleListResult: msRest.CompositeMapper = { - serializedName: "FirewallRuleListResult", - type: { - name: "Composite", - className: "FirewallRuleListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FirewallRule" - } - } - } - } - } - } -}; - -export const VirtualNetworkRuleListResult: msRest.CompositeMapper = { - serializedName: "VirtualNetworkRuleListResult", - type: { - name: "Composite", - className: "VirtualNetworkRuleListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VirtualNetworkRule" - } - } - } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const DatabaseListResult: msRest.CompositeMapper = { - serializedName: "DatabaseListResult", - type: { - name: "Composite", - className: "DatabaseListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Database" - } - } - } - } - } - } -}; - -export const ConfigurationListResult: msRest.CompositeMapper = { - serializedName: "ConfigurationListResult", - type: { - name: "Composite", - className: "ConfigurationListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Configuration" - } - } - } - } - } - } -}; - -export const LogFileListResult: msRest.CompositeMapper = { - serializedName: "LogFileListResult", - type: { - name: "Composite", - className: "LogFileListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LogFile" - } - } - } - } - } - } -}; - -export const PerformanceTierListResult: msRest.CompositeMapper = { - serializedName: "PerformanceTierListResult", - type: { - name: "Composite", - className: "PerformanceTierListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PerformanceTierProperties" - } - } - } - } - } - } -}; - -export const discriminators = { - 'ServerPropertiesForCreate' : ServerPropertiesForCreate, - 'ServerPropertiesForCreate.Default' : ServerPropertiesForDefaultCreate, - 'ServerPropertiesForCreate.PointInTimeRestore' : ServerPropertiesForRestore, - 'ServerPropertiesForCreate.GeoRestore' : ServerPropertiesForGeoRestore, - 'ServerPropertiesForCreate.Replica' : ServerPropertiesForReplica - +export let discriminators = { + ServerPropertiesForCreate: ServerPropertiesForCreate, + "ServerPropertiesForCreate.Default": ServerPropertiesForDefaultCreate, + "ServerPropertiesForCreate.PointInTimeRestore": ServerPropertiesForRestore, + "ServerPropertiesForCreate.GeoRestore": ServerPropertiesForGeoRestore, + "ServerPropertiesForCreate.Replica": ServerPropertiesForReplica }; diff --git a/sdk/mariadb/arm-mariadb/src/models/operationsMappers.ts b/sdk/mariadb/arm-mariadb/src/models/operationsMappers.ts deleted file mode 100644 index 65fc7dd1800a..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/operationsMappers.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - CloudError, - Operation, - OperationDisplay, - OperationListResult -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/parameters.ts b/sdk/mariadb/arm-mariadb/src/models/parameters.ts index 7dbc0227f6c5..6b76f51dfa67 100644 --- a/sdk/mariadb/arm-mariadb/src/models/parameters.ts +++ b/sdk/mariadb/arm-mariadb/src/models/parameters.ts @@ -1,135 +1,397 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + ServerForCreate as ServerForCreateMapper, + ServerUpdateParameters as ServerUpdateParametersMapper, + FirewallRule as FirewallRuleMapper, + VirtualNetworkRule as VirtualNetworkRuleMapper, + Database as DatabaseMapper, + Configuration as ConfigurationMapper, + ConfigurationListResult as ConfigurationListResultMapper, + NameAvailabilityRequest as NameAvailabilityRequestMapper, + TopQueryStatisticsInput as TopQueryStatisticsInputMapper, + WaitStatisticsInput as WaitStatisticsInputMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, + TagsObject as TagsObjectMapper, + ServerSecurityAlertPolicy as ServerSecurityAlertPolicyMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: ServerForCreateMapper +}; + +export const accept: OperationParameter = { + parameterPath: "accept", + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const apiVersion: msRest.OperationQueryParameter = { + +export const $host: OperationURLParameter = { + parameterPath: "$host", + mapper: { + serializedName: "$host", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { + defaultValue: "2018-06-01", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +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 serverName: OperationURLParameter = { + parameterPath: "serverName", + mapper: { + serializedName: "serverName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: ServerUpdateParametersMapper +}; + +export const apiVersion1: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2020-01-01", + isConstant: true, serializedName: "api-version", type: { name: "String" } } }; -export const configurationName: msRest.OperationURLParameter = { - parameterPath: "configurationName", + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: FirewallRuleMapper +}; + +export const firewallRuleName: OperationURLParameter = { + parameterPath: "firewallRuleName", mapper: { + serializedName: "firewallRuleName", required: true, - serializedName: "configurationName", type: { name: "String" } } }; -export const databaseName: msRest.OperationURLParameter = { - parameterPath: "databaseName", + +export const virtualNetworkRuleName: OperationURLParameter = { + parameterPath: "virtualNetworkRuleName", mapper: { + serializedName: "virtualNetworkRuleName", required: true, + type: { + name: "String" + } + } +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkRuleMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseMapper +}; + +export const databaseName: OperationURLParameter = { + parameterPath: "databaseName", + mapper: { serializedName: "databaseName", + required: true, type: { name: "String" } } }; -export const firewallRuleName: msRest.OperationURLParameter = { - parameterPath: "firewallRuleName", + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: ConfigurationMapper +}; + +export const configurationName: OperationURLParameter = { + parameterPath: "configurationName", mapper: { + serializedName: "configurationName", required: true, - serializedName: "firewallRuleName", type: { name: "String" } } }; -export const locationName: msRest.OperationURLParameter = { + +export const value: OperationParameter = { + parameterPath: "value", + mapper: ConfigurationListResultMapper +}; + +export const locationName: OperationURLParameter = { parameterPath: "locationName", mapper: { - required: true, serializedName: "locationName", + required: true, type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const nameAvailabilityRequest: OperationParameter = { + parameterPath: "nameAvailabilityRequest", + mapper: NameAvailabilityRequestMapper +}; + +export const queryId: OperationURLParameter = { + parameterPath: "queryId", mapper: { + serializedName: "queryId", required: true, - serializedName: "nextLink", type: { name: "String" } + } +}; + +export const queryIds: OperationQueryParameter = { + parameterPath: "queryIds", + mapper: { + serializedName: "queryIds", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } }, - skipEncoding: true + collectionFormat: "Multi" }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const queryStatisticId: OperationURLParameter = { + parameterPath: "queryStatisticId", mapper: { + serializedName: "queryStatisticId", required: true, - serializedName: "resourceGroupName", type: { name: "String" } } }; -export const securityAlertPolicyName: msRest.OperationURLParameter = { - parameterPath: "securityAlertPolicyName", + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: TopQueryStatisticsInputMapper +}; + +export const waitStatisticsId: OperationURLParameter = { + parameterPath: "waitStatisticsId", mapper: { + serializedName: "waitStatisticsId", required: true, - isConstant: true, - serializedName: "securityAlertPolicyName", - defaultValue: 'Default', type: { name: "String" } } }; -export const serverName: msRest.OperationURLParameter = { - parameterPath: "serverName", + +export const parameters7: OperationParameter = { + parameterPath: "parameters", + mapper: WaitStatisticsInputMapper +}; + +export const advisorName: OperationURLParameter = { + parameterPath: "advisorName", mapper: { + serializedName: "advisorName", required: true, - serializedName: "serverName", type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const databaseName1: OperationQueryParameter = { + parameterPath: "databaseName", mapper: { + serializedName: "databaseName", required: true, - serializedName: "subscriptionId", type: { name: "String" } } }; -export const virtualNetworkRuleName: msRest.OperationURLParameter = { - parameterPath: "virtualNetworkRuleName", + +export const recommendedActionName: OperationURLParameter = { + parameterPath: "recommendedActionName", mapper: { + serializedName: "recommendedActionName", required: true, - serializedName: "virtualNetworkRuleName", type: { name: "String" } } }; + +export const sessionId: OperationQueryParameter = { + parameterPath: ["options", "sessionId"], + mapper: { + serializedName: "sessionId", + type: { + name: "String" + } + } +}; + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + serializedName: "operationId", + required: true, + type: { + name: "String" + } + } +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", + mapper: { + serializedName: "privateEndpointConnectionName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters8: OperationParameter = { + parameterPath: "parameters", + mapper: PrivateEndpointConnectionMapper +}; + +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: TagsObjectMapper +}; + +export const groupName: OperationURLParameter = { + parameterPath: "groupName", + mapper: { + serializedName: "groupName", + required: true, + type: { + name: "String" + } + } +}; + +export const securityAlertPolicyName: OperationURLParameter = { + parameterPath: "securityAlertPolicyName", + mapper: { + serializedName: "securityAlertPolicyName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters10: OperationParameter = { + parameterPath: "parameters", + mapper: ServerSecurityAlertPolicyMapper +}; diff --git a/sdk/mariadb/arm-mariadb/src/models/replicasMappers.ts b/sdk/mariadb/arm-mariadb/src/models/replicasMappers.ts deleted file mode 100644 index b86a44e417cd..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/replicasMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerListResult, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/serverSecurityAlertPoliciesMappers.ts b/sdk/mariadb/arm-mariadb/src/models/serverSecurityAlertPoliciesMappers.ts deleted file mode 100644 index 9555ebb4e3ca..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/serverSecurityAlertPoliciesMappers.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/serversMappers.ts b/sdk/mariadb/arm-mariadb/src/models/serversMappers.ts deleted file mode 100644 index 4495c8e37cdd..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/serversMappers.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerForCreate, - ServerListResult, - ServerPropertiesForCreate, - ServerPropertiesForDefaultCreate, - ServerPropertiesForGeoRestore, - ServerPropertiesForReplica, - ServerPropertiesForRestore, - ServerSecurityAlertPolicy, - ServerUpdateParameters, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/models/virtualNetworkRulesMappers.ts b/sdk/mariadb/arm-mariadb/src/models/virtualNetworkRulesMappers.ts deleted file mode 100644 index 08d2a62e7e38..000000000000 --- a/sdk/mariadb/arm-mariadb/src/models/virtualNetworkRulesMappers.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - discriminators, - BaseResource, - CloudError, - Configuration, - Database, - FirewallRule, - LogFile, - ProxyResource, - Server, - ServerSecurityAlertPolicy, - Sku, - StorageProfile, - TrackedResource, - VirtualNetworkRule, - VirtualNetworkRuleListResult -} from "../models/mappers"; diff --git a/sdk/mariadb/arm-mariadb/src/operations/advisors.ts b/sdk/mariadb/arm-mariadb/src/operations/advisors.ts new file mode 100644 index 000000000000..21b614151874 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/advisors.ts @@ -0,0 +1,224 @@ +/* + * 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 { Advisors } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + Advisor, + AdvisorsListByServerNextOptionalParams, + AdvisorsListByServerOptionalParams, + AdvisorsGetOptionalParams, + AdvisorsGetResponse, + AdvisorsListByServerResponse, + AdvisorsListByServerNextResponse +} from "../models"; + +/// +/** Class containing Advisors operations. */ +export class AdvisorsImpl implements Advisors { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class Advisors class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * List recommendation action advisors. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: AdvisorsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: AdvisorsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: AdvisorsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Get a recommendation action advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: AdvisorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, advisorName, options }, + getOperationSpec + ); + } + + /** + * List recommendation action advisors. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: AdvisorsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: AdvisorsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Advisor + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AdvisorsResultList + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AdvisorsResultList + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/checkNameAvailability.ts b/sdk/mariadb/arm-mariadb/src/operations/checkNameAvailability.ts index 1b0938cf9601..b3a75723e80e 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/checkNameAvailability.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/checkNameAvailability.ts @@ -1,84 +1,56 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/checkNameAvailabilityMappers"; +import { CheckNameAvailability } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + NameAvailabilityRequest, + CheckNameAvailabilityExecuteOptionalParams, + CheckNameAvailabilityExecuteResponse +} from "../models"; -/** Class representing a CheckNameAvailability. */ -export class CheckNameAvailability { - private readonly client: MariaDBManagementClientContext; +/** Class containing CheckNameAvailability operations. */ +export class CheckNameAvailabilityImpl implements CheckNameAvailability { + private readonly client: MariaDBManagementClient; /** - * Create a CheckNameAvailability. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class CheckNameAvailability class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** * Check the availability of name for resource - * @param nameAvailabilityRequest The required parameters for checking if resource name is - * available. - * @param [options] The optional parameters - * @returns Promise + * @param nameAvailabilityRequest The required parameters for checking if resource name is available. + * @param options The options parameters. */ - execute(nameAvailabilityRequest: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nameAvailabilityRequest The required parameters for checking if resource name is - * available. - * @param callback The callback - */ - execute(nameAvailabilityRequest: Models.NameAvailabilityRequest, callback: msRest.ServiceCallback): void; - /** - * @param nameAvailabilityRequest The required parameters for checking if resource name is - * available. - * @param options The optional parameters - * @param callback The callback - */ - execute(nameAvailabilityRequest: Models.NameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - execute(nameAvailabilityRequest: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + execute( + nameAvailabilityRequest: NameAvailabilityRequest, + options?: CheckNameAvailabilityExecuteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nameAvailabilityRequest, - options - }, - executeOperationSpec, - callback) as Promise; + { nameAvailabilityRequest, options }, + executeOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const executeOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const executeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "nameAvailabilityRequest", - mapper: { - ...Mappers.NameAvailabilityRequest, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.NameAvailability @@ -87,5 +59,10 @@ const executeOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + requestBody: Parameters.nameAvailabilityRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/configurations.ts b/sdk/mariadb/arm-mariadb/src/operations/configurations.ts index 914801c0295b..3afc7961f876 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/configurations.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/configurations.ts @@ -1,228 +1,312 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/configurationsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Configurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Configuration, + ConfigurationsListByServerOptionalParams, + ConfigurationsCreateOrUpdateOptionalParams, + ConfigurationsCreateOrUpdateResponse, + ConfigurationsGetOptionalParams, + ConfigurationsGetResponse, + ConfigurationsListByServerResponse +} from "../models"; -/** Class representing a Configurations. */ -export class Configurations { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing Configurations operations. */ +export class ConfigurationsImpl implements Configurations { + private readonly client: MariaDBManagementClient; /** - * Create a Configurations. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Configurations class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Updates a configuration of a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param configurationName The name of the server configuration. - * @param parameters The required parameters for updating a server configuration. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, configurationName: string, parameters: Models.Configuration, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,configurationName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ConfigurationsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ConfigurationsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ConfigurationsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets information about a configuration of server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a configuration of a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param configurationName The name of the server configuration. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The required parameters for updating a server configuration. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, configurationName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + configurationName: string, + parameters: Configuration, + options?: ConfigurationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ConfigurationsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, configurationName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a configuration of a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param configurationName The name of the server configuration. - * @param callback The callback + * @param parameters The required parameters for updating a server configuration. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, configurationName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + configurationName: string, + parameters: Configuration, + options?: ConfigurationsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + configurationName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets information about a configuration of server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param configurationName The name of the server configuration. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, configurationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, configurationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + configurationName: string, + options?: ConfigurationsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - configurationName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, configurationName, options }, + getOperationSpec + ); } /** * List all the configurations in a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ConfigurationsListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; - } - - /** - * Updates a configuration of a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param configurationName The name of the server configuration. - * @param parameters The required parameters for updating a server configuration. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, configurationName: string, parameters: Models.Configuration, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - configurationName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.configurationName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Configuration }, + 201: { + bodyMapper: Mappers.Configuration + }, + 202: { + bodyMapper: Mappers.Configuration + }, + 204: { + bodyMapper: Mappers.Configuration + }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.configurationName ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ConfigurationListResult + bodyMapper: Mappers.Configuration }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.configurationName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Configuration, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Configuration + bodyMapper: Mappers.ConfigurationListResult }, - 202: {}, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/databases.ts b/sdk/mariadb/arm-mariadb/src/operations/databases.ts index 3a6e5f71a0f1..43b4f5a25c0c 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/databases.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/databases.ts @@ -1,292 +1,422 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databasesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Databases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Database, + DatabasesListByServerOptionalParams, + DatabasesCreateOrUpdateOptionalParams, + DatabasesCreateOrUpdateResponse, + DatabasesDeleteOptionalParams, + DatabasesGetOptionalParams, + DatabasesGetResponse, + DatabasesListByServerResponse +} from "../models"; -/** Class representing a Databases. */ -export class Databases { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing Databases operations. */ +export class DatabasesImpl implements Databases { + private readonly client: MariaDBManagementClient; /** - * Create a Databases. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Databases class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the databases in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The required parameters for creating or updating a database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.Database, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; } - /** - * Deletes a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets information about a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The required parameters for creating or updating a database. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, databaseName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param parameters The required parameters for creating or updating a database. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, databaseName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * List all the databases in a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param databaseName The name of the database. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets information about a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The required parameters for creating or updating a database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.Database, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); } /** - * Deletes a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the databases in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Database }, + 201: { + bodyMapper: Mappers.Database + }, + 202: { + bodyMapper: Mappers.Database + }, + 204: { + bodyMapper: Mappers.Database + }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.databaseName ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.DatabaseListResult - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Database, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Database }, - 201: { - bodyMapper: Mappers.Database - }, - 202: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - 204: {}, + 200: { + bodyMapper: Mappers.DatabaseListResult + }, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/firewallRules.ts b/sdk/mariadb/arm-mariadb/src/operations/firewallRules.ts index 796a8285006c..026d3cbb56c7 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/firewallRules.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/firewallRules.ts @@ -1,292 +1,422 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/firewallRulesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { FirewallRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + FirewallRule, + FirewallRulesListByServerOptionalParams, + FirewallRulesCreateOrUpdateOptionalParams, + FirewallRulesCreateOrUpdateResponse, + FirewallRulesDeleteOptionalParams, + FirewallRulesGetOptionalParams, + FirewallRulesGetResponse, + FirewallRulesListByServerResponse +} from "../models"; -/** Class representing a FirewallRules. */ -export class FirewallRules { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing FirewallRules operations. */ +export class FirewallRulesImpl implements FirewallRules { + private readonly client: MariaDBManagementClient; /** - * Create a FirewallRules. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class FirewallRules class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Creates a new firewall rule or updates an existing firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the firewall rules in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param firewallRuleName The name of the server firewall rule. - * @param parameters The required parameters for creating or updating a firewall rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,firewallRuleName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; } - /** - * Deletes a server firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the server firewall rule. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,firewallRuleName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets information about a server firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new firewall rule or updates an existing firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param firewallRuleName The name of the server firewall rule. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FirewallRulesCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, firewallRuleName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new firewall rule or updates an existing firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param firewallRuleName The name of the server firewall rule. - * @param callback The callback + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + firewallRuleName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param firewallRuleName The name of the server firewall rule. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - firewallRuleName, - options - }, - getOperationSpec, - callback) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, firewallRuleName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * List all the firewall rules in a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param firewallRuleName The name of the server firewall rule. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + firewallRuleName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new firewall rule or updates an existing firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets information about a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param firewallRuleName The name of the server firewall rule. - * @param parameters The required parameters for creating or updating a firewall rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - firewallRuleName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + get( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, firewallRuleName, options }, + getOperationSpec + ); } /** - * Deletes a server firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the firewall rules in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param firewallRuleName The name of the server firewall rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - firewallRuleName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.firewallRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.FirewallRule }, + 201: { + bodyMapper: Mappers.FirewallRule + }, + 202: { + bodyMapper: Mappers.FirewallRule + }, + 204: { + bodyMapper: Mappers.FirewallRule + }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.firewallRuleName ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.FirewallRuleListResult - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.firewallRuleName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.FirewallRule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FirewallRule }, - 201: { - bodyMapper: Mappers.FirewallRule - }, - 202: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.firewallRuleName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - 204: {}, + 200: { + bodyMapper: Mappers.FirewallRuleListResult + }, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/index.ts b/sdk/mariadb/arm-mariadb/src/operations/index.ts index bb02d2d2c5e9..9c8186a3bf05 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/index.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/index.ts @@ -1,11 +1,9 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export * from "./servers"; @@ -14,8 +12,20 @@ export * from "./firewallRules"; export * from "./virtualNetworkRules"; export * from "./databases"; export * from "./configurations"; +export * from "./serverParameters"; export * from "./logFiles"; +export * from "./recoverableServers"; +export * from "./serverBasedPerformanceTier"; export * from "./locationBasedPerformanceTier"; export * from "./checkNameAvailability"; -export * from "./serverSecurityAlertPolicies"; export * from "./operations"; +export * from "./queryTexts"; +export * from "./topQueryStatistics"; +export * from "./waitStatistics"; +export * from "./advisors"; +export * from "./recommendedActions"; +export * from "./locationBasedRecommendedActionSessionsOperationStatus"; +export * from "./locationBasedRecommendedActionSessionsResult"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./serverSecurityAlertPolicies"; diff --git a/sdk/mariadb/arm-mariadb/src/operations/locationBasedPerformanceTier.ts b/sdk/mariadb/arm-mariadb/src/operations/locationBasedPerformanceTier.ts index 88f719633710..be60a241fc6f 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/locationBasedPerformanceTier.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/locationBasedPerformanceTier.ts @@ -1,75 +1,99 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/locationBasedPerformanceTierMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LocationBasedPerformanceTier } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + PerformanceTierProperties, + LocationBasedPerformanceTierListOptionalParams, + LocationBasedPerformanceTierListResponse +} from "../models"; -/** Class representing a LocationBasedPerformanceTier. */ -export class LocationBasedPerformanceTier { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing LocationBasedPerformanceTier operations. */ +export class LocationBasedPerformanceTierImpl + implements LocationBasedPerformanceTier { + private readonly client: MariaDBManagementClient; /** - * Create a LocationBasedPerformanceTier. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class LocationBasedPerformanceTier class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** * List all the performance tiers at specified location in a given subscription. * @param locationName The name of the location. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(locationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param locationName The name of the location. - * @param callback The callback - */ - list(locationName: string, callback: msRest.ServiceCallback): void; + public list( + locationName: string, + options?: LocationBasedPerformanceTierListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(locationName, options); + } + }; + } + + private async *listPagingPage( + locationName: string, + options?: LocationBasedPerformanceTierListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(locationName, options); + yield result.value || []; + } + + private async *listPagingAll( + locationName: string, + options?: LocationBasedPerformanceTierListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(locationName, options)) { + yield* page; + } + } + /** + * List all the performance tiers at specified location in a given subscription. * @param locationName The name of the location. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - list(locationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(locationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _list( + locationName: string, + options?: LocationBasedPerformanceTierListOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - locationName, - options - }, - listOperationSpec, - callback) as Promise; + { locationName, options }, + listOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers", - urlParameters: [ - Parameters.subscriptionId, - Parameters.locationName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PerformanceTierListResult @@ -78,5 +102,12 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsOperationStatus.ts b/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsOperationStatus.ts new file mode 100644 index 000000000000..879a84d12389 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsOperationStatus.ts @@ -0,0 +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. + */ + +import { LocationBasedRecommendedActionSessionsOperationStatus } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams, + LocationBasedRecommendedActionSessionsOperationStatusGetResponse +} from "../models"; + +/** Class containing LocationBasedRecommendedActionSessionsOperationStatus operations. */ +export class LocationBasedRecommendedActionSessionsOperationStatusImpl + implements LocationBasedRecommendedActionSessionsOperationStatus { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class LocationBasedRecommendedActionSessionsOperationStatus class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Recommendation action session operation status. + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + get( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, operationId, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendedActionSessionsOperationStatus + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsResult.ts b/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsResult.ts new file mode 100644 index 000000000000..d3e99bf8cbf7 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/locationBasedRecommendedActionSessionsResult.ts @@ -0,0 +1,178 @@ +/* + * 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 { LocationBasedRecommendedActionSessionsResult } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + RecommendationAction, + LocationBasedRecommendedActionSessionsResultListNextOptionalParams, + LocationBasedRecommendedActionSessionsResultListOptionalParams, + LocationBasedRecommendedActionSessionsResultListResponse, + LocationBasedRecommendedActionSessionsResultListNextResponse +} from "../models"; + +/// +/** Class containing LocationBasedRecommendedActionSessionsResult operations. */ +export class LocationBasedRecommendedActionSessionsResultImpl + implements LocationBasedRecommendedActionSessionsResult { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class LocationBasedRecommendedActionSessionsResult class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Recommendation action session operation result. + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + public list( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsResultListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(locationName, operationId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(locationName, operationId, options); + } + }; + } + + private async *listPagingPage( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsResultListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(locationName, operationId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + locationName, + operationId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsResultListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + locationName, + operationId, + options + )) { + yield* page; + } + } + + /** + * Recommendation action session operation result. + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + private _list( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsResultListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, operationId, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + locationName: string, + operationId: string, + nextLink: string, + options?: LocationBasedRecommendedActionSessionsResultListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, operationId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendationActionsResultList + }, + 201: { + bodyMapper: Mappers.RecommendationActionsResultList + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendationActionsResultList + }, + 201: { + bodyMapper: Mappers.RecommendationActionsResultList + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName, + Parameters.operationId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/logFiles.ts b/sdk/mariadb/arm-mariadb/src/operations/logFiles.ts index 30687cbb0c89..632ef31b6c6d 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/logFiles.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/logFiles.ts @@ -1,83 +1,120 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/logFilesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LogFiles } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + LogFile, + LogFilesListByServerOptionalParams, + LogFilesListByServerResponse +} from "../models"; -/** Class representing a LogFiles. */ -export class LogFiles { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing LogFiles operations. */ +export class LogFilesImpl implements LogFiles { + private readonly client: MariaDBManagementClient; /** - * Create a LogFiles. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class LogFiles class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** * List all the log files in a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: LogFilesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: LogFilesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: LogFilesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the log files in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: LogFilesListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.LogFileListResult @@ -86,5 +123,13 @@ const listByServerOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/operations.ts b/sdk/mariadb/arm-mariadb/src/operations/operations.ts index 4dc11ec5bb9d..4ce133589b1a 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/operations.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/operations.ts @@ -1,67 +1,49 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + OperationsListOptionalParams, + OperationsListResponse +} from "../models"; -/** Class representing a Operations. */ -export class Operations { - private readonly client: MariaDBManagementClientContext; +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { + private readonly client: MariaDBManagementClient; /** - * Create a Operations. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** * Lists all of the available REST API operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.DBforMariaDB/operations", httpMethod: "GET", - path: "providers/Microsoft.DBforMariaDB/operations", - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -70,5 +52,8 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/privateEndpointConnections.ts b/sdk/mariadb/arm-mariadb/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..3a3dc4d7b7aa --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/privateEndpointConnections.ts @@ -0,0 +1,621 @@ +/* + * 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 { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByServerNextOptionalParams, + PrivateEndpointConnectionsListByServerOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + TagsObject, + PrivateEndpointConnectionsUpdateTagsOptionalParams, + PrivateEndpointConnectionsUpdateTagsResponse, + PrivateEndpointConnectionsListByServerResponse, + PrivateEndpointConnectionsListByServerNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName The name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, privateEndpointConnectionName, options }, + getOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { + resourceGroupName, + serverName, + privateEndpointConnectionName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + privateEndpointConnectionName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, privateEndpointConnectionName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates private endpoint connection with the specified tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters Parameters supplied to the Update private endpoint connection Tags operation. + * @param options The options parameters. + */ + async beginUpdateTags( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: TagsObject, + options?: PrivateEndpointConnectionsUpdateTagsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsUpdateTagsResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { + resourceGroupName, + serverName, + privateEndpointConnectionName, + parameters, + options + }, + updateTagsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates private endpoint connection with the specified tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters Parameters supplied to the Update private endpoint connection Tags operation. + * @param options The options parameters. + */ + async beginUpdateTagsAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: TagsObject, + options?: PrivateEndpointConnectionsUpdateTagsOptionalParams + ): Promise { + const poller = await this.beginUpdateTags( + resourceGroupName, + serverName, + privateEndpointConnectionName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters8, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateTagsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/privateLinkResources.ts b/sdk/mariadb/arm-mariadb/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..eb61c396e738 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/privateLinkResources.ts @@ -0,0 +1,233 @@ +/* + * 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 { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByServerNextOptionalParams, + PrivateLinkResourcesListByServerOptionalParams, + PrivateLinkResourcesListByServerResponse, + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse, + PrivateLinkResourcesListByServerNextResponse +} from "../models"; + +/// +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Gets the private link resources for MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets the private link resources for MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * Gets a private link resource for MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param groupName The name of the private link resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + groupName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, groupName, options }, + getOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: PrivateLinkResourcesListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/privateLinkResources/{groupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.groupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/queryTexts.ts b/sdk/mariadb/arm-mariadb/src/operations/queryTexts.ts new file mode 100644 index 000000000000..2ecdf2cc6d72 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/queryTexts.ts @@ -0,0 +1,246 @@ +/* + * 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 { QueryTexts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + QueryText, + QueryTextsListByServerNextOptionalParams, + QueryTextsListByServerOptionalParams, + QueryTextsGetOptionalParams, + QueryTextsGetResponse, + QueryTextsListByServerResponse, + QueryTextsListByServerNextResponse +} from "../models"; + +/// +/** Class containing QueryTexts operations. */ +export class QueryTextsImpl implements QueryTexts { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class QueryTexts class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Retrieve the Query-Store query texts for specified queryIds. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryIds The query identifiers + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + queryIds: string[], + options?: QueryTextsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + queryIds, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + queryIds, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + queryIds: string[], + options?: QueryTextsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + queryIds, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + queryIds, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + queryIds: string[], + options?: QueryTextsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + queryIds, + options + )) { + yield* page; + } + } + + /** + * Retrieve the Query-Store query texts for the queryId. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryId The Query-Store query identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + queryId: string, + options?: QueryTextsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, queryId, options }, + getOperationSpec + ); + } + + /** + * Retrieve the Query-Store query texts for specified queryIds. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryIds The query identifiers + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + queryIds: string[], + options?: QueryTextsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, queryIds, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryIds The query identifiers + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + queryIds: string[], + nextLink: string, + options?: QueryTextsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, queryIds, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts/{queryId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.QueryText + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.queryId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.QueryTextsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.queryIds], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.QueryTextsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.queryIds], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/recommendedActions.ts b/sdk/mariadb/arm-mariadb/src/operations/recommendedActions.ts new file mode 100644 index 000000000000..75a92d96f7eb --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/recommendedActions.ts @@ -0,0 +1,248 @@ +/* + * 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 { RecommendedActions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + RecommendationAction, + RecommendedActionsListByServerNextOptionalParams, + RecommendedActionsListByServerOptionalParams, + RecommendedActionsGetOptionalParams, + RecommendedActionsGetResponse, + RecommendedActionsListByServerResponse, + RecommendedActionsListByServerNextResponse +} from "../models"; + +/// +/** Class containing RecommendedActions operations. */ +export class RecommendedActionsImpl implements RecommendedActions { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class RecommendedActions class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Retrieve recommended actions from the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: RecommendedActionsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + advisorName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + advisorName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: RecommendedActionsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + advisorName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + advisorName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: RecommendedActionsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + advisorName, + options + )) { + yield* page; + } + } + + /** + * Retrieve recommended actions from the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param recommendedActionName The recommended action name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + recommendedActionName: string, + options?: RecommendedActionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + advisorName, + recommendedActionName, + options + }, + getOperationSpec + ); + } + + /** + * Retrieve recommended actions from the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: RecommendedActionsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, advisorName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + advisorName: string, + nextLink: string, + options?: RecommendedActionsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, advisorName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendationAction + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName, + Parameters.recommendedActionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendationActionsResultList + } + }, + queryParameters: [Parameters.apiVersion, Parameters.sessionId], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendationActionsResultList + } + }, + queryParameters: [Parameters.apiVersion, Parameters.sessionId], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/recoverableServers.ts b/sdk/mariadb/arm-mariadb/src/operations/recoverableServers.ts new file mode 100644 index 000000000000..68d6a06bcf28 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/recoverableServers.ts @@ -0,0 +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. + */ + +import { RecoverableServers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + RecoverableServersGetOptionalParams, + RecoverableServersGetResponse +} from "../models"; + +/** Class containing RecoverableServers operations. */ +export class RecoverableServersImpl implements RecoverableServers { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class RecoverableServers class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Gets a recoverable MariaDB Server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: RecoverableServersGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/recoverableServers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecoverableServerResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/replicas.ts b/sdk/mariadb/arm-mariadb/src/operations/replicas.ts index 0359016a2178..198b1c90f56e 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/replicas.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/replicas.ts @@ -1,83 +1,120 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicasMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Replicas } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + Server, + ReplicasListByServerOptionalParams, + ReplicasListByServerResponse +} from "../models"; -/** Class representing a Replicas. */ -export class Replicas { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing Replicas operations. */ +export class ReplicasImpl implements Replicas { + private readonly client: MariaDBManagementClient; /** - * Create a Replicas. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Replicas class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** * List all the replicas for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicasListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ReplicasListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ReplicasListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the replicas for a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicasListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerListResult @@ -86,5 +123,13 @@ const listByServerOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/serverBasedPerformanceTier.ts b/sdk/mariadb/arm-mariadb/src/operations/serverBasedPerformanceTier.ts new file mode 100644 index 000000000000..65bb6b19e40f --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/serverBasedPerformanceTier.ts @@ -0,0 +1,124 @@ +/* + * 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 { ServerBasedPerformanceTier } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + PerformanceTierProperties, + ServerBasedPerformanceTierListOptionalParams, + ServerBasedPerformanceTierListResponse +} from "../models"; + +/// +/** Class containing ServerBasedPerformanceTier operations. */ +export class ServerBasedPerformanceTierImpl + implements ServerBasedPerformanceTier { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class ServerBasedPerformanceTier class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * List all the performance tiers for a MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serverName: string, + options?: ServerBasedPerformanceTierListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, serverName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, serverName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerBasedPerformanceTierListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, serverName, options); + yield result.value || []; + } + + private async *listPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerBasedPerformanceTierListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * List all the performance tiers for a MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serverName: string, + options?: ServerBasedPerformanceTierListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/performanceTiers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PerformanceTierListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/serverParameters.ts b/sdk/mariadb/arm-mariadb/src/operations/serverParameters.ts new file mode 100644 index 000000000000..da34e683d9cd --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/serverParameters.ts @@ -0,0 +1,160 @@ +/* + * 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 { ServerParameters } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ConfigurationListResult, + ServerParametersListUpdateConfigurationsOptionalParams, + ServerParametersListUpdateConfigurationsResponse +} from "../models"; + +/** Class containing ServerParameters operations. */ +export class ServerParametersImpl implements ServerParameters { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class ServerParameters class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Update a list of configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param value The parameters for updating a list of server configuration. + * @param options The options parameters. + */ + async beginListUpdateConfigurations( + resourceGroupName: string, + serverName: string, + value: ConfigurationListResult, + options?: ServerParametersListUpdateConfigurationsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerParametersListUpdateConfigurationsResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, value, options }, + listUpdateConfigurationsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); + } + + /** + * Update a list of configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param value The parameters for updating a list of server configuration. + * @param options The options parameters. + */ + async beginListUpdateConfigurationsAndWait( + resourceGroupName: string, + serverName: string, + value: ConfigurationListResult, + options?: ServerParametersListUpdateConfigurationsOptionalParams + ): Promise { + const poller = await this.beginListUpdateConfigurations( + resourceGroupName, + serverName, + value, + options + ); + return poller.pollUntilDone(); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listUpdateConfigurationsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/updateConfigurations", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ConfigurationListResult + }, + 201: { + bodyMapper: Mappers.ConfigurationListResult + }, + 202: { + bodyMapper: Mappers.ConfigurationListResult + }, + 204: { + bodyMapper: Mappers.ConfigurationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.value, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/serverSecurityAlertPolicies.ts b/sdk/mariadb/arm-mariadb/src/operations/serverSecurityAlertPolicies.ts index b6b4ce11d763..3943b384589d 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/serverSecurityAlertPolicies.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/serverSecurityAlertPolicies.ts @@ -1,161 +1,366 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverSecurityAlertPoliciesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerSecurityAlertPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerSecurityAlertPolicy, + ServerSecurityAlertPoliciesListByServerNextOptionalParams, + ServerSecurityAlertPoliciesListByServerOptionalParams, + SecurityAlertPolicyName, + ServerSecurityAlertPoliciesGetOptionalParams, + ServerSecurityAlertPoliciesGetResponse, + ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ServerSecurityAlertPoliciesCreateOrUpdateResponse, + ServerSecurityAlertPoliciesListByServerResponse, + ServerSecurityAlertPoliciesListByServerNextResponse +} from "../models"; -/** Class representing a ServerSecurityAlertPolicies. */ -export class ServerSecurityAlertPolicies { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing ServerSecurityAlertPolicies operations. */ +export class ServerSecurityAlertPoliciesImpl + implements ServerSecurityAlertPolicies { + private readonly client: MariaDBManagementClient; /** - * Create a ServerSecurityAlertPolicies. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerSecurityAlertPolicies class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Get a server's security alert policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get a server's security alert policy. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param callback The callback + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ServerSecurityAlertPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, securityAlertPolicyName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerSecurityAlertPoliciesCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, { resourceGroupName, serverName, + securityAlertPolicyName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. * @param parameters The server security alert policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + securityAlertPolicyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param parameters The server security alert policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } -} + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerSecurityAlertPoliciesListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", + responses: { + 200: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.securityAlertPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ServerSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + 202: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + 204: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", + requestBody: Parameters.parameters10, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.securityAlertPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.securityAlertPolicyName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerSecurityAlertPolicy, - required: true - } + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerSecurityAlertPolicyListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ServerSecurityAlertPolicy + bodyMapper: Mappers.ServerSecurityAlertPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/servers.ts b/sdk/mariadb/arm-mariadb/src/operations/servers.ts index 65eb20b35d53..4bacfb5585dc 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/servers.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/servers.ts @@ -1,449 +1,885 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serversMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Servers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Server, + ServersListByResourceGroupOptionalParams, + ServersListOptionalParams, + ServerForCreate, + ServersCreateOptionalParams, + ServersCreateResponse, + ServerUpdateParameters, + ServersUpdateOptionalParams, + ServersUpdateResponse, + ServersDeleteOptionalParams, + ServersGetOptionalParams, + ServersGetResponse, + ServersListByResourceGroupResponse, + ServersListResponse, + ServersRestartOptionalParams, + ServersStartOptionalParams, + ServersStopOptionalParams +} from "../models"; -/** Class representing a Servers. */ -export class Servers { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing Servers operations. */ +export class ServersImpl implements Servers { + private readonly client: MariaDBManagementClient; /** - * Create a Servers. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Servers class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Creates a new server or updates an existing server. The update action will overwrite the - * existing server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * List all the servers in a given resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * List all the servers in a given subscription. + * @param options The options parameters. + */ + public list( + options?: ServersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ServersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + } + + private async *listPagingAll( + options?: ServersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Creates a new server or updates an existing server. The update action will overwrite the existing + * server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param parameters The required parameters for creating or updating a server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(resourceGroupName: string, serverName: string, parameters: Models.ServerForCreate, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + resourceGroupName: string, + serverName: string, + parameters: ServerForCreate, + options?: ServersCreateOptionalParams + ): Promise< + PollerLike, ServersCreateResponse> + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, parameters, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates an existing server. The request body can contain one to many of the properties present - * in the normal server definition. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new server or updates an existing server. The update action will overwrite the existing + * server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for creating or updating a server. + * @param options The options parameters. + */ + async beginCreateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerForCreate, + options?: ServersCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates an existing server. The request body can contain one to many of the properties present in + * the normal server definition. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param parameters The required parameters for updating a server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, parameters: Models.ServerUpdateParameters, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdateParameters, + options?: ServersUpdateOptionalParams + ): Promise< + PollerLike, ServersUpdateResponse> + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing server. The request body can contain one to many of the properties present in + * the normal server definition. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The required parameters for updating a server. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdateParameters, + options?: ServersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets information about a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets information about a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + options?: ServersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + getOperationSpec + ); } /** * List all the servers in a given resource group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param callback The callback + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * List all the servers in a given subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; + private _list( + options?: ServersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param options The optional parameters - * @param callback The callback + * Restarts a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + async beginRestart( + resourceGroupName: string, + serverName: string, + options?: ServersRestartOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, options }, + restartOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Restarts a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - restart(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRestart(resourceGroupName,serverName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginRestartAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersRestartOptionalParams + ): Promise { + const poller = await this.beginRestart( + resourceGroupName, + serverName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new server or updates an existing server. The update action will overwrite the - * existing server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Starts a stopped server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param parameters The required parameters for creating or updating a server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreate(resourceGroupName: string, serverName: string, parameters: Models.ServerForCreate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOperationSpec, - options); + async beginStart( + resourceGroupName: string, + serverName: string, + options?: ServersStartOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, options }, + startOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates an existing server. The request body can contain one to many of the properties present - * in the normal server definition. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Starts a stopped server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param parameters The required parameters for updating a server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerUpdateParameters, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginStartAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersStartOptionalParams + ): Promise { + const poller = await this.beginStart( + resourceGroupName, + serverName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Stops a running server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginStop( + resourceGroupName: string, + serverName: string, + options?: ServersStopOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { resourceGroupName, serverName, options }, + stopOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Restarts a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Stops a running server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginRestart(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - options - }, - beginRestartOperationSpec, - options); + async beginStopAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersStopOptionalParams + ): Promise { + const poller = await this.beginStop(resourceGroupName, serverName, options); + return poller.pollUntilDone(); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Server + }, + 201: { + bodyMapper: Mappers.Server + }, + 202: { + bodyMapper: Mappers.Server + }, + 204: { + bodyMapper: Mappers.Server + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Server }, + 201: { + bodyMapper: Mappers.Server + }, + 202: { + bodyMapper: Mappers.Server + }, + 204: { + bodyMapper: Mappers.Server + }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers", + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, - Parameters.resourceGroupName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceGroupName, + Parameters.serverName ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.ServerListResult - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.ServerListResult + bodyMapper: Mappers.Server }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerForCreate, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Server - }, - 201: { - bodyMapper: Mappers.Server + bodyMapper: Mappers.ServerListResult }, - 202: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceGroupName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerUpdateParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Server + bodyMapper: Mappers.ServerListResult }, - 202: {}, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}", +const restartOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const startOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/start", + httpMethod: "POST", responses: { 200: {}, + 201: {}, 202: {}, 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudErrorAutoGenerated } }, - serializer -}; - -const beginRestartOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/stop", + httpMethod: "POST", responses: { 200: {}, + 201: {}, 202: {}, + 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.CloudErrorAutoGenerated } }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/topQueryStatistics.ts b/sdk/mariadb/arm-mariadb/src/operations/topQueryStatistics.ts new file mode 100644 index 000000000000..1b73320b894a --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/topQueryStatistics.ts @@ -0,0 +1,249 @@ +/* + * 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 { TopQueryStatistics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + QueryStatistic, + TopQueryStatisticsInput, + TopQueryStatisticsListByServerNextOptionalParams, + TopQueryStatisticsListByServerOptionalParams, + TopQueryStatisticsGetOptionalParams, + TopQueryStatisticsGetResponse, + TopQueryStatisticsListByServerResponse, + TopQueryStatisticsListByServerNextResponse +} from "../models"; + +/// +/** Class containing TopQueryStatistics operations. */ +export class TopQueryStatisticsImpl implements TopQueryStatistics { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class TopQueryStatistics class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Retrieve the Query-Store top queries for specified metric and aggregation. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving top query statistics. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + options?: TopQueryStatisticsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + parameters, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + parameters, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + options?: TopQueryStatisticsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + parameters, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + parameters, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + options?: TopQueryStatisticsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + parameters, + options + )) { + yield* page; + } + } + + /** + * Retrieve the query statistic for specified identifier. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryStatisticId The Query Statistic identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + queryStatisticId: string, + options?: TopQueryStatisticsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, queryStatisticId, options }, + getOperationSpec + ); + } + + /** + * Retrieve the Query-Store top queries for specified metric and aggregation. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving top query statistics. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + options?: TopQueryStatisticsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, parameters, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving top query statistics. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + nextLink: string, + options?: TopQueryStatisticsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, parameters, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics/{queryStatisticId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.QueryStatistic + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.queryStatisticId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TopQueryStatisticsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TopQueryStatisticsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operations/virtualNetworkRules.ts b/sdk/mariadb/arm-mariadb/src/operations/virtualNetworkRules.ts index 4b7d5b9332d1..6a6940ca192c 100644 --- a/sdk/mariadb/arm-mariadb/src/operations/virtualNetworkRules.ts +++ b/sdk/mariadb/arm-mariadb/src/operations/virtualNetworkRules.ts @@ -1,283 +1,385 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/virtualNetworkRulesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { VirtualNetworkRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { MariaDBManagementClientContext } from "../mariaDBManagementClientContext"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VirtualNetworkRule, + VirtualNetworkRulesListByServerNextOptionalParams, + VirtualNetworkRulesListByServerOptionalParams, + VirtualNetworkRulesGetOptionalParams, + VirtualNetworkRulesGetResponse, + VirtualNetworkRulesCreateOrUpdateOptionalParams, + VirtualNetworkRulesCreateOrUpdateResponse, + VirtualNetworkRulesDeleteOptionalParams, + VirtualNetworkRulesListByServerResponse, + VirtualNetworkRulesListByServerNextResponse +} from "../models"; -/** Class representing a VirtualNetworkRules. */ -export class VirtualNetworkRules { - private readonly client: MariaDBManagementClientContext; +/// +/** Class containing VirtualNetworkRules operations. */ +export class VirtualNetworkRulesImpl implements VirtualNetworkRules { + private readonly client: MariaDBManagementClient; /** - * Create a VirtualNetworkRules. - * @param {MariaDBManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class VirtualNetworkRules class. + * @param client Reference to the service client */ - constructor(client: MariaDBManagementClientContext) { + constructor(client: MariaDBManagementClient) { this.client = client; } /** - * Gets a virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a virtual network rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, virtualNetworkRuleName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkRulesCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, { resourceGroupName, serverName, virtualNetworkRuleName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates an existing virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. * @param parameters The requested virtual Network Rule Resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: Models.VirtualNetworkRule, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,virtualNetworkRuleName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + virtualNetworkRuleName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes the virtual network rule with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,virtualNetworkRuleName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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() + } + }; + }; - /** - * Gets a list of virtual network rules in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, virtualNetworkRuleName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Creates or updates an existing virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param parameters The requested virtual Network Rule Resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: Models.VirtualNetworkRule, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - virtualNetworkRuleName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + virtualNetworkRuleName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes the virtual network rule with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param serverName The name of the server. - * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - virtualNetworkRuleName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Gets a list of virtual network rules in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: VirtualNetworkRulesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId, - Parameters.virtualNetworkRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VirtualNetworkRule }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualNetworkRuleName ], - responses: { - 200: { - bodyMapper: Mappers.VirtualNetworkRuleListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId, - Parameters.virtualNetworkRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VirtualNetworkRule, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.VirtualNetworkRule @@ -285,57 +387,79 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.VirtualNetworkRule }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.VirtualNetworkRule + }, + 204: { + bodyMapper: Mappers.VirtualNetworkRule + }, + default: {} }, + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.virtualNetworkRuleName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.virtualNetworkRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualNetworkRuleName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules", httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkRuleListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VirtualNetworkRuleListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/mariadb/arm-mariadb/src/operations/waitStatistics.ts b/sdk/mariadb/arm-mariadb/src/operations/waitStatistics.ts new file mode 100644 index 000000000000..916237a44d8b --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operations/waitStatistics.ts @@ -0,0 +1,249 @@ +/* + * 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 { WaitStatistics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { MariaDBManagementClient } from "../mariaDBManagementClient"; +import { + WaitStatistic, + WaitStatisticsInput, + WaitStatisticsListByServerNextOptionalParams, + WaitStatisticsListByServerOptionalParams, + WaitStatisticsGetOptionalParams, + WaitStatisticsGetResponse, + WaitStatisticsListByServerResponse, + WaitStatisticsListByServerNextResponse +} from "../models"; + +/// +/** Class containing WaitStatistics operations. */ +export class WaitStatisticsImpl implements WaitStatistics { + private readonly client: MariaDBManagementClient; + + /** + * Initialize a new instance of the class WaitStatistics class. + * @param client Reference to the service client + */ + constructor(client: MariaDBManagementClient) { + this.client = client; + } + + /** + * Retrieve wait statistics for specified aggregation window. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving wait statistics. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + options?: WaitStatisticsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + parameters, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + parameters, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + options?: WaitStatisticsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + parameters, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + parameters, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + options?: WaitStatisticsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + parameters, + options + )) { + yield* page; + } + } + + /** + * Retrieve wait statistics for specified identifier. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param waitStatisticsId The Wait Statistic identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + waitStatisticsId: string, + options?: WaitStatisticsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, waitStatisticsId, options }, + getOperationSpec + ); + } + + /** + * Retrieve wait statistics for specified aggregation window. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving wait statistics. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + options?: WaitStatisticsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, parameters, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving wait statistics. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + nextLink: string, + options?: WaitStatisticsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, parameters, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics/{waitStatisticsId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WaitStatistic + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.waitStatisticsId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WaitStatisticsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WaitStatisticsResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/advisors.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/advisors.ts new file mode 100644 index 000000000000..93f8f5a755f5 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/advisors.ts @@ -0,0 +1,44 @@ +/* + * 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 { + Advisor, + AdvisorsListByServerOptionalParams, + AdvisorsGetOptionalParams, + AdvisorsGetResponse +} from "../models"; + +/// +/** Interface representing a Advisors. */ +export interface Advisors { + /** + * List recommendation action advisors. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: AdvisorsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a recommendation action advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: AdvisorsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/checkNameAvailability.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/checkNameAvailability.ts new file mode 100644 index 000000000000..9029353c7cc1 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/checkNameAvailability.ts @@ -0,0 +1,26 @@ +/* + * 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 { + NameAvailabilityRequest, + CheckNameAvailabilityExecuteOptionalParams, + CheckNameAvailabilityExecuteResponse +} from "../models"; + +/** Interface representing a CheckNameAvailability. */ +export interface CheckNameAvailability { + /** + * Check the availability of name for resource + * @param nameAvailabilityRequest The required parameters for checking if resource name is available. + * @param options The options parameters. + */ + execute( + nameAvailabilityRequest: NameAvailabilityRequest, + options?: CheckNameAvailabilityExecuteOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/configurations.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/configurations.ts new file mode 100644 index 000000000000..6b04d5ab316b --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/configurations.ts @@ -0,0 +1,82 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Configuration, + ConfigurationsListByServerOptionalParams, + ConfigurationsCreateOrUpdateOptionalParams, + ConfigurationsCreateOrUpdateResponse, + ConfigurationsGetOptionalParams, + ConfigurationsGetResponse +} from "../models"; + +/// +/** Interface representing a Configurations. */ +export interface Configurations { + /** + * List all the configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ConfigurationsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Updates a configuration of a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param configurationName The name of the server configuration. + * @param parameters The required parameters for updating a server configuration. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + configurationName: string, + parameters: Configuration, + options?: ConfigurationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ConfigurationsCreateOrUpdateResponse + > + >; + /** + * Updates a configuration of a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param configurationName The name of the server configuration. + * @param parameters The required parameters for updating a server configuration. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + configurationName: string, + parameters: Configuration, + options?: ConfigurationsCreateOrUpdateOptionalParams + ): Promise; + /** + * Gets information about a configuration of server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param configurationName The name of the server configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + configurationName: string, + options?: ConfigurationsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/databases.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/databases.ts new file mode 100644 index 000000000000..19996d49008c --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/databases.ts @@ -0,0 +1,109 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Database, + DatabasesListByServerOptionalParams, + DatabasesCreateOrUpdateOptionalParams, + DatabasesCreateOrUpdateResponse, + DatabasesDeleteOptionalParams, + DatabasesGetOptionalParams, + DatabasesGetResponse +} from "../models"; + +/// +/** Interface representing a Databases. */ +export interface Databases { + /** + * List all the databases in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The required parameters for creating or updating a database. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesCreateOrUpdateResponse + > + >; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The required parameters for creating or updating a database. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise; + /** + * Gets information about a database. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/firewallRules.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/firewallRules.ts new file mode 100644 index 000000000000..2e80632d8c83 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/firewallRules.ts @@ -0,0 +1,109 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + FirewallRule, + FirewallRulesListByServerOptionalParams, + FirewallRulesCreateOrUpdateOptionalParams, + FirewallRulesCreateOrUpdateResponse, + FirewallRulesDeleteOptionalParams, + FirewallRulesGetOptionalParams, + FirewallRulesGetResponse +} from "../models"; + +/// +/** Interface representing a FirewallRules. */ +export interface FirewallRules { + /** + * List all the firewall rules in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a new firewall rule or updates an existing firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param firewallRuleName The name of the server firewall rule. + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FirewallRulesCreateOrUpdateResponse + > + >; + /** + * Creates a new firewall rule or updates an existing firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param firewallRuleName The name of the server firewall rule. + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param firewallRuleName The name of the server firewall rule. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param firewallRuleName The name of the server firewall rule. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise; + /** + * Gets information about a server firewall rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param firewallRuleName The name of the server firewall rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/index.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..9c8186a3bf05 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/index.ts @@ -0,0 +1,31 @@ +/* + * 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 "./servers"; +export * from "./replicas"; +export * from "./firewallRules"; +export * from "./virtualNetworkRules"; +export * from "./databases"; +export * from "./configurations"; +export * from "./serverParameters"; +export * from "./logFiles"; +export * from "./recoverableServers"; +export * from "./serverBasedPerformanceTier"; +export * from "./locationBasedPerformanceTier"; +export * from "./checkNameAvailability"; +export * from "./operations"; +export * from "./queryTexts"; +export * from "./topQueryStatistics"; +export * from "./waitStatistics"; +export * from "./advisors"; +export * from "./recommendedActions"; +export * from "./locationBasedRecommendedActionSessionsOperationStatus"; +export * from "./locationBasedRecommendedActionSessionsResult"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./serverSecurityAlertPolicies"; diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedPerformanceTier.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedPerformanceTier.ts new file mode 100644 index 000000000000..a4e9ebf6eebc --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedPerformanceTier.ts @@ -0,0 +1,27 @@ +/* + * 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 { + PerformanceTierProperties, + LocationBasedPerformanceTierListOptionalParams +} from "../models"; + +/// +/** Interface representing a LocationBasedPerformanceTier. */ +export interface LocationBasedPerformanceTier { + /** + * List all the performance tiers at specified location in a given subscription. + * @param locationName The name of the location. + * @param options The options parameters. + */ + list( + locationName: string, + options?: LocationBasedPerformanceTierListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsOperationStatus.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsOperationStatus.ts new file mode 100644 index 000000000000..b0c98226ef87 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsOperationStatus.ts @@ -0,0 +1,27 @@ +/* + * 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 { + LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams, + LocationBasedRecommendedActionSessionsOperationStatusGetResponse +} from "../models"; + +/** Interface representing a LocationBasedRecommendedActionSessionsOperationStatus. */ +export interface LocationBasedRecommendedActionSessionsOperationStatus { + /** + * Recommendation action session operation status. + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + get( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsOperationStatusGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsResult.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsResult.ts new file mode 100644 index 000000000000..97678e32eec8 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/locationBasedRecommendedActionSessionsResult.ts @@ -0,0 +1,29 @@ +/* + * 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 { + RecommendationAction, + LocationBasedRecommendedActionSessionsResultListOptionalParams +} from "../models"; + +/// +/** Interface representing a LocationBasedRecommendedActionSessionsResult. */ +export interface LocationBasedRecommendedActionSessionsResult { + /** + * Recommendation action session operation result. + * @param locationName The name of the location. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + list( + locationName: string, + operationId: string, + options?: LocationBasedRecommendedActionSessionsResultListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/logFiles.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/logFiles.ts new file mode 100644 index 000000000000..898f200f7cfa --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/logFiles.ts @@ -0,0 +1,26 @@ +/* + * 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 { LogFile, LogFilesListByServerOptionalParams } from "../models"; + +/// +/** Interface representing a LogFiles. */ +export interface LogFiles { + /** + * List all the log files in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: LogFilesListByServerOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/operations.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..c830f4c5aca3 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/operations.ts @@ -0,0 +1,21 @@ +/* + * 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 { + OperationsListOptionalParams, + OperationsListResponse +} from "../models"; + +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists all of the available REST API operations. + * @param options The options parameters. + */ + list(options?: OperationsListOptionalParams): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..aaa625dcc651 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,147 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByServerOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + TagsObject, + PrivateEndpointConnectionsUpdateTagsOptionalParams, + PrivateEndpointConnectionsUpdateTagsResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName The name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + >; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; + /** + * Updates private endpoint connection with the specified tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters Parameters supplied to the Update private endpoint connection Tags operation. + * @param options The options parameters. + */ + beginUpdateTags( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: TagsObject, + options?: PrivateEndpointConnectionsUpdateTagsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsUpdateTagsResponse + > + >; + /** + * Updates private endpoint connection with the specified tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters Parameters supplied to the Update private endpoint connection Tags operation. + * @param options The options parameters. + */ + beginUpdateTagsAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: TagsObject, + options?: PrivateEndpointConnectionsUpdateTagsOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateLinkResources.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..bc8120be494f --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,44 @@ +/* + * 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 { + PrivateLinkResource, + PrivateLinkResourcesListByServerOptionalParams, + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/// +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets the private link resources for MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private link resource for MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param groupName The name of the private link resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + groupName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/queryTexts.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/queryTexts.ts new file mode 100644 index 000000000000..ec17c0c6cafd --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/queryTexts.ts @@ -0,0 +1,46 @@ +/* + * 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 { + QueryText, + QueryTextsListByServerOptionalParams, + QueryTextsGetOptionalParams, + QueryTextsGetResponse +} from "../models"; + +/// +/** Interface representing a QueryTexts. */ +export interface QueryTexts { + /** + * Retrieve the Query-Store query texts for specified queryIds. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryIds The query identifiers + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + queryIds: string[], + options?: QueryTextsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Retrieve the Query-Store query texts for the queryId. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryId The Query-Store query identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + queryId: string, + options?: QueryTextsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recommendedActions.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recommendedActions.ts new file mode 100644 index 000000000000..cb79c396a376 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recommendedActions.ts @@ -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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RecommendationAction, + RecommendedActionsListByServerOptionalParams, + RecommendedActionsGetOptionalParams, + RecommendedActionsGetResponse +} from "../models"; + +/// +/** Interface representing a RecommendedActions. */ +export interface RecommendedActions { + /** + * Retrieve recommended actions from the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: RecommendedActionsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Retrieve recommended actions from the advisor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param advisorName The advisor name for recommendation action. + * @param recommendedActionName The recommended action name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + recommendedActionName: string, + options?: RecommendedActionsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recoverableServers.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recoverableServers.ts new file mode 100644 index 000000000000..b7cc0b3f86f3 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/recoverableServers.ts @@ -0,0 +1,27 @@ +/* + * 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 { + RecoverableServersGetOptionalParams, + RecoverableServersGetResponse +} from "../models"; + +/** Interface representing a RecoverableServers. */ +export interface RecoverableServers { + /** + * Gets a recoverable MariaDB Server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: RecoverableServersGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/replicas.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/replicas.ts new file mode 100644 index 000000000000..ccea815db429 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/replicas.ts @@ -0,0 +1,26 @@ +/* + * 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 { Server, ReplicasListByServerOptionalParams } from "../models"; + +/// +/** Interface representing a Replicas. */ +export interface Replicas { + /** + * List all the replicas for a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicasListByServerOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverBasedPerformanceTier.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverBasedPerformanceTier.ts new file mode 100644 index 000000000000..2e1af8809337 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverBasedPerformanceTier.ts @@ -0,0 +1,29 @@ +/* + * 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 { + PerformanceTierProperties, + ServerBasedPerformanceTierListOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerBasedPerformanceTier. */ +export interface ServerBasedPerformanceTier { + /** + * List all the performance tiers for a MariaDB server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serverName: string, + options?: ServerBasedPerformanceTierListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverParameters.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverParameters.ts new file mode 100644 index 000000000000..5cbc4d97cd9f --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverParameters.ts @@ -0,0 +1,49 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ConfigurationListResult, + ServerParametersListUpdateConfigurationsOptionalParams, + ServerParametersListUpdateConfigurationsResponse +} from "../models"; + +/** Interface representing a ServerParameters. */ +export interface ServerParameters { + /** + * Update a list of configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param value The parameters for updating a list of server configuration. + * @param options The options parameters. + */ + beginListUpdateConfigurations( + resourceGroupName: string, + serverName: string, + value: ConfigurationListResult, + options?: ServerParametersListUpdateConfigurationsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerParametersListUpdateConfigurationsResponse + > + >; + /** + * Update a list of configurations in a given server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param value The parameters for updating a list of server configuration. + * @param options The options parameters. + */ + beginListUpdateConfigurationsAndWait( + resourceGroupName: string, + serverName: string, + value: ConfigurationListResult, + options?: ServerParametersListUpdateConfigurationsOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverSecurityAlertPolicies.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverSecurityAlertPolicies.ts new file mode 100644 index 000000000000..1fd380fbaddd --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/serverSecurityAlertPolicies.ts @@ -0,0 +1,83 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerSecurityAlertPolicy, + ServerSecurityAlertPoliciesListByServerOptionalParams, + SecurityAlertPolicyName, + ServerSecurityAlertPoliciesGetOptionalParams, + ServerSecurityAlertPoliciesGetResponse, + ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ServerSecurityAlertPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ServerSecurityAlertPolicies. */ +export interface ServerSecurityAlertPolicies { + /** + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a server's security alert policy. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ServerSecurityAlertPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerSecurityAlertPoliciesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/servers.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/servers.ts new file mode 100644 index 000000000000..ea69e33e6d0e --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/servers.ts @@ -0,0 +1,205 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Server, + ServersListByResourceGroupOptionalParams, + ServersListOptionalParams, + ServerForCreate, + ServersCreateOptionalParams, + ServersCreateResponse, + ServerUpdateParameters, + ServersUpdateOptionalParams, + ServersUpdateResponse, + ServersDeleteOptionalParams, + ServersGetOptionalParams, + ServersGetResponse, + ServersRestartOptionalParams, + ServersStartOptionalParams, + ServersStopOptionalParams +} from "../models"; + +/// +/** Interface representing a Servers. */ +export interface Servers { + /** + * List all the servers in a given resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * List all the servers in a given subscription. + * @param options The options parameters. + */ + list(options?: ServersListOptionalParams): PagedAsyncIterableIterator; + /** + * Creates a new server or updates an existing server. The update action will overwrite the existing + * server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for creating or updating a server. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + serverName: string, + parameters: ServerForCreate, + options?: ServersCreateOptionalParams + ): Promise< + PollerLike, ServersCreateResponse> + >; + /** + * Creates a new server or updates an existing server. The update action will overwrite the existing + * server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for creating or updating a server. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerForCreate, + options?: ServersCreateOptionalParams + ): Promise; + /** + * Updates an existing server. The request body can contain one to many of the properties present in + * the normal server definition. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for updating a server. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdateParameters, + options?: ServersUpdateOptionalParams + ): Promise< + PollerLike, ServersUpdateResponse> + >; + /** + * Updates an existing server. The request body can contain one to many of the properties present in + * the normal server definition. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for updating a server. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdateParameters, + options?: ServersUpdateOptionalParams + ): Promise; + /** + * Deletes a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise; + /** + * Gets information about a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: ServersGetOptionalParams + ): Promise; + /** + * Restarts a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginRestart( + resourceGroupName: string, + serverName: string, + options?: ServersRestartOptionalParams + ): Promise, void>>; + /** + * Restarts a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginRestartAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersRestartOptionalParams + ): Promise; + /** + * Starts a stopped server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginStart( + resourceGroupName: string, + serverName: string, + options?: ServersStartOptionalParams + ): Promise, void>>; + /** + * Starts a stopped server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginStartAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersStartOptionalParams + ): Promise; + /** + * Stops a running server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginStop( + resourceGroupName: string, + serverName: string, + options?: ServersStopOptionalParams + ): Promise, void>>; + /** + * Stops a running server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginStopAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersStopOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/topQueryStatistics.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/topQueryStatistics.ts new file mode 100644 index 000000000000..38b0fac6d83f --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/topQueryStatistics.ts @@ -0,0 +1,47 @@ +/* + * 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 { + QueryStatistic, + TopQueryStatisticsInput, + TopQueryStatisticsListByServerOptionalParams, + TopQueryStatisticsGetOptionalParams, + TopQueryStatisticsGetResponse +} from "../models"; + +/// +/** Interface representing a TopQueryStatistics. */ +export interface TopQueryStatistics { + /** + * Retrieve the Query-Store top queries for specified metric and aggregation. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving top query statistics. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + parameters: TopQueryStatisticsInput, + options?: TopQueryStatisticsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Retrieve the query statistic for specified identifier. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param queryStatisticId The Query Statistic identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + queryStatisticId: string, + options?: TopQueryStatisticsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/virtualNetworkRules.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/virtualNetworkRules.ts new file mode 100644 index 000000000000..a30d50a10656 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/virtualNetworkRules.ts @@ -0,0 +1,109 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VirtualNetworkRule, + VirtualNetworkRulesListByServerOptionalParams, + VirtualNetworkRulesGetOptionalParams, + VirtualNetworkRulesGetResponse, + VirtualNetworkRulesCreateOrUpdateOptionalParams, + VirtualNetworkRulesCreateOrUpdateResponse, + VirtualNetworkRulesDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a VirtualNetworkRules. */ +export interface VirtualNetworkRules { + /** + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a virtual network rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesGetOptionalParams + ): Promise; + /** + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkRulesCreateOrUpdateResponse + > + >; + /** + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/src/operationsInterfaces/waitStatistics.ts b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/waitStatistics.ts new file mode 100644 index 000000000000..7c0c0bcfebb1 --- /dev/null +++ b/sdk/mariadb/arm-mariadb/src/operationsInterfaces/waitStatistics.ts @@ -0,0 +1,47 @@ +/* + * 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 { + WaitStatistic, + WaitStatisticsInput, + WaitStatisticsListByServerOptionalParams, + WaitStatisticsGetOptionalParams, + WaitStatisticsGetResponse +} from "../models"; + +/// +/** Interface representing a WaitStatistics. */ +export interface WaitStatistics { + /** + * Retrieve wait statistics for specified aggregation window. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param parameters The required parameters for retrieving wait statistics. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + parameters: WaitStatisticsInput, + options?: WaitStatisticsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Retrieve wait statistics for specified identifier. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serverName The name of the server. + * @param waitStatisticsId The Wait Statistic identifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + waitStatisticsId: string, + options?: WaitStatisticsGetOptionalParams + ): Promise; +} diff --git a/sdk/mariadb/arm-mariadb/test/sampleTest.ts b/sdk/mariadb/arm-mariadb/test/sampleTest.ts new file mode 100644 index 000000000000..7ed89b043e1b --- /dev/null +++ b/sdk/mariadb/arm-mariadb/test/sampleTest.ts @@ -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!"); + }); +}); diff --git a/sdk/mariadb/arm-mariadb/tsconfig.json b/sdk/mariadb/arm-mariadb/tsconfig.json index 87bbf5b5fa49..6e3251194117 100644 --- a/sdk/mariadb/arm-mariadb/tsconfig.json +++ b/sdk/mariadb/arm-mariadb/tsconfig.json @@ -3,17 +3,17 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, - "include": ["./src/**/*.ts"], + "include": ["./src/**/*.ts", "./test/**/*.ts"], "exclude": ["node_modules"] } diff --git a/sdk/mariadb/ci.yml b/sdk/mariadb/ci.yml new file mode 100644 index 000000000000..cdcee34553d0 --- /dev/null +++ b/sdk/mariadb/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/mariadb/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/mariadb/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: mariadb + Artifacts: + - name: azure-arm-mariadb + safeName: azurearmmariadb + \ No newline at end of file