diff --git a/sdk/videoanalyzer/arm-videoanalyzer/LICENSE.txt b/sdk/videoanalyzer/arm-videoanalyzer/LICENSE.txt
new file mode 100644
index 000000000000..2d3163745319
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/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/videoanalyzer/arm-videoanalyzer/README.md b/sdk/videoanalyzer/arm-videoanalyzer/README.md
new file mode 100644
index 000000000000..7754bbded156
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/README.md
@@ -0,0 +1,112 @@
+## Azure VideoAnalyzer SDK for JavaScript
+
+This package contains an isomorphic SDK (runs both in node.js and in browsers) for VideoAnalyzer.
+
+### 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.
+- `@azure/arm-videoanalyzer` 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 @azure/arm-videoanalyzer @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 edgeModules as an example written in JavaScript.
+
+##### Sample code
+
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { VideoAnalyzer } = require("@azure/arm-videoanalyzer");
+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 VideoAnalyzer(creds, subscriptionId);
+const resourceGroupName = "testresourceGroupName";
+const accountName = "testaccountName";
+const top = 1;
+client.edgeModules.list(resourceGroupName, accountName, top).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 edgeModules 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
+
+
+
+ @azure/arm-videoanalyzer 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/videoanalyzer/arm-videoanalyzer/README.png)
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/package.json b/sdk/videoanalyzer/arm-videoanalyzer/package.json
new file mode 100644
index 000000000000..df6d96c7d817
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/package.json
@@ -0,0 +1,59 @@
+{
+ "name": "@azure/arm-videoanalyzer",
+ "author": "Microsoft Corporation",
+ "description": "VideoAnalyzer 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/arm-videoanalyzer.js",
+ "module": "./esm/videoAnalyzer.js",
+ "types": "./esm/videoAnalyzer.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/videoanalyzer/arm-videoanalyzer",
+ "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/arm-videoanalyzer.js.map'\" -o ./dist/arm-videoanalyzer.min.js ./dist/arm-videoanalyzer.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/rollup.config.js b/sdk/videoanalyzer/arm-videoanalyzer/rollup.config.js
new file mode 100644
index 000000000000..28befda8a68b
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/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/videoAnalyzer.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-videoanalyzer.js",
+ format: "umd",
+ name: "Azure.ArmVideoanalyzer",
+ 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/videoanalyzer/arm-videoanalyzer/src/models/accessPoliciesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/accessPoliciesMappers.ts
new file mode 100644
index 000000000000..1a3b539fc9f0
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/accessPoliciesMappers.ts
@@ -0,0 +1,91 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccessPolicyEntityCollection,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/edgeModulesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/edgeModulesMappers.ts
new file mode 100644
index 000000000000..4c2a715f0c6b
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/edgeModulesMappers.ts
@@ -0,0 +1,93 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EdgeModuleEntityCollection,
+ EdgeModuleProvisioningToken,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ ListProvisioningTokenInput,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/index.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/index.ts
new file mode 100644
index 000000000000..79dde0489b2e
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/index.ts
@@ -0,0 +1,3748 @@
+/*
+ * 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 };
+
+/**
+ * The input parameters to generate registration token for the Azure Video Analyzer IoT edge
+ * module.
+ */
+export interface ListProvisioningTokenInput {
+ /**
+ * The desired expiration date of the registration token. The Azure Video Analyzer IoT edge
+ * module must be initialized and connected to the Internet prior to the token expiration date.
+ */
+ expirationDate: Date;
+}
+
+/**
+ * Provisioning token properties. A provisioning token allows for a single instance of Azure Video
+ * analyzer IoT edge module to be initialized and authorized to the cloud account. The provisioning
+ * token itself is short lived and it is only used for the initial handshake between IoT edge
+ * module and the cloud. After the initial handshake, the IoT edge module will agree on a set of
+ * authentication keys which will be auto-rotated as long as the module is able to periodically
+ * connect to the cloud. A new provisioning token can be generated for the same IoT edge module in
+ * case the module state lost or reset.
+ */
+export interface EdgeModuleProvisioningToken {
+ /**
+ * The expiration date of the registration token. The Azure Video Analyzer IoT edge module must
+ * be initialized and connected to the Internet prior to the token expiration date.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly expirationDate?: Date;
+ /**
+ * The token blob to be provided to the Azure Video Analyzer IoT edge module through the Azure
+ * IoT Edge module twin properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly token?: string;
+}
+
+/**
+ * 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;
+ /**
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly systemData?: SystemData;
+}
+
+/**
+ * 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 representation of an edge module.
+ */
+export interface EdgeModuleEntity extends ProxyResource {
+ /**
+ * Internal ID generated for the instance of the Video Analyzer edge module.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly edgeModuleId?: string;
+}
+
+/**
+ * The resource management error additional info.
+ */
+export interface ErrorAdditionalInfo {
+ /**
+ * The additional info type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+ /**
+ * The additional info.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly info?: any;
+}
+
+/**
+ * The error detail.
+ */
+export interface ErrorDetail {
+ /**
+ * The error code.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly code?: string;
+ /**
+ * The error message.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * The error target.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly target?: string;
+ /**
+ * The error details.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly details?: ErrorDetail[];
+ /**
+ * The error additional info.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly additionalInfo?: ErrorAdditionalInfo[];
+}
+
+/**
+ * Common error response for all Azure Resource Manager APIs to return error details for failed
+ * operations. (This also follows the OData error response format.).
+ * @summary Error response
+ */
+export interface ErrorResponse {
+ /**
+ * The error object.
+ */
+ error?: ErrorDetail;
+}
+
+/**
+ * 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;
+}
+
+/**
+ * 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;
+}
+
+/**
+ * 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;
+}
+
+/**
+ * The SKU details.
+ */
+export interface Sku {
+ /**
+ * The SKU name. Possible values include: 'Live_S1', 'Batch_S1'
+ */
+ name: SkuName;
+ /**
+ * The SKU tier. Possible values include: 'Standard'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tier?: SkuTier;
+}
+
+/**
+ * Single topology parameter declaration. Declared parameters can and must be referenced throughout
+ * the topology and can optionally have default values to be used when they are not defined in the
+ * pipelines.
+ */
+export interface ParameterDeclaration {
+ /**
+ * Name of the parameter.
+ */
+ name: string;
+ /**
+ * Type of the parameter. Possible values include: 'String', 'SecretString', 'Int', 'Double',
+ * 'Bool'
+ */
+ type: ParameterType;
+ /**
+ * Description of the parameter.
+ */
+ description?: string;
+ /**
+ * The default value for the parameter to be used if the pipeline does not specify a value.
+ */
+ default?: string;
+}
+
+/**
+ * Contains the possible cases for NodeBase.
+ */
+export type NodeBaseUnion = NodeBase | SourceNodeBaseUnion | ProcessorNodeBaseUnion | SinkNodeBaseUnion;
+
+/**
+ * Base class for nodes.
+ */
+export interface NodeBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "NodeBase";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+}
+
+/**
+ * Contains the possible cases for SourceNodeBase.
+ */
+export type SourceNodeBaseUnion = SourceNodeBase | RtspSource | VideoSource;
+
+/**
+ * Base class for topology source nodes.
+ */
+export interface SourceNodeBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.SourceNodeBase";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+}
+
+/**
+ * Describes an input signal to be used on a pipeline node.
+ */
+export interface NodeInput {
+ /**
+ * The name of the upstream node in the pipeline which output is used as input of the current
+ * node.
+ */
+ nodeName: string;
+}
+
+/**
+ * Contains the possible cases for ProcessorNodeBase.
+ */
+export type ProcessorNodeBaseUnion = ProcessorNodeBase | EncoderProcessor;
+
+/**
+ * Base class for topology processor nodes.
+ */
+export interface ProcessorNodeBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.ProcessorNodeBase";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * An array of upstream node references within the topology to be used as inputs for this node.
+ */
+ inputs: NodeInput[];
+}
+
+/**
+ * Contains the possible cases for SinkNodeBase.
+ */
+export type SinkNodeBaseUnion = SinkNodeBase | VideoSink;
+
+/**
+ * Base class for topology sink nodes.
+ */
+export interface SinkNodeBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.SinkNodeBase";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * An array of upstream node references within the topology to be used as inputs for this node.
+ */
+ inputs: NodeInput[];
+}
+
+/**
+ * Contains the possible cases for CredentialsBase.
+ */
+export type CredentialsBaseUnion = CredentialsBase | UsernamePasswordCredentials;
+
+/**
+ * Base class for credential objects.
+ */
+export interface CredentialsBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "CredentialsBase";
+}
+
+/**
+ * Contains the possible cases for TunnelBase.
+ */
+export type TunnelBaseUnion = TunnelBase | SecureIotDeviceRemoteTunnel;
+
+/**
+ * Base class for tunnel objects.
+ */
+export interface TunnelBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "TunnelBase";
+}
+
+/**
+ * Contains the possible cases for EndpointBase.
+ */
+export type EndpointBaseUnion = EndpointBase | UnsecuredEndpoint | TlsEndpoint;
+
+/**
+ * Base class for endpoints.
+ */
+export interface EndpointBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "EndpointBase";
+ /**
+ * Credentials to be presented to the endpoint.
+ */
+ credentials?: CredentialsBaseUnion;
+ /**
+ * The endpoint URL for Video Analyzer to connect to.
+ */
+ url: string;
+ /**
+ * Describes the tunnel through which Video Analyzer can connect to the endpoint URL. This is an
+ * optional property, typically used when the endpoint is behind a firewall.
+ */
+ tunnel?: TunnelBaseUnion;
+}
+
+/**
+ * RTSP source allows for media from an RTSP camera or generic RTSP server to be ingested into a
+ * pipeline.
+ */
+export interface RtspSource {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.RtspSource";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * Network transport utilized by the RTSP and RTP exchange: TCP or HTTP. When using TCP, the RTP
+ * packets are interleaved on the TCP RTSP connection. When using HTTP, the RTSP messages are
+ * exchanged through long lived HTTP connections, and the RTP packages are interleaved in the
+ * HTTP connections alongside the RTSP messages. Possible values include: 'Http', 'Tcp'
+ */
+ transport?: RtspTransport;
+ /**
+ * RTSP endpoint information for Video Analyzer to connect to. This contains the required
+ * information for Video Analyzer to connect to RTSP cameras and/or generic RTSP servers.
+ */
+ endpoint: EndpointBaseUnion;
+}
+
+/**
+ * Username and password credentials.
+ */
+export interface UsernamePasswordCredentials {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials";
+ /**
+ * Username to be presented as part of the credentials.
+ */
+ username: string;
+ /**
+ * Password to be presented as part of the credentials. It is recommended that this value is
+ * parameterized as a secret string in order to prevent this value to be returned as part of the
+ * resource on API requests.
+ */
+ password: string;
+}
+
+/**
+ * A remote tunnel securely established using IoT Hub device information.
+ */
+export interface SecureIotDeviceRemoteTunnel {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.SecureIotDeviceRemoteTunnel";
+ /**
+ * Name of the IoT Hub.
+ */
+ iotHubName: string;
+ /**
+ * The IoT device id to use when establishing the remote tunnel. This string is case-sensitive.
+ */
+ deviceId: string;
+}
+
+/**
+ * Unsecured endpoint describes an endpoint that the pipeline can connect to over clear transport
+ * (no encryption in transit).
+ */
+export interface UnsecuredEndpoint {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.UnsecuredEndpoint";
+ /**
+ * Credentials to be presented to the endpoint.
+ */
+ credentials?: CredentialsBaseUnion;
+ /**
+ * The endpoint URL for Video Analyzer to connect to.
+ */
+ url: string;
+ /**
+ * Describes the tunnel through which Video Analyzer can connect to the endpoint URL. This is an
+ * optional property, typically used when the endpoint is behind a firewall.
+ */
+ tunnel?: TunnelBaseUnion;
+}
+
+/**
+ * Contains the possible cases for CertificateSource.
+ */
+export type CertificateSourceUnion = CertificateSource | PemCertificateList;
+
+/**
+ * Base class for certificate sources.
+ */
+export interface CertificateSource {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "CertificateSource";
+}
+
+/**
+ * Options for controlling the validation of TLS endpoints.
+ */
+export interface TlsValidationOptions {
+ /**
+ * When set to 'true' causes the certificate subject name validation to be skipped. Default is
+ * 'false'.
+ */
+ ignoreHostname?: string;
+ /**
+ * When set to 'true' causes the certificate chain trust validation to be skipped. Default is
+ * 'false'.
+ */
+ ignoreSignature?: string;
+}
+
+/**
+ * TLS endpoint describes an endpoint that the pipeline can connect to over TLS transport (data is
+ * encrypted in transit).
+ */
+export interface TlsEndpoint {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.TlsEndpoint";
+ /**
+ * Credentials to be presented to the endpoint.
+ */
+ credentials?: CredentialsBaseUnion;
+ /**
+ * The endpoint URL for Video Analyzer to connect to.
+ */
+ url: string;
+ /**
+ * Describes the tunnel through which Video Analyzer can connect to the endpoint URL. This is an
+ * optional property, typically used when the endpoint is behind a firewall.
+ */
+ tunnel?: TunnelBaseUnion;
+ /**
+ * List of trusted certificate authorities when authenticating a TLS connection. A null list
+ * designates that Azure Video Analyzer's list of trusted authorities should be used.
+ */
+ trustedCertificates?: CertificateSourceUnion;
+ /**
+ * Validation options to use when authenticating a TLS connection. By default, strict validation
+ * is used.
+ */
+ validationOptions?: TlsValidationOptions;
+}
+
+/**
+ * A list of PEM formatted certificates.
+ */
+export interface PemCertificateList {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.PemCertificateList";
+ /**
+ * PEM formatted public certificates. One certificate per entry.
+ */
+ certificates: string[];
+}
+
+/**
+ * Contains the possible cases for TimeSequenceBase.
+ */
+export type TimeSequenceBaseUnion = TimeSequenceBase | VideoSequenceAbsoluteTimeMarkers;
+
+/**
+ * A sequence of datetime ranges as a string.
+ */
+export interface TimeSequenceBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "TimeSequenceBase";
+}
+
+/**
+ * Video source allows for content from a Video Analyzer video resource to be ingested into a
+ * pipeline. Currently supported only with batch pipelines.
+ */
+export interface VideoSource {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.VideoSource";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * Name of the Video Analyzer video resource to be used as the source.
+ */
+ videoName: string;
+ /**
+ * Describes a sequence of datetime ranges. The video source only picks up recorded media within
+ * these ranges.
+ */
+ timeSequences: TimeSequenceBaseUnion;
+}
+
+/**
+ * A sequence of absolute datetime ranges as a string. The datetime values should follow IS08601,
+ * and the sum of the ranges should add up to 24 hours or less. Currently, there can be only one
+ * range specified in the sequence.
+ */
+export interface VideoSequenceAbsoluteTimeMarkers {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.VideoSequenceAbsoluteTimeMarkers";
+ /**
+ * The sequence of datetime ranges. Example: '[["2021-10-05T03:30:00Z",
+ * "2021-10-05T03:40:00Z"]]'.
+ */
+ ranges: string;
+}
+
+/**
+ * Contains the possible cases for EncoderPresetBase.
+ */
+export type EncoderPresetBaseUnion = EncoderPresetBase | EncoderSystemPreset | EncoderCustomPreset;
+
+/**
+ * Base type for all encoder presets, which define the recipe or instructions on how the input
+ * content should be processed.
+ */
+export interface EncoderPresetBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "EncoderPresetBase";
+}
+
+/**
+ * Encoder processor allows for encoding of the input content. For example, it can used to change
+ * the resolution from 4K to 1280x720.
+ */
+export interface EncoderProcessor {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.EncoderProcessor";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * An array of upstream node references within the topology to be used as inputs for this node.
+ */
+ inputs: NodeInput[];
+ /**
+ * The encoder preset, which defines the recipe or instructions on how the input content should
+ * be processed.
+ */
+ preset: EncoderPresetBaseUnion;
+}
+
+/**
+ * Describes a built-in preset for encoding the input content using the encoder processor.
+ */
+export interface EncoderSystemPreset {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.EncoderSystemPreset";
+ /**
+ * Name of the built-in encoding preset. Possible values include: 'SingleLayer_540p_H264_AAC',
+ * 'SingleLayer_720p_H264_AAC', 'SingleLayer_1080p_H264_AAC', 'SingleLayer_2160p_H264_AAC'
+ */
+ name: EncoderSystemPresetType;
+}
+
+/**
+ * Contains the possible cases for AudioEncoderBase.
+ */
+export type AudioEncoderBaseUnion = AudioEncoderBase | AudioEncoderAac;
+
+/**
+ * Base type for all audio encoder presets, which define the recipe or instructions on how audio
+ * should be processed.
+ */
+export interface AudioEncoderBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "AudioEncoderBase";
+ /**
+ * Bitrate, in kilobits per second or Kbps, at which audio should be encoded (2-channel stereo
+ * audio at a sampling rate of 48 kHz). Allowed values are 96, 112, 128, 160, 192, 224, and 256.
+ * If omitted, the bitrate of the input audio is used.
+ */
+ bitrateKbps?: string;
+}
+
+/**
+ * The video scaling information.
+ */
+export interface VideoScale {
+ /**
+ * The desired output video height.
+ */
+ height?: string;
+ /**
+ * The desired output video width.
+ */
+ width?: string;
+ /**
+ * Describes the video scaling mode to be applied. Default mode is 'Pad'. If the mode is 'Pad' or
+ * 'Stretch' then both width and height must be specified. Else if the mode is
+ * 'PreserveAspectRatio' then only one of width or height need be provided. Possible values
+ * include: 'Pad', 'PreserveAspectRatio', 'Stretch'
+ */
+ mode?: VideoScaleMode;
+}
+
+/**
+ * Contains the possible cases for VideoEncoderBase.
+ */
+export type VideoEncoderBaseUnion = VideoEncoderBase | VideoEncoderH264;
+
+/**
+ * Base type for all video encoding presets, which define the recipe or instructions on how the
+ * input video should be processed.
+ */
+export interface VideoEncoderBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "VideoEncoderBase";
+ /**
+ * The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If
+ * omitted, encoder sets it automatically to try and match the quality of the input video.
+ */
+ bitrateKbps?: string;
+ /**
+ * The frame rate (in frames per second) of the encoded video. The value must be greater than
+ * zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of
+ * the input video.
+ */
+ frameRate?: string;
+ /**
+ * Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of
+ * the input video.
+ */
+ scale?: VideoScale;
+}
+
+/**
+ * Describes a custom preset for encoding the input content using the encoder processor.
+ */
+export interface EncoderCustomPreset {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.EncoderCustomPreset";
+ /**
+ * Describes a custom preset for encoding audio.
+ */
+ audioEncoder?: AudioEncoderBaseUnion;
+ /**
+ * Describes a custom preset for encoding video.
+ */
+ videoEncoder?: VideoEncoderBaseUnion;
+}
+
+/**
+ * A custom preset for encoding audio with the AAC codec.
+ */
+export interface AudioEncoderAac {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.AudioEncoderAac";
+ /**
+ * Bitrate, in kilobits per second or Kbps, at which audio should be encoded (2-channel stereo
+ * audio at a sampling rate of 48 kHz). Allowed values are 96, 112, 128, 160, 192, 224, and 256.
+ * If omitted, the bitrate of the input audio is used.
+ */
+ bitrateKbps?: string;
+}
+
+/**
+ * A custom preset for encoding video with the H.264 (AVC) codec.
+ */
+export interface VideoEncoderH264 {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.VideoEncoderH264";
+ /**
+ * The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If
+ * omitted, encoder sets it automatically to try and match the quality of the input video.
+ */
+ bitrateKbps?: string;
+ /**
+ * The frame rate (in frames per second) of the encoded video. The value must be greater than
+ * zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of
+ * the input video.
+ */
+ frameRate?: string;
+ /**
+ * Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of
+ * the input video.
+ */
+ scale?: VideoScale;
+}
+
+/**
+ * Optional properties to be used in case a new video resource needs to be created on the service.
+ * These will not take effect if the video already exists.
+ */
+export interface VideoCreationProperties {
+ /**
+ * Optional title provided by the user. Value can be up to 256 characters long.
+ */
+ title?: string;
+ /**
+ * Optional description provided by the user. Value can be up to 2048 characters long.
+ */
+ description?: string;
+ /**
+ * Segment length indicates the length of individual content files (segments) which are persisted
+ * to storage. Smaller segments provide lower archive playback latency but generate larger volume
+ * of storage transactions. Larger segments reduce the amount of storage transactions while
+ * increasing the archive playback latency. Value must be specified in ISO8601 duration format
+ * (i.e. "PT30S" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds
+ * increments. Changing this value after the initial call to create the video resource can lead
+ * to errors when uploading content to the archive. Default value is 30 seconds. This property is
+ * only allowed for topologies where "kind" is set to "live".
+ */
+ segmentLength?: string;
+ /**
+ * Video retention period indicates how long the video is kept in storage. Value must be
+ * specified in ISO8601 duration format (i.e. "PT1D" equals 1 day) and can vary between 1 day to
+ * 10 years, in 1 day increments. When absent (null), all video content is retained indefinitely.
+ * This property is only allowed for topologies where "kind" is set to "live".
+ */
+ retentionPeriod?: string;
+}
+
+/**
+ * Optional flags used to change how video is published. These are only allowed for topologies
+ * where "kind" is set to "live".
+ */
+export interface VideoPublishingOptions {
+ /**
+ * When set to 'true' content will not be archived or recorded. This is used, for example, when
+ * the topology is used only for low latency video streaming. Default is 'false'. If set to
+ * 'true', then "disableRtspPublishing" must be set to 'false'.
+ */
+ disableArchive?: string;
+ /**
+ * When set to 'true' the RTSP playback URL will not be published, disabling low latency
+ * streaming. This is used, for example, when the topology is used only for archiving content.
+ * Default is 'false'. If set to 'true', then "disableArchive" must be set to 'false'.
+ */
+ disableRtspPublishing?: string;
+ /**
+ * When set to 'true' preview images will not be generated. This is used, for example, when the
+ * topology is used only for low latency video streaming. Default is 'false'. If set to 'false',
+ * then "disableArchive" must be set to 'false'.
+ */
+ disableVideoPreviewImage?: string;
+}
+
+/**
+ * Video sink in a live topology allows for video and audio to be captured, optionally archived,
+ * and published via a video resource. If archiving is enabled, this results in a video of type
+ * 'archive'. If used in a batch topology, this allows for video and audio to be stored as a file,
+ * and published via a video resource of type 'file'
+ */
+export interface VideoSink {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.VideoSink";
+ /**
+ * Node name. Must be unique within the topology.
+ */
+ name: string;
+ /**
+ * An array of upstream node references within the topology to be used as inputs for this node.
+ */
+ inputs: NodeInput[];
+ /**
+ * Name of a new or existing video resource used to capture and publish content. Note: if
+ * downstream of RTSP source, and if disableArchive is set to true, then no content is archived.
+ */
+ videoName: string;
+ /**
+ * Optional video properties to be used in case a new video resource needs to be created on the
+ * service.
+ */
+ videoCreationProperties?: VideoCreationProperties;
+ /**
+ * Options to change how the video sink publishes content via the video resource. This property
+ * is only allowed for topologies where "kind" is set to "live".
+ */
+ videoPublishingOptions?: VideoPublishingOptions;
+}
+
+/**
+ * Defines the parameter value of an specific pipeline topology parameter. See pipeline topology
+ * parameters for more information.
+ */
+export interface ParameterDefinition {
+ /**
+ * Name of the parameter declared in the pipeline topology.
+ */
+ name: string;
+ /**
+ * Parameter value to be applied on this specific pipeline.
+ */
+ value?: string;
+}
+
+/**
+ * Pipeline topology describes the processing steps to be applied when processing content for a
+ * particular outcome. The topology should be defined according to the scenario to be achieved and
+ * can be reused across many pipeline instances which share the same processing characteristics.
+ * For instance, a pipeline topology which captures content from a RTSP camera and archives the
+ * content can be reused across many different cameras, as long as the same processing is to be
+ * applied across all the cameras. Individual instance properties can be defined through the use of
+ * user-defined parameters, which allow for a topology to be parameterized. This allows individual
+ * pipelines refer to different values, such as individual cameras' RTSP endpoints and credentials.
+ * Overall a topology is composed of the following:
+ *
+ * - Parameters: list of user defined parameters that can be references across the topology nodes.
+ * - Sources: list of one or more data sources nodes such as an RTSP source which allows for
+ * content to be ingested from cameras.
+ * - Processors: list of nodes which perform data analysis or transformations.
+ * - Sinks: list of one or more data sinks which allow for data to be stored or exported to other
+ * destinations.
+ */
+export interface PipelineTopology extends ProxyResource {
+ /**
+ * An optional description of the pipeline topology. It is recommended that the expected use of
+ * the topology to be described here.
+ */
+ description?: string;
+ /**
+ * List of the topology parameter declarations. Parameters declared here can be referenced
+ * throughout the topology nodes through the use of "${PARAMETER_NAME}" string pattern.
+ * Parameters can have optional default values and can later be defined in individual instances
+ * of the pipeline.
+ */
+ parameters?: ParameterDeclaration[];
+ /**
+ * List of the topology source nodes. Source nodes enable external data to be ingested by the
+ * pipeline.
+ */
+ sources: SourceNodeBaseUnion[];
+ /**
+ * List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed,
+ * processed or transformed.
+ */
+ processors?: ProcessorNodeBaseUnion[];
+ /**
+ * List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported.
+ */
+ sinks: SinkNodeBaseUnion[];
+ /**
+ * Topology kind. Possible values include: 'Live', 'Batch'
+ */
+ kind: Kind;
+ /**
+ * Describes the properties of a SKU.
+ */
+ sku: Sku;
+}
+
+/**
+ * Pipeline topology describes the processing steps to be applied when processing content for a
+ * particular outcome. The topology should be defined according to the scenario to be achieved and
+ * can be reused across many pipeline instances which share the same processing characteristics.
+ * For instance, a pipeline topology which captures content from a RTSP camera and archives the
+ * content can be reused across many different cameras, as long as the same processing is to be
+ * applied across all the cameras. Individual instance properties can be defined through the use of
+ * user-defined parameters, which allow for a topology to be parameterized. This allows individual
+ * pipelines refer to different values, such as individual cameras' RTSP endpoints and credentials.
+ * Overall a topology is composed of the following:
+ *
+ * - Parameters: list of user defined parameters that can be references across the topology nodes.
+ * - Sources: list of one or more data sources nodes such as an RTSP source which allows for
+ * content to be ingested from cameras.\r\n - Processors: list of nodes which perform data
+ * analysis or transformations.
+ * -Sinks: list of one or more data sinks which allow for data to be stored or exported to other
+ * destinations.
+ */
+export interface PipelineTopologyUpdate extends ProxyResource {
+ /**
+ * An optional description of the pipeline topology. It is recommended that the expected use of
+ * the topology to be described here.
+ */
+ description?: string;
+ /**
+ * List of the topology parameter declarations. Parameters declared here can be referenced
+ * throughout the topology nodes through the use of "${PARAMETER_NAME}" string pattern.
+ * Parameters can have optional default values and can later be defined in individual instances
+ * of the pipeline.
+ */
+ parameters?: ParameterDeclaration[];
+ /**
+ * List of the topology source nodes. Source nodes enable external data to be ingested by the
+ * pipeline.
+ */
+ sources?: SourceNodeBaseUnion[];
+ /**
+ * List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed,
+ * processed or transformed.
+ */
+ processors?: ProcessorNodeBaseUnion[];
+ /**
+ * List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported.
+ */
+ sinks?: SinkNodeBaseUnion[];
+ /**
+ * Topology kind. Possible values include: 'Live', 'Batch'
+ */
+ kind?: Kind;
+ /**
+ * Describes the properties of a SKU.
+ */
+ sku?: Sku;
+}
+
+/**
+ * Live pipeline represents a unique instance of a live topology, used for real-time ingestion,
+ * archiving and publishing of content for a unique RTSP camera.
+ */
+export interface LivePipeline extends ProxyResource {
+ /**
+ * The reference to an existing pipeline topology defined for real-time content processing. When
+ * activated, this live pipeline will process content according to the pipeline topology
+ * definition.
+ */
+ topologyName: string;
+ /**
+ * An optional description for the pipeline.
+ */
+ description?: string;
+ /**
+ * Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500
+ * to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the
+ * service will disconnect temporarily from the camera. It will retry to re-establish connection
+ * (with exponential backoff), checking to see if the camera bitrate is now below the reserved
+ * capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines
+ * in your account.
+ */
+ bitrateKbps: number;
+ /**
+ * Current state of the pipeline (read-only). Possible values include: 'Inactive', 'Activating',
+ * 'Active', 'Deactivating'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: LivePipelineState;
+ /**
+ * List of the instance level parameter values for the user-defined topology parameters. A
+ * pipeline can only define or override parameters values for parameters which have been declared
+ * in the referenced topology. Topology parameters without a default value must be defined.
+ * Topology parameters with a default value can be optionally be overridden.
+ */
+ parameters?: ParameterDefinition[];
+}
+
+/**
+ * Live pipeline represents a unique instance of a live topology, used for real-time ingestion,
+ * archiving and publishing of content for a unique RTSP camera.
+ */
+export interface LivePipelineUpdate extends ProxyResource {
+ /**
+ * The reference to an existing pipeline topology defined for real-time content processing. When
+ * activated, this live pipeline will process content according to the pipeline topology
+ * definition.
+ */
+ topologyName?: string;
+ /**
+ * An optional description for the pipeline.
+ */
+ description?: string;
+ /**
+ * Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500
+ * to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the
+ * service will disconnect temporarily from the camera. It will retry to re-establish connection
+ * (with exponential backoff), checking to see if the camera bitrate is now below the reserved
+ * capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines
+ * in your account.
+ */
+ bitrateKbps?: number;
+ /**
+ * Current state of the pipeline (read-only). Possible values include: 'Inactive', 'Activating',
+ * 'Active', 'Deactivating'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: LivePipelineState;
+ /**
+ * List of the instance level parameter values for the user-defined topology parameters. A
+ * pipeline can only define or override parameters values for parameters which have been declared
+ * in the referenced topology. Topology parameters without a default value must be defined.
+ * Topology parameters with a default value can be optionally be overridden.
+ */
+ parameters?: ParameterDefinition[];
+}
+
+/**
+ * Details about the error for a failed pipeline job.
+ */
+export interface PipelineJobError {
+ /**
+ * The error code.
+ */
+ code?: string;
+ /**
+ * The error message.
+ */
+ message?: string;
+}
+
+/**
+ * Pipeline job represents a unique instance of a batch topology, used for offline processing of
+ * selected portions of archived content.
+ */
+export interface PipelineJob extends ProxyResource {
+ /**
+ * Reference to an existing pipeline topology. When activated, this pipeline job will process
+ * content according to the pipeline topology definition.
+ */
+ topologyName: string;
+ /**
+ * An optional description for the pipeline.
+ */
+ description?: string;
+ /**
+ * Current state of the pipeline (read-only). Possible values include: 'Processing', 'Canceled',
+ * 'Completed', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: PipelineJobState;
+ /**
+ * The date-time by when this pipeline job will be automatically deleted from your account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly expiration?: Date;
+ /**
+ * Details about the error, in case the pipeline job fails.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: PipelineJobError;
+ /**
+ * List of the instance level parameter values for the user-defined topology parameters. A
+ * pipeline can only define or override parameters values for parameters which have been declared
+ * in the referenced topology. Topology parameters without a default value must be defined.
+ * Topology parameters with a default value can be optionally be overridden.
+ */
+ parameters?: ParameterDefinition[];
+}
+
+/**
+ * Pipeline job represents a unique instance of a batch topology, used for offline processing of
+ * selected portions of archived content.
+ */
+export interface PipelineJobUpdate extends ProxyResource {
+ /**
+ * Reference to an existing pipeline topology. When activated, this pipeline job will process
+ * content according to the pipeline topology definition.
+ */
+ topologyName?: string;
+ /**
+ * An optional description for the pipeline.
+ */
+ description?: string;
+ /**
+ * Current state of the pipeline (read-only). Possible values include: 'Processing', 'Canceled',
+ * 'Completed', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: PipelineJobState;
+ /**
+ * The date-time by when this pipeline job will be automatically deleted from your account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly expiration?: Date;
+ /**
+ * Details about the error, in case the pipeline job fails.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: PipelineJobError;
+ /**
+ * List of the instance level parameter values for the user-defined topology parameters. A
+ * pipeline can only define or override parameters values for parameters which have been declared
+ * in the referenced topology. Topology parameters without a default value must be defined.
+ * Topology parameters with a default value can be optionally be overridden.
+ */
+ parameters?: ParameterDefinition[];
+}
+
+/**
+ * An interface representing LivePipelineOperationStatus.
+ */
+export interface LivePipelineOperationStatus {
+ /**
+ * The name of the live pipeline operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The status of the live pipeline operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: string;
+ /**
+ * The error details for the live pipeline operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ErrorDetail;
+}
+
+/**
+ * An interface representing PipelineJobOperationStatus.
+ */
+export interface PipelineJobOperationStatus {
+ /**
+ * The name of the pipeline job operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The status of the pipeline job operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: string;
+ /**
+ * The error details for the pipeline job operation.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ErrorDetail;
+}
+
+/**
+ * Operation details.
+ */
+export interface OperationDisplay {
+ /**
+ * The service provider.
+ */
+ provider?: string;
+ /**
+ * Resource on which the operation is performed.
+ */
+ resource?: string;
+ /**
+ * The operation type.
+ */
+ operation?: string;
+ /**
+ * The operation description.
+ */
+ description?: string;
+}
+
+/**
+ * A metric dimension.
+ */
+export interface MetricDimension {
+ /**
+ * The metric dimension name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The display name for the dimension.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly displayName?: string;
+ /**
+ * Whether to export metric to shoebox.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly toBeExportedForShoebox?: boolean;
+}
+
+/**
+ * A metric emitted by service.
+ */
+export interface MetricSpecification {
+ /**
+ * The metric name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The metric display name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly displayName?: string;
+ /**
+ * The metric display description.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly displayDescription?: string;
+ /**
+ * The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly unit?: MetricUnit;
+ /**
+ * The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly aggregationType?: MetricAggregationType;
+ /**
+ * The metric lock aggregation type. Possible values include: 'Average', 'Count', 'Total'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lockAggregationType?: MetricAggregationType;
+ /**
+ * Supported aggregation types.
+ */
+ supportedAggregationTypes?: string[];
+ /**
+ * The metric dimensions.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dimensions?: MetricDimension[];
+ /**
+ * Indicates whether regional MDM account is enabled.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly enableRegionalMdmAccount?: boolean;
+ /**
+ * The source MDM account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceMdmAccount?: string;
+ /**
+ * The source MDM namespace.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceMdmNamespace?: string;
+ /**
+ * The supported time grain types.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly supportedTimeGrainTypes?: string[];
+}
+
+/**
+ * A diagnostic log emitted by service.
+ */
+export interface LogSpecification {
+ /**
+ * The diagnostic log category name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The diagnostic log category display name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly displayName?: string;
+ /**
+ * The time range for requests in each blob.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly blobDuration?: string;
+}
+
+/**
+ * The service metric specifications.
+ */
+export interface ServiceSpecification {
+ /**
+ * List of log specifications.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly logSpecifications?: LogSpecification[];
+ /**
+ * List of metric specifications.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly metricSpecifications?: MetricSpecification[];
+}
+
+/**
+ * Metric properties.
+ */
+export interface Properties {
+ /**
+ * The service specifications.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serviceSpecification?: ServiceSpecification;
+}
+
+/**
+ * An operation.
+ */
+export interface Operation {
+ /**
+ * The operation name.
+ */
+ name: string;
+ /**
+ * The operation display name.
+ */
+ display?: OperationDisplay;
+ /**
+ * Origin of the operation.
+ */
+ origin?: string;
+ /**
+ * Operation properties format.
+ */
+ properties?: Properties;
+ /**
+ * Whether the operation applies to data-plane.
+ */
+ isDataAction?: boolean;
+ /**
+ * Indicates the action type. Possible values include: 'Internal'
+ */
+ actionType?: ActionType;
+}
+
+/**
+ * The user assigned managed identity to use when accessing a resource.
+ */
+export interface ResourceIdentity {
+ /**
+ * The user assigned managed identity's resource identifier to use when accessing a resource.
+ */
+ userAssignedIdentity: string;
+}
+
+/**
+ * The details about the associated storage account.
+ */
+export interface StorageAccount {
+ /**
+ * The ID of the storage account resource. Video Analyzer relies on tables, queues, and blobs.
+ * The primary storage account must be a Standard Storage account (either
+ * Microsoft.ClassicStorage or Microsoft.Storage).
+ */
+ id: string;
+ /**
+ * A managed identity that Video Analyzer will use to access the storage account.
+ */
+ identity?: ResourceIdentity;
+ /**
+ * The current status of the storage account mapping.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: string;
+}
+
+/**
+ * The endpoint details.
+ */
+export interface Endpoint {
+ /**
+ * The URL of the endpoint.
+ */
+ endpointUrl?: string;
+}
+
+/**
+ * The details for accessing the encryption keys in Key Vault.
+ */
+export interface KeyVaultProperties {
+ /**
+ * The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for
+ * example https://vault/keys/mykey/version1) or reference a key without a version (for example
+ * https://vault/keys/mykey).
+ */
+ keyIdentifier: string;
+ /**
+ * The current key used to encrypt Video Analyzer account, including the key version.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly currentKeyIdentifier?: string;
+}
+
+/**
+ * Defines how the Video Analyzer account is (optionally) encrypted.
+ */
+export interface AccountEncryption {
+ /**
+ * The type of key used to encrypt the Account Key. Possible values include: 'SystemKey',
+ * 'CustomerKey'
+ */
+ type: AccountEncryptionKeyType;
+ /**
+ * The properties of the key used to encrypt the account.
+ */
+ keyVaultProperties?: KeyVaultProperties;
+ /**
+ * The Key Vault identity.
+ */
+ identity?: ResourceIdentity;
+ /**
+ * The current status of the Key Vault mapping.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: string;
+}
+
+/**
+ * The IoT Hub details.
+ */
+export interface IotHub {
+ /**
+ * The IoT Hub resource identifier.
+ */
+ id: string;
+ /**
+ * The IoT Hub identity.
+ */
+ identity: ResourceIdentity;
+ /**
+ * The current status of the Iot Hub mapping.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: string;
+}
+
+/**
+ * Group level network access control.
+ */
+export interface GroupLevelAccessControl {
+ /**
+ * Whether or not public network access is allowed for specified resources under the Video
+ * Analyzer account. Possible values include: 'Enabled', 'Disabled'
+ */
+ publicNetworkAccess?: PublicNetworkAccess;
+}
+
+/**
+ * Network access control for video analyzer account.
+ */
+export interface NetworkAccessControl {
+ /**
+ * Public network access for integration group.
+ */
+ integration?: GroupLevelAccessControl;
+ /**
+ * Public network access for ingestion group.
+ */
+ ingestion?: GroupLevelAccessControl;
+ /**
+ * Public network access for consumption group.
+ */
+ consumption?: GroupLevelAccessControl;
+}
+
+/**
+ * The Private Endpoint resource.
+ */
+export interface PrivateEndpoint {
+ /**
+ * The ARM identifier for Private Endpoint
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * A collection of information about the state of the connection between service consumer and
+ * provider.
+ */
+export interface PrivateLinkServiceConnectionState {
+ /**
+ * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the
+ * service. Possible values include: 'Pending', 'Approved', 'Rejected'
+ */
+ status?: PrivateEndpointServiceConnectionStatus;
+ /**
+ * The reason for approval/rejection of the connection.
+ */
+ description?: string;
+ /**
+ * A message indicating if changes on the service provider require any updates on the consumer.
+ */
+ actionsRequired?: string;
+}
+
+/**
+ * The Private Endpoint Connection resource.
+ */
+export interface PrivateEndpointConnection extends Resource {
+ /**
+ * The resource of private end point.
+ */
+ privateEndpoint?: PrivateEndpoint;
+ /**
+ * A collection of information about the state of the connection between service consumer and
+ * provider.
+ */
+ privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
+ /**
+ * The provisioning state of the private endpoint connection resource. Possible values include:
+ * 'Succeeded', 'Creating', 'Deleting', 'Failed'
+ */
+ provisioningState?: PrivateEndpointConnectionProvisioningState;
+}
+
+/**
+ * The details of the user assigned managed identity used by the Video Analyzer resource.
+ */
+export interface UserAssignedManagedIdentity {
+ /**
+ * The client ID.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly clientId?: string;
+ /**
+ * The principal ID.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly principalId?: string;
+}
+
+/**
+ * The managed identity for the Video Analyzer resource.
+ */
+export interface VideoAnalyzerIdentity {
+ /**
+ * The identity type.
+ */
+ type: string;
+ /**
+ * The User Assigned Managed Identities.
+ */
+ userAssignedIdentities?: { [propertyName: string]: UserAssignedManagedIdentity };
+}
+
+/**
+ * The Video Analyzer account.
+ */
+export interface VideoAnalyzerModel extends TrackedResource {
+ /**
+ * The storage accounts for this resource.
+ */
+ storageAccounts: StorageAccount[];
+ /**
+ * The endpoints associated with this resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endpoints?: Endpoint[];
+ /**
+ * The account encryption properties.
+ */
+ encryption?: AccountEncryption;
+ /**
+ * The IoT Hubs for this resource.
+ */
+ iotHubs?: IotHub[];
+ /**
+ * Whether or not public network access is allowed for resources under the Video Analyzer
+ * account. Possible values include: 'Enabled', 'Disabled'
+ */
+ publicNetworkAccess?: PublicNetworkAccess;
+ /**
+ * Network access control for Video Analyzer.
+ */
+ networkAccessControl?: NetworkAccessControl;
+ /**
+ * Provisioning state of the Video Analyzer account. Possible values include: 'Failed',
+ * 'InProgress', 'Succeeded'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: ProvisioningState;
+ /**
+ * Private Endpoint Connections created under Video Analyzer account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly privateEndpointConnections?: PrivateEndpointConnection[];
+ /**
+ * The identities associated to the Video Analyzer resource.
+ */
+ identity?: VideoAnalyzerIdentity;
+}
+
+/**
+ * The update operation for a Video Analyzer account.
+ */
+export interface VideoAnalyzerUpdate {
+ /**
+ * Resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+ /**
+ * The storage accounts for this resource.
+ */
+ storageAccounts?: StorageAccount[];
+ /**
+ * The endpoints associated with this resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endpoints?: Endpoint[];
+ /**
+ * The account encryption properties.
+ */
+ encryption?: AccountEncryption;
+ /**
+ * The IoT Hubs for this resource.
+ */
+ iotHubs?: IotHub[];
+ /**
+ * Whether or not public network access is allowed for resources under the Video Analyzer
+ * account. Possible values include: 'Enabled', 'Disabled'
+ */
+ publicNetworkAccess?: PublicNetworkAccess;
+ /**
+ * Network access control for Video Analyzer.
+ */
+ networkAccessControl?: NetworkAccessControl;
+ /**
+ * Provisioning state of the Video Analyzer account. Possible values include: 'Failed',
+ * 'InProgress', 'Succeeded'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: ProvisioningState;
+ /**
+ * Private Endpoint Connections created under Video Analyzer account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly privateEndpointConnections?: PrivateEndpointConnection[];
+ /**
+ * The identities associated to the Video Analyzer resource.
+ */
+ identity?: VideoAnalyzerIdentity;
+}
+
+/**
+ * Status of private endpoint connection operation.
+ */
+export interface VideoAnalyzerPrivateEndpointConnectionOperationStatus {
+ /**
+ * Operation identifier.
+ */
+ name: string;
+ /**
+ * Operation resource ID.
+ */
+ id?: string;
+ /**
+ * Operation start time.
+ */
+ startTime?: string;
+ /**
+ * Operation end time.
+ */
+ endTime?: string;
+ /**
+ * Operation status.
+ */
+ status?: string;
+ error?: ErrorDetail;
+}
+
+/**
+ * Status of video analyzer operation.
+ */
+export interface VideoAnalyzerOperationStatus {
+ /**
+ * Operation identifier.
+ */
+ name: string;
+ /**
+ * Operation resource ID.
+ */
+ id?: string;
+ /**
+ * Operation start time.
+ */
+ startTime?: string;
+ /**
+ * Operation end time.
+ */
+ endTime?: string;
+ /**
+ * Operation status.
+ */
+ status?: string;
+ error?: ErrorDetail;
+}
+
+/**
+ * A collection of Operation items.
+ */
+export interface OperationCollection {
+ /**
+ * A collection of Operation items.
+ */
+ value?: Operation[];
+}
+
+/**
+ * A collection of VideoAnalyzer items.
+ */
+export interface VideoAnalyzerCollection {
+ /**
+ * A collection of VideoAnalyzer items.
+ */
+ value?: VideoAnalyzerModel[];
+}
+
+/**
+ * The check availability request body.
+ */
+export interface CheckNameAvailabilityRequest {
+ /**
+ * The name of the resource for which availability needs to be checked.
+ */
+ name?: string;
+ /**
+ * The resource type.
+ */
+ type?: string;
+}
+
+/**
+ * The check availability result.
+ */
+export interface CheckNameAvailabilityResponse {
+ /**
+ * Indicates if the resource name is available.
+ */
+ nameAvailable?: boolean;
+ /**
+ * The reason why the given name is not available. Possible values include: 'Invalid',
+ * 'AlreadyExists'
+ */
+ reason?: CheckNameAvailabilityReason;
+ /**
+ * Detailed reason why the given name is available.
+ */
+ message?: string;
+}
+
+/**
+ * List of private endpoint connection associated with the specified storage account
+ */
+export interface PrivateEndpointConnectionListResult {
+ /**
+ * Array of private endpoint connections
+ */
+ value?: PrivateEndpointConnection[];
+}
+
+/**
+ * A private link resource
+ */
+export interface PrivateLinkResource extends Resource {
+ /**
+ * The private link resource group id.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly groupId?: string;
+ /**
+ * The private link resource required member names.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly requiredMembers?: string[];
+ /**
+ * The private link resource Private link DNS zone name.
+ */
+ requiredZoneNames?: string[];
+}
+
+/**
+ * A list of private link resources
+ */
+export interface PrivateLinkResourceListResult {
+ /**
+ * Array of private link resources
+ */
+ value?: PrivateLinkResource[];
+}
+
+/**
+ * Video preview image URLs. These URLs can be used in conjunction with the video content
+ * authorization token to download the most recent still image from the video archive in different
+ * resolutions. They are available when the video type is 'archive' and preview images are enabled.
+ */
+export interface VideoPreviewImageUrls {
+ /**
+ * Low resolution preview image URL.
+ */
+ small?: string;
+ /**
+ * Medium resolution preview image URL.
+ */
+ medium?: string;
+ /**
+ * High resolution preview image URL.
+ */
+ large?: string;
+}
+
+/**
+ * Set of URLs to the video content.
+ */
+export interface VideoContentUrls {
+ /**
+ * Video file download URL. This URL can be used in conjunction with the video content
+ * authorization token to download the video MP4 file. The resulting MP4 file can be played on
+ * any standard media player. It is available when the video type is 'file' and video file is
+ * available for consumption.
+ */
+ downloadUrl?: string;
+ /**
+ * Video archive streaming base URL. The archived content can be automatically played by the
+ * Azure Video Analyzer player widget. Alternatively, this URL can be used in conjunction with
+ * the video content authorization token on any compatible DASH or HLS players by appending the
+ * following to the base URL:
+ *
+ * - HLSv4: /manifest(format=m3u8-aapl).m3u8
+ * - HLS CMAF: /manifest(format=m3u8-cmaf)
+ * - DASH CMAF: /manifest(format=mpd-time-cmaf)
+ *
+ * Moreover, an ongoing video recording can be played in "live mode" with latencies which are
+ * approximately double of the chosen video segment length. It is available when the video type
+ * is 'archive' and video archiving is enabled.
+ */
+ archiveBaseUrl?: string;
+ /**
+ * Video low-latency streaming URL. The live content can be automatically played by the Azure
+ * Video Analyzer player widget. Alternatively, this URL can be used in conjunction with the
+ * video content authorization token to expose a WebSocket tunneled RTSP stream. It is available
+ * when the video type is 'archive' and a live, low-latency feed is available from the source.
+ */
+ rtspTunnelUrl?: string;
+ /**
+ * Video preview image URLs. These URLs can be used in conjunction with the video content
+ * authorization token to download the most recent still image from the video archive in
+ * different resolutions. They are available when the video type is 'archive' and preview images
+ * are enabled.
+ */
+ previewImageUrls?: VideoPreviewImageUrls;
+}
+
+/**
+ * Video flags contain information about the available video actions and its dynamic properties
+ * based on the current video state.
+ */
+export interface VideoFlags {
+ /**
+ * Value indicating whether or not the video can be streamed. Only "archive" type videos can be
+ * streamed.
+ */
+ canStream: boolean;
+ /**
+ * Value indicating whether or not there has ever been data recorded or uploaded into the video.
+ * Newly created videos have this value set to false.
+ */
+ hasData: boolean;
+ /**
+ * Value indicating whether or not the video is currently being referenced be an active pipeline.
+ * The fact that is being referenced, doesn't necessarily indicate that data is being received.
+ * For example, video recording may be gated on events or camera may not be accessible at the
+ * time.
+ */
+ isInUse: boolean;
+}
+
+/**
+ * Contains information about the video and audio content.
+ */
+export interface VideoMediaInfo {
+ /**
+ * Video segment length indicates the length of individual video files (segments) which are
+ * persisted to storage. Smaller segments provide lower archive playback latency but generate
+ * larger volume of storage transactions. Larger segments reduce the amount of storage
+ * transactions while increasing the archive playback latency. Value must be specified in ISO8601
+ * duration format (i.e. "PT30S" equals 30 seconds) and can vary between 30 seconds to 5 minutes,
+ * in 30 seconds increments.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly segmentLength?: string;
+}
+
+/**
+ * "Video content token grants access to the video content URLs."
+ */
+export interface VideoContentToken {
+ /**
+ * The content token expiration date in ISO8601 format (eg. 2021-01-01T00:00:00Z).
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly expirationDate?: Date;
+ /**
+ * The content token value to be added to the video content URL as the value for the "token"
+ * query string parameter. The token is specific to a single video.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly token?: string;
+}
+
+/**
+ * Video archival properties.
+ */
+export interface VideoArchival {
+ /**
+ * Video retention period indicates the maximum age of the video archive segments which are
+ * intended to be kept in storage. It must be provided in the ISO8601 duration format in the
+ * granularity of days, up to a maximum of 10 years. For example, if this is set to P30D (30
+ * days), content older than 30 days will be periodically deleted. This value can be updated at
+ * any time and the new desired retention period will be effective within 24 hours.
+ */
+ retentionPeriod?: string;
+}
+
+/**
+ * Contains the possible cases for AuthenticationBase.
+ */
+export type AuthenticationBaseUnion = AuthenticationBase | JwtAuthentication;
+
+/**
+ * Base class for access policies authentication methods.
+ */
+export interface AuthenticationBase {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "AuthenticationBase";
+}
+
+/**
+ * Properties for expected token claims.
+ */
+export interface TokenClaim {
+ /**
+ * Name of the claim which must be present on the token.
+ */
+ name: string;
+ /**
+ * Expected value of the claim to be present on the token.
+ */
+ value: string;
+}
+
+/**
+ * Contains the possible cases for TokenKey.
+ */
+export type TokenKeyUnion = TokenKey | RsaTokenKey | EccTokenKey;
+
+/**
+ * Key properties for JWT token validation.
+ */
+export interface TokenKey {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "TokenKey";
+ /**
+ * JWT token key id. Validation keys are looked up based on the key id present on the JWT token
+ * header.
+ */
+ kid: string;
+}
+
+/**
+ * Properties for access validation based on JSON Web Tokens (JWT).
+ */
+export interface JwtAuthentication {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.JwtAuthentication";
+ /**
+ * List of expected token issuers. Token issuer is valid if it matches at least one of the given
+ * values.
+ */
+ issuers?: string[];
+ /**
+ * List of expected token audiences. Token audience is valid if it matches at least one of the
+ * given values.
+ */
+ audiences?: string[];
+ /**
+ * List of additional token claims to be validated. Token must contains all claims and respective
+ * values for it to be valid.
+ */
+ claims?: TokenClaim[];
+ /**
+ * List of keys which can be used to validate access tokens. Having multiple keys allow for
+ * seamless key rotation of the token signing key. Token signature must match exactly one key.
+ */
+ keys?: TokenKeyUnion[];
+}
+
+/**
+ * Required validation properties for tokens generated with RSA algorithm.
+ */
+export interface RsaTokenKey {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.RsaTokenKey";
+ /**
+ * JWT token key id. Validation keys are looked up based on the key id present on the JWT token
+ * header.
+ */
+ kid: string;
+ /**
+ * RSA algorithm to be used: RS256, RS384 or RS512. Possible values include: 'RS256', 'RS384',
+ * 'RS512'
+ */
+ alg: AccessPolicyRsaAlgo;
+ /**
+ * RSA public key modulus.
+ */
+ n: string;
+ /**
+ * RSA public key exponent.
+ */
+ e: string;
+}
+
+/**
+ * Required validation properties for tokens generated with Elliptical Curve algorithm.
+ */
+export interface EccTokenKey {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "#Microsoft.VideoAnalyzer.EccTokenKey";
+ /**
+ * JWT token key id. Validation keys are looked up based on the key id present on the JWT token
+ * header.
+ */
+ kid: string;
+ /**
+ * Elliptical curve algorithm to be used: ES256, ES384 or ES512. Possible values include:
+ * 'ES256', 'ES384', 'ES512'
+ */
+ alg: AccessPolicyEccAlgo;
+ /**
+ * X coordinate.
+ */
+ x: string;
+ /**
+ * Y coordinate.
+ */
+ y: string;
+}
+
+/**
+ * An interface representing VideoEntity.
+ */
+export interface VideoEntity extends ProxyResource {
+ /**
+ * Optional video title provided by the user. Value can be up to 256 characters long.
+ */
+ title?: string;
+ /**
+ * Optional video description provided by the user. Value can be up to 2048 characters long.
+ */
+ description?: string;
+ /**
+ * Video content type. Different content types are suitable for different applications and
+ * scenarios. Possible values include: 'Archive', 'File'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly videoEntityType?: VideoType;
+ /**
+ * Video flags contain information about the available video actions and its dynamic properties
+ * based on the current video state.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly flags?: VideoFlags;
+ /**
+ * Set of URLs to the video content.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly contentUrls?: VideoContentUrls;
+ /**
+ * Contains information about the video and audio content.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly mediaInfo?: VideoMediaInfo;
+ /**
+ * Video archival properties.
+ */
+ archival?: VideoArchival;
+}
+
+/**
+ * Access policies help define the authentication rules, and control access to specific video
+ * resources.
+ */
+export interface AccessPolicyEntity extends ProxyResource {
+ /**
+ * Defines the access level granted by this policy. Possible values include: 'Reader'
+ */
+ role?: AccessPolicyRole;
+ /**
+ * Authentication method to be used when validating client API access.
+ */
+ authentication?: AuthenticationBaseUnion;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface EdgeModulesListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface EdgeModulesListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface PipelineTopologiesListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface PipelineTopologiesListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface LivePipelinesListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface LivePipelinesListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface PipelineJobsListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface PipelineJobsListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Restricts the set of items returned.
+ */
+ filter?: string;
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface VideosListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface VideosListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface AccessPoliciesListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface AccessPoliciesListNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Specifies a non-negative integer n that limits the number of items returned from a collection.
+ * The service returns the number of available items up to but not greater than the specified
+ * value n.
+ */
+ top?: number;
+}
+
+/**
+ * An interface representing VideoAnalyzerOptions.
+ */
+export interface VideoAnalyzerOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * Defines headers for CreateOrUpdate operation.
+ */
+export interface VideoAnalyzersCreateOrUpdateHeaders {
+ /**
+ * The recommended number of seconds to wait before calling the URI specified in
+ * Azure-AsyncOperation.
+ */
+ retryAfter: number;
+ /**
+ * The URI to poll for completion status.
+ */
+ locationHeader: string;
+ /**
+ * The URI to poll for completion status.
+ */
+ azureAsyncOperation: string;
+}
+
+/**
+ * Defines headers for Update operation.
+ */
+export interface VideoAnalyzersUpdateHeaders {
+ /**
+ * The recommended number of seconds to wait before calling the URI specified in
+ * Azure-AsyncOperation.
+ */
+ retryAfter: number;
+ /**
+ * The URI to poll for completion status.
+ */
+ locationHeader: string;
+ /**
+ * The URI to poll for completion status.
+ */
+ azureAsyncOperation: string;
+}
+
+/**
+ * Defines headers for CreateOrUpdate operation.
+ */
+export interface PrivateEndpointConnectionsCreateOrUpdateHeaders {
+ /**
+ * The recommended number of seconds to wait before calling the URI specified in
+ * Azure-AsyncOperation.
+ */
+ retryAfter: number;
+ /**
+ * The URI to poll for completion status.
+ */
+ location: string;
+ /**
+ * The URI to poll for completion status.
+ */
+ azureAsyncOperation: string;
+}
+
+/**
+ * @interface
+ * A collection of EdgeModuleEntity items.
+ * @extends Array
+ */
+export interface EdgeModuleEntityCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * A collection of PipelineTopology items.
+ * @extends Array
+ */
+export interface PipelineTopologyCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * A collection of LivePipeline items.
+ * @extends Array
+ */
+export interface LivePipelineCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * A collection of PipelineJob items.
+ * @extends Array
+ */
+export interface PipelineJobCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * A collection of VideoEntity items.
+ * @extends Array
+ */
+export interface VideoEntityCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * A collection of AccessPolicyEntity items.
+ * @extends Array
+ */
+export interface AccessPolicyEntityCollection extends Array {
+ /**
+ * A link to the next page of the collection (when the collection contains too many results to
+ * return in one response).
+ */
+ nextLink?: string;
+}
+
+/**
+ * Defines values for CreatedByType.
+ * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
+ * @readonly
+ * @enum {string}
+ */
+export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key';
+
+/**
+ * Defines values for SkuName.
+ * Possible values include: 'Live_S1', 'Batch_S1'
+ * @readonly
+ * @enum {string}
+ */
+export type SkuName = 'Live_S1' | 'Batch_S1';
+
+/**
+ * Defines values for SkuTier.
+ * Possible values include: 'Standard'
+ * @readonly
+ * @enum {string}
+ */
+export type SkuTier = 'Standard';
+
+/**
+ * Defines values for ParameterType.
+ * Possible values include: 'String', 'SecretString', 'Int', 'Double', 'Bool'
+ * @readonly
+ * @enum {string}
+ */
+export type ParameterType = 'String' | 'SecretString' | 'Int' | 'Double' | 'Bool';
+
+/**
+ * Defines values for RtspTransport.
+ * Possible values include: 'Http', 'Tcp'
+ * @readonly
+ * @enum {string}
+ */
+export type RtspTransport = 'Http' | 'Tcp';
+
+/**
+ * Defines values for EncoderSystemPresetType.
+ * Possible values include: 'SingleLayer_540p_H264_AAC', 'SingleLayer_720p_H264_AAC',
+ * 'SingleLayer_1080p_H264_AAC', 'SingleLayer_2160p_H264_AAC'
+ * @readonly
+ * @enum {string}
+ */
+export type EncoderSystemPresetType = 'SingleLayer_540p_H264_AAC' | 'SingleLayer_720p_H264_AAC' | 'SingleLayer_1080p_H264_AAC' | 'SingleLayer_2160p_H264_AAC';
+
+/**
+ * Defines values for VideoScaleMode.
+ * Possible values include: 'Pad', 'PreserveAspectRatio', 'Stretch'
+ * @readonly
+ * @enum {string}
+ */
+export type VideoScaleMode = 'Pad' | 'PreserveAspectRatio' | 'Stretch';
+
+/**
+ * Defines values for Kind.
+ * Possible values include: 'Live', 'Batch'
+ * @readonly
+ * @enum {string}
+ */
+export type Kind = 'Live' | 'Batch';
+
+/**
+ * Defines values for LivePipelineState.
+ * Possible values include: 'Inactive', 'Activating', 'Active', 'Deactivating'
+ * @readonly
+ * @enum {string}
+ */
+export type LivePipelineState = 'Inactive' | 'Activating' | 'Active' | 'Deactivating';
+
+/**
+ * Defines values for PipelineJobState.
+ * Possible values include: 'Processing', 'Canceled', 'Completed', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type PipelineJobState = 'Processing' | 'Canceled' | 'Completed' | 'Failed';
+
+/**
+ * Defines values for MetricUnit.
+ * Possible values include: 'Bytes', 'Count', 'Milliseconds'
+ * @readonly
+ * @enum {string}
+ */
+export type MetricUnit = 'Bytes' | 'Count' | 'Milliseconds';
+
+/**
+ * Defines values for MetricAggregationType.
+ * Possible values include: 'Average', 'Count', 'Total'
+ * @readonly
+ * @enum {string}
+ */
+export type MetricAggregationType = 'Average' | 'Count' | 'Total';
+
+/**
+ * Defines values for ActionType.
+ * Possible values include: 'Internal'
+ * @readonly
+ * @enum {string}
+ */
+export type ActionType = 'Internal';
+
+/**
+ * Defines values for AccountEncryptionKeyType.
+ * Possible values include: 'SystemKey', 'CustomerKey'
+ * @readonly
+ * @enum {string}
+ */
+export type AccountEncryptionKeyType = 'SystemKey' | 'CustomerKey';
+
+/**
+ * Defines values for PublicNetworkAccess.
+ * Possible values include: 'Enabled', 'Disabled'
+ * @readonly
+ * @enum {string}
+ */
+export type PublicNetworkAccess = 'Enabled' | 'Disabled';
+
+/**
+ * Defines values for ProvisioningState.
+ * Possible values include: 'Failed', 'InProgress', 'Succeeded'
+ * @readonly
+ * @enum {string}
+ */
+export type ProvisioningState = 'Failed' | 'InProgress' | 'Succeeded';
+
+/**
+ * Defines values for PrivateEndpointServiceConnectionStatus.
+ * Possible values include: 'Pending', 'Approved', 'Rejected'
+ * @readonly
+ * @enum {string}
+ */
+export type PrivateEndpointServiceConnectionStatus = 'Pending' | 'Approved' | 'Rejected';
+
+/**
+ * Defines values for PrivateEndpointConnectionProvisioningState.
+ * Possible values include: 'Succeeded', 'Creating', 'Deleting', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type PrivateEndpointConnectionProvisioningState = 'Succeeded' | 'Creating' | 'Deleting' | 'Failed';
+
+/**
+ * Defines values for CheckNameAvailabilityReason.
+ * Possible values include: 'Invalid', 'AlreadyExists'
+ * @readonly
+ * @enum {string}
+ */
+export type CheckNameAvailabilityReason = 'Invalid' | 'AlreadyExists';
+
+/**
+ * Defines values for VideoType.
+ * Possible values include: 'Archive', 'File'
+ * @readonly
+ * @enum {string}
+ */
+export type VideoType = 'Archive' | 'File';
+
+/**
+ * Defines values for AccessPolicyRsaAlgo.
+ * Possible values include: 'RS256', 'RS384', 'RS512'
+ * @readonly
+ * @enum {string}
+ */
+export type AccessPolicyRsaAlgo = 'RS256' | 'RS384' | 'RS512';
+
+/**
+ * Defines values for AccessPolicyEccAlgo.
+ * Possible values include: 'ES256', 'ES384', 'ES512'
+ * @readonly
+ * @enum {string}
+ */
+export type AccessPolicyEccAlgo = 'ES256' | 'ES384' | 'ES512';
+
+/**
+ * Defines values for AccessPolicyRole.
+ * Possible values include: 'Reader'
+ * @readonly
+ * @enum {string}
+ */
+export type AccessPolicyRole = 'Reader';
+
+/**
+ * Contains response data for the list operation.
+ */
+export type EdgeModulesListResponse = EdgeModuleEntityCollection & {
+ /**
+ * 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: EdgeModuleEntityCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type EdgeModulesGetResponse = EdgeModuleEntity & {
+ /**
+ * 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: EdgeModuleEntity;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type EdgeModulesCreateOrUpdateResponse = EdgeModuleEntity & {
+ /**
+ * 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: EdgeModuleEntity;
+ };
+};
+
+/**
+ * Contains response data for the listProvisioningToken operation.
+ */
+export type EdgeModulesListProvisioningTokenResponse = EdgeModuleProvisioningToken & {
+ /**
+ * 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: EdgeModuleProvisioningToken;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type EdgeModulesListNextResponse = EdgeModuleEntityCollection & {
+ /**
+ * 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: EdgeModuleEntityCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type PipelineTopologiesListResponse = PipelineTopologyCollection & {
+ /**
+ * 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: PipelineTopologyCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type PipelineTopologiesGetResponse = PipelineTopology & {
+ /**
+ * 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: PipelineTopology;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type PipelineTopologiesCreateOrUpdateResponse = PipelineTopology & {
+ /**
+ * 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: PipelineTopology;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type PipelineTopologiesUpdateResponse = PipelineTopology & {
+ /**
+ * 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: PipelineTopology;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type PipelineTopologiesListNextResponse = PipelineTopologyCollection & {
+ /**
+ * 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: PipelineTopologyCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type LivePipelinesListResponse = LivePipelineCollection & {
+ /**
+ * 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: LivePipelineCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type LivePipelinesGetResponse = LivePipeline & {
+ /**
+ * 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: LivePipeline;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type LivePipelinesCreateOrUpdateResponse = LivePipeline & {
+ /**
+ * 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: LivePipeline;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type LivePipelinesUpdateResponse = LivePipeline & {
+ /**
+ * 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: LivePipeline;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type LivePipelinesListNextResponse = LivePipelineCollection & {
+ /**
+ * 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: LivePipelineCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type PipelineJobsListResponse = PipelineJobCollection & {
+ /**
+ * 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: PipelineJobCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type PipelineJobsGetResponse = PipelineJob & {
+ /**
+ * 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: PipelineJob;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type PipelineJobsCreateOrUpdateResponse = PipelineJob & {
+ /**
+ * 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: PipelineJob;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type PipelineJobsUpdateResponse = PipelineJob & {
+ /**
+ * 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: PipelineJob;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type PipelineJobsListNextResponse = PipelineJobCollection & {
+ /**
+ * 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: PipelineJobCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type LivePipelineOperationStatusesGetResponse = LivePipelineOperationStatus & {
+ /**
+ * 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: LivePipelineOperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type PipelineJobOperationStatusesGetResponse = PipelineJobOperationStatus & {
+ /**
+ * 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: PipelineJobOperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationCollection & {
+ /**
+ * 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: OperationCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type VideoAnalyzersListResponse = VideoAnalyzerCollection & {
+ /**
+ * 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: VideoAnalyzerCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type VideoAnalyzersGetResponse = VideoAnalyzerModel & {
+ /**
+ * 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: VideoAnalyzerModel;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type VideoAnalyzersCreateOrUpdateResponse = VideoAnalyzerModel & VideoAnalyzersCreateOrUpdateHeaders & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The parsed HTTP response headers.
+ */
+ parsedHeaders: VideoAnalyzersCreateOrUpdateHeaders;
+
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: VideoAnalyzerModel;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type VideoAnalyzersUpdateResponse = VideoAnalyzerModel & VideoAnalyzersUpdateHeaders & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The parsed HTTP response headers.
+ */
+ parsedHeaders: VideoAnalyzersUpdateHeaders;
+
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: VideoAnalyzerModel;
+ };
+};
+
+/**
+ * Contains response data for the listBySubscription operation.
+ */
+export type VideoAnalyzersListBySubscriptionResponse = VideoAnalyzerCollection & {
+ /**
+ * 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: VideoAnalyzerCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type PrivateLinkResourcesListResponse = PrivateLinkResourceListResult & {
+ /**
+ * 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: PrivateLinkResourceListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type PrivateLinkResourcesGetResponse = PrivateLinkResource & {
+ /**
+ * 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: PrivateLinkResource;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type PrivateEndpointConnectionsListResponse = PrivateEndpointConnectionListResult & {
+ /**
+ * 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: PrivateEndpointConnectionListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection & {
+ /**
+ * 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: PrivateEndpointConnection;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection & PrivateEndpointConnectionsCreateOrUpdateHeaders & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The parsed HTTP response headers.
+ */
+ parsedHeaders: PrivateEndpointConnectionsCreateOrUpdateHeaders;
+
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: PrivateEndpointConnection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type OperationStatusesGetResponse = VideoAnalyzerPrivateEndpointConnectionOperationStatus & {
+ /**
+ * 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: VideoAnalyzerPrivateEndpointConnectionOperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type OperationResultsGetResponse = PrivateEndpointConnection & {
+ /**
+ * 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: PrivateEndpointConnection;
+ };
+};
+
+/**
+ * Contains response data for the beginGet operation.
+ */
+export type OperationResultsBeginGetResponse = PrivateEndpointConnection & {
+ /**
+ * 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: PrivateEndpointConnection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type VideoAnalyzerOperationStatusesGetResponse = VideoAnalyzerOperationStatus & {
+ /**
+ * 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: VideoAnalyzerOperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type VideoAnalyzerOperationResultsGetResponse = VideoAnalyzerModel & {
+ /**
+ * 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: VideoAnalyzerModel;
+ };
+};
+
+/**
+ * Contains response data for the beginGet operation.
+ */
+export type VideoAnalyzerOperationResultsBeginGetResponse = VideoAnalyzerModel & {
+ /**
+ * 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: VideoAnalyzerModel;
+ };
+};
+
+/**
+ * Contains response data for the checkNameAvailability operation.
+ */
+export type LocationsCheckNameAvailabilityResponse = CheckNameAvailabilityResponse & {
+ /**
+ * 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: CheckNameAvailabilityResponse;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type VideosListResponse = VideoEntityCollection & {
+ /**
+ * 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: VideoEntityCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type VideosGetResponse = VideoEntity & {
+ /**
+ * 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: VideoEntity;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type VideosCreateOrUpdateResponse = VideoEntity & {
+ /**
+ * 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: VideoEntity;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type VideosUpdateResponse = VideoEntity & {
+ /**
+ * 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: VideoEntity;
+ };
+};
+
+/**
+ * Contains response data for the listContentToken operation.
+ */
+export type VideosListContentTokenResponse = VideoContentToken & {
+ /**
+ * 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: VideoContentToken;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type VideosListNextResponse = VideoEntityCollection & {
+ /**
+ * 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: VideoEntityCollection;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type AccessPoliciesListResponse = AccessPolicyEntityCollection & {
+ /**
+ * 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: AccessPolicyEntityCollection;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type AccessPoliciesGetResponse = AccessPolicyEntity & {
+ /**
+ * 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: AccessPolicyEntity;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type AccessPoliciesCreateOrUpdateResponse = AccessPolicyEntity & {
+ /**
+ * 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: AccessPolicyEntity;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type AccessPoliciesUpdateResponse = AccessPolicyEntity & {
+ /**
+ * 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: AccessPolicyEntity;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type AccessPoliciesListNextResponse = AccessPolicyEntityCollection & {
+ /**
+ * 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: AccessPolicyEntityCollection;
+ };
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelineOperationStatusesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelineOperationStatusesMappers.ts
new file mode 100644
index 000000000000..46c36c2751cb
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelineOperationStatusesMappers.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 {
+ discriminators,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ LivePipelineOperationStatus
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelinesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelinesMappers.ts
new file mode 100644
index 000000000000..c2a6dbf711a1
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/livePipelinesMappers.ts
@@ -0,0 +1,91 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineCollection,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/locationsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/locationsMappers.ts
new file mode 100644
index 000000000000..2e6b25ad20cf
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/locationsMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * 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 {
+ discriminators,
+ CheckNameAvailabilityRequest,
+ CheckNameAvailabilityResponse,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/mappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/mappers.ts
new file mode 100644
index 000000000000..a513dc03b57f
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/mappers.ts
@@ -0,0 +1,3508 @@
+/*
+ * 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 ListProvisioningTokenInput: msRest.CompositeMapper = {
+ serializedName: "ListProvisioningTokenInput",
+ type: {
+ name: "Composite",
+ className: "ListProvisioningTokenInput",
+ modelProperties: {
+ expirationDate: {
+ required: true,
+ serializedName: "expirationDate",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const EdgeModuleProvisioningToken: msRest.CompositeMapper = {
+ serializedName: "EdgeModuleProvisioningToken",
+ type: {
+ name: "Composite",
+ className: "EdgeModuleProvisioningToken",
+ modelProperties: {
+ expirationDate: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "expirationDate",
+ type: {
+ name: "DateTime"
+ }
+ },
+ token: {
+ readOnly: true,
+ serializedName: "token",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+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"
+ }
+ },
+ systemData: {
+ readOnly: true,
+ serializedName: "systemData",
+ type: {
+ name: "Composite",
+ className: "SystemData"
+ }
+ }
+ }
+ }
+};
+
+export const ProxyResource: msRest.CompositeMapper = {
+ serializedName: "ProxyResource",
+ type: {
+ name: "Composite",
+ className: "ProxyResource",
+ modelProperties: {
+ ...Resource.type.modelProperties
+ }
+ }
+};
+
+export const EdgeModuleEntity: msRest.CompositeMapper = {
+ serializedName: "EdgeModuleEntity",
+ type: {
+ name: "Composite",
+ className: "EdgeModuleEntity",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ edgeModuleId: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.edgeModuleId",
+ type: {
+ name: "Uuid"
+ }
+ }
+ }
+ }
+};
+
+export const ErrorAdditionalInfo: msRest.CompositeMapper = {
+ serializedName: "ErrorAdditionalInfo",
+ type: {
+ name: "Composite",
+ className: "ErrorAdditionalInfo",
+ modelProperties: {
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ info: {
+ readOnly: true,
+ serializedName: "info",
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ }
+};
+
+export const ErrorDetail: msRest.CompositeMapper = {
+ serializedName: "ErrorDetail",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail",
+ modelProperties: {
+ code: {
+ readOnly: true,
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ target: {
+ readOnly: true,
+ serializedName: "target",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ readOnly: true,
+ serializedName: "details",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ },
+ additionalInfo: {
+ readOnly: true,
+ serializedName: "additionalInfo",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ErrorAdditionalInfo"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ErrorResponse: msRest.CompositeMapper = {
+ serializedName: "ErrorResponse",
+ type: {
+ name: "Composite",
+ className: "ErrorResponse",
+ modelProperties: {
+ error: {
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+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 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 AzureEntityResource: msRest.CompositeMapper = {
+ serializedName: "AzureEntityResource",
+ type: {
+ name: "Composite",
+ className: "AzureEntityResource",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ etag: {
+ readOnly: true,
+ serializedName: "etag",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Sku: msRest.CompositeMapper = {
+ serializedName: "Sku",
+ type: {
+ name: "Composite",
+ className: "Sku",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ tier: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "tier",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ParameterDeclaration: msRest.CompositeMapper = {
+ serializedName: "ParameterDeclaration",
+ type: {
+ name: "Composite",
+ className: "ParameterDeclaration",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ },
+ default: {
+ serializedName: "default",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NodeBase: msRest.CompositeMapper = {
+ serializedName: "NodeBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "NodeBase",
+ className: "NodeBase",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SourceNodeBase: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.SourceNodeBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "SourceNodeBase",
+ modelProperties: {
+ ...NodeBase.type.modelProperties
+ }
+ }
+};
+
+export const NodeInput: msRest.CompositeMapper = {
+ serializedName: "NodeInput",
+ type: {
+ name: "Composite",
+ className: "NodeInput",
+ modelProperties: {
+ nodeName: {
+ required: true,
+ serializedName: "nodeName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ProcessorNodeBase: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.ProcessorNodeBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "ProcessorNodeBase",
+ modelProperties: {
+ ...NodeBase.type.modelProperties,
+ inputs: {
+ required: true,
+ serializedName: "inputs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "NodeInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const SinkNodeBase: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.SinkNodeBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "SinkNodeBase",
+ modelProperties: {
+ ...NodeBase.type.modelProperties,
+ inputs: {
+ required: true,
+ serializedName: "inputs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "NodeInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const CredentialsBase: msRest.CompositeMapper = {
+ serializedName: "CredentialsBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "CredentialsBase",
+ className: "CredentialsBase",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TunnelBase: msRest.CompositeMapper = {
+ serializedName: "TunnelBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "TunnelBase",
+ className: "TunnelBase",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EndpointBase: msRest.CompositeMapper = {
+ serializedName: "EndpointBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "EndpointBase",
+ className: "EndpointBase",
+ modelProperties: {
+ credentials: {
+ serializedName: "credentials",
+ type: {
+ name: "Composite",
+ className: "CredentialsBase"
+ }
+ },
+ url: {
+ required: true,
+ serializedName: "url",
+ type: {
+ name: "String"
+ }
+ },
+ tunnel: {
+ serializedName: "tunnel",
+ type: {
+ name: "Composite",
+ className: "TunnelBase"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const RtspSource: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.RtspSource",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "RtspSource",
+ modelProperties: {
+ ...SourceNodeBase.type.modelProperties,
+ transport: {
+ serializedName: "transport",
+ type: {
+ name: "String"
+ }
+ },
+ endpoint: {
+ required: true,
+ serializedName: "endpoint",
+ type: {
+ name: "Composite",
+ className: "EndpointBase"
+ }
+ }
+ }
+ }
+};
+
+export const UsernamePasswordCredentials: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CredentialsBase.type.polymorphicDiscriminator,
+ uberParent: "CredentialsBase",
+ className: "UsernamePasswordCredentials",
+ modelProperties: {
+ ...CredentialsBase.type.modelProperties,
+ username: {
+ required: true,
+ serializedName: "username",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ required: true,
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SecureIotDeviceRemoteTunnel: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.SecureIotDeviceRemoteTunnel",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: TunnelBase.type.polymorphicDiscriminator,
+ uberParent: "TunnelBase",
+ className: "SecureIotDeviceRemoteTunnel",
+ modelProperties: {
+ ...TunnelBase.type.modelProperties,
+ iotHubName: {
+ required: true,
+ serializedName: "iotHubName",
+ type: {
+ name: "String"
+ }
+ },
+ deviceId: {
+ required: true,
+ serializedName: "deviceId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const UnsecuredEndpoint: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.UnsecuredEndpoint",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: EndpointBase.type.polymorphicDiscriminator,
+ uberParent: "EndpointBase",
+ className: "UnsecuredEndpoint",
+ modelProperties: {
+ ...EndpointBase.type.modelProperties
+ }
+ }
+};
+
+export const CertificateSource: msRest.CompositeMapper = {
+ serializedName: "CertificateSource",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "CertificateSource",
+ className: "CertificateSource",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TlsValidationOptions: msRest.CompositeMapper = {
+ serializedName: "TlsValidationOptions",
+ type: {
+ name: "Composite",
+ className: "TlsValidationOptions",
+ modelProperties: {
+ ignoreHostname: {
+ serializedName: "ignoreHostname",
+ type: {
+ name: "String"
+ }
+ },
+ ignoreSignature: {
+ serializedName: "ignoreSignature",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TlsEndpoint: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.TlsEndpoint",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: EndpointBase.type.polymorphicDiscriminator,
+ uberParent: "EndpointBase",
+ className: "TlsEndpoint",
+ modelProperties: {
+ ...EndpointBase.type.modelProperties,
+ trustedCertificates: {
+ serializedName: "trustedCertificates",
+ type: {
+ name: "Composite",
+ className: "CertificateSource"
+ }
+ },
+ validationOptions: {
+ serializedName: "validationOptions",
+ type: {
+ name: "Composite",
+ className: "TlsValidationOptions"
+ }
+ }
+ }
+ }
+};
+
+export const PemCertificateList: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.PemCertificateList",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CertificateSource.type.polymorphicDiscriminator,
+ uberParent: "CertificateSource",
+ className: "PemCertificateList",
+ modelProperties: {
+ ...CertificateSource.type.modelProperties,
+ certificates: {
+ required: true,
+ serializedName: "certificates",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const TimeSequenceBase: msRest.CompositeMapper = {
+ serializedName: "TimeSequenceBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "TimeSequenceBase",
+ className: "TimeSequenceBase",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoSource: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.VideoSource",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "VideoSource",
+ modelProperties: {
+ ...SourceNodeBase.type.modelProperties,
+ videoName: {
+ required: true,
+ serializedName: "videoName",
+ type: {
+ name: "String"
+ }
+ },
+ timeSequences: {
+ required: true,
+ serializedName: "timeSequences",
+ type: {
+ name: "Composite",
+ className: "TimeSequenceBase"
+ }
+ }
+ }
+ }
+};
+
+export const VideoSequenceAbsoluteTimeMarkers: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.VideoSequenceAbsoluteTimeMarkers",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: TimeSequenceBase.type.polymorphicDiscriminator,
+ uberParent: "TimeSequenceBase",
+ className: "VideoSequenceAbsoluteTimeMarkers",
+ modelProperties: {
+ ...TimeSequenceBase.type.modelProperties,
+ ranges: {
+ required: true,
+ serializedName: "ranges",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EncoderPresetBase: msRest.CompositeMapper = {
+ serializedName: "EncoderPresetBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "EncoderPresetBase",
+ className: "EncoderPresetBase",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EncoderProcessor: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.EncoderProcessor",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "EncoderProcessor",
+ modelProperties: {
+ ...ProcessorNodeBase.type.modelProperties,
+ preset: {
+ required: true,
+ serializedName: "preset",
+ type: {
+ name: "Composite",
+ className: "EncoderPresetBase"
+ }
+ }
+ }
+ }
+};
+
+export const EncoderSystemPreset: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.EncoderSystemPreset",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: EncoderPresetBase.type.polymorphicDiscriminator,
+ uberParent: "EncoderPresetBase",
+ className: "EncoderSystemPreset",
+ modelProperties: {
+ ...EncoderPresetBase.type.modelProperties,
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AudioEncoderBase: msRest.CompositeMapper = {
+ serializedName: "AudioEncoderBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "AudioEncoderBase",
+ className: "AudioEncoderBase",
+ modelProperties: {
+ bitrateKbps: {
+ serializedName: "bitrateKbps",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoScale: msRest.CompositeMapper = {
+ serializedName: "VideoScale",
+ type: {
+ name: "Composite",
+ className: "VideoScale",
+ modelProperties: {
+ height: {
+ serializedName: "height",
+ type: {
+ name: "String"
+ }
+ },
+ width: {
+ serializedName: "width",
+ type: {
+ name: "String"
+ }
+ },
+ mode: {
+ serializedName: "mode",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoEncoderBase: msRest.CompositeMapper = {
+ serializedName: "VideoEncoderBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "VideoEncoderBase",
+ className: "VideoEncoderBase",
+ modelProperties: {
+ bitrateKbps: {
+ serializedName: "bitrateKbps",
+ type: {
+ name: "String"
+ }
+ },
+ frameRate: {
+ serializedName: "frameRate",
+ type: {
+ name: "String"
+ }
+ },
+ scale: {
+ serializedName: "scale",
+ type: {
+ name: "Composite",
+ className: "VideoScale"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EncoderCustomPreset: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.EncoderCustomPreset",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: EncoderPresetBase.type.polymorphicDiscriminator,
+ uberParent: "EncoderPresetBase",
+ className: "EncoderCustomPreset",
+ modelProperties: {
+ ...EncoderPresetBase.type.modelProperties,
+ audioEncoder: {
+ serializedName: "audioEncoder",
+ type: {
+ name: "Composite",
+ className: "AudioEncoderBase"
+ }
+ },
+ videoEncoder: {
+ serializedName: "videoEncoder",
+ type: {
+ name: "Composite",
+ className: "VideoEncoderBase"
+ }
+ }
+ }
+ }
+};
+
+export const AudioEncoderAac: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.AudioEncoderAac",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: AudioEncoderBase.type.polymorphicDiscriminator,
+ uberParent: "AudioEncoderBase",
+ className: "AudioEncoderAac",
+ modelProperties: {
+ ...AudioEncoderBase.type.modelProperties
+ }
+ }
+};
+
+export const VideoEncoderH264: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.VideoEncoderH264",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: VideoEncoderBase.type.polymorphicDiscriminator,
+ uberParent: "VideoEncoderBase",
+ className: "VideoEncoderH264",
+ modelProperties: {
+ ...VideoEncoderBase.type.modelProperties
+ }
+ }
+};
+
+export const VideoCreationProperties: msRest.CompositeMapper = {
+ serializedName: "VideoCreationProperties",
+ type: {
+ name: "Composite",
+ className: "VideoCreationProperties",
+ modelProperties: {
+ title: {
+ serializedName: "title",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ },
+ segmentLength: {
+ serializedName: "segmentLength",
+ type: {
+ name: "String"
+ }
+ },
+ retentionPeriod: {
+ serializedName: "retentionPeriod",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoPublishingOptions: msRest.CompositeMapper = {
+ serializedName: "VideoPublishingOptions",
+ type: {
+ name: "Composite",
+ className: "VideoPublishingOptions",
+ modelProperties: {
+ disableArchive: {
+ serializedName: "disableArchive",
+ type: {
+ name: "String"
+ }
+ },
+ disableRtspPublishing: {
+ serializedName: "disableRtspPublishing",
+ type: {
+ name: "String"
+ }
+ },
+ disableVideoPreviewImage: {
+ serializedName: "disableVideoPreviewImage",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoSink: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.VideoSink",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: NodeBase.type.polymorphicDiscriminator,
+ uberParent: "NodeBase",
+ className: "VideoSink",
+ modelProperties: {
+ ...SinkNodeBase.type.modelProperties,
+ videoName: {
+ required: true,
+ serializedName: "videoName",
+ type: {
+ name: "String"
+ }
+ },
+ videoCreationProperties: {
+ serializedName: "videoCreationProperties",
+ type: {
+ name: "Composite",
+ className: "VideoCreationProperties"
+ }
+ },
+ videoPublishingOptions: {
+ serializedName: "videoPublishingOptions",
+ type: {
+ name: "Composite",
+ className: "VideoPublishingOptions"
+ }
+ }
+ }
+ }
+};
+
+export const ParameterDefinition: msRest.CompositeMapper = {
+ serializedName: "ParameterDefinition",
+ type: {
+ name: "Composite",
+ className: "ParameterDefinition",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineTopology: msRest.CompositeMapper = {
+ serializedName: "PipelineTopology",
+ type: {
+ name: "Composite",
+ className: "PipelineTopology",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDeclaration"
+ }
+ }
+ }
+ },
+ sources: {
+ required: true,
+ serializedName: "properties.sources",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SourceNodeBase"
+ }
+ }
+ }
+ },
+ processors: {
+ serializedName: "properties.processors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ProcessorNodeBase"
+ }
+ }
+ }
+ },
+ sinks: {
+ required: true,
+ serializedName: "properties.sinks",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SinkNodeBase"
+ }
+ }
+ }
+ },
+ kind: {
+ required: true,
+ serializedName: "kind",
+ type: {
+ name: "String"
+ }
+ },
+ sku: {
+ required: true,
+ serializedName: "sku",
+ type: {
+ name: "Composite",
+ className: "Sku"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineTopologyUpdate: msRest.CompositeMapper = {
+ serializedName: "PipelineTopologyUpdate",
+ type: {
+ name: "Composite",
+ className: "PipelineTopologyUpdate",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDeclaration"
+ }
+ }
+ }
+ },
+ sources: {
+ serializedName: "properties.sources",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SourceNodeBase"
+ }
+ }
+ }
+ },
+ processors: {
+ serializedName: "properties.processors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ProcessorNodeBase"
+ }
+ }
+ }
+ },
+ sinks: {
+ serializedName: "properties.sinks",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SinkNodeBase"
+ }
+ }
+ }
+ },
+ kind: {
+ serializedName: "kind",
+ type: {
+ name: "String"
+ }
+ },
+ sku: {
+ serializedName: "sku",
+ type: {
+ name: "Composite",
+ className: "Sku"
+ }
+ }
+ }
+ }
+};
+
+export const LivePipeline: msRest.CompositeMapper = {
+ serializedName: "LivePipeline",
+ type: {
+ name: "Composite",
+ className: "LivePipeline",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ topologyName: {
+ required: true,
+ serializedName: "properties.topologyName",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ bitrateKbps: {
+ required: true,
+ serializedName: "properties.bitrateKbps",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.state",
+ type: {
+ name: "String"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDefinition"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const LivePipelineUpdate: msRest.CompositeMapper = {
+ serializedName: "LivePipelineUpdate",
+ type: {
+ name: "Composite",
+ className: "LivePipelineUpdate",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ topologyName: {
+ serializedName: "properties.topologyName",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ bitrateKbps: {
+ serializedName: "properties.bitrateKbps",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.state",
+ type: {
+ name: "String"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDefinition"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const PipelineJobError: msRest.CompositeMapper = {
+ serializedName: "PipelineJobError",
+ type: {
+ name: "Composite",
+ className: "PipelineJobError",
+ modelProperties: {
+ code: {
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineJob: msRest.CompositeMapper = {
+ serializedName: "PipelineJob",
+ type: {
+ name: "Composite",
+ className: "PipelineJob",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ topologyName: {
+ required: true,
+ serializedName: "properties.topologyName",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.state",
+ type: {
+ name: "String"
+ }
+ },
+ expiration: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.expiration",
+ type: {
+ name: "DateTime"
+ }
+ },
+ error: {
+ readOnly: true,
+ serializedName: "properties.error",
+ type: {
+ name: "Composite",
+ className: "PipelineJobError"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDefinition"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const PipelineJobUpdate: msRest.CompositeMapper = {
+ serializedName: "PipelineJobUpdate",
+ type: {
+ name: "Composite",
+ className: "PipelineJobUpdate",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ topologyName: {
+ serializedName: "properties.topologyName",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.state",
+ type: {
+ name: "String"
+ }
+ },
+ expiration: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.expiration",
+ type: {
+ name: "DateTime"
+ }
+ },
+ error: {
+ readOnly: true,
+ serializedName: "properties.error",
+ type: {
+ name: "Composite",
+ className: "PipelineJobError"
+ }
+ },
+ parameters: {
+ serializedName: "properties.parameters",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ParameterDefinition"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const LivePipelineOperationStatus: msRest.CompositeMapper = {
+ serializedName: "LivePipelineOperationStatus",
+ type: {
+ name: "Composite",
+ className: "LivePipelineOperationStatus",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineJobOperationStatus: msRest.CompositeMapper = {
+ serializedName: "PipelineJobOperationStatus",
+ type: {
+ name: "Composite",
+ className: "PipelineJobOperationStatus",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "OperationDisplay",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MetricDimension: msRest.CompositeMapper = {
+ serializedName: "MetricDimension",
+ type: {
+ name: "Composite",
+ className: "MetricDimension",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ displayName: {
+ readOnly: true,
+ serializedName: "displayName",
+ type: {
+ name: "String"
+ }
+ },
+ toBeExportedForShoebox: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "toBeExportedForShoebox",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MetricSpecification: msRest.CompositeMapper = {
+ serializedName: "MetricSpecification",
+ type: {
+ name: "Composite",
+ className: "MetricSpecification",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ displayName: {
+ readOnly: true,
+ serializedName: "displayName",
+ type: {
+ name: "String"
+ }
+ },
+ displayDescription: {
+ readOnly: true,
+ serializedName: "displayDescription",
+ type: {
+ name: "String"
+ }
+ },
+ unit: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "unit",
+ type: {
+ name: "String"
+ }
+ },
+ aggregationType: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "aggregationType",
+ type: {
+ name: "String"
+ }
+ },
+ lockAggregationType: {
+ nullable: true,
+ readOnly: true,
+ serializedName: "lockAggregationType",
+ type: {
+ name: "String"
+ }
+ },
+ supportedAggregationTypes: {
+ serializedName: "supportedAggregationTypes",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ dimensions: {
+ readOnly: true,
+ serializedName: "dimensions",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MetricDimension"
+ }
+ }
+ }
+ },
+ enableRegionalMdmAccount: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "enableRegionalMdmAccount",
+ type: {
+ name: "Boolean"
+ }
+ },
+ sourceMdmAccount: {
+ readOnly: true,
+ serializedName: "sourceMdmAccount",
+ type: {
+ name: "String"
+ }
+ },
+ sourceMdmNamespace: {
+ readOnly: true,
+ serializedName: "sourceMdmNamespace",
+ type: {
+ name: "String"
+ }
+ },
+ supportedTimeGrainTypes: {
+ readOnly: true,
+ serializedName: "supportedTimeGrainTypes",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const LogSpecification: msRest.CompositeMapper = {
+ serializedName: "LogSpecification",
+ type: {
+ name: "Composite",
+ className: "LogSpecification",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ displayName: {
+ readOnly: true,
+ serializedName: "displayName",
+ type: {
+ name: "String"
+ }
+ },
+ blobDuration: {
+ readOnly: true,
+ serializedName: "blobDuration",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ServiceSpecification: msRest.CompositeMapper = {
+ serializedName: "ServiceSpecification",
+ type: {
+ name: "Composite",
+ className: "ServiceSpecification",
+ modelProperties: {
+ logSpecifications: {
+ readOnly: true,
+ serializedName: "logSpecifications",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "LogSpecification"
+ }
+ }
+ }
+ },
+ metricSpecifications: {
+ readOnly: true,
+ serializedName: "metricSpecifications",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MetricSpecification"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const Properties: msRest.CompositeMapper = {
+ serializedName: "Properties",
+ type: {
+ name: "Composite",
+ className: "Properties",
+ modelProperties: {
+ serviceSpecification: {
+ readOnly: true,
+ serializedName: "serviceSpecification",
+ type: {
+ name: "Composite",
+ className: "ServiceSpecification"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ },
+ origin: {
+ serializedName: "origin",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "Properties"
+ }
+ },
+ isDataAction: {
+ nullable: true,
+ serializedName: "isDataAction",
+ type: {
+ name: "Boolean"
+ }
+ },
+ actionType: {
+ nullable: true,
+ serializedName: "actionType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceIdentity: msRest.CompositeMapper = {
+ serializedName: "ResourceIdentity",
+ type: {
+ name: "Composite",
+ className: "ResourceIdentity",
+ modelProperties: {
+ userAssignedIdentity: {
+ required: true,
+ serializedName: "userAssignedIdentity",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const StorageAccount: msRest.CompositeMapper = {
+ serializedName: "StorageAccount",
+ type: {
+ name: "Composite",
+ className: "StorageAccount",
+ modelProperties: {
+ id: {
+ required: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "ResourceIdentity"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Endpoint: msRest.CompositeMapper = {
+ serializedName: "Endpoint",
+ type: {
+ name: "Composite",
+ className: "Endpoint",
+ modelProperties: {
+ endpointUrl: {
+ serializedName: "endpointUrl",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ isConstant: true,
+ serializedName: "type",
+ defaultValue: 'ClientApi',
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const KeyVaultProperties: msRest.CompositeMapper = {
+ serializedName: "KeyVaultProperties",
+ type: {
+ name: "Composite",
+ className: "KeyVaultProperties",
+ modelProperties: {
+ keyIdentifier: {
+ required: true,
+ serializedName: "keyIdentifier",
+ type: {
+ name: "String"
+ }
+ },
+ currentKeyIdentifier: {
+ readOnly: true,
+ serializedName: "currentKeyIdentifier",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AccountEncryption: msRest.CompositeMapper = {
+ serializedName: "AccountEncryption",
+ type: {
+ name: "Composite",
+ className: "AccountEncryption",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ keyVaultProperties: {
+ serializedName: "keyVaultProperties",
+ type: {
+ name: "Composite",
+ className: "KeyVaultProperties"
+ }
+ },
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "ResourceIdentity"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const IotHub: msRest.CompositeMapper = {
+ serializedName: "IotHub",
+ type: {
+ name: "Composite",
+ className: "IotHub",
+ modelProperties: {
+ id: {
+ required: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ identity: {
+ required: true,
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "ResourceIdentity"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const GroupLevelAccessControl: msRest.CompositeMapper = {
+ serializedName: "GroupLevelAccessControl",
+ type: {
+ name: "Composite",
+ className: "GroupLevelAccessControl",
+ modelProperties: {
+ publicNetworkAccess: {
+ nullable: true,
+ serializedName: "publicNetworkAccess",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NetworkAccessControl: msRest.CompositeMapper = {
+ serializedName: "NetworkAccessControl",
+ type: {
+ name: "Composite",
+ className: "NetworkAccessControl",
+ modelProperties: {
+ integration: {
+ nullable: true,
+ serializedName: "integration",
+ type: {
+ name: "Composite",
+ className: "GroupLevelAccessControl"
+ }
+ },
+ ingestion: {
+ nullable: true,
+ serializedName: "ingestion",
+ type: {
+ name: "Composite",
+ className: "GroupLevelAccessControl"
+ }
+ },
+ consumption: {
+ nullable: true,
+ serializedName: "consumption",
+ type: {
+ name: "Composite",
+ className: "GroupLevelAccessControl"
+ }
+ }
+ }
+ }
+};
+
+export const PrivateEndpoint: msRest.CompositeMapper = {
+ serializedName: "PrivateEndpoint",
+ type: {
+ name: "Composite",
+ className: "PrivateEndpoint",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PrivateLinkServiceConnectionState: msRest.CompositeMapper = {
+ serializedName: "PrivateLinkServiceConnectionState",
+ type: {
+ name: "Composite",
+ className: "PrivateLinkServiceConnectionState",
+ modelProperties: {
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ },
+ actionsRequired: {
+ serializedName: "actionsRequired",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PrivateEndpointConnection: msRest.CompositeMapper = {
+ serializedName: "PrivateEndpointConnection",
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnection",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ privateEndpoint: {
+ serializedName: "properties.privateEndpoint",
+ type: {
+ name: "Composite",
+ className: "PrivateEndpoint"
+ }
+ },
+ privateLinkServiceConnectionState: {
+ required: true,
+ serializedName: "properties.privateLinkServiceConnectionState",
+ type: {
+ name: "Composite",
+ className: "PrivateLinkServiceConnectionState"
+ }
+ },
+ provisioningState: {
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const UserAssignedManagedIdentity: msRest.CompositeMapper = {
+ serializedName: "UserAssignedManagedIdentity",
+ type: {
+ name: "Composite",
+ className: "UserAssignedManagedIdentity",
+ modelProperties: {
+ clientId: {
+ nullable: true,
+ readOnly: true,
+ serializedName: "clientId",
+ type: {
+ name: "Uuid"
+ }
+ },
+ principalId: {
+ nullable: true,
+ readOnly: true,
+ serializedName: "principalId",
+ type: {
+ name: "Uuid"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerIdentity: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzerIdentity",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerIdentity",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ userAssignedIdentities: {
+ serializedName: "userAssignedIdentities",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "UserAssignedManagedIdentity"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerModel: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzer",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerModel",
+ modelProperties: {
+ ...TrackedResource.type.modelProperties,
+ storageAccounts: {
+ required: true,
+ serializedName: "properties.storageAccounts",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "StorageAccount"
+ }
+ }
+ }
+ },
+ endpoints: {
+ readOnly: true,
+ serializedName: "properties.endpoints",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Endpoint"
+ }
+ }
+ }
+ },
+ encryption: {
+ serializedName: "properties.encryption",
+ type: {
+ name: "Composite",
+ className: "AccountEncryption"
+ }
+ },
+ iotHubs: {
+ serializedName: "properties.iotHubs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "IotHub"
+ }
+ }
+ }
+ },
+ publicNetworkAccess: {
+ nullable: true,
+ serializedName: "properties.publicNetworkAccess",
+ type: {
+ name: "String"
+ }
+ },
+ networkAccessControl: {
+ nullable: true,
+ serializedName: "properties.networkAccessControl",
+ type: {
+ name: "Composite",
+ className: "NetworkAccessControl"
+ }
+ },
+ provisioningState: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ privateEndpointConnections: {
+ readOnly: true,
+ serializedName: "properties.privateEndpointConnections",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerIdentity"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerUpdate: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzerUpdate",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerUpdate",
+ modelProperties: {
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ storageAccounts: {
+ serializedName: "properties.storageAccounts",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "StorageAccount"
+ }
+ }
+ }
+ },
+ endpoints: {
+ readOnly: true,
+ serializedName: "properties.endpoints",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Endpoint"
+ }
+ }
+ }
+ },
+ encryption: {
+ serializedName: "properties.encryption",
+ type: {
+ name: "Composite",
+ className: "AccountEncryption"
+ }
+ },
+ iotHubs: {
+ serializedName: "properties.iotHubs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "IotHub"
+ }
+ }
+ }
+ },
+ publicNetworkAccess: {
+ nullable: true,
+ serializedName: "properties.publicNetworkAccess",
+ type: {
+ name: "String"
+ }
+ },
+ networkAccessControl: {
+ nullable: true,
+ serializedName: "properties.networkAccessControl",
+ type: {
+ name: "Composite",
+ className: "NetworkAccessControl"
+ }
+ },
+ provisioningState: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ privateEndpointConnections: {
+ readOnly: true,
+ serializedName: "properties.privateEndpointConnections",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerIdentity"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerPrivateEndpointConnectionOperationStatus: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzerPrivateEndpointConnectionOperationStatus",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerPrivateEndpointConnectionOperationStatus",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ startTime: {
+ serializedName: "startTime",
+ type: {
+ name: "String"
+ }
+ },
+ endTime: {
+ serializedName: "endTime",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ error: {
+ nullable: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerOperationStatus: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzerOperationStatus",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerOperationStatus",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ startTime: {
+ serializedName: "startTime",
+ type: {
+ name: "String"
+ }
+ },
+ endTime: {
+ serializedName: "endTime",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ error: {
+ nullable: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+export const OperationCollection: msRest.CompositeMapper = {
+ serializedName: "OperationCollection",
+ type: {
+ name: "Composite",
+ className: "OperationCollection",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzerCollection: msRest.CompositeMapper = {
+ serializedName: "VideoAnalyzerCollection",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerCollection",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzerModel"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const CheckNameAvailabilityRequest: msRest.CompositeMapper = {
+ serializedName: "CheckNameAvailabilityRequest",
+ type: {
+ name: "Composite",
+ className: "CheckNameAvailabilityRequest",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CheckNameAvailabilityResponse: msRest.CompositeMapper = {
+ serializedName: "CheckNameAvailabilityResponse",
+ type: {
+ name: "Composite",
+ className: "CheckNameAvailabilityResponse",
+ modelProperties: {
+ nameAvailable: {
+ serializedName: "nameAvailable",
+ type: {
+ name: "Boolean"
+ }
+ },
+ reason: {
+ serializedName: "reason",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PrivateEndpointConnectionListResult: msRest.CompositeMapper = {
+ serializedName: "PrivateEndpointConnectionListResult",
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnectionListResult",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnection"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const PrivateLinkResource: msRest.CompositeMapper = {
+ serializedName: "PrivateLinkResource",
+ type: {
+ name: "Composite",
+ className: "PrivateLinkResource",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ groupId: {
+ readOnly: true,
+ serializedName: "properties.groupId",
+ type: {
+ name: "String"
+ }
+ },
+ requiredMembers: {
+ readOnly: true,
+ serializedName: "properties.requiredMembers",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ requiredZoneNames: {
+ serializedName: "properties.requiredZoneNames",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const PrivateLinkResourceListResult: msRest.CompositeMapper = {
+ serializedName: "PrivateLinkResourceListResult",
+ type: {
+ name: "Composite",
+ className: "PrivateLinkResourceListResult",
+ modelProperties: {
+ value: {
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PrivateLinkResource"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const VideoPreviewImageUrls: msRest.CompositeMapper = {
+ serializedName: "VideoPreviewImageUrls",
+ type: {
+ name: "Composite",
+ className: "VideoPreviewImageUrls",
+ modelProperties: {
+ small: {
+ serializedName: "small",
+ type: {
+ name: "String"
+ }
+ },
+ medium: {
+ serializedName: "medium",
+ type: {
+ name: "String"
+ }
+ },
+ large: {
+ serializedName: "large",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoContentUrls: msRest.CompositeMapper = {
+ serializedName: "VideoContentUrls",
+ type: {
+ name: "Composite",
+ className: "VideoContentUrls",
+ modelProperties: {
+ downloadUrl: {
+ serializedName: "downloadUrl",
+ type: {
+ name: "String"
+ }
+ },
+ archiveBaseUrl: {
+ serializedName: "archiveBaseUrl",
+ type: {
+ name: "String"
+ }
+ },
+ rtspTunnelUrl: {
+ serializedName: "rtspTunnelUrl",
+ type: {
+ name: "String"
+ }
+ },
+ previewImageUrls: {
+ serializedName: "previewImageUrls",
+ type: {
+ name: "Composite",
+ className: "VideoPreviewImageUrls"
+ }
+ }
+ }
+ }
+};
+
+export const VideoFlags: msRest.CompositeMapper = {
+ serializedName: "VideoFlags",
+ type: {
+ name: "Composite",
+ className: "VideoFlags",
+ modelProperties: {
+ canStream: {
+ required: true,
+ serializedName: "canStream",
+ type: {
+ name: "Boolean"
+ }
+ },
+ hasData: {
+ required: true,
+ serializedName: "hasData",
+ type: {
+ name: "Boolean"
+ }
+ },
+ isInUse: {
+ required: true,
+ serializedName: "isInUse",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const VideoMediaInfo: msRest.CompositeMapper = {
+ serializedName: "VideoMediaInfo",
+ type: {
+ name: "Composite",
+ className: "VideoMediaInfo",
+ modelProperties: {
+ segmentLength: {
+ readOnly: true,
+ serializedName: "segmentLength",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoContentToken: msRest.CompositeMapper = {
+ serializedName: "VideoContentToken",
+ type: {
+ name: "Composite",
+ className: "VideoContentToken",
+ modelProperties: {
+ expirationDate: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "expirationDate",
+ type: {
+ name: "DateTime"
+ }
+ },
+ token: {
+ readOnly: true,
+ serializedName: "token",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoArchival: msRest.CompositeMapper = {
+ serializedName: "VideoArchival",
+ type: {
+ name: "Composite",
+ className: "VideoArchival",
+ modelProperties: {
+ retentionPeriod: {
+ serializedName: "retentionPeriod",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AuthenticationBase: msRest.CompositeMapper = {
+ serializedName: "AuthenticationBase",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "AuthenticationBase",
+ className: "AuthenticationBase",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TokenClaim: msRest.CompositeMapper = {
+ serializedName: "TokenClaim",
+ type: {
+ name: "Composite",
+ className: "TokenClaim",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ required: true,
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TokenKey: msRest.CompositeMapper = {
+ serializedName: "TokenKey",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "@type",
+ clientName: "type"
+ },
+ uberParent: "TokenKey",
+ className: "TokenKey",
+ modelProperties: {
+ kid: {
+ required: true,
+ serializedName: "kid",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "@type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const JwtAuthentication: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.JwtAuthentication",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: AuthenticationBase.type.polymorphicDiscriminator,
+ uberParent: "AuthenticationBase",
+ className: "JwtAuthentication",
+ modelProperties: {
+ ...AuthenticationBase.type.modelProperties,
+ issuers: {
+ serializedName: "issuers",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ audiences: {
+ serializedName: "audiences",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ claims: {
+ serializedName: "claims",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "TokenClaim"
+ }
+ }
+ }
+ },
+ keys: {
+ serializedName: "keys",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "TokenKey"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const RsaTokenKey: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.RsaTokenKey",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: TokenKey.type.polymorphicDiscriminator,
+ uberParent: "TokenKey",
+ className: "RsaTokenKey",
+ modelProperties: {
+ ...TokenKey.type.modelProperties,
+ alg: {
+ required: true,
+ serializedName: "alg",
+ type: {
+ name: "String"
+ }
+ },
+ n: {
+ required: true,
+ serializedName: "n",
+ type: {
+ name: "String"
+ }
+ },
+ e: {
+ required: true,
+ serializedName: "e",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EccTokenKey: msRest.CompositeMapper = {
+ serializedName: "#Microsoft.VideoAnalyzer.EccTokenKey",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: TokenKey.type.polymorphicDiscriminator,
+ uberParent: "TokenKey",
+ className: "EccTokenKey",
+ modelProperties: {
+ ...TokenKey.type.modelProperties,
+ alg: {
+ required: true,
+ serializedName: "alg",
+ type: {
+ name: "String"
+ }
+ },
+ x: {
+ required: true,
+ serializedName: "x",
+ type: {
+ name: "String"
+ }
+ },
+ y: {
+ required: true,
+ serializedName: "y",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoEntity: msRest.CompositeMapper = {
+ serializedName: "VideoEntity",
+ type: {
+ name: "Composite",
+ className: "VideoEntity",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ title: {
+ serializedName: "properties.title",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ videoEntityType: {
+ nullable: false,
+ readOnly: true,
+ serializedName: "properties.type",
+ type: {
+ name: "String"
+ }
+ },
+ flags: {
+ readOnly: true,
+ serializedName: "properties.flags",
+ type: {
+ name: "Composite",
+ className: "VideoFlags"
+ }
+ },
+ contentUrls: {
+ readOnly: true,
+ serializedName: "properties.contentUrls",
+ type: {
+ name: "Composite",
+ className: "VideoContentUrls"
+ }
+ },
+ mediaInfo: {
+ readOnly: true,
+ serializedName: "properties.mediaInfo",
+ type: {
+ name: "Composite",
+ className: "VideoMediaInfo"
+ }
+ },
+ archival: {
+ serializedName: "properties.archival",
+ type: {
+ name: "Composite",
+ className: "VideoArchival"
+ }
+ }
+ }
+ }
+};
+
+export const AccessPolicyEntity: msRest.CompositeMapper = {
+ serializedName: "AccessPolicyEntity",
+ type: {
+ name: "Composite",
+ className: "AccessPolicyEntity",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ role: {
+ nullable: true,
+ serializedName: "properties.role",
+ type: {
+ name: "String"
+ }
+ },
+ authentication: {
+ serializedName: "properties.authentication",
+ type: {
+ name: "Composite",
+ className: "AuthenticationBase"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzersCreateOrUpdateHeaders: msRest.CompositeMapper = {
+ serializedName: "videoanalyzers-createorupdate-headers",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzersCreateOrUpdateHeaders",
+ modelProperties: {
+ retryAfter: {
+ serializedName: "retry-after",
+ type: {
+ name: "Number"
+ }
+ },
+ locationHeader: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ azureAsyncOperation: {
+ serializedName: "azure-asyncoperation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoAnalyzersUpdateHeaders: msRest.CompositeMapper = {
+ serializedName: "videoanalyzers-update-headers",
+ type: {
+ name: "Composite",
+ className: "VideoAnalyzersUpdateHeaders",
+ modelProperties: {
+ retryAfter: {
+ serializedName: "retry-after",
+ type: {
+ name: "Number"
+ }
+ },
+ locationHeader: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ azureAsyncOperation: {
+ serializedName: "azure-asyncoperation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PrivateEndpointConnectionsCreateOrUpdateHeaders: msRest.CompositeMapper = {
+ serializedName: "privateendpointconnections-createorupdate-headers",
+ type: {
+ name: "Composite",
+ className: "PrivateEndpointConnectionsCreateOrUpdateHeaders",
+ modelProperties: {
+ retryAfter: {
+ serializedName: "retry-after",
+ type: {
+ name: "Number"
+ }
+ },
+ location: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ azureAsyncOperation: {
+ serializedName: "azure-asyncoperation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const EdgeModuleEntityCollection: msRest.CompositeMapper = {
+ serializedName: "EdgeModuleEntityCollection",
+ type: {
+ name: "Composite",
+ className: "EdgeModuleEntityCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "EdgeModuleEntity"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineTopologyCollection: msRest.CompositeMapper = {
+ serializedName: "PipelineTopologyCollection",
+ type: {
+ name: "Composite",
+ className: "PipelineTopologyCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PipelineTopology"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const LivePipelineCollection: msRest.CompositeMapper = {
+ serializedName: "LivePipelineCollection",
+ type: {
+ name: "Composite",
+ className: "LivePipelineCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "LivePipeline"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PipelineJobCollection: msRest.CompositeMapper = {
+ serializedName: "PipelineJobCollection",
+ type: {
+ name: "Composite",
+ className: "PipelineJobCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PipelineJob"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VideoEntityCollection: msRest.CompositeMapper = {
+ serializedName: "VideoEntityCollection",
+ type: {
+ name: "Composite",
+ className: "VideoEntityCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "VideoEntity"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AccessPolicyEntityCollection: msRest.CompositeMapper = {
+ serializedName: "AccessPolicyEntityCollection",
+ type: {
+ name: "Composite",
+ className: "AccessPolicyEntityCollection",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "AccessPolicyEntity"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "@nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const discriminators = {
+ 'NodeBase.#Microsoft.VideoAnalyzer.SourceNodeBase' : SourceNodeBase,
+ 'NodeBase.#Microsoft.VideoAnalyzer.ProcessorNodeBase' : ProcessorNodeBase,
+ 'NodeBase.#Microsoft.VideoAnalyzer.SinkNodeBase' : SinkNodeBase,
+ 'NodeBase' : NodeBase,
+ 'CredentialsBase' : CredentialsBase,
+ 'TunnelBase' : TunnelBase,
+ 'EndpointBase' : EndpointBase,
+ 'NodeBase.#Microsoft.VideoAnalyzer.RtspSource' : RtspSource,
+ 'CredentialsBase.#Microsoft.VideoAnalyzer.UsernamePasswordCredentials' : UsernamePasswordCredentials,
+ 'TunnelBase.#Microsoft.VideoAnalyzer.SecureIotDeviceRemoteTunnel' : SecureIotDeviceRemoteTunnel,
+ 'EndpointBase.#Microsoft.VideoAnalyzer.UnsecuredEndpoint' : UnsecuredEndpoint,
+ 'CertificateSource' : CertificateSource,
+ 'EndpointBase.#Microsoft.VideoAnalyzer.TlsEndpoint' : TlsEndpoint,
+ 'CertificateSource.#Microsoft.VideoAnalyzer.PemCertificateList' : PemCertificateList,
+ 'TimeSequenceBase' : TimeSequenceBase,
+ 'NodeBase.#Microsoft.VideoAnalyzer.VideoSource' : VideoSource,
+ 'TimeSequenceBase.#Microsoft.VideoAnalyzer.VideoSequenceAbsoluteTimeMarkers' : VideoSequenceAbsoluteTimeMarkers,
+ 'EncoderPresetBase' : EncoderPresetBase,
+ 'NodeBase.#Microsoft.VideoAnalyzer.EncoderProcessor' : EncoderProcessor,
+ 'EncoderPresetBase.#Microsoft.VideoAnalyzer.EncoderSystemPreset' : EncoderSystemPreset,
+ 'AudioEncoderBase' : AudioEncoderBase,
+ 'VideoEncoderBase' : VideoEncoderBase,
+ 'EncoderPresetBase.#Microsoft.VideoAnalyzer.EncoderCustomPreset' : EncoderCustomPreset,
+ 'AudioEncoderBase.#Microsoft.VideoAnalyzer.AudioEncoderAac' : AudioEncoderAac,
+ 'VideoEncoderBase.#Microsoft.VideoAnalyzer.VideoEncoderH264' : VideoEncoderH264,
+ 'NodeBase.#Microsoft.VideoAnalyzer.VideoSink' : VideoSink,
+ 'AuthenticationBase' : AuthenticationBase,
+ 'TokenKey' : TokenKey,
+ 'AuthenticationBase.#Microsoft.VideoAnalyzer.JwtAuthentication' : JwtAuthentication,
+ 'TokenKey.#Microsoft.VideoAnalyzer.RsaTokenKey' : RsaTokenKey,
+ 'TokenKey.#Microsoft.VideoAnalyzer.EccTokenKey' : EccTokenKey
+
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationResultsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationResultsMappers.ts
new file mode 100644
index 000000000000..803c914d53cb
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationResultsMappers.ts
@@ -0,0 +1,90 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationStatusesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationStatusesMappers.ts
new file mode 100644
index 000000000000..6f64aa09afab
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationStatusesMappers.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 {
+ discriminators,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ VideoAnalyzerPrivateEndpointConnectionOperationStatus
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..580ccfeafd49
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/operationsMappers.ts
@@ -0,0 +1,22 @@
+/*
+ * 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 {
+ discriminators,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ LogSpecification,
+ MetricDimension,
+ MetricSpecification,
+ Operation,
+ OperationCollection,
+ OperationDisplay,
+ Properties,
+ ServiceSpecification
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/parameters.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/parameters.ts
new file mode 100644
index 000000000000..5faac433965d
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/parameters.ts
@@ -0,0 +1,196 @@
+/*
+ * 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 accessPolicyName: msRest.OperationURLParameter = {
+ parameterPath: "accessPolicyName",
+ mapper: {
+ required: true,
+ serializedName: "accessPolicyName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const accountName: msRest.OperationURLParameter = {
+ parameterPath: "accountName",
+ mapper: {
+ required: true,
+ serializedName: "accountName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ constraints: {
+ MinLength: 1
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const edgeModuleName: msRest.OperationURLParameter = {
+ parameterPath: "edgeModuleName",
+ mapper: {
+ required: true,
+ serializedName: "edgeModuleName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const filter: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "filter"
+ ],
+ mapper: {
+ serializedName: "$filter",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const livePipelineName: msRest.OperationURLParameter = {
+ parameterPath: "livePipelineName",
+ mapper: {
+ required: true,
+ serializedName: "livePipelineName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const locationName: msRest.OperationURLParameter = {
+ parameterPath: "locationName",
+ mapper: {
+ required: true,
+ serializedName: "locationName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const name: msRest.OperationURLParameter = {
+ parameterPath: "name",
+ mapper: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const operationId: msRest.OperationURLParameter = {
+ parameterPath: "operationId",
+ mapper: {
+ required: true,
+ serializedName: "operationId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const pipelineJobName: msRest.OperationURLParameter = {
+ parameterPath: "pipelineJobName",
+ mapper: {
+ required: true,
+ serializedName: "pipelineJobName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const pipelineTopologyName: msRest.OperationURLParameter = {
+ parameterPath: "pipelineTopologyName",
+ mapper: {
+ required: true,
+ serializedName: "pipelineTopologyName",
+ type: {
+ name: "String"
+ }
+ }
+};
+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"
+ }
+ }
+};
+export const top: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "top"
+ ],
+ mapper: {
+ serializedName: "$top",
+ type: {
+ name: "Number"
+ }
+ }
+};
+export const videoName: msRest.OperationURLParameter = {
+ parameterPath: "videoName",
+ mapper: {
+ required: true,
+ serializedName: "videoName",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobOperationStatusesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobOperationStatusesMappers.ts
new file mode 100644
index 000000000000..11ef17aa41fa
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobOperationStatusesMappers.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 {
+ discriminators,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ PipelineJobOperationStatus
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobsMappers.ts
new file mode 100644
index 000000000000..940b8b23a312
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineJobsMappers.ts
@@ -0,0 +1,91 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobCollection,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineTopologiesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineTopologiesMappers.ts
new file mode 100644
index 000000000000..462aa21e10f1
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/pipelineTopologiesMappers.ts
@@ -0,0 +1,91 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyCollection,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateEndpointConnectionsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateEndpointConnectionsMappers.ts
new file mode 100644
index 000000000000..751c03cd527e
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateEndpointConnectionsMappers.ts
@@ -0,0 +1,92 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateEndpointConnectionListResult,
+ PrivateEndpointConnectionsCreateOrUpdateHeaders,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateLinkResourcesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateLinkResourcesMappers.ts
new file mode 100644
index 000000000000..3df963b56b36
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/privateLinkResourcesMappers.ts
@@ -0,0 +1,91 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkResourceListResult,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationResultsMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationResultsMappers.ts
new file mode 100644
index 000000000000..803c914d53cb
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationResultsMappers.ts
@@ -0,0 +1,90 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationStatusesMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationStatusesMappers.ts
new file mode 100644
index 000000000000..753831f9b410
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzerOperationStatusesMappers.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 {
+ discriminators,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ VideoAnalyzerOperationStatus
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzersMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzersMappers.ts
new file mode 100644
index 000000000000..6cda9c2a9b10
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videoAnalyzersMappers.ts
@@ -0,0 +1,94 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerCollection,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoAnalyzersCreateOrUpdateHeaders,
+ VideoAnalyzersUpdateHeaders,
+ VideoAnalyzerUpdate,
+ VideoArchival,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/models/videosMappers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videosMappers.ts
new file mode 100644
index 000000000000..693d2c40a722
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/models/videosMappers.ts
@@ -0,0 +1,92 @@
+/*
+ * 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 {
+ discriminators,
+ AccessPolicyEntity,
+ AccountEncryption,
+ AudioEncoderAac,
+ AudioEncoderBase,
+ AuthenticationBase,
+ AzureEntityResource,
+ BaseResource,
+ CertificateSource,
+ CredentialsBase,
+ EccTokenKey,
+ EdgeModuleEntity,
+ EncoderCustomPreset,
+ EncoderPresetBase,
+ EncoderProcessor,
+ EncoderSystemPreset,
+ Endpoint,
+ EndpointBase,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ GroupLevelAccessControl,
+ IotHub,
+ JwtAuthentication,
+ KeyVaultProperties,
+ LivePipeline,
+ LivePipelineUpdate,
+ NetworkAccessControl,
+ NodeBase,
+ NodeInput,
+ ParameterDeclaration,
+ ParameterDefinition,
+ PemCertificateList,
+ PipelineJob,
+ PipelineJobError,
+ PipelineJobUpdate,
+ PipelineTopology,
+ PipelineTopologyUpdate,
+ PrivateEndpoint,
+ PrivateEndpointConnection,
+ PrivateLinkResource,
+ PrivateLinkServiceConnectionState,
+ ProcessorNodeBase,
+ ProxyResource,
+ Resource,
+ ResourceIdentity,
+ RsaTokenKey,
+ RtspSource,
+ SecureIotDeviceRemoteTunnel,
+ SinkNodeBase,
+ Sku,
+ SourceNodeBase,
+ StorageAccount,
+ SystemData,
+ TimeSequenceBase,
+ TlsEndpoint,
+ TlsValidationOptions,
+ TokenClaim,
+ TokenKey,
+ TrackedResource,
+ TunnelBase,
+ UnsecuredEndpoint,
+ UserAssignedManagedIdentity,
+ UsernamePasswordCredentials,
+ VideoAnalyzerIdentity,
+ VideoAnalyzerModel,
+ VideoArchival,
+ VideoContentToken,
+ VideoContentUrls,
+ VideoCreationProperties,
+ VideoEncoderBase,
+ VideoEncoderH264,
+ VideoEntity,
+ VideoEntityCollection,
+ VideoFlags,
+ VideoMediaInfo,
+ VideoPreviewImageUrls,
+ VideoPublishingOptions,
+ VideoScale,
+ VideoSequenceAbsoluteTimeMarkers,
+ VideoSink,
+ VideoSource
+} from "../models/mappers";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/accessPolicies.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/accessPolicies.ts
new file mode 100644
index 000000000000..314438534195
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/accessPolicies.ts
@@ -0,0 +1,418 @@
+/*
+ * 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/accessPoliciesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a AccessPolicies. */
+export class AccessPolicies {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a AccessPolicies.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Retrieves all existing access policy resources, along with their JSON representations.
+ * @summary List all existing access policy resources.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, accountName: string, options?: Models.AccessPoliciesListOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, options: Models.AccessPoliciesListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, accountName: string, options?: Models.AccessPoliciesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves an existing access policy resource with the given name.
+ * @summary Retrieves an existing access policy resource.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, accessPolicyName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, accessPolicyName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, accessPolicyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, accessPolicyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ accessPolicyName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates a new access policy resource or updates an existing one with the given name.
+ * @summary Creates a new access policy resource or updates an existing one.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ accessPolicyName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Deletes an existing access policy resource with the given name.
+ * @summary Deletes an existing access policy resource.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, accessPolicyName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, accessPolicyName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, accessPolicyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, accountName: string, accessPolicyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ accessPolicyName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Updates individual properties of an existing access policy resource with the given name.
+ * @summary Updates individual properties of an existing access policy resource.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param accessPolicyName The Access Policy name.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, accountName: string, accessPolicyName: string, parameters: Models.AccessPolicyEntity, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ accessPolicyName,
+ parameters,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves all existing access policy resources, along with their JSON representations.
+ * @summary List all existing access policy resources.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: Models.AccessPoliciesListNextOptionalParams): 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: Models.AccessPoliciesListNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: Models.AccessPoliciesListNextOptionalParams | 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: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccessPolicyEntityCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies/{accessPolicyName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.accessPolicyName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccessPolicyEntity
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies/{accessPolicyName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.accessPolicyName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.AccessPolicyEntity,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccessPolicyEntity
+ },
+ 201: {
+ bodyMapper: Mappers.AccessPolicyEntity
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies/{accessPolicyName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.accessPolicyName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/accessPolicies/{accessPolicyName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.accessPolicyName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.AccessPolicyEntity,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccessPolicyEntity
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccessPolicyEntityCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/edgeModules.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/edgeModules.ts
new file mode 100644
index 000000000000..26b1f316befd
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/edgeModules.ts
@@ -0,0 +1,436 @@
+/*
+ * 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/edgeModulesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a EdgeModules. */
+export class EdgeModules {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a EdgeModules.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * List all existing edge module resources, along with their JSON representations.
+ * @summary List all existing edge module resources.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, accountName: string, options?: Models.EdgeModulesListOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, options: Models.EdgeModulesListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, accountName: string, options?: Models.EdgeModulesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves an existing edge module resource with the given name.
+ * @summary Retrieves an existing edge module resource.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, edgeModuleName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, edgeModuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ edgeModuleName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates a new edge module or updates an existing one. An edge module resource enables a single
+ * instance of an Azure Video Analyzer IoT edge module to interact with the Video Analyzer Account.
+ * This is used for authorization and also to make sure that the particular edge module instance
+ * only has access to the data it requires from the Azure Video Analyzer service. A new edge module
+ * resource should be created for every new instance of an Azure Video Analyzer edge module
+ * deployed to you Azure IoT edge environment. Edge module resources can be deleted if the specific
+ * module is not in use anymore.
+ * @summary Creates a new edge module or updates an existing one.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, edgeModuleName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, edgeModuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ edgeModuleName,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Deletes an existing edge module resource. Deleting the edge module resource will prevent an
+ * Azure Video Analyzer IoT edge module which was previously initiated with the module provisioning
+ * token from communicating with the cloud.
+ * @summary Deletes an existing edge module resource.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, edgeModuleName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, edgeModuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, accountName: string, edgeModuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ edgeModuleName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Creates a new provisioning token. A provisioning token allows for a single instance of Azure
+ * Video analyzer IoT edge module to be initialized and authorized to the cloud account. The
+ * provisioning token itself is short lived and it is only used for the initial handshake between
+ * IoT edge module and the cloud. After the initial handshake, the IoT edge module will agree on a
+ * set of authentication keys which will be auto-rotated as long as the module is able to
+ * periodically connect to the cloud. A new provisioning token can be generated for the same IoT
+ * edge module in case the module state lost or reset.
+ * @summary Creates a new provisioning token.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param expirationDate The desired expiration date of the registration token. The Azure Video
+ * Analyzer IoT edge module must be initialized and connected to the Internet prior to the token
+ * expiration date.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listProvisioningToken(resourceGroupName: string, accountName: string, edgeModuleName: string, expirationDate: Date | string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param expirationDate The desired expiration date of the registration token. The Azure Video
+ * Analyzer IoT edge module must be initialized and connected to the Internet prior to the token
+ * expiration date.
+ * @param callback The callback
+ */
+ listProvisioningToken(resourceGroupName: string, accountName: string, edgeModuleName: string, expirationDate: Date | string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param edgeModuleName The Edge Module name.
+ * @param expirationDate The desired expiration date of the registration token. The Azure Video
+ * Analyzer IoT edge module must be initialized and connected to the Internet prior to the token
+ * expiration date.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listProvisioningToken(resourceGroupName: string, accountName: string, edgeModuleName: string, expirationDate: Date | string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listProvisioningToken(resourceGroupName: string, accountName: string, edgeModuleName: string, expirationDate: Date | string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ edgeModuleName,
+ expirationDate,
+ options
+ },
+ listProvisioningTokenOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * List all existing edge module resources, along with their JSON representations.
+ * @summary List all existing edge module resources.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: Models.EdgeModulesListNextOptionalParams): 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: Models.EdgeModulesListNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: Models.EdgeModulesListNextOptionalParams | 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: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.EdgeModuleEntityCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.edgeModuleName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.EdgeModuleEntity
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.edgeModuleName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.EdgeModuleEntity,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.EdgeModuleEntity
+ },
+ 201: {
+ bodyMapper: Mappers.EdgeModuleEntity
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.edgeModuleName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listProvisioningTokenOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/edgeModules/{edgeModuleName}/listProvisioningToken",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.edgeModuleName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: {
+ expirationDate: "expirationDate"
+ },
+ mapper: {
+ ...Mappers.ListProvisioningTokenInput,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.EdgeModuleProvisioningToken
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.EdgeModuleEntityCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/index.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/index.ts
new file mode 100644
index 000000000000..25f3190a75f0
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/index.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.
+ */
+
+export * from "./edgeModules";
+export * from "./pipelineTopologies";
+export * from "./livePipelines";
+export * from "./pipelineJobs";
+export * from "./livePipelineOperationStatuses";
+export * from "./pipelineJobOperationStatuses";
+export * from "./operations";
+export * from "./videoAnalyzers";
+export * from "./privateLinkResources";
+export * from "./privateEndpointConnections";
+export * from "./operationStatuses";
+export * from "./operationResults";
+export * from "./videoAnalyzerOperationStatuses";
+export * from "./videoAnalyzerOperationResults";
+export * from "./locations";
+export * from "./videos";
+export * from "./accessPolicies";
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelineOperationStatuses.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelineOperationStatuses.ts
new file mode 100644
index 000000000000..26ee17d4834b
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelineOperationStatuses.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/livePipelineOperationStatusesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a LivePipelineOperationStatuses. */
+export class LivePipelineOperationStatuses {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a LivePipelineOperationStatuses.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get the operation status of a live pipeline.
+ * @summary Get the operation status
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param operationId The operation ID.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param operationId The operation ID.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, operationId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param operationId The operation ID.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ operationId,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/operationStatuses/{operationId}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName,
+ Parameters.operationId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipelineOperationStatus
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelines.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelines.ts
new file mode 100644
index 000000000000..a30d535cb9d2
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/livePipelines.ts
@@ -0,0 +1,546 @@
+/*
+ * 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 msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/livePipelinesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a LivePipelines. */
+export class LivePipelines {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a LivePipelines.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Retrieves a list of live pipelines that have been created, along with their JSON
+ * representations.
+ * @summary Retrieves a list of live pipelines.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, accountName: string, options?: Models.LivePipelinesListOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, options: Models.LivePipelinesListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, accountName: string, options?: Models.LivePipelinesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves a specific live pipeline by name. If a live pipeline with that name has been
+ * previously created, the call will return the JSON representation of that instance.
+ * @summary Retrieves a specific live pipeline by name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates a new live pipeline or updates an existing one, with the given name.
+ * @summary Creates or updates a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipeline, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipeline, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipeline, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipeline, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Deletes a live pipeline with the given name.
+ * @summary Deletes a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, livePipelineName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, livePipelineName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Updates an existing live pipeline with the given name. Properties that can be updated include:
+ * description, bitrateKbps, and parameter definitions. Only the description can be updated while
+ * the live pipeline is active.
+ * @summary Updates an existing live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipelineUpdate, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipelineUpdate, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipelineUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, accountName: string, livePipelineName: string, parameters: Models.LivePipelineUpdate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ parameters,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Activates a live pipeline with the given name.
+ * @summary Activates a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ activate(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginActivate(resourceGroupName,accountName,livePipelineName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Deactivates a live pipeline with the given name.
+ * @summary Deactivates a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deactivate(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginDeactivate(resourceGroupName,accountName,livePipelineName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Activates a live pipeline with the given name.
+ * @summary Activates a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginActivate(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ options
+ },
+ beginActivateOperationSpec,
+ options);
+ }
+
+ /**
+ * Deactivates a live pipeline with the given name.
+ * @summary Deactivates a live pipeline.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param livePipelineName Live pipeline unique identifier.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginDeactivate(resourceGroupName: string, accountName: string, livePipelineName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ accountName,
+ livePipelineName,
+ options
+ },
+ beginDeactivateOperationSpec,
+ options);
+ }
+
+ /**
+ * Retrieves a list of live pipelines that have been created, along with their JSON
+ * representations.
+ * @summary Retrieves a list of live pipelines.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: Models.LivePipelinesListNextOptionalParams): 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: Models.LivePipelinesListNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: Models.LivePipelinesListNextOptionalParams | 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: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.filter,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipelineCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipeline
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.LivePipeline,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipeline
+ },
+ 201: {
+ bodyMapper: Mappers.LivePipeline
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.LivePipelineUpdate,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipeline
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginActivateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/activate",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 202: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginDeactivateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/livePipelines/{livePipelineName}/deactivate",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.livePipelineName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 202: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.filter,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.LivePipelineCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/locations.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/locations.ts
new file mode 100644
index 000000000000..c618530b1707
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/locations.ts
@@ -0,0 +1,93 @@
+/*
+ * 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/locationsMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a Locations. */
+export class Locations {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a Locations.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Checks whether the Video Analyzer resource name is available.
+ * @summary Check Name Availability
+ * @param locationName Location Name.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ checkNameAvailability(locationName: string, parameters: Models.CheckNameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param locationName Location Name.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ checkNameAvailability(locationName: string, parameters: Models.CheckNameAvailabilityRequest, callback: msRest.ServiceCallback): void;
+ /**
+ * @param locationName Location Name.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ checkNameAvailability(locationName: string, parameters: Models.CheckNameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ checkNameAvailability(locationName: string, parameters: Models.CheckNameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ locationName,
+ parameters,
+ options
+ },
+ checkNameAvailabilityOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const checkNameAvailabilityOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.locationName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.CheckNameAvailabilityRequest,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.CheckNameAvailabilityResponse
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationResults.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationResults.ts
new file mode 100644
index 000000000000..7aea9bd5cf93
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationResults.ts
@@ -0,0 +1,96 @@
+/*
+ * 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 msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationResultsMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a OperationResults. */
+export class OperationResults {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a OperationResults.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get private endpoint connection operation result.
+ * @summary Get operation result.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Video Analyzer account name.
+ * @param name Private endpoint connection name.
+ * @param operationId Operation Id.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, name: string, operationId: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginGet(resourceGroupName,accountName,name,operationId,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Get private endpoint connection operation result.
+ * @summary Get operation result.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Video Analyzer account name.
+ * @param name Private endpoint connection name.
+ * @param operationId Operation Id.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginGet(resourceGroupName: string, accountName: string, name: string, operationId: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ accountName,
+ name,
+ operationId,
+ options
+ },
+ beginGetOperationSpec,
+ options);
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const beginGetOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}/operationResults/{operationId}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.name,
+ Parameters.operationId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.PrivateEndpointConnection
+ },
+ 202: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationStatuses.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationStatuses.ts
new file mode 100644
index 000000000000..c365370bfcb7
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operationStatuses.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/operationStatusesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a OperationStatuses. */
+export class OperationStatuses {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a OperationStatuses.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get private endpoint connection operation status.
+ * @summary Get operation status.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Video Analyzer account name.
+ * @param name Private endpoint connection name.
+ * @param operationId Operation Id.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, name: string, operationId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Video Analyzer account name.
+ * @param name Private endpoint connection name.
+ * @param operationId Operation Id.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, name: string, operationId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Video Analyzer account name.
+ * @param name Private endpoint connection name.
+ * @param operationId Operation Id.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, name: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, name: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ name,
+ operationId,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}/operationStatuses/{operationId}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.name,
+ Parameters.operationId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.VideoAnalyzerPrivateEndpointConnectionOperationStatus
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operations.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operations.ts
new file mode 100644
index 000000000000..b0a68fdac111
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/operations.ts
@@ -0,0 +1,74 @@
+/*
+ * 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 { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a Operations.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all the Media operations.
+ * @summary List 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;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Media/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationCollection
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobOperationStatuses.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobOperationStatuses.ts
new file mode 100644
index 000000000000..7e5c6caa5a5e
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobOperationStatuses.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/pipelineJobOperationStatusesMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a PipelineJobOperationStatuses. */
+export class PipelineJobOperationStatuses {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a PipelineJobOperationStatuses.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Get the operation status of a pipeline job with the given operationId.
+ * @summary Get the operation statuses.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param operationId The operation ID.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param operationId The operation ID.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, operationId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param operationId The operation ID.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ operationId,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}/operationStatuses/{operationId}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.pipelineJobName,
+ Parameters.operationId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.PipelineJobOperationStatus
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobs.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobs.ts
new file mode 100644
index 000000000000..21f709ae3544
--- /dev/null
+++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineJobs.ts
@@ -0,0 +1,485 @@
+/*
+ * 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 msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/pipelineJobsMappers";
+import * as Parameters from "../models/parameters";
+import { VideoAnalyzerContext } from "../videoAnalyzerContext";
+
+/** Class representing a PipelineJobs. */
+export class PipelineJobs {
+ private readonly client: VideoAnalyzerContext;
+
+ /**
+ * Create a PipelineJobs.
+ * @param {VideoAnalyzerContext} client Reference to the service client.
+ */
+ constructor(client: VideoAnalyzerContext) {
+ this.client = client;
+ }
+
+ /**
+ * Retrieves a list of all live pipelines that have been created, along with their JSON
+ * representations.
+ * @summary Retrieves a list of pipeline jobs.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, accountName: string, options?: Models.PipelineJobsListOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, accountName: string, options: Models.PipelineJobsListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, accountName: string, options?: Models.PipelineJobsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves a specific pipeline job by name. If a pipeline job with that name has been previously
+ * created, the call will return the JSON representation of that instance.
+ * @summary Gets a specific pipeline job by name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates a new pipeline job or updates an existing one, with the given name.
+ * @summary Creates or updates a pipeline job.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJob, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJob, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJob, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJob, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Deletes a pipeline job with the given name.
+ * @summary Deletes a pipeline job.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, pipelineJobName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, pipelineJobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Updates an existing pipeline job with the given name. Properties that can be updated include:
+ * description.
+ * @summary Updates an existing pipeline job.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJobUpdate, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJobUpdate, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param parameters The request parameters
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJobUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, accountName: string, pipelineJobName: string, parameters: Models.PipelineJobUpdate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ parameters,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Cancels a pipeline job with the given name.
+ * @summary Cancels a pipeline job.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ cancel(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCancel(resourceGroupName,accountName,pipelineJobName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * Cancels a pipeline job with the given name.
+ * @summary Cancels a pipeline job.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName The Azure Video Analyzer account name.
+ * @param pipelineJobName The pipeline job name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCancel(resourceGroupName: string, accountName: string, pipelineJobName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ accountName,
+ pipelineJobName,
+ options
+ },
+ beginCancelOperationSpec,
+ options);
+ }
+
+ /**
+ * Retrieves a list of all live pipelines that have been created, along with their JSON
+ * representations.
+ * @summary Retrieves a list of pipeline jobs.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: Models.PipelineJobsListNextOptionalParams): 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: Models.PipelineJobsListNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: Models.PipelineJobsListNextOptionalParams | msRest.ServiceCallback