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) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/elastic/arm-elastic/README.png) 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"] +}