diff --git a/sdk/elastic/arm-elastic/LICENSE.txt b/sdk/elastic/arm-elastic/LICENSE.txt
new file mode 100644
index 000000000000..2d3163745319
--- /dev/null
+++ b/sdk/elastic/arm-elastic/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/elastic/arm-elastic/README.md b/sdk/elastic/arm-elastic/README.md
new file mode 100644
index 000000000000..60d425aa2fcd
--- /dev/null
+++ b/sdk/elastic/arm-elastic/README.md
@@ -0,0 +1,98 @@
+## Azure MicrosoftElastic SDK for JavaScript
+
+This package contains an isomorphic SDK for MicrosoftElastic.
+
+### Currently supported environments
+
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+### How to Install
+
+```bash
+npm install @azure/arm-elastic
+```
+
+### How to use
+
+#### nodejs - client creation and list operations as an example written in TypeScript.
+
+##### Install @azure/ms-rest-nodeauth
+
+- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
+```bash
+npm install @azure/ms-rest-nodeauth@"^3.0.0"
+```
+
+##### Sample code
+
+While the below sample uses the interactive login, other authentication options can be found in the [README.md file of @azure/ms-rest-nodeauth](https://www.npmjs.com/package/@azure/ms-rest-nodeauth) package
+```typescript
+const msRestNodeAuth = require("@azure/ms-rest-nodeauth");
+const { MicrosoftElastic } = require("@azure/arm-elastic");
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new MicrosoftElastic(creds, subscriptionId);
+ client.operations.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+#### browser - Authentication, client creation and list operations as an example written in JavaScript.
+
+##### Install @azure/ms-rest-browserauth
+
+```bash
+npm install @azure/ms-rest-browserauth
+```
+
+##### Sample code
+
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-elastic sample
+
+
+
+
+
+
+
+
+```
+
+## Related projects
+
+- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
+
+
diff --git a/sdk/elastic/arm-elastic/package.json b/sdk/elastic/arm-elastic/package.json
new file mode 100644
index 000000000000..0fb9c06d67d5
--- /dev/null
+++ b/sdk/elastic/arm-elastic/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@azure/arm-elastic",
+ "author": "Microsoft Corporation",
+ "description": "MicrosoftElastic Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "@azure/ms-rest-azure-js": "^2.0.1",
+ "@azure/ms-rest-js": "^2.0.4",
+ "tslib": "^1.10.0"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-elastic.js",
+ "module": "./esm/microsoftElastic.js",
+ "types": "./esm/microsoftElastic.d.ts",
+ "devDependencies": {
+ "typescript": "^3.5.3",
+ "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/elastic/arm-elastic",
+ "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-elastic.js.map'\" -o ./dist/arm-elastic.min.js ./dist/arm-elastic.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/sdk/elastic/arm-elastic/rollup.config.js b/sdk/elastic/arm-elastic/rollup.config.js
new file mode 100644
index 000000000000..e36906d3772a
--- /dev/null
+++ b/sdk/elastic/arm-elastic/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/microsoftElastic.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-elastic.js",
+ format: "umd",
+ name: "Azure.ArmElastic",
+ 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/elastic/arm-elastic/src/microsoftElastic.ts b/sdk/elastic/arm-elastic/src/microsoftElastic.ts
new file mode 100644
index 000000000000..f951f3f5a97c
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/microsoftElastic.ts
@@ -0,0 +1,56 @@
+/*
+ * 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/mappers";
+import * as operations from "./operations";
+import { MicrosoftElasticContext } from "./microsoftElasticContext";
+
+
+class MicrosoftElastic extends MicrosoftElasticContext {
+ // Operation groups
+ operations: operations.Operations;
+ monitors: operations.Monitors;
+ monitoredResources: operations.MonitoredResources;
+ deploymentInfo: operations.DeploymentInfo;
+ tagRules: operations.TagRules;
+ vMHost: operations.VMHost;
+ vMIngestion: operations.VMIngestion;
+ vMCollection: operations.VMCollection;
+
+ /**
+ * Initializes a new instance of the MicrosoftElastic class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000)
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftElasticOptions) {
+ super(credentials, subscriptionId, options);
+ this.operations = new operations.Operations(this);
+ this.monitors = new operations.Monitors(this);
+ this.monitoredResources = new operations.MonitoredResources(this);
+ this.deploymentInfo = new operations.DeploymentInfo(this);
+ this.tagRules = new operations.TagRules(this);
+ this.vMHost = new operations.VMHost(this);
+ this.vMIngestion = new operations.VMIngestion(this);
+ this.vMCollection = new operations.VMCollection(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ MicrosoftElastic,
+ MicrosoftElasticContext,
+ Models as MicrosoftElasticModels,
+ Mappers as MicrosoftElasticMappers
+};
+export * from "./operations";
diff --git a/sdk/elastic/arm-elastic/src/microsoftElasticContext.ts b/sdk/elastic/arm-elastic/src/microsoftElasticContext.ts
new file mode 100644
index 000000000000..ad0a8902b39b
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/microsoftElasticContext.ts
@@ -0,0 +1,62 @@
+/*
+ * 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";
+
+const packageName = "@azure/arm-elastic";
+const packageVersion = "1.0.0";
+
+export class MicrosoftElasticContext extends msRestAzure.AzureServiceClient {
+ credentials: msRest.ServiceClientCredentials;
+ apiVersion?: string;
+ subscriptionId: string;
+
+ /**
+ * Initializes a new instance of the MicrosoftElastic class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000)
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftElasticOptions) {
+ 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 = '2020-07-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/elastic/arm-elastic/src/models/deploymentInfoMappers.ts b/sdk/elastic/arm-elastic/src/models/deploymentInfoMappers.ts
new file mode 100644
index 000000000000..805c48ed7fa3
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/deploymentInfoMappers.ts
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ DeploymentInfoResponse,
+ ErrorResponseBody,
+ ResourceProviderDefaultErrorResponse
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/index.ts b/sdk/elastic/arm-elastic/src/models/index.ts
new file mode 100644
index 000000000000..1d9333d493a7
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/index.ts
@@ -0,0 +1,1132 @@
+/*
+ * 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 };
+
+/**
+ * Error response body.
+ * @summary ErrorResponseBody
+ */
+export interface ErrorResponseBody {
+ /**
+ * Error code.
+ */
+ code?: string;
+ /**
+ * Error message.
+ */
+ message?: string;
+ /**
+ * Error target.
+ */
+ target?: string;
+ /**
+ * Error details.
+ */
+ details?: ErrorResponseBody[];
+}
+
+/**
+ * RP default error response.
+ */
+export interface ResourceProviderDefaultErrorResponse {
+ /**
+ * Response body of Error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ErrorResponseBody;
+}
+
+/**
+ * The object that represents the operation.
+ */
+export interface OperationDisplay {
+ /**
+ * Service provider, i.e., Microsoft.Elastic.
+ */
+ provider?: string;
+ /**
+ * Type on which the operation is performed, e.g., 'monitors'.
+ */
+ resource?: string;
+ /**
+ * Operation type, e.g., read, write, delete, etc.
+ */
+ operation?: string;
+ /**
+ * Description of the operation, e.g., 'Write monitors'.
+ */
+ description?: string;
+}
+
+/**
+ * A Microsoft.Elastic REST API operation.
+ */
+export interface OperationResult {
+ /**
+ * Operation name, i.e., {provider}/{resource}/{operation}.
+ */
+ name?: string;
+ /**
+ * Indicates whether the operation is a data action
+ */
+ isDataAction?: boolean;
+ /**
+ * The object that represents the operation.
+ */
+ display?: OperationDisplay;
+ /**
+ * Origin of the operation
+ */
+ origin?: string;
+}
+
+/**
+ * Microsoft.Elastic SKU.
+ */
+export interface ResourceSku {
+ /**
+ * Name of the SKU.
+ */
+ name: string;
+}
+
+/**
+ * Details of the user's elastic account.
+ */
+export interface ElasticCloudUser {
+ /**
+ * Email of the Elastic User Account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly emailAddress?: string;
+ /**
+ * User Id of the elastic account of the User.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Elastic cloud default dashboard sso URL of the Elastic user account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly elasticCloudSsoDefaultUrl?: string;
+}
+
+/**
+ * Details of the user's elastic deployment associated with the monitor resource.
+ */
+export interface ElasticCloudDeployment {
+ /**
+ * Elastic deployment name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Elastic deployment Id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly deploymentId?: string;
+ /**
+ * Associated Azure subscription Id for the elastic deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly azureSubscriptionId?: string;
+ /**
+ * Region where Deployment at Elastic side took place.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly elasticsearchRegion?: string;
+ /**
+ * Elasticsearch ingestion endpoint of the Elastic deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly elasticsearchServiceUrl?: string;
+ /**
+ * Kibana endpoint of the Elastic deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly kibanaServiceUrl?: string;
+ /**
+ * Kibana dashboard sso URL of the Elastic deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly kibanaSsoUrl?: string;
+}
+
+/**
+ * Elastic Resource Properties.
+ */
+export interface ElasticProperties {
+ /**
+ * Details of the user's elastic account.
+ */
+ elasticCloudUser?: ElasticCloudUser;
+ /**
+ * Details of the elastic cloud deployment.
+ */
+ elasticCloudDeployment?: ElasticCloudDeployment;
+}
+
+/**
+ * Company information of the user to be passed to partners.
+ */
+export interface CompanyInfo {
+ /**
+ * Domain of the company
+ */
+ domain?: string;
+ /**
+ * Business of the company
+ */
+ business?: string;
+ /**
+ * Number of employees in the company
+ */
+ employeesNumber?: string;
+ /**
+ * State of the company location.
+ */
+ state?: string;
+ /**
+ * Country of the company location.
+ */
+ country?: string;
+}
+
+/**
+ * User Information to be passed to partners.
+ */
+export interface UserInfo {
+ /**
+ * First name of the user
+ */
+ firstName?: string;
+ /**
+ * Last name of the user
+ */
+ lastName?: string;
+ /**
+ * Company name of the user
+ */
+ companyName?: string;
+ /**
+ * Email of the user used by Elastic for contacting them if needed
+ */
+ emailAddress?: string;
+ /**
+ * Company information of the user to be passed to partners.
+ */
+ companyInfo?: CompanyInfo;
+}
+
+/**
+ * Properties specific to the monitor resource.
+ */
+export interface MonitorProperties {
+ /**
+ * Provisioning state of the monitor resource. Possible values include: 'Accepted', 'Creating',
+ * 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled', 'Deleted', 'NotSpecified'
+ */
+ provisioningState?: ProvisioningState;
+ /**
+ * Flag specifying if the resource monitoring is enabled or disabled. Possible values include:
+ * 'Enabled', 'Disabled'
+ */
+ monitoringStatus?: MonitoringStatus;
+ /**
+ * Elastic cloud properties.
+ */
+ elasticProperties?: ElasticProperties;
+ /**
+ * User information.
+ */
+ userInfo?: UserInfo;
+ /**
+ * Possible values include: 'Unknown', 'MonitorLogs'
+ */
+ liftrResourceCategory?: LiftrResourceCategories;
+ /**
+ * The priority of the resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly liftrResourcePreference?: number;
+}
+
+/**
+ * Identity properties.
+ */
+export interface IdentityProperties {
+ /**
+ * The identity ID.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly principalId?: string;
+ /**
+ * The tenant ID of resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tenantId?: string;
+ /**
+ * Managed identity type. Possible values include: 'SystemAssigned'
+ */
+ type?: ManagedIdentityTypes;
+}
+
+/**
+ * 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;
+}
+
+/**
+ * Monitor resource.
+ */
+export interface ElasticMonitorResource extends BaseResource {
+ /**
+ * ARM id of the monitor resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the monitor resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The type of the monitor resource.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+ /**
+ * SKU of the monitor resource.
+ */
+ sku?: ResourceSku;
+ /**
+ * Properties of the monitor resource.
+ */
+ properties?: MonitorProperties;
+ /**
+ * Identity properties of the monitor resource.
+ */
+ identity?: IdentityProperties;
+ /**
+ * The tags of the monitor resource.
+ */
+ tags?: { [propertyName: string]: string };
+ /**
+ * The location of the monitor resource
+ */
+ location: string;
+ /**
+ * The system metadata relating to this resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly systemData?: SystemData;
+}
+
+/**
+ * Monitor resource update parameters.
+ */
+export interface ElasticMonitorResourceUpdateParameters {
+ /**
+ * elastic monitor resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * The properties of a resource currently being monitored by the Elastic monitor resource.
+ */
+export interface MonitoredResource {
+ /**
+ * The ARM id of the resource.
+ */
+ id?: string;
+ /**
+ * Flag indicating the status of the resource for sending logs operation to Elastic. Possible
+ * values include: 'True', 'False'
+ */
+ sendingLogs?: SendingLogs;
+ /**
+ * Reason for why the resource is sending logs (or why it is not sending).
+ */
+ reasonForLogsStatus?: string;
+}
+
+/**
+ * The definition of a filtering tag. Filtering tags are used for capturing resources and
+ * include/exclude them from being monitored.
+ */
+export interface FilteringTag {
+ /**
+ * The name (also known as the key) of the tag.
+ */
+ name?: string;
+ /**
+ * The value of the tag.
+ */
+ value?: string;
+ /**
+ * Valid actions for a filtering tag. Possible values include: 'Include', 'Exclude'
+ */
+ action?: TagAction;
+}
+
+/**
+ * Set of rules for sending logs for the Monitor resource.
+ */
+export interface LogRules {
+ /**
+ * Flag specifying if AAD logs should be sent for the Monitor resource.
+ */
+ sendAadLogs?: boolean;
+ /**
+ * Flag specifying if subscription logs should be sent for the Monitor resource.
+ */
+ sendSubscriptionLogs?: boolean;
+ /**
+ * Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.
+ */
+ sendActivityLogs?: boolean;
+ /**
+ * List of filtering tags to be used for capturing logs. This only takes effect if
+ * SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude
+ * action is specified, the rules will apply to the list of all available resources. If Include
+ * actions are specified, the rules will only include resources with the associated tags.
+ */
+ filteringTags?: FilteringTag[];
+}
+
+/**
+ * Definition of the properties for a TagRules resource.
+ */
+export interface MonitoringTagRulesProperties {
+ /**
+ * Provisioning state of the monitoring tag rules. Possible values include: 'Accepted',
+ * 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled', 'Deleted',
+ * 'NotSpecified'
+ */
+ provisioningState?: ProvisioningState;
+ /**
+ * Rules for sending logs.
+ */
+ logRules?: LogRules;
+}
+
+/**
+ * Capture logs and metrics of Azure resources based on ARM tags.
+ */
+export interface MonitoringTagRules extends BaseResource {
+ /**
+ * Name of the rule set.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The id of the rule set.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * The type of the rule set.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+ /**
+ * Properties of the monitoring tag rules.
+ */
+ properties?: MonitoringTagRulesProperties;
+ /**
+ * The system metadata relating to this resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly systemData?: SystemData;
+}
+
+/**
+ * The properties of deployment in Elastic cloud corresponding to the Elastic monitor resource.
+ */
+export interface DeploymentInfoResponse {
+ /**
+ * The Elastic deployment status. Possible values include: 'Healthy', 'Unhealthy'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: ElasticDeploymentStatus;
+ /**
+ * Version of the elasticsearch in Elastic cloud deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly version?: string;
+ /**
+ * RAM capacity of the elasticsearch in Elastic cloud deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly memoryCapacity?: string;
+ /**
+ * Disk capacity of the elasticsearch in Elastic cloud deployment.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly diskCapacity?: string;
+}
+
+/**
+ * The vm resource properties that is currently being monitored by the Elastic monitor resource.
+ */
+export interface VMResources {
+ /**
+ * The ARM id of the VM resource.
+ */
+ vmResourceId?: string;
+}
+
+/**
+ * The vm ingestion details to install an agent.
+ */
+export interface VMIngestionDetailsResponse {
+ /**
+ * The cloudId of given Elastic monitor resource.
+ */
+ cloudId?: string;
+ /**
+ * Ingestion details to install agent on given VM.
+ */
+ ingestionKey?: string;
+}
+
+/**
+ * Update VM resource collection.
+ */
+export interface VMCollectionUpdate extends BaseResource {
+ /**
+ * ARM id of the VM resource.
+ */
+ vmResourceId?: string;
+ /**
+ * Operation to be performed for given VM. Possible values include: 'Add', 'Delete'
+ */
+ operationName?: OperationName;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface MonitorsCreateOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Elastic monitor resource model
+ */
+ body?: ElasticMonitorResource;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface MonitorsUpdateOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * elastic monitor resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface MonitorsBeginCreateOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Elastic monitor resource model
+ */
+ body?: ElasticMonitorResource;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface TagRulesCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Properties of the monitoring tag rules.
+ */
+ properties?: MonitoringTagRulesProperties;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface VMCollectionUpdateOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * VM resource Id
+ */
+ body?: VMCollectionUpdate;
+}
+
+/**
+ * An interface representing MicrosoftElasticOptions.
+ */
+export interface MicrosoftElasticOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * @interface
+ * Result of GET request to list the Microsoft.Elastic operations.
+ * @extends Array
+ */
+export interface OperationListResult extends Array {
+ /**
+ * URL to get the next set of operation list results if there are any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * Response of a list operation.
+ * @extends Array
+ */
+export interface ElasticMonitorResourceListResponse extends Array {
+ /**
+ * Link to the next set of results, if any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * Response of a list operation.
+ * @extends Array
+ */
+export interface MonitoredResourceListResponse extends Array {
+ /**
+ * Link to the next set of results, if any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * Response of a list operation.
+ * @extends Array
+ */
+export interface MonitoringTagRulesListResponse extends Array {
+ /**
+ * Link to the next set of results, if any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * Response of a list operation.
+ * @extends Array
+ */
+export interface VMHostListResponse extends Array {
+ /**
+ * Link to the next Vm resource Id, if any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * Defines values for ProvisioningState.
+ * Possible values include: 'Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed',
+ * 'Canceled', 'Deleted', 'NotSpecified'
+ * @readonly
+ * @enum {string}
+ */
+export type ProvisioningState = 'Accepted' | 'Creating' | 'Updating' | 'Deleting' | 'Succeeded' | 'Failed' | 'Canceled' | 'Deleted' | 'NotSpecified';
+
+/**
+ * Defines values for MonitoringStatus.
+ * Possible values include: 'Enabled', 'Disabled'
+ * @readonly
+ * @enum {string}
+ */
+export type MonitoringStatus = 'Enabled' | 'Disabled';
+
+/**
+ * Defines values for LiftrResourceCategories.
+ * Possible values include: 'Unknown', 'MonitorLogs'
+ * @readonly
+ * @enum {string}
+ */
+export type LiftrResourceCategories = 'Unknown' | 'MonitorLogs';
+
+/**
+ * Defines values for ManagedIdentityTypes.
+ * Possible values include: 'SystemAssigned'
+ * @readonly
+ * @enum {string}
+ */
+export type ManagedIdentityTypes = 'SystemAssigned';
+
+/**
+ * Defines values for CreatedByType.
+ * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
+ * @readonly
+ * @enum {string}
+ */
+export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key';
+
+/**
+ * Defines values for SendingLogs.
+ * Possible values include: 'True', 'False'
+ * @readonly
+ * @enum {string}
+ */
+export type SendingLogs = 'True' | 'False';
+
+/**
+ * Defines values for TagAction.
+ * Possible values include: 'Include', 'Exclude'
+ * @readonly
+ * @enum {string}
+ */
+export type TagAction = 'Include' | 'Exclude';
+
+/**
+ * Defines values for ElasticDeploymentStatus.
+ * Possible values include: 'Healthy', 'Unhealthy'
+ * @readonly
+ * @enum {string}
+ */
+export type ElasticDeploymentStatus = 'Healthy' | 'Unhealthy';
+
+/**
+ * Defines values for OperationName.
+ * Possible values include: 'Add', 'Delete'
+ * @readonly
+ * @enum {string}
+ */
+export type OperationName = 'Add' | 'Delete';
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type OperationsListNextResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type MonitorsListResponse = ElasticMonitorResourceListResponse & {
+ /**
+ * 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: ElasticMonitorResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type MonitorsListByResourceGroupResponse = ElasticMonitorResourceListResponse & {
+ /**
+ * 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: ElasticMonitorResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type MonitorsGetResponse = ElasticMonitorResource & {
+ /**
+ * 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: ElasticMonitorResource;
+ };
+};
+
+/**
+ * Contains response data for the create operation.
+ */
+export type MonitorsCreateResponse = ElasticMonitorResource & {
+ /**
+ * 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: ElasticMonitorResource;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type MonitorsUpdateResponse = ElasticMonitorResource & {
+ /**
+ * 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: ElasticMonitorResource;
+ };
+};
+
+/**
+ * Contains response data for the beginCreate operation.
+ */
+export type MonitorsBeginCreateResponse = ElasticMonitorResource & {
+ /**
+ * 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: ElasticMonitorResource;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type MonitorsListNextResponse = ElasticMonitorResourceListResponse & {
+ /**
+ * 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: ElasticMonitorResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroupNext operation.
+ */
+export type MonitorsListByResourceGroupNextResponse = ElasticMonitorResourceListResponse & {
+ /**
+ * 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: ElasticMonitorResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type MonitoredResourcesListResponse = MonitoredResourceListResponse & {
+ /**
+ * 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: MonitoredResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type MonitoredResourcesListNextResponse = MonitoredResourceListResponse & {
+ /**
+ * 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: MonitoredResourceListResponse;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type DeploymentInfoListResponse = DeploymentInfoResponse & {
+ /**
+ * 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: DeploymentInfoResponse;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type TagRulesListResponse = MonitoringTagRulesListResponse & {
+ /**
+ * 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: MonitoringTagRulesListResponse;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type TagRulesCreateOrUpdateResponse = MonitoringTagRules & {
+ /**
+ * 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: MonitoringTagRules;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type TagRulesGetResponse = MonitoringTagRules & {
+ /**
+ * 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: MonitoringTagRules;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type TagRulesListNextResponse = MonitoringTagRulesListResponse & {
+ /**
+ * 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: MonitoringTagRulesListResponse;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type VMHostListResponse2 = VMHostListResponse & {
+ /**
+ * 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: VMHostListResponse;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type VMHostListNextResponse = VMHostListResponse & {
+ /**
+ * 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: VMHostListResponse;
+ };
+};
+
+/**
+ * Contains response data for the details operation.
+ */
+export type VMIngestionDetailsResponse2 = VMIngestionDetailsResponse & {
+ /**
+ * 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: VMIngestionDetailsResponse;
+ };
+};
diff --git a/sdk/elastic/arm-elastic/src/models/mappers.ts b/sdk/elastic/arm-elastic/src/models/mappers.ts
new file mode 100644
index 000000000000..c23cff6550a2
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/mappers.ts
@@ -0,0 +1,1006 @@
+/*
+ * 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 ErrorResponseBody: msRest.CompositeMapper = {
+ serializedName: "ErrorResponseBody",
+ type: {
+ name: "Composite",
+ className: "ErrorResponseBody",
+ modelProperties: {
+ code: {
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ target: {
+ serializedName: "target",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ serializedName: "details",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ErrorResponseBody"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ResourceProviderDefaultErrorResponse: msRest.CompositeMapper = {
+ serializedName: "ResourceProviderDefaultErrorResponse",
+ type: {
+ name: "Composite",
+ className: "ResourceProviderDefaultErrorResponse",
+ modelProperties: {
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorResponseBody"
+ }
+ }
+ }
+ }
+};
+
+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 OperationResult: msRest.CompositeMapper = {
+ serializedName: "OperationResult",
+ type: {
+ name: "Composite",
+ className: "OperationResult",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ isDataAction: {
+ serializedName: "isDataAction",
+ type: {
+ name: "Boolean"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ },
+ origin: {
+ serializedName: "origin",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSku: msRest.CompositeMapper = {
+ serializedName: "ResourceSku",
+ type: {
+ name: "Composite",
+ className: "ResourceSku",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ElasticCloudUser: msRest.CompositeMapper = {
+ serializedName: "ElasticCloudUser",
+ type: {
+ name: "Composite",
+ className: "ElasticCloudUser",
+ modelProperties: {
+ emailAddress: {
+ readOnly: true,
+ serializedName: "emailAddress",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ elasticCloudSsoDefaultUrl: {
+ readOnly: true,
+ serializedName: "elasticCloudSsoDefaultUrl",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ElasticCloudDeployment: msRest.CompositeMapper = {
+ serializedName: "ElasticCloudDeployment",
+ type: {
+ name: "Composite",
+ className: "ElasticCloudDeployment",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ deploymentId: {
+ readOnly: true,
+ serializedName: "deploymentId",
+ type: {
+ name: "String"
+ }
+ },
+ azureSubscriptionId: {
+ readOnly: true,
+ serializedName: "azureSubscriptionId",
+ type: {
+ name: "String"
+ }
+ },
+ elasticsearchRegion: {
+ readOnly: true,
+ serializedName: "elasticsearchRegion",
+ type: {
+ name: "String"
+ }
+ },
+ elasticsearchServiceUrl: {
+ readOnly: true,
+ serializedName: "elasticsearchServiceUrl",
+ type: {
+ name: "String"
+ }
+ },
+ kibanaServiceUrl: {
+ readOnly: true,
+ serializedName: "kibanaServiceUrl",
+ type: {
+ name: "String"
+ }
+ },
+ kibanaSsoUrl: {
+ readOnly: true,
+ serializedName: "kibanaSsoUrl",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ElasticProperties: msRest.CompositeMapper = {
+ serializedName: "ElasticProperties",
+ type: {
+ name: "Composite",
+ className: "ElasticProperties",
+ modelProperties: {
+ elasticCloudUser: {
+ serializedName: "elasticCloudUser",
+ type: {
+ name: "Composite",
+ className: "ElasticCloudUser"
+ }
+ },
+ elasticCloudDeployment: {
+ serializedName: "elasticCloudDeployment",
+ type: {
+ name: "Composite",
+ className: "ElasticCloudDeployment"
+ }
+ }
+ }
+ }
+};
+
+export const CompanyInfo: msRest.CompositeMapper = {
+ serializedName: "CompanyInfo",
+ type: {
+ name: "Composite",
+ className: "CompanyInfo",
+ modelProperties: {
+ domain: {
+ serializedName: "domain",
+ constraints: {
+ MaxLength: 250
+ },
+ type: {
+ name: "String"
+ }
+ },
+ business: {
+ serializedName: "business",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ },
+ employeesNumber: {
+ serializedName: "employeesNumber",
+ constraints: {
+ MaxLength: 20
+ },
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ serializedName: "state",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ },
+ country: {
+ serializedName: "country",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const UserInfo: msRest.CompositeMapper = {
+ serializedName: "UserInfo",
+ type: {
+ name: "Composite",
+ className: "UserInfo",
+ modelProperties: {
+ firstName: {
+ serializedName: "firstName",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ },
+ lastName: {
+ serializedName: "lastName",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ },
+ companyName: {
+ serializedName: "companyName",
+ constraints: {
+ MaxLength: 50
+ },
+ type: {
+ name: "String"
+ }
+ },
+ emailAddress: {
+ serializedName: "emailAddress",
+ constraints: {
+ Pattern: /^([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)@(([a-zA-Z-_0-9]+\.)+[a-zA-Z]{2,})$/
+ },
+ type: {
+ name: "String"
+ }
+ },
+ companyInfo: {
+ serializedName: "companyInfo",
+ type: {
+ name: "Composite",
+ className: "CompanyInfo"
+ }
+ }
+ }
+ }
+};
+
+export const MonitorProperties: msRest.CompositeMapper = {
+ serializedName: "MonitorProperties",
+ type: {
+ name: "Composite",
+ className: "MonitorProperties",
+ modelProperties: {
+ provisioningState: {
+ serializedName: "provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ monitoringStatus: {
+ serializedName: "monitoringStatus",
+ type: {
+ name: "String"
+ }
+ },
+ elasticProperties: {
+ serializedName: "elasticProperties",
+ type: {
+ name: "Composite",
+ className: "ElasticProperties"
+ }
+ },
+ userInfo: {
+ serializedName: "userInfo",
+ type: {
+ name: "Composite",
+ className: "UserInfo"
+ }
+ },
+ liftrResourceCategory: {
+ serializedName: "liftrResourceCategory",
+ type: {
+ name: "String"
+ }
+ },
+ liftrResourcePreference: {
+ readOnly: true,
+ serializedName: "liftrResourcePreference",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const IdentityProperties: msRest.CompositeMapper = {
+ serializedName: "IdentityProperties",
+ type: {
+ name: "Composite",
+ className: "IdentityProperties",
+ modelProperties: {
+ principalId: {
+ readOnly: true,
+ serializedName: "principalId",
+ type: {
+ name: "String"
+ }
+ },
+ tenantId: {
+ readOnly: true,
+ serializedName: "tenantId",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+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 ElasticMonitorResource: msRest.CompositeMapper = {
+ serializedName: "ElasticMonitorResource",
+ type: {
+ name: "Composite",
+ className: "ElasticMonitorResource",
+ 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"
+ }
+ },
+ sku: {
+ serializedName: "sku",
+ type: {
+ name: "Composite",
+ className: "ResourceSku"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "MonitorProperties"
+ }
+ },
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "IdentityProperties"
+ }
+ },
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ location: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ systemData: {
+ readOnly: true,
+ serializedName: "systemData",
+ type: {
+ name: "Composite",
+ className: "SystemData"
+ }
+ }
+ }
+ }
+};
+
+export const ElasticMonitorResourceUpdateParameters: msRest.CompositeMapper = {
+ serializedName: "ElasticMonitorResourceUpdateParameters",
+ type: {
+ name: "Composite",
+ className: "ElasticMonitorResourceUpdateParameters",
+ modelProperties: {
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MonitoredResource: msRest.CompositeMapper = {
+ serializedName: "MonitoredResource",
+ type: {
+ name: "Composite",
+ className: "MonitoredResource",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ sendingLogs: {
+ serializedName: "sendingLogs",
+ type: {
+ name: "String"
+ }
+ },
+ reasonForLogsStatus: {
+ serializedName: "reasonForLogsStatus",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const FilteringTag: msRest.CompositeMapper = {
+ serializedName: "FilteringTag",
+ type: {
+ name: "Composite",
+ className: "FilteringTag",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ },
+ action: {
+ serializedName: "action",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const LogRules: msRest.CompositeMapper = {
+ serializedName: "LogRules",
+ type: {
+ name: "Composite",
+ className: "LogRules",
+ modelProperties: {
+ sendAadLogs: {
+ serializedName: "sendAadLogs",
+ type: {
+ name: "Boolean"
+ }
+ },
+ sendSubscriptionLogs: {
+ serializedName: "sendSubscriptionLogs",
+ type: {
+ name: "Boolean"
+ }
+ },
+ sendActivityLogs: {
+ serializedName: "sendActivityLogs",
+ type: {
+ name: "Boolean"
+ }
+ },
+ filteringTags: {
+ serializedName: "filteringTags",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "FilteringTag"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MonitoringTagRulesProperties: msRest.CompositeMapper = {
+ serializedName: "MonitoringTagRulesProperties",
+ type: {
+ name: "Composite",
+ className: "MonitoringTagRulesProperties",
+ modelProperties: {
+ provisioningState: {
+ serializedName: "provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ logRules: {
+ serializedName: "logRules",
+ type: {
+ name: "Composite",
+ className: "LogRules"
+ }
+ }
+ }
+ }
+};
+
+export const MonitoringTagRules: msRest.CompositeMapper = {
+ serializedName: "MonitoringTagRules",
+ type: {
+ name: "Composite",
+ className: "MonitoringTagRules",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "MonitoringTagRulesProperties"
+ }
+ },
+ systemData: {
+ readOnly: true,
+ serializedName: "systemData",
+ type: {
+ name: "Composite",
+ className: "SystemData"
+ }
+ }
+ }
+ }
+};
+
+export const DeploymentInfoResponse: msRest.CompositeMapper = {
+ serializedName: "DeploymentInfoResponse",
+ type: {
+ name: "Composite",
+ className: "DeploymentInfoResponse",
+ modelProperties: {
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ version: {
+ readOnly: true,
+ serializedName: "version",
+ type: {
+ name: "String"
+ }
+ },
+ memoryCapacity: {
+ readOnly: true,
+ serializedName: "memoryCapacity",
+ type: {
+ name: "String"
+ }
+ },
+ diskCapacity: {
+ readOnly: true,
+ serializedName: "diskCapacity",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VMResources: msRest.CompositeMapper = {
+ serializedName: "VMResources",
+ type: {
+ name: "Composite",
+ className: "VMResources",
+ modelProperties: {
+ vmResourceId: {
+ serializedName: "vmResourceId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VMIngestionDetailsResponse: msRest.CompositeMapper = {
+ serializedName: "VMIngestionDetailsResponse",
+ type: {
+ name: "Composite",
+ className: "VMIngestionDetailsResponse",
+ modelProperties: {
+ cloudId: {
+ serializedName: "cloudId",
+ type: {
+ name: "String"
+ }
+ },
+ ingestionKey: {
+ serializedName: "ingestionKey",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VMCollectionUpdate: msRest.CompositeMapper = {
+ serializedName: "VMCollectionUpdate",
+ type: {
+ name: "Composite",
+ className: "VMCollectionUpdate",
+ modelProperties: {
+ vmResourceId: {
+ serializedName: "vmResourceId",
+ type: {
+ name: "String"
+ }
+ },
+ operationName: {
+ serializedName: "operationName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OperationResult"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ElasticMonitorResourceListResponse: msRest.CompositeMapper = {
+ serializedName: "ElasticMonitorResourceListResponse",
+ type: {
+ name: "Composite",
+ className: "ElasticMonitorResourceListResponse",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ElasticMonitorResource"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MonitoredResourceListResponse: msRest.CompositeMapper = {
+ serializedName: "MonitoredResourceListResponse",
+ type: {
+ name: "Composite",
+ className: "MonitoredResourceListResponse",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MonitoredResource"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MonitoringTagRulesListResponse: msRest.CompositeMapper = {
+ serializedName: "MonitoringTagRulesListResponse",
+ type: {
+ name: "Composite",
+ className: "MonitoringTagRulesListResponse",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MonitoringTagRules"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const VMHostListResponse: msRest.CompositeMapper = {
+ serializedName: "VMHostListResponse",
+ type: {
+ name: "Composite",
+ className: "VMHostListResponse",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "VMResources"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/sdk/elastic/arm-elastic/src/models/monitoredResourcesMappers.ts b/sdk/elastic/arm-elastic/src/models/monitoredResourcesMappers.ts
new file mode 100644
index 000000000000..747ee9261a7b
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/monitoredResourcesMappers.ts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ ErrorResponseBody,
+ MonitoredResource,
+ MonitoredResourceListResponse,
+ ResourceProviderDefaultErrorResponse
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/monitorsMappers.ts b/sdk/elastic/arm-elastic/src/models/monitorsMappers.ts
new file mode 100644
index 000000000000..bf9d10e9fd40
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/monitorsMappers.ts
@@ -0,0 +1,30 @@
+/*
+ * 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 {
+ BaseResource,
+ CompanyInfo,
+ ElasticCloudDeployment,
+ ElasticCloudUser,
+ ElasticMonitorResource,
+ ElasticMonitorResourceListResponse,
+ ElasticMonitorResourceUpdateParameters,
+ ElasticProperties,
+ ErrorResponseBody,
+ FilteringTag,
+ IdentityProperties,
+ LogRules,
+ MonitoringTagRules,
+ MonitoringTagRulesProperties,
+ MonitorProperties,
+ ResourceProviderDefaultErrorResponse,
+ ResourceSku,
+ SystemData,
+ UserInfo,
+ VMCollectionUpdate
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/operationsMappers.ts b/sdk/elastic/arm-elastic/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..672b22024b3b
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/operationsMappers.ts
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ ErrorResponseBody,
+ OperationDisplay,
+ OperationListResult,
+ OperationResult,
+ ResourceProviderDefaultErrorResponse
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/parameters.ts b/sdk/elastic/arm-elastic/src/models/parameters.ts
new file mode 100644
index 000000000000..c77ae750aff4
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/parameters.ts
@@ -0,0 +1,84 @@
+/*
+ * 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 apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ isConstant: true,
+ serializedName: "api-version",
+ defaultValue: '2020-07-01-preview',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const monitorName: msRest.OperationURLParameter = {
+ parameterPath: "monitorName",
+ mapper: {
+ required: true,
+ serializedName: "monitorName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const resourceGroupName: msRest.OperationURLParameter = {
+ parameterPath: "resourceGroupName",
+ mapper: {
+ required: true,
+ serializedName: "resourceGroupName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const ruleSetName: msRest.OperationURLParameter = {
+ parameterPath: "ruleSetName",
+ mapper: {
+ required: true,
+ serializedName: "ruleSetName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/sdk/elastic/arm-elastic/src/models/tagRulesMappers.ts b/sdk/elastic/arm-elastic/src/models/tagRulesMappers.ts
new file mode 100644
index 000000000000..365669735034
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/tagRulesMappers.ts
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ BaseResource,
+ CompanyInfo,
+ ElasticCloudDeployment,
+ ElasticCloudUser,
+ ElasticMonitorResource,
+ ElasticProperties,
+ ErrorResponseBody,
+ FilteringTag,
+ IdentityProperties,
+ LogRules,
+ MonitoringTagRules,
+ MonitoringTagRulesListResponse,
+ MonitoringTagRulesProperties,
+ MonitorProperties,
+ ResourceProviderDefaultErrorResponse,
+ ResourceSku,
+ SystemData,
+ UserInfo,
+ VMCollectionUpdate
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/vMCollectionMappers.ts b/sdk/elastic/arm-elastic/src/models/vMCollectionMappers.ts
new file mode 100644
index 000000000000..c3afb83b646c
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/vMCollectionMappers.ts
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ BaseResource,
+ CompanyInfo,
+ ElasticCloudDeployment,
+ ElasticCloudUser,
+ ElasticMonitorResource,
+ ElasticProperties,
+ ErrorResponseBody,
+ FilteringTag,
+ IdentityProperties,
+ LogRules,
+ MonitoringTagRules,
+ MonitoringTagRulesProperties,
+ MonitorProperties,
+ ResourceProviderDefaultErrorResponse,
+ ResourceSku,
+ SystemData,
+ UserInfo,
+ VMCollectionUpdate
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/vMHostMappers.ts b/sdk/elastic/arm-elastic/src/models/vMHostMappers.ts
new file mode 100644
index 000000000000..324e1bb7eec2
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/vMHostMappers.ts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ ErrorResponseBody,
+ ResourceProviderDefaultErrorResponse,
+ VMHostListResponse,
+ VMResources
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/models/vMIngestionMappers.ts b/sdk/elastic/arm-elastic/src/models/vMIngestionMappers.ts
new file mode 100644
index 000000000000..7604edd17eb6
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/models/vMIngestionMappers.ts
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ ErrorResponseBody,
+ ResourceProviderDefaultErrorResponse,
+ VMIngestionDetailsResponse
+} from "../models/mappers";
diff --git a/sdk/elastic/arm-elastic/src/operations/deploymentInfo.ts b/sdk/elastic/arm-elastic/src/operations/deploymentInfo.ts
new file mode 100644
index 000000000000..3d2f7111bfd5
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/deploymentInfo.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/deploymentInfoMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a DeploymentInfo. */
+export class DeploymentInfo {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a DeploymentInfo.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary Fetch information regarding Elastic cloud deployment corresponding to the Elastic
+ * monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listDeploymentInfo",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.DeploymentInfoResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/index.ts b/sdk/elastic/arm-elastic/src/operations/index.ts
new file mode 100644
index 000000000000..0382c43e4b92
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/index.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./operations";
+export * from "./monitors";
+export * from "./monitoredResources";
+export * from "./deploymentInfo";
+export * from "./tagRules";
+export * from "./vMHost";
+export * from "./vMIngestion";
+export * from "./vMCollection";
diff --git a/sdk/elastic/arm-elastic/src/operations/monitoredResources.ts b/sdk/elastic/arm-elastic/src/operations/monitoredResources.ts
new file mode 100644
index 000000000000..e98356bbff87
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/monitoredResources.ts
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/monitoredResourcesMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a MonitoredResources. */
+export class MonitoredResources {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a MonitoredResources.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List the resources currently being monitored by the Elastic monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary List the resources currently being monitored by the Elastic monitor resource.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listMonitoredResources",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoredResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoredResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/monitors.ts b/sdk/elastic/arm-elastic/src/operations/monitors.ts
new file mode 100644
index 000000000000..78f4c2cb3d05
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/monitors.ts
@@ -0,0 +1,476 @@
+/*
+ * 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/monitorsMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a Monitors. */
+export class Monitors {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a Monitors.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List all monitors under the specified subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary List all monitors under the specified resource group.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Get the properties of a specific monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Create a monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ create(resourceGroupName: string, monitorName: string, options?: Models.MonitorsCreateOptionalParams): Promise {
+ return this.beginCreate(resourceGroupName,monitorName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * @summary Update a monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, monitorName: string, options?: Models.MonitorsUpdateOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, monitorName: string, options: Models.MonitorsUpdateOptionalParams, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, monitorName: string, options?: Models.MonitorsUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Delete a monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginDeleteMethod(resourceGroupName,monitorName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * @summary Create a monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCreate(resourceGroupName: string, monitorName: string, options?: Models.MonitorsBeginCreateOptionalParams): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ beginCreateOperationSpec,
+ options);
+ }
+
+ /**
+ * @summary Delete a monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginDeleteMethod(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ beginDeleteMethodOperationSpec,
+ options);
+ }
+
+ /**
+ * @summary List all monitors under the specified subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary List all monitors under the specified resource group.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listByResourceGroupNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResource
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: {
+ tags: [
+ "options",
+ "tags"
+ ]
+ },
+ mapper: Mappers.ElasticMonitorResourceUpdateParameters
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResource
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginCreateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: [
+ "options",
+ "body"
+ ],
+ mapper: Mappers.ElasticMonitorResource
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResource
+ },
+ 201: {
+ bodyMapper: Mappers.ElasticMonitorResource
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 202: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ElasticMonitorResourceListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/operations.ts b/sdk/elastic/arm-elastic/src/operations/operations.ts
new file mode 100644
index 000000000000..068b73d088cf
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/operations.ts
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a Operations.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List all operations provided by Microsoft.Elastic.
+ * @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;
+ }
+
+ /**
+ * @summary List all operations provided by Microsoft.Elastic.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Elastic/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/tagRules.ts b/sdk/elastic/arm-elastic/src/operations/tagRules.ts
new file mode 100644
index 000000000000..b645d27f5978
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/tagRules.ts
@@ -0,0 +1,331 @@
+/*
+ * 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/tagRulesMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a TagRules. */
+export class TagRules {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a TagRules.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List the tag rules for a given monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Create or update a tag rule set for a given monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: Models.TagRulesCreateOrUpdateOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, options: Models.TagRulesCreateOrUpdateOptionalParams, callback: msRest.ServiceCallback): void;
+ createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: Models.TagRulesCreateOrUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ ruleSetName,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Get a tag rule set for a given monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, monitorName: string, ruleSetName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, monitorName: string, ruleSetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ ruleSetName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary Delete a tag rule set for a given monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginDeleteMethod(resourceGroupName,monitorName,ruleSetName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * @summary Delete a tag rule set for a given monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param ruleSetName Tag Rule Set resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginDeleteMethod(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ resourceGroupName,
+ monitorName,
+ ruleSetName,
+ options
+ },
+ beginDeleteMethodOperationSpec,
+ options);
+ }
+
+ /**
+ * @summary List the tag rules for a given monitor resource.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoringTagRulesListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName,
+ Parameters.ruleSetName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: {
+ properties: [
+ "options",
+ "properties"
+ ]
+ },
+ mapper: Mappers.MonitoringTagRules
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoringTagRules
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName,
+ Parameters.ruleSetName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoringTagRules
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName,
+ Parameters.ruleSetName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 202: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.MonitoringTagRulesListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/vMCollection.ts b/sdk/elastic/arm-elastic/src/operations/vMCollection.ts
new file mode 100644
index 000000000000..e9cf522b3574
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/vMCollection.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.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/vMCollectionMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a VMCollection. */
+export class VMCollection {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a VMCollection.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary Update the vm details that will be monitored by the Elastic monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(resourceGroupName: string, monitorName: string, options?: Models.VMCollectionUpdateOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(resourceGroupName: string, monitorName: string, options: Models.VMCollectionUpdateOptionalParams, callback: msRest.ServiceCallback): void;
+ update(resourceGroupName: string, monitorName: string, options?: Models.VMCollectionUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ updateOperationSpec,
+ callback);
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmCollectionUpdate",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: [
+ "options",
+ "body"
+ ],
+ mapper: Mappers.VMCollectionUpdate
+ },
+ responses: {
+ 200: {},
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/vMHost.ts b/sdk/elastic/arm-elastic/src/operations/vMHost.ts
new file mode 100644
index 000000000000..2099ad100dae
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/vMHost.ts
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/vMHostMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a VMHost. */
+export class VMHost {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a VMHost.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List the vm resources currently being monitored by the Elastic monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * @summary List the vm resources currently being monitored by the Elastic monitor resource.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listVMHost",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.VMHostListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.VMHostListResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/src/operations/vMIngestion.ts b/sdk/elastic/arm-elastic/src/operations/vMIngestion.ts
new file mode 100644
index 000000000000..7b2c930a9326
--- /dev/null
+++ b/sdk/elastic/arm-elastic/src/operations/vMIngestion.ts
@@ -0,0 +1,86 @@
+/*
+ * 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/vMIngestionMappers";
+import * as Parameters from "../models/parameters";
+import { MicrosoftElasticContext } from "../microsoftElasticContext";
+
+/** Class representing a VMIngestion. */
+export class VMIngestion {
+ private readonly client: MicrosoftElasticContext;
+
+ /**
+ * Create a VMIngestion.
+ * @param {MicrosoftElasticContext} client Reference to the service client.
+ */
+ constructor(client: MicrosoftElasticContext) {
+ this.client = client;
+ }
+
+ /**
+ * @summary List the vm ingestion details that will be monitored by the Elastic monitor resource.
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ details(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param callback The callback
+ */
+ details(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to which the Elastic resource belongs.
+ * @param monitorName Monitor resource name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ details(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ details(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ monitorName,
+ options
+ },
+ detailsOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const detailsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmIngestionDetails",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.monitorName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.VMIngestionDetailsResponse
+ },
+ default: {
+ bodyMapper: Mappers.ResourceProviderDefaultErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/elastic/arm-elastic/tsconfig.json b/sdk/elastic/arm-elastic/tsconfig.json
new file mode 100644
index 000000000000..422b584abd5e
--- /dev/null
+++ b/sdk/elastic/arm-elastic/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"]
+}