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, 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}/pipelineJobs", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PipelineJobCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineJobName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PipelineJob + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineJobName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PipelineJob, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PipelineJob + }, + 201: { + bodyMapper: Mappers.PipelineJob + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineJobName + ], + 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}/pipelineJobs/{pipelineJobName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineJobName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PipelineJobUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PipelineJob + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCancelOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineJobs/{pipelineJobName}/cancel", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineJobName + ], + 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.PipelineJobCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineTopologies.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineTopologies.ts new file mode 100644 index 000000000000..5787feb4977c --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/pipelineTopologies.ts @@ -0,0 +1,430 @@ +/* + * 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/pipelineTopologiesMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a PipelineTopologies. */ +export class PipelineTopologies { + private readonly client: VideoAnalyzerContext; + + /** + * Create a PipelineTopologies. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Retrieves a list of pipeline topologies that have been added to the account, if any, along with + * their JSON representation. + * @summary Retrieves a list of pipeline topologies. + * @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.PipelineTopologiesListOptionalParams): 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.PipelineTopologiesListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, accountName: string, options?: Models.PipelineTopologiesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a specific pipeline topology by name. If a topology with that name has been previously + * created, the call will return the JSON representation of that topology. + * @summary Retrieves a specific pipeline topology by name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param pipelineTopologyName Pipeline topology unique identifier. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, pipelineTopologyName: 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 pipelineTopologyName Pipeline topology unique identifier. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, pipelineTopologyName: 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 pipelineTopologyName Pipeline topology unique identifier. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, pipelineTopologyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, pipelineTopologyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + pipelineTopologyName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates a new pipeline topology or updates an existing one, with the given name. A 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. + * @summary Creates or updates a pipeline topology. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopology, 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 pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopology, 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 pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopology, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopology, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + pipelineTopologyName, + parameters, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Deletes a pipeline topology with the given name. This method should be called after all + * instances of the topology have been stopped and deleted. + * @summary Deletes a pipeline topology. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param pipelineTopologyName Pipeline topology unique identifier. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, pipelineTopologyName: 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 pipelineTopologyName Pipeline topology unique identifier. + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, pipelineTopologyName: 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 pipelineTopologyName Pipeline topology unique identifier. + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, pipelineTopologyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, pipelineTopologyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + pipelineTopologyName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * Updates an existing pipeline topology with the given name. If the associated live pipelines or + * pipeline jobs are in active or processing state, respectively, then only the description can be + * updated. Else, the properties that can be updated include: description, parameter declarations, + * sources, processors, and sinks. + * @summary Updates an existing pipeline topology. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopologyUpdate, 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 pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopologyUpdate, 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 pipelineTopologyName Pipeline topology unique identifier. + * @param parameters The request parameters + * @param options The optional parameters + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopologyUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, accountName: string, pipelineTopologyName: string, parameters: Models.PipelineTopologyUpdate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + pipelineTopologyName, + parameters, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of pipeline topologies that have been added to the account, if any, along with + * their JSON representation. + * @summary Retrieves a list of pipeline topologies. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: Models.PipelineTopologiesListNextOptionalParams): 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.PipelineTopologiesListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.PipelineTopologiesListNextOptionalParams | 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}/pipelineTopologies", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PipelineTopologyCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineTopologies/{pipelineTopologyName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineTopologyName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PipelineTopology + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineTopologies/{pipelineTopologyName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineTopologyName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PipelineTopology, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PipelineTopology + }, + 201: { + bodyMapper: Mappers.PipelineTopology + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/pipelineTopologies/{pipelineTopologyName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineTopologyName + ], + 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}/pipelineTopologies/{pipelineTopologyName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.pipelineTopologyName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PipelineTopologyUpdate, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.PipelineTopology + }, + 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.PipelineTopologyCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateEndpointConnections.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..499b94dbbf8e --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateEndpointConnections.ts @@ -0,0 +1,288 @@ +/* + * 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/privateEndpointConnectionsMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a PrivateEndpointConnections. */ +export class PrivateEndpointConnections { + private readonly client: VideoAnalyzerContext; + + /** + * Create a PrivateEndpointConnections. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Get all private endpoint connections under video analyzer account. + * @summary Get all private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, accountName: 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 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 Video Analyzer account name. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Get private endpoint connection under video analyzer account. + * @summary Get private endpoint connection. + * @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 [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, name: 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 callback The callback + */ + get(resourceGroupName: string, accountName: string, name: 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 options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + name, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Update private endpoint connection state under video analyzer account. + * @summary Update private endpoint connection. + * @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 parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, accountName: string, name: string, parameters: Models.PrivateEndpointConnection, 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 parameters The request parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, name: string, parameters: Models.PrivateEndpointConnection, 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 parameters The request parameters + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, name: string, parameters: Models.PrivateEndpointConnection, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, accountName: string, name: string, parameters: Models.PrivateEndpointConnection, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + name, + parameters, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Delete private endpoint connection under video analyzer account. + * @summary Delete private endpoint connection. + * @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 [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, name: 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 callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, name: 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 options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + name, + options + }, + deleteMethodOperationSpec, + callback); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.name + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.name + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.PrivateEndpointConnection, + required: true + } + }, + responses: { + 201: { + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsCreateOrUpdateHeaders + }, + default: { + bodyMapper: Mappers.ErrorResponse, + headersMapper: Mappers.PrivateEndpointConnectionsCreateOrUpdateHeaders + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateEndpointConnections/{name}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.name + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateLinkResources.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..394b97337e22 --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/privateLinkResources.ts @@ -0,0 +1,150 @@ +/* + * 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/privateLinkResourcesMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a PrivateLinkResources. */ +export class PrivateLinkResources { + private readonly client: VideoAnalyzerContext; + + /** + * Create a PrivateLinkResources. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Get list of group IDs for video analyzer account. + * @summary Get list of group IDs. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, accountName: 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 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 Video Analyzer account name. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Get group ID for video analyzer account. + * @summary Get group ID. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param name Name of the private link resource (Group ID). + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, name: 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 Name of the private link resource (Group ID). + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, name: 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 Name of the private link resource (Group ID). + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + name, + options + }, + getOperationSpec, + 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}/privateLinkResources", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/privateLinkResources/{name}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.name + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationResults.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationResults.ts new file mode 100644 index 000000000000..3cf93baee715 --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationResults.ts @@ -0,0 +1,88 @@ +/* + * 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/videoAnalyzerOperationResultsMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a VideoAnalyzerOperationResults. */ +export class VideoAnalyzerOperationResults { + private readonly client: VideoAnalyzerContext; + + /** + * Create a VideoAnalyzerOperationResults. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Get video analyzer operation result. + * @summary Get operation result. + * @param locationName Location name. + * @param operationId Operation Id. + * @param [options] The optional parameters + * @returns Promise + */ + get(locationName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginGet(locationName,operationId,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Get video analyzer operation result. + * @summary Get operation result. + * @param locationName Location name. + * @param operationId Operation Id. + * @param [options] The optional parameters + * @returns Promise + */ + beginGet(locationName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + locationName, + operationId, + options + }, + beginGetOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const beginGetOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/videoAnalyzerOperationResults/{operationId}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.locationName, + Parameters.operationId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerModel + }, + 202: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationStatuses.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationStatuses.ts new file mode 100644 index 000000000000..bb22f2ec6a73 --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzerOperationStatuses.ts @@ -0,0 +1,87 @@ +/* + * 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/videoAnalyzerOperationStatusesMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a VideoAnalyzerOperationStatuses. */ +export class VideoAnalyzerOperationStatuses { + private readonly client: VideoAnalyzerContext; + + /** + * Create a VideoAnalyzerOperationStatuses. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Get video analyzer operation status. + * @summary Get operation status. + * @param locationName Location name. + * @param operationId Operation Id. + * @param [options] The optional parameters + * @returns Promise + */ + get(locationName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param locationName Location name. + * @param operationId Operation Id. + * @param callback The callback + */ + get(locationName: string, operationId: string, callback: msRest.ServiceCallback): void; + /** + * @param locationName Location name. + * @param operationId Operation Id. + * @param options The optional parameters + * @param callback The callback + */ + get(locationName: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(locationName: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + locationName, + operationId, + options + }, + getOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/videoAnalyzerOperationStatuses/{operationId}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.locationName, + Parameters.operationId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerOperationStatus + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzers.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzers.ts new file mode 100644 index 000000000000..5debda0816ff --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videoAnalyzers.ts @@ -0,0 +1,388 @@ +/* + * 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/videoAnalyzersMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a VideoAnalyzers. */ +export class VideoAnalyzers { + private readonly client: VideoAnalyzerContext; + + /** + * Create a VideoAnalyzers. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Lists the Video Analyzer accounts in the specified resource group. + * @summary List Video Analyzer accounts + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Get the details of the specified Video Analyzer account + * @summary Get a Video Analyzer account + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Create or update an instance of a Video Analyzer account + * @summary Create or update a Video Analyzer account + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, accountName: string, parameters: Models.VideoAnalyzerModel, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,accountName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Delete the specified Video Analyzer account + * @summary Delete a Video Analyzer account. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * Updates an existing instance of Video Analyzer account + * @summary Update a Video Analyzer account + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, accountName: string, parameters: Models.VideoAnalyzerUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,accountName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * List all Video Analyzer accounts in the specified subscription. + * @summary List Video Analyzer accounts + * @param [options] The optional parameters + * @returns Promise + */ + listBySubscription(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listBySubscription(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listBySubscriptionOperationSpec, + callback) as Promise; + } + + /** + * Create or update an instance of a Video Analyzer account + * @summary Create or update a Video Analyzer account + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, accountName: string, parameters: Models.VideoAnalyzerModel, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + accountName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates an existing instance of Video Analyzer account + * @summary Update a Video Analyzer account + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Video Analyzer account name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, accountName: string, parameters: Models.VideoAnalyzerUpdate, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + accountName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerModel + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listBySubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Media/videoAnalyzers", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VideoAnalyzerModel, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VideoAnalyzerModel, + headersMapper: Mappers.VideoAnalyzersCreateOrUpdateHeaders + }, + 201: { + bodyMapper: Mappers.VideoAnalyzerModel, + headersMapper: Mappers.VideoAnalyzersCreateOrUpdateHeaders + }, + default: { + bodyMapper: Mappers.ErrorResponse, + headersMapper: Mappers.VideoAnalyzersCreateOrUpdateHeaders + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VideoAnalyzerUpdate, + required: true + } + }, + responses: { + 202: { + bodyMapper: Mappers.VideoAnalyzerModel, + headersMapper: Mappers.VideoAnalyzersUpdateHeaders + }, + default: { + bodyMapper: Mappers.ErrorResponse, + headersMapper: Mappers.VideoAnalyzersUpdateHeaders + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videos.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videos.ts new file mode 100644 index 000000000000..a17d7770f4db --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/operations/videos.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 Models from "../models"; +import * as Mappers from "../models/videosMappers"; +import * as Parameters from "../models/parameters"; +import { VideoAnalyzerContext } from "../videoAnalyzerContext"; + +/** Class representing a Videos. */ +export class Videos { + private readonly client: VideoAnalyzerContext; + + /** + * Create a Videos. + * @param {VideoAnalyzerContext} client Reference to the service client. + */ + constructor(client: VideoAnalyzerContext) { + this.client = client; + } + + /** + * Retrieves a list of video resources that have been created, along with their JSON + * representations. + * @summary Retrieves all existing video 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.VideosListOptionalParams): 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.VideosListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, accountName: string, options?: Models.VideosListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Retrieves an existing video resource with the given name. + * @summary Retrieves an existing video resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param videoName The Video name. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, videoName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, videoName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + videoName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates a new video resource or updates an existing video resource with the given name. + * @summary Creates a new video 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 videoName The Video name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, 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 videoName The Video name. + * @param parameters The request parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, 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 videoName The Video name. + * @param parameters The request parameters + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + videoName, + parameters, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Deletes an existing video resource and its underlying data. This operation is irreversible. + * @summary Deletes an existing video resource and its underlying data. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param videoName The Video name. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(resourceGroupName: string, accountName: string, videoName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, accountName: string, videoName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + videoName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * Updates individual properties of an existing video resource with the given name. + * @summary Updates individual properties of an existing video resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param videoName The Video name. + * @param parameters The request parameters + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, 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 videoName The Video name. + * @param parameters The request parameters + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, 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 videoName The Video name. + * @param parameters The request parameters + * @param options The optional parameters + * @param callback The callback + */ + update(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, accountName: string, videoName: string, parameters: Models.VideoEntity, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + videoName, + parameters, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * Generates a streaming token which can be used for accessing content from video content URLs, for + * a video resource with the given name. + * @summary Generates a streaming token which can be used for accessing content from video content + * URLs. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The Azure Video Analyzer account name. + * @param videoName The Video name. + * @param [options] The optional parameters + * @returns Promise + */ + listContentToken(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param callback The callback + */ + listContentToken(resourceGroupName: string, accountName: string, videoName: 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 videoName The Video name. + * @param options The optional parameters + * @param callback The callback + */ + listContentToken(resourceGroupName: string, accountName: string, videoName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listContentToken(resourceGroupName: string, accountName: string, videoName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + videoName, + options + }, + listContentTokenOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of video resources that have been created, along with their JSON + * representations. + * @summary Retrieves all existing video 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.VideosListNextOptionalParams): 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.VideosListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.VideosListNextOptionalParams | 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}/videos", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.top + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoEntityCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.videoName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoEntity + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.videoName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VideoEntity, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VideoEntity + }, + 201: { + bodyMapper: Mappers.VideoEntity + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.videoName + ], + 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}/videos/{videoName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.videoName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.VideoEntity, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.VideoEntity + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listContentTokenOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/videoAnalyzers/{accountName}/videos/{videoName}/listContentToken", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.videoName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VideoContentToken + }, + 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.VideoEntityCollection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzer.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzer.ts new file mode 100644 index 000000000000..2153f23374bf --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzer.ts @@ -0,0 +1,79 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import { TokenCredential } from "@azure/core-auth"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as operations from "./operations"; +import { VideoAnalyzerContext } from "./videoAnalyzerContext"; + + +class VideoAnalyzer extends VideoAnalyzerContext { + // Operation groups + edgeModules: operations.EdgeModules; + pipelineTopologies: operations.PipelineTopologies; + livePipelines: operations.LivePipelines; + pipelineJobs: operations.PipelineJobs; + livePipelineOperationStatuses: operations.LivePipelineOperationStatuses; + pipelineJobOperationStatuses: operations.PipelineJobOperationStatuses; + operations: operations.Operations; + videoAnalyzers: operations.VideoAnalyzers; + privateLinkResources: operations.PrivateLinkResources; + privateEndpointConnections: operations.PrivateEndpointConnections; + operationStatuses: operations.OperationStatuses; + operationResults: operations.OperationResults; + videoAnalyzerOperationStatuses: operations.VideoAnalyzerOperationStatuses; + videoAnalyzerOperationResults: operations.VideoAnalyzerOperationResults; + locations: operations.Locations; + videos: operations.Videos; + accessPolicies: operations.AccessPolicies; + + /** + * Initializes a new instance of the VideoAnalyzer class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.VideoAnalyzerOptions) { + super(credentials, subscriptionId, options); + this.edgeModules = new operations.EdgeModules(this); + this.pipelineTopologies = new operations.PipelineTopologies(this); + this.livePipelines = new operations.LivePipelines(this); + this.pipelineJobs = new operations.PipelineJobs(this); + this.livePipelineOperationStatuses = new operations.LivePipelineOperationStatuses(this); + this.pipelineJobOperationStatuses = new operations.PipelineJobOperationStatuses(this); + this.operations = new operations.Operations(this); + this.videoAnalyzers = new operations.VideoAnalyzers(this); + this.privateLinkResources = new operations.PrivateLinkResources(this); + this.privateEndpointConnections = new operations.PrivateEndpointConnections(this); + this.operationStatuses = new operations.OperationStatuses(this); + this.operationResults = new operations.OperationResults(this); + this.videoAnalyzerOperationStatuses = new operations.VideoAnalyzerOperationStatuses(this); + this.videoAnalyzerOperationResults = new operations.VideoAnalyzerOperationResults(this); + this.locations = new operations.Locations(this); + this.videos = new operations.Videos(this); + this.accessPolicies = new operations.AccessPolicies(this); + } +} + +// Operation Specifications + +export { + VideoAnalyzer, + VideoAnalyzerContext, + Models as VideoAnalyzerModels, + Mappers as VideoAnalyzerMappers +}; +export * from "./operations"; diff --git a/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzerContext.ts b/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzerContext.ts new file mode 100644 index 000000000000..068e7e3a5a23 --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/src/videoAnalyzerContext.ts @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as Models from "./models"; +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; + +const packageName = "@azure/arm-videoanalyzer"; +const packageVersion = "1.0.0"; + +export class VideoAnalyzerContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials | TokenCredential; + apiVersion?: string; + subscriptionId: string; + + /** + * Initializes a new instance of the VideoAnalyzer class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.VideoAnalyzerOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId == undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if (!options.userAgent) { + const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '2021-11-01-preview'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + this.subscriptionId = subscriptionId; + + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/sdk/videoanalyzer/arm-videoanalyzer/tsconfig.json b/sdk/videoanalyzer/arm-videoanalyzer/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/videoanalyzer/arm-videoanalyzer/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +}