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)
+
+
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