From 9b0c0102dd72e03ec34925e64e0635e85bbe1fde Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 29 Oct 2021 01:40:50 +0000 Subject: [PATCH] CodeGen from PR 16566 in Azure/azure-rest-api-specs Feature/uratzmon/2021 10 27 preview (#16566) * Add blockchain to latest profile * Add additional types * copy paste the last version * replace the version string where necessary * add examples files * add new APIs * fix checks #1 * Update specification/vi/resource-manager/readme.md * delete unnecessary part Co-authored-by: Mark Cowlishaw Co-authored-by: Yuchao Yan --- sdk/vi/arm-vi/LICENSE.txt | 21 + sdk/vi/arm-vi/README.md | 106 +++ sdk/vi/arm-vi/package.json | 59 ++ sdk/vi/arm-vi/rollup.config.js | 37 + sdk/vi/arm-vi/src/models/accountsMappers.ts | 28 + .../src/models/classicAccountsMappers.ts | 13 + sdk/vi/arm-vi/src/models/generateMappers.ts | 14 + sdk/vi/arm-vi/src/models/index.ts | 865 ++++++++++++++++++ sdk/vi/arm-vi/src/models/mappers.ts | 811 ++++++++++++++++ sdk/vi/arm-vi/src/models/operationsMappers.ts | 15 + sdk/vi/arm-vi/src/models/parameters.ts | 99 ++ .../src/models/userClassicAccountsMappers.ts | 14 + sdk/vi/arm-vi/src/operations/accounts.ts | 558 +++++++++++ .../arm-vi/src/operations/classicAccounts.ts | 97 ++ sdk/vi/arm-vi/src/operations/generate.ts | 121 +++ sdk/vi/arm-vi/src/operations/index.ts | 14 + sdk/vi/arm-vi/src/operations/operations.ts | 125 +++ .../src/operations/userClassicAccounts.ts | 138 +++ sdk/vi/arm-vi/src/viManagementClient.ts | 55 ++ .../arm-vi/src/viManagementClientContext.ts | 67 ++ sdk/vi/arm-vi/tsconfig.json | 19 + 21 files changed, 3276 insertions(+) create mode 100644 sdk/vi/arm-vi/LICENSE.txt create mode 100644 sdk/vi/arm-vi/README.md create mode 100644 sdk/vi/arm-vi/package.json create mode 100644 sdk/vi/arm-vi/rollup.config.js create mode 100644 sdk/vi/arm-vi/src/models/accountsMappers.ts create mode 100644 sdk/vi/arm-vi/src/models/classicAccountsMappers.ts create mode 100644 sdk/vi/arm-vi/src/models/generateMappers.ts create mode 100644 sdk/vi/arm-vi/src/models/index.ts create mode 100644 sdk/vi/arm-vi/src/models/mappers.ts create mode 100644 sdk/vi/arm-vi/src/models/operationsMappers.ts create mode 100644 sdk/vi/arm-vi/src/models/parameters.ts create mode 100644 sdk/vi/arm-vi/src/models/userClassicAccountsMappers.ts create mode 100644 sdk/vi/arm-vi/src/operations/accounts.ts create mode 100644 sdk/vi/arm-vi/src/operations/classicAccounts.ts create mode 100644 sdk/vi/arm-vi/src/operations/generate.ts create mode 100644 sdk/vi/arm-vi/src/operations/index.ts create mode 100644 sdk/vi/arm-vi/src/operations/operations.ts create mode 100644 sdk/vi/arm-vi/src/operations/userClassicAccounts.ts create mode 100644 sdk/vi/arm-vi/src/viManagementClient.ts create mode 100644 sdk/vi/arm-vi/src/viManagementClientContext.ts create mode 100644 sdk/vi/arm-vi/tsconfig.json diff --git a/sdk/vi/arm-vi/LICENSE.txt b/sdk/vi/arm-vi/LICENSE.txt new file mode 100644 index 000000000000..2d3163745319 --- /dev/null +++ b/sdk/vi/arm-vi/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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 +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. diff --git a/sdk/vi/arm-vi/README.md b/sdk/vi/arm-vi/README.md new file mode 100644 index 000000000000..49c65df1f0fc --- /dev/null +++ b/sdk/vi/arm-vi/README.md @@ -0,0 +1,106 @@ +## Azure ViManagementClient SDK for JavaScript + +This package contains an isomorphic SDK (runs both in node.js and in browsers) for ViManagementClient. + +### Currently supported environments + +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge and Firefox. + +### Prerequisites + +You must have an [Azure subscription](https://azure.microsoft.com/free/). + +### How to install + +To use this SDK in your project, you will need to install two packages. +- `vi` that contains the client. +- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. + +Install both packages using the below command: +```bash +npm install --save vi @azure/identity +``` +> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. +If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. + +### How to use + +- If you are writing a client side browser application, + - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. + - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. +- If you are writing a server side application, + - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) + - Complete the set up steps required by the credential if any. + - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. + +In the below samples, we pass the credential and the Azure subscription id to instantiate the client. +Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript. + +##### Sample code + +```javascript +const { DefaultAzureCredential } = require("@azure/identity"); +const { ViManagementClient } = require("vi"); +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples +// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. +const creds = new DefaultAzureCredential(); +const client = new ViManagementClient(creds, subscriptionId); +client.operations.list().then((result) => { + console.log("The result is:"); + console.log(result); +}).catch((err) => { + console.log("An error occurred:"); + console.error(err); +}); +``` + +#### browser - Authentication, client creation, and list operations as an example written in JavaScript. + +In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. + - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. + - Note down the client Id from the previous step and use it in the browser sample below. + +##### Sample code + +- index.html + +```html + + + + vi sample + + + + + + + +``` + +## Related projects + +- [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/sdk/vi/arm-vi/README.png) diff --git a/sdk/vi/arm-vi/package.json b/sdk/vi/arm-vi/package.json new file mode 100644 index 000000000000..8b60e1cff4ea --- /dev/null +++ b/sdk/vi/arm-vi/package.json @@ -0,0 +1,59 @@ +{ + "name": "vi", + "author": "Microsoft Corporation", + "description": "ViManagementClient Library with typescript type definitions for node.js and browser.", + "version": "1.0.0", + "dependencies": { + "@azure/ms-rest-azure-js": "^2.1.0", + "@azure/ms-rest-js": "^2.2.0", + "@azure/core-auth": "^1.1.4", + "tslib": "^1.10.0" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/vi.js", + "module": "./esm/viManagementClient.js", + "types": "./esm/viManagementClient.d.ts", + "devDependencies": { + "typescript": "^3.6.0", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/vi/arm-vi", + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" + }, + "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", + "src/**/*.ts", + "README.md", + "rollup.config.js", + "tsconfig.json" + ], + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/vi.js.map'\" -o ./dist/vi.min.js ./dist/vi.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/vi/arm-vi/rollup.config.js b/sdk/vi/arm-vi/rollup.config.js new file mode 100644 index 000000000000..366e424d95aa --- /dev/null +++ b/sdk/vi/arm-vi/rollup.config.js @@ -0,0 +1,37 @@ +import rollup from "rollup"; +import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + +/** + * @type {rollup.RollupFileOptions} + */ +const config = { + input: "./esm/viManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/vi.js", + format: "umd", + name: "Vi", + sourcemap: true, + globals: { + "@azure/ms-rest-js": "msRest", + "@azure/ms-rest-azure-js": "msRestAzure" + }, + banner: `/* + * 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. + */` + }, + plugins: [ + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() + ] +}; + +export default config; diff --git a/sdk/vi/arm-vi/src/models/accountsMappers.ts b/sdk/vi/arm-vi/src/models/accountsMappers.ts new file mode 100644 index 000000000000..17f7d68ee6b2 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/accountsMappers.ts @@ -0,0 +1,28 @@ +/* + * 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 { + Account, + AccountCheckNameAvailabilityParameters, + AccountList, + AccountPatch, + AzureEntityResource, + BaseResource, + CheckNameAvailabilityResult, + ErrorDefinition, + ErrorResponse, + ManagedServiceIdentity, + MediaServicesForPatchRequest, + MediaServicesForPutRequest, + ProxyResource, + Resource, + SystemData, + Tags, + TrackedResource, + UserAssignedIdentity +} from "../models/mappers"; diff --git a/sdk/vi/arm-vi/src/models/classicAccountsMappers.ts b/sdk/vi/arm-vi/src/models/classicAccountsMappers.ts new file mode 100644 index 000000000000..003796cd25d7 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/classicAccountsMappers.ts @@ -0,0 +1,13 @@ +/* + * 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 { + ClassicAccount, + ErrorDefinition, + ErrorResponse +} from "../models/mappers"; diff --git a/sdk/vi/arm-vi/src/models/generateMappers.ts b/sdk/vi/arm-vi/src/models/generateMappers.ts new file mode 100644 index 000000000000..e4c6a994dff4 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/generateMappers.ts @@ -0,0 +1,14 @@ +/* + * 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 { + AccessToken, + ErrorDefinition, + ErrorResponse, + GenerateAccessTokenParameters +} from "../models/mappers"; diff --git a/sdk/vi/arm-vi/src/models/index.ts b/sdk/vi/arm-vi/src/models/index.ts new file mode 100644 index 000000000000..aa3fdb4efb6d --- /dev/null +++ b/sdk/vi/arm-vi/src/models/index.ts @@ -0,0 +1,865 @@ +/* + * 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"; + +export { BaseResource, CloudError }; + +/** + * Resource tags + */ +export interface Tags { + /** + * Resource tags + */ + tags?: { [propertyName: string]: string }; +} + +/** + * The media services details + */ +export interface MediaServicesForPutRequest { + /** + * The media services resource id + */ + resourceId?: string; + /** + * The user assigned identity to be used to grant permissions + */ + userAssignedIdentity?: string; +} + +/** + * User assigned identity properties + */ +export interface UserAssignedIdentity { + /** + * The principal ID of the assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The client ID of the assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly clientId?: string; +} + +/** + * Managed service identity (system assigned and/or user assigned identities) + */ +export interface ManagedServiceIdentity { + /** + * The service principal ID of the system assigned identity. This property will only be provided + * for a system assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a + * system assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * Possible values include: 'None', 'SystemAssigned', 'UserAssigned', + * 'SystemAssigned,UserAssigned' + */ + type: ManagedServiceIdentityType; + userAssignedIdentities?: { [propertyName: string]: UserAssignedIdentity }; +} + +/** + * Metadata pertaining to creation and last modification of the resource. + */ +export interface SystemData { + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + createdByType?: CreatedByType; + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: Date; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + lastModifiedByType?: CreatedByType; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: Date; +} + +/** + * Common fields that are returned in the response for all Azure Resource Manager resources + * @summary Resource + */ +export interface Resource extends BaseResource { + /** + * Fully qualified resource ID for the resource. Ex - + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the resource + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + * "Microsoft.Storage/storageAccounts" + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; +} + +/** + * The resource model definition for an Azure Resource Manager tracked top level resource which has + * 'tags' and a 'location' + * @summary Tracked Resource + */ +export interface TrackedResource extends Resource { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * The geo-location where the resource lives + */ + location: string; +} + +/** + * An Azure Video Analyzer for Media account. + */ +export interface Account extends TrackedResource { + /** + * The account's tenant id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * The account's data-plane ID + */ + accountId?: string; + /** + * The account's name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountName?: string; + /** + * The media services details + */ + mediaServices?: MediaServicesForPutRequest; + /** + * Gets the status of the account at the time the operation was called. Possible values include: + * 'Succeeded', 'Failed', 'Canceled', 'Accepted', 'Provisioning', 'Deleting' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ProvisioningState; + identity?: ManagedServiceIdentity; + /** + * The system meta data relating to this resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * The media services details + */ +export interface MediaServicesForPatchRequest { + /** + * The user assigned identity to be used to grant permissions + */ + userAssignedIdentity?: string; +} + +/** + * Azure Video Analyzer for Media account + */ +export interface AccountPatch extends Tags { + /** + * The account's tenant id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * The account's data-plane ID + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountId?: string; + /** + * The media services details + */ + mediaServices?: MediaServicesForPatchRequest; + /** + * Gets the status of the account at the time the operation was called. Possible values include: + * 'Succeeded', 'Failed', 'Canceled', 'Accepted', 'Provisioning', 'Deleting' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ProvisioningState; + identity?: ManagedServiceIdentity; +} + +/** + * Access token generation request's parameters + */ +export interface GenerateAccessTokenParameters { + /** + * The requested permission. Possible values include: 'Contributor', 'Reader' + */ + permissionType: PermissionType; + /** + * The requested media type. Possible values include: 'Video', 'Account', 'Project' + */ + scope: Scope; + /** + * The video ID + */ + videoId?: string; + /** + * The project ID + */ + projectId?: string; +} + +/** + * Azure Video Analyzer for Media access token. + */ +export interface AccessToken { + /** + * The access token. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accessToken?: string; +} + +/** + * An Azure Video Analyzer for Media classic account. + */ +export interface ClassicAccountSlim { + /** + * The account's name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The account's location + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly location?: string; +} + +/** + * An Azure Video Analyzer for Media classic account. + */ +export interface ClassicAccount { + /** + * The account's name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The account's location + */ + location?: string; + /** + * The aad application id + */ + aadApplicationId?: string; + /** + * The aad tenant id + */ + aadTenantId?: string; + /** + * Represents wether the media services is connected or not + */ + connected?: boolean; + /** + * Represents if the media services event grid is connected or not + */ + eventGridProviderRegistered?: boolean; + /** + * The media services name + */ + name1?: string; + /** + * The resource group that the media services belong to + */ + resourceGroup?: string; + /** + * Represents wether the media services streaming endpoint has started + */ + streamingEndpointStarted?: boolean; + /** + * The media services subscriptionId + */ + subscriptionId?: string; +} + +/** + * Operation display payload + */ +export interface OperationDisplay { + /** + * Resource provider of the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provider?: string; + /** + * Resource of the operation + * **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; + /** + * Localized friendly description for the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; +} + +/** + * Operation detail payload + */ +export interface Operation { + /** + * Name of the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Indicates whether the operation is a data action + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isDataAction?: boolean; + /** + * Indicates the action type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actionType?: string; + /** + * Display of the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly display?: OperationDisplay; + /** + * Origin of the operation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly origin?: string; +} + +/** + * Error definition. + */ +export interface ErrorDefinition { + /** + * Service specific error code which serves as the substatus for the HTTP error code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly code?: string; + /** + * Description of the error. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Internal error details. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly details?: ErrorDefinition[]; +} + +/** + * Error response. + */ +export interface ErrorResponse { + /** + * The error details. + */ + error?: ErrorDefinition; +} + +/** + * The parameters used to check the availability of the Video Indexer account name. + */ +export interface AccountCheckNameAvailabilityParameters { + /** + * The VideoIndexer account name. + */ + name: string; +} + +/** + * The CheckNameAvailability operation response. + */ +export interface CheckNameAvailabilityResult { + /** + * Gets a boolean value that indicates whether the name is available for you to use. If true, the + * name is available. If false, the name has already been taken. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nameAvailable?: boolean; + /** + * Gets the reason that a Video Indexer account name could not be used. The Reason element is + * only returned if NameAvailable is false. Possible values include: 'AlreadyExists' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reason?: Reason; + /** + * Gets an error message explaining the Reason value in more detail. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; +} + +/** + * The resource model definition for a Azure Resource Manager proxy resource. It will not have tags + * and a location + * @summary Proxy Resource + */ +export interface ProxyResource extends Resource { +} + +/** + * The resource model definition for an Azure Resource Manager resource with an etag. + * @summary Entity Resource + */ +export interface AzureEntityResource extends Resource { + /** + * Resource Etag. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Optional Parameters. + */ +export interface AccountsUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The parameters to provide for the current Azure Video Analyzer for Media account. + */ + parameters?: AccountPatch; +} + +/** + * Optional Parameters. + */ +export interface AccountsCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * The parameters to provide for the Azure Video Analyzer for Media account. + */ + parameters?: Account; +} + +/** + * Optional Parameters. + */ +export interface GenerateAccessTokenMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * The video ID + */ + videoId?: string; + /** + * The project ID + */ + projectId?: string; +} + +/** + * An interface representing ViManagementClientOptions. + */ +export interface ViManagementClientOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * @interface + * Available operations of the service. + * @extends Array + */ +export interface OperationListResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * The list operation response, that contains the data pools and their properties. + * @extends Array + */ +export interface AccountList extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ + nextLink?: string; +} + +/** + * @interface + * The list of user classic accounts. + * @extends Array + */ +export interface UserClassicAccountList extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ + nextLink?: string; +} + +/** + * Defines values for ProvisioningState. + * Possible values include: 'Succeeded', 'Failed', 'Canceled', 'Accepted', 'Provisioning', + * 'Deleting' + * @readonly + * @enum {string} + */ +export type ProvisioningState = 'Succeeded' | 'Failed' | 'Canceled' | 'Accepted' | 'Provisioning' | 'Deleting'; + +/** + * Defines values for ManagedServiceIdentityType. + * Possible values include: 'None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + * @readonly + * @enum {string} + */ +export type ManagedServiceIdentityType = 'None' | 'SystemAssigned' | 'UserAssigned' | 'SystemAssigned,UserAssigned'; + +/** + * Defines values for CreatedByType. + * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + * @readonly + * @enum {string} + */ +export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key'; + +/** + * Defines values for PermissionType. + * Possible values include: 'Contributor', 'Reader' + * @readonly + * @enum {string} + */ +export type PermissionType = 'Contributor' | 'Reader'; + +/** + * Defines values for Scope. + * Possible values include: 'Video', 'Account', 'Project' + * @readonly + * @enum {string} + */ +export type Scope = 'Video' | 'Account' | 'Project'; + +/** + * Defines values for Reason. + * Possible values include: 'AlreadyExists' + * @readonly + * @enum {string} + */ +export type Reason = 'AlreadyExists'; + +/** + * 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 listNext operation. + */ +export type OperationsListNextResponse = 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 checkNameAvailability operation. + */ +export type AccountsCheckNameAvailabilityResponse = CheckNameAvailabilityResult & { + /** + * 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: CheckNameAvailabilityResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type AccountsListResponse = AccountList & { + /** + * 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: AccountList; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type AccountsListByResourceGroupResponse = AccountList & { + /** + * 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: AccountList; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type AccountsGetResponse = Account & { + /** + * 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: Account; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type AccountsUpdateResponse = Account & { + /** + * 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: Account; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type AccountsCreateOrUpdateResponse = Account & { + /** + * 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: Account; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type AccountsListNextResponse = AccountList & { + /** + * 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: AccountList; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type AccountsListByResourceGroupNextResponse = AccountList & { + /** + * 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: AccountList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type UserClassicAccountsListResponse = UserClassicAccountList & { + /** + * 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: UserClassicAccountList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type UserClassicAccountsListNextResponse = UserClassicAccountList & { + /** + * 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: UserClassicAccountList; + }; +}; + +/** + * Contains response data for the getDetails operation. + */ +export type ClassicAccountsGetDetailsResponse = ClassicAccount & { + /** + * 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: ClassicAccount; + }; +}; + +/** + * Contains response data for the accessTokenMethod operation. + */ +export type GenerateAccessTokenMethodResponse = AccessToken & { + /** + * 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: AccessToken; + }; +}; diff --git a/sdk/vi/arm-vi/src/models/mappers.ts b/sdk/vi/arm-vi/src/models/mappers.ts new file mode 100644 index 000000000000..04010a76a063 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/mappers.ts @@ -0,0 +1,811 @@ +/* + * 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"; + +export const CloudError = CloudErrorMapper; +export const BaseResource = BaseResourceMapper; + +export const Tags: msRest.CompositeMapper = { + serializedName: "Tags", + type: { + name: "Composite", + className: "Tags", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const MediaServicesForPutRequest: msRest.CompositeMapper = { + serializedName: "MediaServicesForPutRequest", + type: { + name: "Composite", + className: "MediaServicesForPutRequest", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String" + } + }, + userAssignedIdentity: { + serializedName: "userAssignedIdentity", + type: { + name: "String" + } + } + } + } +}; + +export const UserAssignedIdentity: msRest.CompositeMapper = { + serializedName: "UserAssignedIdentity", + type: { + name: "Composite", + className: "UserAssignedIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "Uuid" + } + }, + clientId: { + readOnly: true, + serializedName: "clientId", + type: { + name: "Uuid" + } + } + } + } +}; + +export const ManagedServiceIdentity: msRest.CompositeMapper = { + serializedName: "ManagedServiceIdentity", + type: { + name: "Composite", + className: "ManagedServiceIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "Uuid" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "Uuid" + } + }, + type: { + required: true, + serializedName: "type", + type: { + name: "String" + } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "UserAssignedIdentity" + } + } + } + } + } + } +}; + +export const SystemData: msRest.CompositeMapper = { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "String" + } + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + type: { + name: "String" + } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime" + } + } + } + } +}; + +export const Resource: msRest.CompositeMapper = { + serializedName: "Resource", + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResource: msRest.CompositeMapper = { + serializedName: "TrackedResource", + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const Account: msRest.CompositeMapper = { + serializedName: "Account", + type: { + name: "Composite", + className: "Account", + modelProperties: { + ...TrackedResource.type.modelProperties, + tenantId: { + readOnly: true, + serializedName: "properties.tenantId", + type: { + name: "String" + } + }, + accountId: { + serializedName: "properties.accountId", + type: { + name: "String" + } + }, + accountName: { + readOnly: true, + serializedName: "properties.accountName", + type: { + name: "String" + } + }, + mediaServices: { + serializedName: "properties.mediaServices", + type: { + name: "Composite", + className: "MediaServicesForPutRequest" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ManagedServiceIdentity" + } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const MediaServicesForPatchRequest: msRest.CompositeMapper = { + serializedName: "MediaServicesForPatchRequest", + type: { + name: "Composite", + className: "MediaServicesForPatchRequest", + modelProperties: { + userAssignedIdentity: { + serializedName: "userAssignedIdentity", + type: { + name: "String" + } + } + } + } +}; + +export const AccountPatch: msRest.CompositeMapper = { + serializedName: "AccountPatch", + type: { + name: "Composite", + className: "AccountPatch", + modelProperties: { + ...Tags.type.modelProperties, + tenantId: { + readOnly: true, + serializedName: "properties.tenantId", + type: { + name: "String" + } + }, + accountId: { + readOnly: true, + serializedName: "properties.accountId", + type: { + name: "String" + } + }, + mediaServices: { + serializedName: "properties.mediaServices", + type: { + name: "Composite", + className: "MediaServicesForPatchRequest" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ManagedServiceIdentity" + } + } + } + } +}; + +export const GenerateAccessTokenParameters: msRest.CompositeMapper = { + serializedName: "GenerateAccessTokenParameters", + type: { + name: "Composite", + className: "GenerateAccessTokenParameters", + modelProperties: { + permissionType: { + required: true, + serializedName: "permissionType", + type: { + name: "String" + } + }, + scope: { + required: true, + serializedName: "scope", + type: { + name: "String" + } + }, + videoId: { + serializedName: "videoId", + type: { + name: "String" + } + }, + projectId: { + serializedName: "projectId", + type: { + name: "String" + } + } + } + } +}; + +export const AccessToken: msRest.CompositeMapper = { + serializedName: "AccessToken", + type: { + name: "Composite", + className: "AccessToken", + modelProperties: { + accessToken: { + readOnly: true, + serializedName: "accessToken", + type: { + name: "String" + } + } + } + } +}; + +export const ClassicAccountSlim: msRest.CompositeMapper = { + serializedName: "ClassicAccountSlim", + type: { + name: "Composite", + className: "ClassicAccountSlim", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + location: { + readOnly: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const ClassicAccount: msRest.CompositeMapper = { + serializedName: "ClassicAccount", + type: { + name: "Composite", + className: "ClassicAccount", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + aadApplicationId: { + serializedName: "mediaServices.aadApplicationId", + type: { + name: "String" + } + }, + aadTenantId: { + serializedName: "mediaServices.aadTenantId", + type: { + name: "String" + } + }, + connected: { + serializedName: "mediaServices.connected", + type: { + name: "Boolean" + } + }, + eventGridProviderRegistered: { + serializedName: "mediaServices.eventGridProviderRegistered", + type: { + name: "Boolean" + } + }, + name1: { + serializedName: "mediaServices.name", + type: { + name: "String" + } + }, + resourceGroup: { + serializedName: "mediaServices.resourceGroup", + type: { + name: "String" + } + }, + streamingEndpointStarted: { + serializedName: "mediaServices.streamingEndpointStarted", + type: { + name: "Boolean" + } + }, + subscriptionId: { + serializedName: "mediaServices.subscriptionId", + type: { + name: "String" + } + } + } + } +}; + +export const OperationDisplay: msRest.CompositeMapper = { + serializedName: "OperationDisplay", + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + readOnly: true, + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + readOnly: true, + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + readOnly: true, + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: msRest.CompositeMapper = { + serializedName: "Operation", + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + isDataAction: { + readOnly: true, + serializedName: "isDataAction", + type: { + name: "Boolean" + } + }, + actionType: { + readOnly: true, + serializedName: "actionType", + type: { + name: "String" + } + }, + display: { + readOnly: true, + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + origin: { + readOnly: true, + serializedName: "origin", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorDefinition: msRest.CompositeMapper = { + serializedName: "ErrorDefinition", + type: { + name: "Composite", + className: "ErrorDefinition", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + details: { + readOnly: true, + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDefinition" + } + } + } + } + } + } +}; + +export const ErrorResponse: msRest.CompositeMapper = { + serializedName: "ErrorResponse", + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDefinition" + } + } + } + } +}; + +export const AccountCheckNameAvailabilityParameters: msRest.CompositeMapper = { + serializedName: "AccountCheckNameAvailabilityParameters", + type: { + name: "Composite", + className: "AccountCheckNameAvailabilityParameters", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + required: true, + isConstant: true, + serializedName: "type", + defaultValue: 'Microsoft.VideoIndexer/accounts', + type: { + name: "String" + } + } + } + } +}; + +export const CheckNameAvailabilityResult: msRest.CompositeMapper = { + serializedName: "CheckNameAvailabilityResult", + type: { + name: "Composite", + className: "CheckNameAvailabilityResult", + modelProperties: { + nameAvailable: { + readOnly: true, + serializedName: "nameAvailable", + type: { + name: "Boolean" + } + }, + reason: { + readOnly: true, + serializedName: "reason", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const ProxyResource: msRest.CompositeMapper = { + serializedName: "ProxyResource", + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const AzureEntityResource: msRest.CompositeMapper = { + serializedName: "AzureEntityResource", + type: { + name: "Composite", + className: "AzureEntityResource", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: msRest.CompositeMapper = { + serializedName: "OperationListResult", + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccountList: msRest.CompositeMapper = { + serializedName: "AccountList", + type: { + name: "Composite", + className: "AccountList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Account" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const UserClassicAccountList: msRest.CompositeMapper = { + serializedName: "UserClassicAccountList", + type: { + name: "Composite", + className: "UserClassicAccountList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ClassicAccountSlim" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/vi/arm-vi/src/models/operationsMappers.ts b/sdk/vi/arm-vi/src/models/operationsMappers.ts new file mode 100644 index 000000000000..3dbee101edf4 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/operationsMappers.ts @@ -0,0 +1,15 @@ +/* + * 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 { + ErrorDefinition, + ErrorResponse, + Operation, + OperationDisplay, + OperationListResult +} from "../models/mappers"; diff --git a/sdk/vi/arm-vi/src/models/parameters.ts b/sdk/vi/arm-vi/src/models/parameters.ts new file mode 100644 index 000000000000..1ad14a7c43d9 --- /dev/null +++ b/sdk/vi/arm-vi/src/models/parameters.ts @@ -0,0 +1,99 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; + +export const acceptLanguage: msRest.OperationParameter = { + parameterPath: "acceptLanguage", + mapper: { + serializedName: "accept-language", + defaultValue: 'en-US', + type: { + name: "String" + } + } +}; +export const accountName: msRest.OperationURLParameter = { + parameterPath: "accountName", + mapper: { + required: true, + serializedName: "accountName", + constraints: { + MaxLength: 50, + Pattern: /^[a-z0-9]+(-[a-z0-9]+)*/ + }, + type: { + name: "String" + } + } +}; +export const apiVersion: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + serializedName: "api-version", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const location: msRest.OperationURLParameter = { + parameterPath: "location", + mapper: { + required: true, + serializedName: "location", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const nextPageLink: msRest.OperationURLParameter = { + parameterPath: "nextPageLink", + mapper: { + required: true, + serializedName: "nextLink", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const resourceGroupName: msRest.OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + required: true, + serializedName: "resourceGroupName", + constraints: { + MaxLength: 90, + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const subscriptionId: msRest.OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + required: true, + serializedName: "subscriptionId", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; diff --git a/sdk/vi/arm-vi/src/models/userClassicAccountsMappers.ts b/sdk/vi/arm-vi/src/models/userClassicAccountsMappers.ts new file mode 100644 index 000000000000..3b032579ac9f --- /dev/null +++ b/sdk/vi/arm-vi/src/models/userClassicAccountsMappers.ts @@ -0,0 +1,14 @@ +/* + * 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 { + ClassicAccountSlim, + ErrorDefinition, + ErrorResponse, + UserClassicAccountList +} from "../models/mappers"; diff --git a/sdk/vi/arm-vi/src/operations/accounts.ts b/sdk/vi/arm-vi/src/operations/accounts.ts new file mode 100644 index 000000000000..5e45c9c63245 --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/accounts.ts @@ -0,0 +1,558 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/accountsMappers"; +import * as Parameters from "../models/parameters"; +import { ViManagementClientContext } from "../viManagementClientContext"; + +/** Class representing a Accounts. */ +export class Accounts { + private readonly client: ViManagementClientContext; + + /** + * Create a Accounts. + * @param {ViManagementClientContext} client Reference to the service client. + */ + constructor(client: ViManagementClientContext) { + this.client = client; + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * @param name The VideoIndexer account name. + * @param [options] The optional parameters + * @returns Promise + */ + checkNameAvailability(name: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param name The VideoIndexer account name. + * @param callback The callback + */ + checkNameAvailability(name: string, callback: msRest.ServiceCallback): void; + /** + * @param name The VideoIndexer account name. + * @param options The optional parameters + * @param callback The callback + */ + checkNameAvailability(name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkNameAvailability(name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + name, + options + }, + checkNameAvailabilityOperationSpec, + callback) as Promise; + } + + /** + * List all Azure Video Analyzer for Media accounts available under the subscription + * @param [options] The optional parameters + * @returns Promise + */ + 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 all Azure Video Analyzer for Media accounts available under the resource group + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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 { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * Gets the properties of an Azure Video Analyzer for Media account. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Updates the properties of an existing Azure Video Analyzer for Media account. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, accountName: string, options?: Models.AccountsUpdateOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param options The optional parameters + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, options: Models.AccountsUpdateOptionalParams, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, accountName: string, options?: Models.AccountsUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates an Azure Video Analyzer for Media account. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, accountName: string, options?: Models.AccountsCreateOrUpdateOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, options: Models.AccountsCreateOrUpdateOptionalParams, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, accountName: string, options?: Models.AccountsCreateOrUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Delete an Azure Video Analyzer for Media account. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * List all Azure Video Analyzer for Media accounts available under the subscription + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(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 + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } + + /** + * List all Azure Video Analyzer for Media accounts available under the resource group + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + name: "name" + }, + mapper: { + ...Mappers.AccountCheckNameAvailabilityParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Account + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "parameters" + ], + mapper: Mappers.AccountPatch + }, + responses: { + 200: { + bodyMapper: Mappers.Account + }, + 400: { + bodyMapper: Mappers.ErrorResponse + }, + 404: { + bodyMapper: Mappers.ErrorResponse + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "parameters" + ], + mapper: Mappers.Account + }, + responses: { + 200: { + bodyMapper: Mappers.Account + }, + 400: { + bodyMapper: Mappers.ErrorResponse + }, + 404: { + bodyMapper: Mappers.ErrorResponse + }, + 409: { + bodyMapper: Mappers.ErrorResponse + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/vi/arm-vi/src/operations/classicAccounts.ts b/sdk/vi/arm-vi/src/operations/classicAccounts.ts new file mode 100644 index 000000000000..c16a72b1962b --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/classicAccounts.ts @@ -0,0 +1,97 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/classicAccountsMappers"; +import * as Parameters from "../models/parameters"; +import { ViManagementClientContext } from "../viManagementClientContext"; + +/** Class representing a ClassicAccounts. */ +export class ClassicAccounts { + private readonly client: ViManagementClientContext; + + /** + * Create a ClassicAccounts. + * @param {ViManagementClientContext} client Reference to the service client. + */ + constructor(client: ViManagementClientContext) { + this.client = client; + } + + /** + * Gets the properties of an Azure Video Analyzer for Media Classic account. + * @param location The name of Azure region. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param [options] The optional parameters + * @returns Promise + */ + getDetails(location: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of Azure region. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param callback The callback + */ + getDetails(location: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of Azure region. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param options The optional parameters + * @param callback The callback + */ + getDetails(location: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDetails(location: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + accountName, + options + }, + getDetailsOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getDetailsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.VideoIndexer/locations/{location}/classicAccounts/{accountName}", + urlParameters: [ + Parameters.location, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ClassicAccount + }, + 400: { + bodyMapper: Mappers.ErrorResponse + }, + 401: { + bodyMapper: Mappers.ErrorResponse + }, + 404: { + bodyMapper: Mappers.ErrorResponse + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/vi/arm-vi/src/operations/generate.ts b/sdk/vi/arm-vi/src/operations/generate.ts new file mode 100644 index 000000000000..42df9d5d1ec6 --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/generate.ts @@ -0,0 +1,121 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/generateMappers"; +import * as Parameters from "../models/parameters"; +import { ViManagementClientContext } from "../viManagementClientContext"; + +/** Class representing a Generate. */ +export class Generate { + private readonly client: ViManagementClientContext; + + /** + * Create a Generate. + * @param {ViManagementClientContext} client Reference to the service client. + */ + constructor(client: ViManagementClientContext) { + this.client = client; + } + + /** + * Generate an Azure Video Analyzer for Media access token. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param permissionType The requested permission. Possible values include: 'Contributor', 'Reader' + * @param scope The requested media type. Possible values include: 'Video', 'Account', 'Project' + * @param [options] The optional parameters + * @returns Promise + */ + accessTokenMethod(resourceGroupName: string, accountName: string, permissionType: Models.PermissionType, scope: Models.Scope, options?: Models.GenerateAccessTokenMethodOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param permissionType The requested permission. Possible values include: 'Contributor', 'Reader' + * @param scope The requested media type. Possible values include: 'Video', 'Account', 'Project' + * @param callback The callback + */ + accessTokenMethod(resourceGroupName: string, accountName: string, permissionType: Models.PermissionType, scope: Models.Scope, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Analyzer for Media account. + * @param permissionType The requested permission. Possible values include: 'Contributor', 'Reader' + * @param scope The requested media type. Possible values include: 'Video', 'Account', 'Project' + * @param options The optional parameters + * @param callback The callback + */ + accessTokenMethod(resourceGroupName: string, accountName: string, permissionType: Models.PermissionType, scope: Models.Scope, options: Models.GenerateAccessTokenMethodOptionalParams, callback: msRest.ServiceCallback): void; + accessTokenMethod(resourceGroupName: string, accountName: string, permissionType: Models.PermissionType, scope: Models.Scope, options?: Models.GenerateAccessTokenMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + permissionType, + scope, + options + }, + accessTokenMethodOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const accessTokenMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + permissionType: "permissionType", + scope: "scope", + videoId: [ + "options", + "videoId" + ], + projectId: [ + "options", + "projectId" + ] + }, + mapper: Mappers.GenerateAccessTokenParameters + }, + responses: { + 200: { + bodyMapper: Mappers.AccessToken + }, + 400: { + bodyMapper: Mappers.ErrorResponse + }, + 404: { + bodyMapper: Mappers.ErrorResponse + }, + 409: { + bodyMapper: Mappers.ErrorResponse + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/vi/arm-vi/src/operations/index.ts b/sdk/vi/arm-vi/src/operations/index.ts new file mode 100644 index 000000000000..a16c6b238b42 --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +export * from "./operations"; +export * from "./accounts"; +export * from "./userClassicAccounts"; +export * from "./classicAccounts"; +export * from "./generate"; diff --git a/sdk/vi/arm-vi/src/operations/operations.ts b/sdk/vi/arm-vi/src/operations/operations.ts new file mode 100644 index 000000000000..17bda8184771 --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/operations.ts @@ -0,0 +1,125 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/operationsMappers"; +import * as Parameters from "../models/parameters"; +import { ViManagementClientContext } from "../viManagementClientContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: ViManagementClientContext; + + /** + * Create a Operations. + * @param {ViManagementClientContext} client Reference to the service client. + */ + constructor(client: ViManagementClientContext) { + this.client = client; + } + + /** + * Lists all of the available Azure Video Analyzer for Media provider operations. + * @param [options] The optional parameters + * @returns Promise + */ + 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; + } + + /** + * Lists all of the available Azure Video Analyzer for Media provider operations. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(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 + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.VideoIndexer/operations", + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/vi/arm-vi/src/operations/userClassicAccounts.ts b/sdk/vi/arm-vi/src/operations/userClassicAccounts.ts new file mode 100644 index 000000000000..c68b1b5dafe3 --- /dev/null +++ b/sdk/vi/arm-vi/src/operations/userClassicAccounts.ts @@ -0,0 +1,138 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/userClassicAccountsMappers"; +import * as Parameters from "../models/parameters"; +import { ViManagementClientContext } from "../viManagementClientContext"; + +/** Class representing a UserClassicAccounts. */ +export class UserClassicAccounts { + private readonly client: ViManagementClientContext; + + /** + * Create a UserClassicAccounts. + * @param {ViManagementClientContext} client Reference to the service client. + */ + constructor(client: ViManagementClientContext) { + this.client = client; + } + + /** + * Lists all Azure Video Analyzer for Media classic accounts + * @param location The name of Azure region. + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The name of Azure region. + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The name of Azure region. + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Lists all Azure Video Analyzer for Media classic accounts + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(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 + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.VideoIndexer/locations/{location}/userClassicAccounts", + urlParameters: [ + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.UserClassicAccountList + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.UserClassicAccountList + }, + 500: { + bodyMapper: Mappers.ErrorResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/vi/arm-vi/src/viManagementClient.ts b/sdk/vi/arm-vi/src/viManagementClient.ts new file mode 100644 index 000000000000..dfd49fdd4e69 --- /dev/null +++ b/sdk/vi/arm-vi/src/viManagementClient.ts @@ -0,0 +1,55 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import { TokenCredential } from "@azure/core-auth"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as operations from "./operations"; +import { ViManagementClientContext } from "./viManagementClientContext"; + + +class ViManagementClient extends ViManagementClientContext { + // Operation groups + operations: operations.Operations; + accounts: operations.Accounts; + userClassicAccounts: operations.UserClassicAccounts; + classicAccounts: operations.ClassicAccounts; + generate: operations.Generate; + + /** + * Initializes a new instance of the ViManagementClient class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ViManagementClientOptions) { + super(credentials, subscriptionId, options); + this.operations = new operations.Operations(this); + this.accounts = new operations.Accounts(this); + this.userClassicAccounts = new operations.UserClassicAccounts(this); + this.classicAccounts = new operations.ClassicAccounts(this); + this.generate = new operations.Generate(this); + } +} + +// Operation Specifications + +export { + ViManagementClient, + ViManagementClientContext, + Models as ViManagementModels, + Mappers as ViManagementMappers +}; +export * from "./operations"; diff --git a/sdk/vi/arm-vi/src/viManagementClientContext.ts b/sdk/vi/arm-vi/src/viManagementClientContext.ts new file mode 100644 index 000000000000..b5b549ffb746 --- /dev/null +++ b/sdk/vi/arm-vi/src/viManagementClientContext.ts @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as Models from "./models"; +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; + +const packageName = "vi"; +const packageVersion = "1.0.0"; + +export class ViManagementClientContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials | TokenCredential; + apiVersion?: string; + subscriptionId: string; + + /** + * Initializes a new instance of the ViManagementClient class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ViManagementClientOptions) { + 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 = '2021-10-27-preview'; + 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/vi/arm-vi/tsconfig.json b/sdk/vi/arm-vi/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/vi/arm-vi/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +}