From 132058d58049dd5964262e18b8bfd7b4f7761e87 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 19 Mar 2021 02:55:27 +0000 Subject: [PATCH] CodeGen from PR 13512 in Azure/azure-rest-api-specs Merge dcba65d90612d63ea931370ebdc20ffe8feb42c0 into 1c292ffc343d0f865dab7597aa10377ac4495cd9 --- sdk/datadog/arm-datadog/LICENSE.txt | 21 + sdk/datadog/arm-datadog/README.md | 98 ++ sdk/datadog/arm-datadog/package.json | 58 + sdk/datadog/arm-datadog/rollup.config.js | 37 + .../arm-datadog/src/microsoftDatadogClient.ts | 49 + .../src/microsoftDatadogClientContext.ts | 61 + sdk/datadog/arm-datadog/src/models/index.ts | 1522 +++++++++++++++++ sdk/datadog/arm-datadog/src/models/mappers.ts | 1372 +++++++++++++++ .../models/marketplaceAgreementsMappers.ts | 31 + .../arm-datadog/src/models/monitorsMappers.ts | 45 + .../src/models/operationsMappers.ts | 16 + .../arm-datadog/src/models/parameters.ts | 103 ++ .../singleSignOnConfigurationsMappers.ts | 31 + .../arm-datadog/src/models/tagRulesMappers.ts | 31 + .../arm-datadog/src/operations/index.ts | 14 + .../src/operations/marketplaceAgreements.ts | 182 ++ .../arm-datadog/src/operations/monitors.ts | 1088 ++++++++++++ .../arm-datadog/src/operations/operations.ts | 125 ++ .../operations/singleSignOnConfigurations.ts | 270 +++ .../arm-datadog/src/operations/tagRules.ts | 269 +++ sdk/datadog/arm-datadog/tsconfig.json | 19 + 21 files changed, 5442 insertions(+) create mode 100644 sdk/datadog/arm-datadog/LICENSE.txt create mode 100644 sdk/datadog/arm-datadog/README.md create mode 100644 sdk/datadog/arm-datadog/package.json create mode 100644 sdk/datadog/arm-datadog/rollup.config.js create mode 100644 sdk/datadog/arm-datadog/src/microsoftDatadogClient.ts create mode 100644 sdk/datadog/arm-datadog/src/microsoftDatadogClientContext.ts create mode 100644 sdk/datadog/arm-datadog/src/models/index.ts create mode 100644 sdk/datadog/arm-datadog/src/models/mappers.ts create mode 100644 sdk/datadog/arm-datadog/src/models/marketplaceAgreementsMappers.ts create mode 100644 sdk/datadog/arm-datadog/src/models/monitorsMappers.ts create mode 100644 sdk/datadog/arm-datadog/src/models/operationsMappers.ts create mode 100644 sdk/datadog/arm-datadog/src/models/parameters.ts create mode 100644 sdk/datadog/arm-datadog/src/models/singleSignOnConfigurationsMappers.ts create mode 100644 sdk/datadog/arm-datadog/src/models/tagRulesMappers.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/index.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/marketplaceAgreements.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/monitors.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/operations.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/singleSignOnConfigurations.ts create mode 100644 sdk/datadog/arm-datadog/src/operations/tagRules.ts create mode 100644 sdk/datadog/arm-datadog/tsconfig.json diff --git a/sdk/datadog/arm-datadog/LICENSE.txt b/sdk/datadog/arm-datadog/LICENSE.txt new file mode 100644 index 000000000000..2d3163745319 --- /dev/null +++ b/sdk/datadog/arm-datadog/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/datadog/arm-datadog/README.md b/sdk/datadog/arm-datadog/README.md new file mode 100644 index 000000000000..a20955120dc4 --- /dev/null +++ b/sdk/datadog/arm-datadog/README.md @@ -0,0 +1,98 @@ +## Azure MicrosoftDatadogClient SDK for JavaScript + +This package contains an isomorphic SDK for MicrosoftDatadogClient. + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/arm-datadog +``` + +### How to use + +#### nodejs - client creation and list marketplaceAgreements 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 { MicrosoftDatadogClient } = require("@azure/arm-datadog"); +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new MicrosoftDatadogClient(creds, subscriptionId); + client.marketplaceAgreements.list().then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### browser - Authentication, client creation and list marketplaceAgreements 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-datadog 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/datadog/arm-datadog/README.png) diff --git a/sdk/datadog/arm-datadog/package.json b/sdk/datadog/arm-datadog/package.json new file mode 100644 index 000000000000..898d322cf8d1 --- /dev/null +++ b/sdk/datadog/arm-datadog/package.json @@ -0,0 +1,58 @@ +{ + "name": "@azure/arm-datadog", + "author": "Microsoft Corporation", + "description": "MicrosoftDatadogClient 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-datadog.js", + "module": "./esm/microsoftDatadogClient.js", + "types": "./esm/microsoftDatadogClient.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/datadog/arm-datadog", + "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-datadog.js.map'\" -o ./dist/arm-datadog.min.js ./dist/arm-datadog.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/datadog/arm-datadog/rollup.config.js b/sdk/datadog/arm-datadog/rollup.config.js new file mode 100644 index 000000000000..90be5982c5c6 --- /dev/null +++ b/sdk/datadog/arm-datadog/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/microsoftDatadogClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/arm-datadog.js", + format: "umd", + name: "Azure.ArmDatadog", + 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/datadog/arm-datadog/src/microsoftDatadogClient.ts b/sdk/datadog/arm-datadog/src/microsoftDatadogClient.ts new file mode 100644 index 000000000000..5098f57e6721 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/microsoftDatadogClient.ts @@ -0,0 +1,49 @@ +/* + * 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 { MicrosoftDatadogClientContext } from "./microsoftDatadogClientContext"; + + +class MicrosoftDatadogClient extends MicrosoftDatadogClientContext { + // Operation groups + marketplaceAgreements: operations.MarketplaceAgreements; + monitors: operations.Monitors; + operations: operations.Operations; + tagRules: operations.TagRules; + singleSignOnConfigurations: operations.SingleSignOnConfigurations; + + /** + * Initializes a new instance of the MicrosoftDatadogClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftDatadogClientOptions) { + super(credentials, subscriptionId, options); + this.marketplaceAgreements = new operations.MarketplaceAgreements(this); + this.monitors = new operations.Monitors(this); + this.operations = new operations.Operations(this); + this.tagRules = new operations.TagRules(this); + this.singleSignOnConfigurations = new operations.SingleSignOnConfigurations(this); + } +} + +// Operation Specifications + +export { + MicrosoftDatadogClient, + MicrosoftDatadogClientContext, + Models as MicrosoftDatadogModels, + Mappers as MicrosoftDatadogMappers +}; +export * from "./operations"; diff --git a/sdk/datadog/arm-datadog/src/microsoftDatadogClientContext.ts b/sdk/datadog/arm-datadog/src/microsoftDatadogClientContext.ts new file mode 100644 index 000000000000..ca29e487b8cd --- /dev/null +++ b/sdk/datadog/arm-datadog/src/microsoftDatadogClientContext.ts @@ -0,0 +1,61 @@ +/* + * 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-datadog"; +const packageVersion = "1.0.0"; + +export class MicrosoftDatadogClientContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials; + apiVersion?: string; + subscriptionId: string; + + /** + * Initializes a new instance of the MicrosoftDatadogClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftDatadogClientOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId == undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if(!options.userAgent) { + const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '2021-03-01'; + 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/datadog/arm-datadog/src/models/index.ts b/sdk/datadog/arm-datadog/src/models/index.ts new file mode 100644 index 000000000000..46bb6b776d71 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/index.ts @@ -0,0 +1,1522 @@ +/* + * 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 }; + +/** + * Terms properties. + */ +export interface DatadogAgreementProperties { + /** + * Publisher identifier string. + */ + publisher?: string; + /** + * Product identifier string. + */ + product?: string; + /** + * Plan identifier string. + */ + plan?: string; + /** + * Link to HTML with Microsoft and Publisher terms. + */ + licenseTextLink?: string; + /** + * Link to the privacy policy of the publisher. + */ + privacyPolicyLink?: string; + /** + * Date and time in UTC of when the terms were accepted. This is empty if Accepted is false. + */ + retrieveDatetime?: Date; + /** + * Terms signature. + */ + signature?: string; + /** + * If any version of the terms have been accepted, otherwise false. + */ + accepted?: boolean; +} + +/** + * 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; +} + +/** + * An interface representing DatadogAgreementResource. + */ +export interface DatadogAgreementResource extends BaseResource { + /** + * ARM id of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the agreement. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Represents the properties of the resource. + */ + properties?: DatadogAgreementProperties; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * An interface representing DatadogApiKey. + */ +export interface DatadogApiKey { + /** + * The user that created the API key. + */ + createdBy?: string; + /** + * The name of the API key. + */ + name?: string; + /** + * The value of the API key. + */ + key: string; + /** + * The time of creation of the API key. + */ + created?: string; +} + +/** + * An interface representing DatadogInstallMethod. + */ +export interface DatadogInstallMethod { + /** + * The tool. + */ + tool?: string; + /** + * The tool version. + */ + toolVersion?: string; + /** + * The installer version. + */ + installerVersion?: string; +} + +/** + * An interface representing DatadogLogsAgent. + */ +export interface DatadogLogsAgent { + /** + * The transport. + */ + transport?: string; +} + +/** + * An interface representing DatadogHostMetadata. + */ +export interface DatadogHostMetadata { + /** + * The agent version. + */ + agentVersion?: string; + installMethod?: DatadogInstallMethod; + logsAgent?: DatadogLogsAgent; +} + +/** + * An interface representing DatadogHost. + */ +export interface DatadogHost { + /** + * The name of the host. + */ + name?: string; + /** + * The aliases for the host. + */ + aliases?: string[]; + /** + * The Datadog integrations reporting metrics for the host. + */ + apps?: string[]; + meta?: DatadogHostMetadata; +} + +/** + * The definition of a linked resource. + */ +export interface LinkedResource { + /** + * The ARM id of the linked resource. + */ + id?: string; +} + +/** + * The properties of a resource currently being monitored by the Datadog monitor resource. + */ +export interface MonitoredResource { + /** + * The ARM id of the resource. + */ + id?: string; + /** + * Flag indicating if resource is sending metrics to Datadog. + */ + sendingMetrics?: boolean; + /** + * Reason for why the resource is sending metrics (or why it is not sending). + */ + reasonForMetricsStatus?: string; + /** + * Flag indicating if resource is sending logs to Datadog. + */ + sendingLogs?: boolean; + /** + * Reason for why the resource is sending logs (or why it is not sending). + */ + reasonForLogsStatus?: string; +} + +/** + * The object that represents the operation. + */ +export interface OperationDisplay { + /** + * Service provider, i.e., Microsoft.Datadog. + */ + 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.Datadog REST API operation. + */ +export interface OperationResult { + /** + * Operation name, i.e., {provider}/{resource}/{operation}. + */ + name?: string; + display?: OperationDisplay; + /** + * Indicates whether the operation is a data action + */ + isDataAction?: boolean; +} + +/** + * An interface representing ResourceSku. + */ +export interface ResourceSku { + /** + * Name of the SKU. + */ + name: string; +} + +/** + * Datadog organization properties + */ +export interface DatadogOrganizationProperties { + /** + * Name of the Datadog organization. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Id of the Datadog organization. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The auth code used to linking to an existing datadog organization. + */ + linkingAuthCode?: string; + /** + * The client_id from an existing in exchange for an auth token to link organization. + */ + linkingClientId?: string; + /** + * The redirect uri for linking. + */ + redirectUri?: string; + /** + * Api key associated to the Datadog organization. + */ + apiKey?: string; + /** + * Application key associated to the Datadog organization. + */ + applicationKey?: string; + /** + * The Id of the Enterprise App used for Single sign on. + */ + enterpriseAppId?: string; +} + +/** + * User info + */ +export interface UserInfo { + /** + * Name of the user + */ + name?: string; + /** + * Email of the user used by Datadog for contacting them if needed + */ + emailAddress?: string; + /** + * Phone number of the user used by Datadog for contacting them if needed + */ + phoneNumber?: string; +} + +/** + * Properties specific to the monitor resource. + */ +export interface MonitorProperties { + /** + * Possible values include: 'Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', + * 'Failed', 'Canceled', 'Deleted', 'NotSpecified' + */ + provisioningState?: ProvisioningState; + /** + * Possible values include: 'Enabled', 'Disabled'. Default value: 'Enabled'. + */ + monitoringStatus?: MonitoringStatus; + /** + * Possible values include: 'Provisioning', 'Active', 'Suspended', 'Unsubscribed' + */ + marketplaceSubscriptionStatus?: MarketplaceSubscriptionStatus; + datadogOrganizationProperties?: DatadogOrganizationProperties; + 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; +} + +/** + * An interface representing IdentityProperties. + */ +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; + /** + * Possible values include: 'SystemAssigned', 'UserAssigned' + */ + type?: ManagedIdentityTypes; +} + +/** + * An interface representing DatadogMonitorResource. + */ +export interface DatadogMonitorResource 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?: ResourceSku; + properties?: MonitorProperties; + identity?: IdentityProperties; + tags?: { [propertyName: string]: string }; + location: string; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * The set of properties that can be update in a PATCH request to a monitor resource. + */ +export interface MonitorUpdateProperties { + /** + * Possible values include: 'Enabled', 'Disabled'. Default value: 'Enabled'. + */ + monitoringStatus?: MonitoringStatus; +} + +/** + * The parameters for a PATCH request to a monitor resource. + */ +export interface DatadogMonitorResourceUpdateParameters { + properties?: MonitorUpdateProperties; + /** + * The new tags of the monitor resource. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * An interface representing DatadogSetPasswordLink. + */ +export interface DatadogSetPasswordLink { + setPasswordLink?: 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; + /** + * 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 Azure subscription logs should be sent for the Monitor resource. + */ + sendSubscriptionLogs?: boolean; + /** + * Flag specifying if Azure resource logs should be sent for the Monitor resource. + */ + sendResourceLogs?: boolean; + /** + * List of filtering tags to be used for capturing logs. This only takes effect if + * SendResourceLogs 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[]; +} + +/** + * Set of rules for sending metrics for the Monitor resource. + */ +export interface MetricRules { + /** + * List of filtering tags to be used for capturing metrics. 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 { + /** + * Possible values include: 'Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', + * 'Failed', 'Canceled', 'Deleted', 'NotSpecified' + */ + provisioningState?: ProvisioningState; + logRules?: LogRules; + metricRules?: MetricRules; +} + +/** + * 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?: MonitoringTagRulesProperties; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * An interface representing DatadogSingleSignOnProperties. + */ +export interface DatadogSingleSignOnProperties { + /** + * Possible values include: 'Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded', + * 'Failed', 'Canceled', 'Deleted', 'NotSpecified' + */ + provisioningState?: ProvisioningState; + /** + * Possible values include: 'Initial', 'Enable', 'Disable', 'Existing' + */ + singleSignOnState?: SingleSignOnStates; + /** + * The Id of the Enterprise App used for Single sign-on. + */ + enterpriseAppId?: string; + /** + * The login URL specific to this Datadog Organization. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly singleSignOnUrl?: string; +} + +/** + * An interface representing DatadogSingleSignOnResource. + */ +export interface DatadogSingleSignOnResource extends BaseResource { + /** + * ARM id of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the configuration. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + properties?: DatadogSingleSignOnProperties; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * The resource management error additional info. + */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The additional info. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly info?: any; +} + +/** + * The error detail. + */ +export interface ErrorDetail { + /** + * The error code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly code?: string; + /** + * The error message. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * The error target. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly target?: string; + /** + * The error details. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly details?: ErrorDetail[]; + /** + * The error additional info. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** + * Common error response for all Azure Resource Manager APIs to return error details for failed + * operations. (This also follows the OData error response format.). + * @summary Error response + */ +export interface ErrorResponse { + /** + * The error object. + */ + error?: ErrorDetail; +} + +/** + * Optional Parameters. + */ +export interface MarketplaceAgreementsCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogAgreementResource; +} + +/** + * Optional Parameters. + */ +export interface MonitorsSetDefaultKeyOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogApiKey; +} + +/** + * Optional Parameters. + */ +export interface MonitorsCreateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogMonitorResource; +} + +/** + * Optional Parameters. + */ +export interface MonitorsUpdateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogMonitorResourceUpdateParameters; +} + +/** + * Optional Parameters. + */ +export interface MonitorsBeginCreateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogMonitorResource; +} + +/** + * Optional Parameters. + */ +export interface TagRulesCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + body?: MonitoringTagRules; +} + +/** + * Optional Parameters. + */ +export interface SingleSignOnConfigurationsCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogSingleSignOnResource; +} + +/** + * Optional Parameters. + */ +export interface SingleSignOnConfigurationsBeginCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + body?: DatadogSingleSignOnResource; +} + +/** + * An interface representing MicrosoftDatadogClientOptions. + */ +export interface MicrosoftDatadogClientOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * @interface + * Response of a list operation. + * @extends Array + */ +export interface DatadogAgreementResourceListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * @interface + * Response of a list operation. + * @extends Array + */ +export interface DatadogApiKeyListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * @interface + * Response of a list operation. + * @extends Array + */ +export interface DatadogHostListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * @interface + * Response of a list operation. + * @extends Array + */ +export interface LinkedResourceListResponse 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 DatadogMonitorResourceListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * @interface + * Result of GET request to list the Microsoft.Datadog 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 MonitoringTagRulesListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * @interface + * Response of a list operation. + * @extends Array + */ +export interface DatadogSingleSignOnResourceListResponse extends Array { + /** + * Link to the next set of results, if any. + */ + nextLink?: string; +} + +/** + * Defines values for CreatedByType. + * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + * @readonly + * @enum {string} + */ +export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key'; + +/** + * Defines values for 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 MarketplaceSubscriptionStatus. + * Possible values include: 'Provisioning', 'Active', 'Suspended', 'Unsubscribed' + * @readonly + * @enum {string} + */ +export type MarketplaceSubscriptionStatus = 'Provisioning' | 'Active' | 'Suspended' | 'Unsubscribed'; + +/** + * 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', 'UserAssigned' + * @readonly + * @enum {string} + */ +export type ManagedIdentityTypes = 'SystemAssigned' | 'UserAssigned'; + +/** + * Defines values for TagAction. + * Possible values include: 'Include', 'Exclude' + * @readonly + * @enum {string} + */ +export type TagAction = 'Include' | 'Exclude'; + +/** + * Defines values for SingleSignOnStates. + * Possible values include: 'Initial', 'Enable', 'Disable', 'Existing' + * @readonly + * @enum {string} + */ +export type SingleSignOnStates = 'Initial' | 'Enable' | 'Disable' | 'Existing'; + +/** + * Contains response data for the list operation. + */ +export type MarketplaceAgreementsListResponse = DatadogAgreementResourceListResponse & { + /** + * 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: DatadogAgreementResourceListResponse; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type MarketplaceAgreementsCreateOrUpdateResponse = DatadogAgreementResource & { + /** + * 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: DatadogAgreementResource; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type MarketplaceAgreementsListNextResponse = DatadogAgreementResourceListResponse & { + /** + * 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: DatadogAgreementResourceListResponse; + }; +}; + +/** + * Contains response data for the listApiKeys operation. + */ +export type MonitorsListApiKeysResponse = DatadogApiKeyListResponse & { + /** + * 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: DatadogApiKeyListResponse; + }; +}; + +/** + * Contains response data for the getDefaultKey operation. + */ +export type MonitorsGetDefaultKeyResponse = DatadogApiKey & { + /** + * 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: DatadogApiKey; + }; +}; + +/** + * Contains response data for the listHosts operation. + */ +export type MonitorsListHostsResponse = DatadogHostListResponse & { + /** + * 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: DatadogHostListResponse; + }; +}; + +/** + * Contains response data for the listLinkedResources operation. + */ +export type MonitorsListLinkedResourcesResponse = LinkedResourceListResponse & { + /** + * 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: LinkedResourceListResponse; + }; +}; + +/** + * Contains response data for the listMonitoredResources operation. + */ +export type MonitorsListMonitoredResourcesResponse = 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 MonitorsListResponse = DatadogMonitorResourceListResponse & { + /** + * 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: DatadogMonitorResourceListResponse; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type MonitorsListByResourceGroupResponse = DatadogMonitorResourceListResponse & { + /** + * 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: DatadogMonitorResourceListResponse; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type MonitorsGetResponse = DatadogMonitorResource & { + /** + * 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: DatadogMonitorResource; + }; +}; + +/** + * Contains response data for the create operation. + */ +export type MonitorsCreateResponse = DatadogMonitorResource & { + /** + * 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: DatadogMonitorResource; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type MonitorsUpdateResponse = DatadogMonitorResource & { + /** + * 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: DatadogMonitorResource; + }; +}; + +/** + * Contains response data for the refreshSetPasswordLink operation. + */ +export type MonitorsRefreshSetPasswordLinkResponse = DatadogSetPasswordLink & { + /** + * 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: DatadogSetPasswordLink; + }; +}; + +/** + * Contains response data for the beginCreate operation. + */ +export type MonitorsBeginCreateResponse = DatadogMonitorResource & { + /** + * 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: DatadogMonitorResource; + }; +}; + +/** + * Contains response data for the listApiKeysNext operation. + */ +export type MonitorsListApiKeysNextResponse = DatadogApiKeyListResponse & { + /** + * 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: DatadogApiKeyListResponse; + }; +}; + +/** + * Contains response data for the listHostsNext operation. + */ +export type MonitorsListHostsNextResponse = DatadogHostListResponse & { + /** + * 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: DatadogHostListResponse; + }; +}; + +/** + * Contains response data for the listLinkedResourcesNext operation. + */ +export type MonitorsListLinkedResourcesNextResponse = LinkedResourceListResponse & { + /** + * 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: LinkedResourceListResponse; + }; +}; + +/** + * Contains response data for the listMonitoredResourcesNext operation. + */ +export type MonitorsListMonitoredResourcesNextResponse = 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 MonitorsListNextResponse = DatadogMonitorResourceListResponse & { + /** + * 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: DatadogMonitorResourceListResponse; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type MonitorsListByResourceGroupNextResponse = DatadogMonitorResourceListResponse & { + /** + * 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: DatadogMonitorResourceListResponse; + }; +}; + +/** + * 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 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 SingleSignOnConfigurationsListResponse = DatadogSingleSignOnResourceListResponse & { + /** + * 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: DatadogSingleSignOnResourceListResponse; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type SingleSignOnConfigurationsCreateOrUpdateResponse = DatadogSingleSignOnResource & { + /** + * 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: DatadogSingleSignOnResource; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SingleSignOnConfigurationsGetResponse = DatadogSingleSignOnResource & { + /** + * 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: DatadogSingleSignOnResource; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type SingleSignOnConfigurationsBeginCreateOrUpdateResponse = DatadogSingleSignOnResource & { + /** + * 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: DatadogSingleSignOnResource; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type SingleSignOnConfigurationsListNextResponse = DatadogSingleSignOnResourceListResponse & { + /** + * 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: DatadogSingleSignOnResourceListResponse; + }; +}; diff --git a/sdk/datadog/arm-datadog/src/models/mappers.ts b/sdk/datadog/arm-datadog/src/models/mappers.ts new file mode 100644 index 000000000000..5ee16538aa42 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/mappers.ts @@ -0,0 +1,1372 @@ +/* + * 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 DatadogAgreementProperties: msRest.CompositeMapper = { + serializedName: "DatadogAgreementProperties", + type: { + name: "Composite", + className: "DatadogAgreementProperties", + modelProperties: { + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + product: { + serializedName: "product", + type: { + name: "String" + } + }, + plan: { + serializedName: "plan", + type: { + name: "String" + } + }, + licenseTextLink: { + serializedName: "licenseTextLink", + type: { + name: "String" + } + }, + privacyPolicyLink: { + serializedName: "privacyPolicyLink", + type: { + name: "String" + } + }, + retrieveDatetime: { + serializedName: "retrieveDatetime", + type: { + name: "DateTime" + } + }, + signature: { + serializedName: "signature", + type: { + name: "String" + } + }, + accepted: { + serializedName: "accepted", + type: { + name: "Boolean" + } + } + } + } +}; + +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 DatadogAgreementResource: msRest.CompositeMapper = { + serializedName: "DatadogAgreementResource", + type: { + name: "Composite", + className: "DatadogAgreementResource", + 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" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "DatadogAgreementProperties" + } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const DatadogApiKey: msRest.CompositeMapper = { + serializedName: "DatadogApiKey", + type: { + name: "Composite", + className: "DatadogApiKey", + modelProperties: { + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + key: { + required: true, + serializedName: "key", + type: { + name: "String" + } + }, + created: { + serializedName: "created", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogInstallMethod: msRest.CompositeMapper = { + serializedName: "DatadogInstallMethod", + type: { + name: "Composite", + className: "DatadogInstallMethod", + modelProperties: { + tool: { + serializedName: "tool", + type: { + name: "String" + } + }, + toolVersion: { + serializedName: "toolVersion", + type: { + name: "String" + } + }, + installerVersion: { + serializedName: "installerVersion", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogLogsAgent: msRest.CompositeMapper = { + serializedName: "DatadogLogsAgent", + type: { + name: "Composite", + className: "DatadogLogsAgent", + modelProperties: { + transport: { + serializedName: "transport", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogHostMetadata: msRest.CompositeMapper = { + serializedName: "DatadogHostMetadata", + type: { + name: "Composite", + className: "DatadogHostMetadata", + modelProperties: { + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + installMethod: { + serializedName: "installMethod", + type: { + name: "Composite", + className: "DatadogInstallMethod" + } + }, + logsAgent: { + serializedName: "logsAgent", + type: { + name: "Composite", + className: "DatadogLogsAgent" + } + } + } + } +}; + +export const DatadogHost: msRest.CompositeMapper = { + serializedName: "DatadogHost", + type: { + name: "Composite", + className: "DatadogHost", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + aliases: { + serializedName: "aliases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + apps: { + serializedName: "apps", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + meta: { + serializedName: "meta", + type: { + name: "Composite", + className: "DatadogHostMetadata" + } + } + } + } +}; + +export const LinkedResource: msRest.CompositeMapper = { + serializedName: "LinkedResource", + type: { + name: "Composite", + className: "LinkedResource", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const MonitoredResource: msRest.CompositeMapper = { + serializedName: "MonitoredResource", + type: { + name: "Composite", + className: "MonitoredResource", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + sendingMetrics: { + serializedName: "sendingMetrics", + type: { + name: "Boolean" + } + }, + reasonForMetricsStatus: { + serializedName: "reasonForMetricsStatus", + type: { + name: "String" + } + }, + sendingLogs: { + serializedName: "sendingLogs", + type: { + name: "Boolean" + } + }, + reasonForLogsStatus: { + serializedName: "reasonForLogsStatus", + type: { + name: "String" + } + } + } + } +}; + +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" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + isDataAction: { + serializedName: "isDataAction", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ResourceSku: msRest.CompositeMapper = { + serializedName: "ResourceSku", + type: { + name: "Composite", + className: "ResourceSku", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogOrganizationProperties: msRest.CompositeMapper = { + serializedName: "DatadogOrganizationProperties", + type: { + name: "Composite", + className: "DatadogOrganizationProperties", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + linkingAuthCode: { + serializedName: "linkingAuthCode", + type: { + name: "String" + } + }, + linkingClientId: { + serializedName: "linkingClientId", + type: { + name: "String" + } + }, + redirectUri: { + serializedName: "redirectUri", + type: { + name: "String" + } + }, + apiKey: { + serializedName: "apiKey", + type: { + name: "String" + } + }, + applicationKey: { + serializedName: "applicationKey", + type: { + name: "String" + } + }, + enterpriseAppId: { + serializedName: "enterpriseAppId", + type: { + name: "String" + } + } + } + } +}; + +export const UserInfo: msRest.CompositeMapper = { + serializedName: "UserInfo", + type: { + name: "Composite", + className: "UserInfo", + modelProperties: { + name: { + serializedName: "name", + constraints: { + MaxLength: 50 + }, + type: { + name: "String" + } + }, + emailAddress: { + serializedName: "emailAddress", + constraints: { + Pattern: /^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$/ + }, + type: { + name: "String" + } + }, + phoneNumber: { + serializedName: "phoneNumber", + constraints: { + MaxLength: 40 + }, + type: { + name: "String" + } + } + } + } +}; + +export const MonitorProperties: msRest.CompositeMapper = { + serializedName: "MonitorProperties", + type: { + name: "Composite", + className: "MonitorProperties", + modelProperties: { + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String" + } + }, + monitoringStatus: { + serializedName: "monitoringStatus", + defaultValue: 'Enabled', + type: { + name: "String" + } + }, + marketplaceSubscriptionStatus: { + serializedName: "marketplaceSubscriptionStatus", + type: { + name: "String" + } + }, + datadogOrganizationProperties: { + serializedName: "datadogOrganizationProperties", + type: { + name: "Composite", + className: "DatadogOrganizationProperties" + } + }, + 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 DatadogMonitorResource: msRest.CompositeMapper = { + serializedName: "DatadogMonitorResource", + type: { + name: "Composite", + className: "DatadogMonitorResource", + 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 MonitorUpdateProperties: msRest.CompositeMapper = { + serializedName: "MonitorUpdateProperties", + type: { + name: "Composite", + className: "MonitorUpdateProperties", + modelProperties: { + monitoringStatus: { + serializedName: "monitoringStatus", + defaultValue: 'Enabled', + type: { + name: "String" + } + } + } + } +}; + +export const DatadogMonitorResourceUpdateParameters: msRest.CompositeMapper = { + serializedName: "DatadogMonitorResourceUpdateParameters", + type: { + name: "Composite", + className: "DatadogMonitorResourceUpdateParameters", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "MonitorUpdateProperties" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DatadogSetPasswordLink: msRest.CompositeMapper = { + serializedName: "DatadogSetPasswordLink", + type: { + name: "Composite", + className: "DatadogSetPasswordLink", + modelProperties: { + setPasswordLink: { + serializedName: "setPasswordLink", + 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" + } + }, + sendResourceLogs: { + serializedName: "sendResourceLogs", + type: { + name: "Boolean" + } + }, + filteringTags: { + serializedName: "filteringTags", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FilteringTag" + } + } + } + } + } + } +}; + +export const MetricRules: msRest.CompositeMapper = { + serializedName: "MetricRules", + type: { + name: "Composite", + className: "MetricRules", + modelProperties: { + 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" + } + }, + metricRules: { + serializedName: "metricRules", + type: { + name: "Composite", + className: "MetricRules" + } + } + } + } +}; + +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 DatadogSingleSignOnProperties: msRest.CompositeMapper = { + serializedName: "DatadogSingleSignOnProperties", + type: { + name: "Composite", + className: "DatadogSingleSignOnProperties", + modelProperties: { + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String" + } + }, + singleSignOnState: { + serializedName: "singleSignOnState", + type: { + name: "String" + } + }, + enterpriseAppId: { + serializedName: "enterpriseAppId", + type: { + name: "String" + } + }, + singleSignOnUrl: { + readOnly: true, + serializedName: "singleSignOnUrl", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogSingleSignOnResource: msRest.CompositeMapper = { + serializedName: "DatadogSingleSignOnResource", + type: { + name: "Composite", + className: "DatadogSingleSignOnResource", + 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" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "DatadogSingleSignOnProperties" + } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const ErrorAdditionalInfo: msRest.CompositeMapper = { + serializedName: "ErrorAdditionalInfo", + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + info: { + readOnly: true, + serializedName: "info", + type: { + name: "Object" + } + } + } + } +}; + +export const ErrorDetail: msRest.CompositeMapper = { + serializedName: "ErrorDetail", + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + target: { + readOnly: true, + serializedName: "target", + type: { + name: "String" + } + }, + details: { + readOnly: true, + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + }, + additionalInfo: { + readOnly: true, + serializedName: "additionalInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } + } + } + } + } +}; + +export const ErrorResponse: msRest.CompositeMapper = { + serializedName: "ErrorResponse", + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + } +}; + +export const DatadogAgreementResourceListResponse: msRest.CompositeMapper = { + serializedName: "DatadogAgreementResourceListResponse", + type: { + name: "Composite", + className: "DatadogAgreementResourceListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatadogAgreementResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogApiKeyListResponse: msRest.CompositeMapper = { + serializedName: "DatadogApiKeyListResponse", + type: { + name: "Composite", + className: "DatadogApiKeyListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatadogApiKey" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DatadogHostListResponse: msRest.CompositeMapper = { + serializedName: "DatadogHostListResponse", + type: { + name: "Composite", + className: "DatadogHostListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatadogHost" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const LinkedResourceListResponse: msRest.CompositeMapper = { + serializedName: "LinkedResourceListResponse", + type: { + name: "Composite", + className: "LinkedResourceListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LinkedResource" + } + } + } + }, + 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 DatadogMonitorResourceListResponse: msRest.CompositeMapper = { + serializedName: "DatadogMonitorResourceListResponse", + type: { + name: "Composite", + className: "DatadogMonitorResourceListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatadogMonitorResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + 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 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 DatadogSingleSignOnResourceListResponse: msRest.CompositeMapper = { + serializedName: "DatadogSingleSignOnResourceListResponse", + type: { + name: "Composite", + className: "DatadogSingleSignOnResourceListResponse", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatadogSingleSignOnResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/datadog/arm-datadog/src/models/marketplaceAgreementsMappers.ts b/sdk/datadog/arm-datadog/src/models/marketplaceAgreementsMappers.ts new file mode 100644 index 000000000000..71999e2f121d --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/marketplaceAgreementsMappers.ts @@ -0,0 +1,31 @@ +/* + * 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, + DatadogAgreementProperties, + DatadogAgreementResource, + DatadogAgreementResourceListResponse, + DatadogMonitorResource, + DatadogOrganizationProperties, + DatadogSingleSignOnProperties, + DatadogSingleSignOnResource, + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + FilteringTag, + IdentityProperties, + LogRules, + MetricRules, + MonitoringTagRules, + MonitoringTagRulesProperties, + MonitorProperties, + ResourceSku, + SystemData, + UserInfo +} from "../models/mappers"; diff --git a/sdk/datadog/arm-datadog/src/models/monitorsMappers.ts b/sdk/datadog/arm-datadog/src/models/monitorsMappers.ts new file mode 100644 index 000000000000..ae7d1141e3ea --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/monitorsMappers.ts @@ -0,0 +1,45 @@ +/* + * 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, + DatadogAgreementProperties, + DatadogAgreementResource, + DatadogApiKey, + DatadogApiKeyListResponse, + DatadogHost, + DatadogHostListResponse, + DatadogHostMetadata, + DatadogInstallMethod, + DatadogLogsAgent, + DatadogMonitorResource, + DatadogMonitorResourceListResponse, + DatadogMonitorResourceUpdateParameters, + DatadogOrganizationProperties, + DatadogSetPasswordLink, + DatadogSingleSignOnProperties, + DatadogSingleSignOnResource, + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + FilteringTag, + IdentityProperties, + LinkedResource, + LinkedResourceListResponse, + LogRules, + MetricRules, + MonitoredResource, + MonitoredResourceListResponse, + MonitoringTagRules, + MonitoringTagRulesProperties, + MonitorProperties, + MonitorUpdateProperties, + ResourceSku, + SystemData, + UserInfo +} from "../models/mappers"; diff --git a/sdk/datadog/arm-datadog/src/models/operationsMappers.ts b/sdk/datadog/arm-datadog/src/models/operationsMappers.ts new file mode 100644 index 000000000000..e8a08c7f2128 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/operationsMappers.ts @@ -0,0 +1,16 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + OperationDisplay, + OperationListResult, + OperationResult +} from "../models/mappers"; diff --git a/sdk/datadog/arm-datadog/src/models/parameters.ts b/sdk/datadog/arm-datadog/src/models/parameters.ts new file mode 100644 index 000000000000..2da04e3458ac --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/parameters.ts @@ -0,0 +1,103 @@ +/* + * 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, + serializedName: "api-version", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const configurationName: msRest.OperationURLParameter = { + parameterPath: "configurationName", + mapper: { + required: true, + serializedName: "configurationName", + 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", + constraints: { + MaxLength: 90, + MinLength: 1, + Pattern: /^[-\w\._\(\)]+$/ + }, + 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", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; diff --git a/sdk/datadog/arm-datadog/src/models/singleSignOnConfigurationsMappers.ts b/sdk/datadog/arm-datadog/src/models/singleSignOnConfigurationsMappers.ts new file mode 100644 index 000000000000..2a548cdfb4e9 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/singleSignOnConfigurationsMappers.ts @@ -0,0 +1,31 @@ +/* + * 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, + DatadogAgreementProperties, + DatadogAgreementResource, + DatadogMonitorResource, + DatadogOrganizationProperties, + DatadogSingleSignOnProperties, + DatadogSingleSignOnResource, + DatadogSingleSignOnResourceListResponse, + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + FilteringTag, + IdentityProperties, + LogRules, + MetricRules, + MonitoringTagRules, + MonitoringTagRulesProperties, + MonitorProperties, + ResourceSku, + SystemData, + UserInfo +} from "../models/mappers"; diff --git a/sdk/datadog/arm-datadog/src/models/tagRulesMappers.ts b/sdk/datadog/arm-datadog/src/models/tagRulesMappers.ts new file mode 100644 index 000000000000..d7f386d16c58 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/models/tagRulesMappers.ts @@ -0,0 +1,31 @@ +/* + * 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, + DatadogAgreementProperties, + DatadogAgreementResource, + DatadogMonitorResource, + DatadogOrganizationProperties, + DatadogSingleSignOnProperties, + DatadogSingleSignOnResource, + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + FilteringTag, + IdentityProperties, + LogRules, + MetricRules, + MonitoringTagRules, + MonitoringTagRulesListResponse, + MonitoringTagRulesProperties, + MonitorProperties, + ResourceSku, + SystemData, + UserInfo +} from "../models/mappers"; diff --git a/sdk/datadog/arm-datadog/src/operations/index.ts b/sdk/datadog/arm-datadog/src/operations/index.ts new file mode 100644 index 000000000000..d3ed4233dbcb --- /dev/null +++ b/sdk/datadog/arm-datadog/src/operations/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +export * from "./marketplaceAgreements"; +export * from "./monitors"; +export * from "./operations"; +export * from "./tagRules"; +export * from "./singleSignOnConfigurations"; diff --git a/sdk/datadog/arm-datadog/src/operations/marketplaceAgreements.ts b/sdk/datadog/arm-datadog/src/operations/marketplaceAgreements.ts new file mode 100644 index 000000000000..b5b6d2b32e3a --- /dev/null +++ b/sdk/datadog/arm-datadog/src/operations/marketplaceAgreements.ts @@ -0,0 +1,182 @@ +/* + * 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/marketplaceAgreementsMappers"; +import * as Parameters from "../models/parameters"; +import { MicrosoftDatadogClientContext } from "../microsoftDatadogClientContext"; + +/** Class representing a MarketplaceAgreements. */ +export class MarketplaceAgreements { + private readonly client: MicrosoftDatadogClientContext; + + /** + * Create a MarketplaceAgreements. + * @param {MicrosoftDatadogClientContext} client Reference to the service client. + */ + constructor(client: MicrosoftDatadogClientContext) { + this.client = client; + } + + /** + * @summary List Datadog marketplace agreements in the subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * @summary Create Datadog marketplace agreement in the subscription. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(options?: Models.MarketplaceAgreementsCreateOrUpdateOptionalParams): Promise; + /** + * @param callback The callback + */ + createOrUpdate(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(options: Models.MarketplaceAgreementsCreateOrUpdateOptionalParams, callback: msRest.ServiceCallback): void; + createOrUpdate(options?: Models.MarketplaceAgreementsCreateOrUpdateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * @summary List Datadog marketplace agreements in the subscription. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Datadog/agreements", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogAgreementResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Datadog/agreements/default", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.DatadogAgreementResource + }, + responses: { + 200: { + bodyMapper: Mappers.DatadogAgreementResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogAgreementResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/datadog/arm-datadog/src/operations/monitors.ts b/sdk/datadog/arm-datadog/src/operations/monitors.ts new file mode 100644 index 000000000000..3e530c98a4c8 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/operations/monitors.ts @@ -0,0 +1,1088 @@ +/* + * 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 { MicrosoftDatadogClientContext } from "../microsoftDatadogClientContext"; + +/** Class representing a Monitors. */ +export class Monitors { + private readonly client: MicrosoftDatadogClientContext; + + /** + * Create a Monitors. + * @param {MicrosoftDatadogClientContext} client Reference to the service client. + */ + constructor(client: MicrosoftDatadogClientContext) { + this.client = client; + } + + /** + * @summary List the api keys for a given monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + listApiKeys(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + listApiKeys(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + listApiKeys(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listApiKeys(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + listApiKeysOperationSpec, + callback) as Promise; + } + + /** + * @summary Get the default api key. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + getDefaultKey(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + getDefaultKey(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + getDefaultKey(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDefaultKey(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + getDefaultKeyOperationSpec, + callback) as Promise; + } + + /** + * @summary Set the default api key. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + setDefaultKey(resourceGroupName: string, monitorName: string, options?: Models.MonitorsSetDefaultKeyOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + setDefaultKey(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + setDefaultKey(resourceGroupName: string, monitorName: string, options: Models.MonitorsSetDefaultKeyOptionalParams, callback: msRest.ServiceCallback): void; + setDefaultKey(resourceGroupName: string, monitorName: string, options?: Models.MonitorsSetDefaultKeyOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + setDefaultKeyOperationSpec, + callback); + } + + /** + * @summary List the hosts for a given monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + listHosts(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + listHosts(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + listHosts(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listHosts(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + listHostsOperationSpec, + callback) as Promise; + } + + /** + * @summary List all Azure resources associated to the same Datadog organization as the target + * resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + listLinkedResources(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + listLinkedResources(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + listLinkedResources(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listLinkedResources(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + listLinkedResourcesOperationSpec, + callback) as Promise; + } + + /** + * @summary List the resources currently being monitored by the Datadog monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + listMonitoredResources(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + listMonitoredResources(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + listMonitoredResources(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listMonitoredResources(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + listMonitoredResourcesOperationSpec, + callback) as Promise; + } + + /** + * @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. The name is case insensitive. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * @summary Get the properties of a specific monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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 Refresh the set password link and return a latest one. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param [options] The optional parameters + * @returns Promise + */ + refreshSetPasswordLink(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param callback The callback + */ + refreshSetPasswordLink(resourceGroupName: string, monitorName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param options The optional parameters + * @param callback The callback + */ + refreshSetPasswordLink(resourceGroupName: string, monitorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + refreshSetPasswordLink(resourceGroupName: string, monitorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + options + }, + refreshSetPasswordLinkOperationSpec, + callback) as Promise; + } + + /** + * @summary Create a monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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. The name is case insensitive. + * @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 the api keys for a given monitor resource. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listApiKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listApiKeysNext(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 + */ + listApiKeysNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listApiKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listApiKeysNextOperationSpec, + callback) as Promise; + } + + /** + * @summary List the hosts for a given monitor resource. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listHostsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listHostsNext(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 + */ + listHostsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listHostsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listHostsNextOperationSpec, + callback) as Promise; + } + + /** + * @summary List all Azure resources associated to the same Datadog organization as the target + * resource. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listLinkedResourcesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listLinkedResourcesNext(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 + */ + listLinkedResourcesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listLinkedResourcesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listLinkedResourcesNextOperationSpec, + callback) as Promise; + } + + /** + * @summary List the resources currently being monitored by the Datadog monitor resource. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listMonitoredResourcesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listMonitoredResourcesNext(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 + */ + listMonitoredResourcesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listMonitoredResourcesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listMonitoredResourcesNextOperationSpec, + callback) as Promise; + } + + /** + * @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 listApiKeysOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listApiKeys", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogApiKeyListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getDefaultKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/getDefaultKey", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogApiKey + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const setDefaultKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/setDefaultKey", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.DatadogApiKey + }, + responses: { + 200: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listHostsOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listHosts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogHostListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listLinkedResourcesOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listLinkedResources", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.LinkedResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listMonitoredResourcesOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listMonitoredResources", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.MonitoredResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Datadog/monitors", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.DatadogMonitorResourceUpdateParameters + }, + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const refreshSetPasswordLinkOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/refreshSetPasswordLink", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogSetPasswordLink + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCreateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.DatadogMonitorResource + }, + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResource + }, + 201: { + bodyMapper: Mappers.DatadogMonitorResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listApiKeysNextOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogApiKeyListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listHostsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogHostListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listLinkedResourcesNextOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.LinkedResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listMonitoredResourcesNextOperationSpec: 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.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogMonitorResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/datadog/arm-datadog/src/operations/operations.ts b/sdk/datadog/arm-datadog/src/operations/operations.ts new file mode 100644 index 000000000000..ab04af050051 --- /dev/null +++ b/sdk/datadog/arm-datadog/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 { MicrosoftDatadogClientContext } from "../microsoftDatadogClientContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: MicrosoftDatadogClientContext; + + /** + * Create a Operations. + * @param {MicrosoftDatadogClientContext} client Reference to the service client. + */ + constructor(client: MicrosoftDatadogClientContext) { + this.client = client; + } + + /** + * @summary List all operations provided by Microsoft.Datadog for the 2021-03-01 api version. + * @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.Datadog for the 2021-03-01 api version. + * @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.Datadog/operations", + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/datadog/arm-datadog/src/operations/singleSignOnConfigurations.ts b/sdk/datadog/arm-datadog/src/operations/singleSignOnConfigurations.ts new file mode 100644 index 000000000000..2f0f7fbe14f6 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/operations/singleSignOnConfigurations.ts @@ -0,0 +1,270 @@ +/* + * 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/singleSignOnConfigurationsMappers"; +import * as Parameters from "../models/parameters"; +import { MicrosoftDatadogClientContext } from "../microsoftDatadogClientContext"; + +/** Class representing a SingleSignOnConfigurations. */ +export class SingleSignOnConfigurations { + private readonly client: MicrosoftDatadogClientContext; + + /** + * Create a SingleSignOnConfigurations. + * @param {MicrosoftDatadogClientContext} client Reference to the service client. + */ + constructor(client: MicrosoftDatadogClientContext) { + this.client = client; + } + + /** + * @summary List the single sign-on configurations for a given monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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 Configures single-sign-on for this resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param configurationName Configuration name + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, monitorName: string, configurationName: string, options?: Models.SingleSignOnConfigurationsCreateOrUpdateOptionalParams): Promise { + return this.beginCreateOrUpdate(resourceGroupName,monitorName,configurationName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Gets the datadog single sign-on resource for the given Monitor. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param configurationName Configuration name + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, monitorName: string, configurationName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param configurationName Configuration name + * @param callback The callback + */ + get(resourceGroupName: string, monitorName: string, configurationName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param configurationName Configuration name + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, monitorName: string, configurationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, monitorName: string, configurationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + monitorName, + configurationName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * @summary Configures single-sign-on for this resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param configurationName Configuration name + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, monitorName: string, configurationName: string, options?: Models.SingleSignOnConfigurationsBeginCreateOrUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + monitorName, + configurationName, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * @summary List the single sign-on configurations 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.Datadog/monitors/{monitorName}/singleSignOnConfigurations", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogSingleSignOnResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName, + Parameters.configurationName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogSingleSignOnResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName, + Parameters.configurationName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.DatadogSingleSignOnResource + }, + responses: { + 200: { + bodyMapper: Mappers.DatadogSingleSignOnResource + }, + 201: { + bodyMapper: Mappers.DatadogSingleSignOnResource + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DatadogSingleSignOnResourceListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/datadog/arm-datadog/src/operations/tagRules.ts b/sdk/datadog/arm-datadog/src/operations/tagRules.ts new file mode 100644 index 000000000000..d6f11bd84f83 --- /dev/null +++ b/sdk/datadog/arm-datadog/src/operations/tagRules.ts @@ -0,0 +1,269 @@ +/* + * 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/tagRulesMappers"; +import * as Parameters from "../models/parameters"; +import { MicrosoftDatadogClientContext } from "../microsoftDatadogClientContext"; + +/** Class representing a TagRules. */ +export class TagRules { + private readonly client: MicrosoftDatadogClientContext; + + /** + * Create a TagRules. + * @param {MicrosoftDatadogClientContext} client Reference to the service client. + */ + constructor(client: MicrosoftDatadogClientContext) { + this.client = client; + } + + /** + * @summary List the tag rules for a given monitor resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @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. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set 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. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set name + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set 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. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set 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. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set name + * @param callback The callback + */ + get(resourceGroupName: string, monitorName: string, ruleSetName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param monitorName Monitor resource name + * @param ruleSetName Rule set 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 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.Datadog/monitors/{monitorName}/tagRules", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.MonitoringTagRulesListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/tagRules/{ruleSetName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.monitorName, + Parameters.ruleSetName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: [ + "options", + "body" + ], + mapper: Mappers.MonitoringTagRules + }, + responses: { + 200: { + bodyMapper: Mappers.MonitoringTagRules + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/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.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.MonitoringTagRulesListResponse + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/datadog/arm-datadog/tsconfig.json b/sdk/datadog/arm-datadog/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/datadog/arm-datadog/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"] +}