diff --git a/sdk/frontdoor/arm-frontdoor/LICENSE.txt b/sdk/frontdoor/arm-frontdoor/LICENSE.txt index a70e8cf66038..ea8fb1516028 100644 --- a/sdk/frontdoor/arm-frontdoor/LICENSE.txt +++ b/sdk/frontdoor/arm-frontdoor/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2020 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 diff --git a/sdk/frontdoor/arm-frontdoor/README.md b/sdk/frontdoor/arm-frontdoor/README.md index 97921102f7aa..3714fa555cc1 100644 --- a/sdk/frontdoor/arm-frontdoor/README.md +++ b/sdk/frontdoor/arm-frontdoor/README.md @@ -9,23 +9,24 @@ This package contains an isomorphic SDK for FrontDoorManagementClient. ### How to Install -``` +```bash npm install @azure/arm-frontdoor ``` ### How to use -#### nodejs - Authentication, client creation and list frontDoors as an example written in TypeScript. +#### nodejs - Authentication, client creation and list networkExperimentProfiles as an example written in TypeScript. ##### Install @azure/ms-rest-nodeauth -``` -npm 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 -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -34,7 +35,7 @@ const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; msRestNodeAuth.interactiveLogin().then((creds) => { const client = new FrontDoorManagementClient(creds, subscriptionId); - client.frontDoors.list().then((result) => { + client.networkExperimentProfiles.list().then((result) => { console.log("The result is:"); console.log(result); }); @@ -43,11 +44,11 @@ msRestNodeAuth.interactiveLogin().then((creds) => { }); ``` -#### browser - Authentication, client creation and list frontDoors as an example written in JavaScript. +#### browser - Authentication, client creation and list networkExperimentProfiles as an example written in JavaScript. ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -77,7 +78,7 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to authManager.login(); } const client = new Azure.ArmFrontdoor.FrontDoorManagementClient(res.creds, subscriptionId); - client.frontDoors.list().then((result) => { + client.networkExperimentProfiles.list().then((result) => { console.log("The result is:"); console.log(result); }).catch((err) => { @@ -95,5 +96,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Ffrontdoor%2Farm-frontdoor%2FREADME.png) +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/frontdoor/arm-frontdoor/README.png) diff --git a/sdk/frontdoor/arm-frontdoor/package.json b/sdk/frontdoor/arm-frontdoor/package.json index df11a78b3bb8..d40dca2d4ae5 100644 --- a/sdk/frontdoor/arm-frontdoor/package.json +++ b/sdk/frontdoor/arm-frontdoor/package.json @@ -4,9 +4,9 @@ "description": "FrontDoorManagementClient Library with typescript type definitions for node.js and browser.", "version": "3.1.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -20,18 +20,19 @@ "module": "./esm/frontDoorManagementClient.js", "types": "./esm/frontDoorManagementClient.d.ts", "devDependencies": { - "typescript": "^3.1.1", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", - "uglify-js": "^3.4.9" + "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/frontdoor/arm-frontdoor", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/frontdoor/arm-frontdoor", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/frontdoor/arm-frontdoor/rollup.config.js b/sdk/frontdoor/arm-frontdoor/rollup.config.js index a59cc6f58c72..6e3c9e3a47d4 100644 --- a/sdk/frontdoor/arm-frontdoor/rollup.config.js +++ b/sdk/frontdoor/arm-frontdoor/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/frontDoorManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/frontDoorManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-frontdoor.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() ] }; + export default config; diff --git a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts index 940960200152..5388cb4f8e81 100644 --- a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts +++ b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts @@ -18,14 +18,16 @@ import { FrontDoorManagementClientContext } from "./frontDoorManagementClientCon class FrontDoorManagementClient extends FrontDoorManagementClientContext { // Operation groups + networkExperimentProfiles: operations.NetworkExperimentProfiles; + preconfiguredEndpoints: operations.PreconfiguredEndpoints; + experiments: operations.Experiments; + reports: operations.Reports; frontDoors: operations.FrontDoors; - routingRules: operations.RoutingRules; - healthProbeSettings: operations.HealthProbeSettings; - loadBalancingSettings: operations.LoadBalancingSettings; - backendPools: operations.BackendPools; frontendEndpoints: operations.FrontendEndpoints; endpoints: operations.Endpoints; + rulesEngines: operations.RulesEngines; policies: operations.Policies; + managedRuleSets: operations.ManagedRuleSets; /** * Initializes a new instance of the FrontDoorManagementClient class. @@ -36,14 +38,16 @@ class FrontDoorManagementClient extends FrontDoorManagementClientContext { */ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.FrontDoorManagementClientOptions) { super(credentials, subscriptionId, options); + this.networkExperimentProfiles = new operations.NetworkExperimentProfiles(this); + this.preconfiguredEndpoints = new operations.PreconfiguredEndpoints(this); + this.experiments = new operations.Experiments(this); + this.reports = new operations.Reports(this); this.frontDoors = new operations.FrontDoors(this); - this.routingRules = new operations.RoutingRules(this); - this.healthProbeSettings = new operations.HealthProbeSettings(this); - this.loadBalancingSettings = new operations.LoadBalancingSettings(this); - this.backendPools = new operations.BackendPools(this); this.frontendEndpoints = new operations.FrontendEndpoints(this); this.endpoints = new operations.Endpoints(this); + this.rulesEngines = new operations.RulesEngines(this); this.policies = new operations.Policies(this); + this.managedRuleSets = new operations.ManagedRuleSets(this); } /** @@ -109,7 +113,7 @@ const checkFrontDoorNameAvailabilityOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "providers/Microsoft.Network/checkFrontDoorNameAvailability", queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -139,7 +143,7 @@ const checkFrontDoorNameAvailabilityWithSubscriptionOperationSpec: msRest.Operat Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClientContext.ts b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClientContext.ts index ef6ce3d84bc5..6b51eaaaf587 100644 --- a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClientContext.ts +++ b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-frontdoor"; -const packageVersion = "0.1.0"; +const packageVersion = "3.1.0"; export class FrontDoorManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/endpointsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/endpointsMappers.ts index 18eb96ab15e1..71c1b3bfbe8c 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/endpointsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/endpointsMappers.ts @@ -1,16 +1,13 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - PurgeParameters, - ErrorResponse + ErrorResponse, + PurgeParameters } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/experimentsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/experimentsMappers.ts new file mode 100644 index 000000000000..66c09ebb11d3 --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/models/experimentsMappers.ts @@ -0,0 +1,59 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Backend, + BackendPool, + BackendPoolsSettings, + BaseResource, + CacheConfiguration, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ExperimentList, + ExperimentUpdateModel, + ForwardingConfiguration, + FrontDoor, + FrontendEndpoint, + FrontendEndpointLink, + FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, + HeaderAction, + HealthProbeSettingsModel, + KeyVaultCertificateSourceParametersVault, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, + ManagedRuleSet, + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy +} from "../models/mappers"; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/frontDoorsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/frontDoorsMappers.ts index a0caa7d9a919..2da88499e759 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/frontDoorsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/frontDoorsMappers.ts @@ -1,41 +1,60 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - FrontDoorListResult, - FrontDoor, - Resource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, - RoutingRule, - SubResource, CacheConfiguration, - LoadBalancingSettingsModel, - HealthProbeSettingsModel, - BackendPool, - Backend, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ForwardingConfiguration, + FrontDoor, + FrontDoorListResult, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - ErrorResponse, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, + ManagedRuleSet, + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, ValidateCustomDomainInput, ValidateCustomDomainOutput, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, - ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/frontendEndpointsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/frontendEndpointsMappers.ts index 65eaef6398ca..e01f0f6bf186 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/frontendEndpointsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/frontendEndpointsMappers.ts @@ -1,39 +1,58 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - FrontendEndpointsListResult, - FrontendEndpoint, - SubResource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, - FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, + CacheConfiguration, CustomHttpsConfiguration, - KeyVaultCertificateSourceParametersVault, + CustomRule, + CustomRuleList, + Endpoint, ErrorResponse, - RoutingRule, - CacheConfiguration, - LoadBalancingSettingsModel, + Experiment, + ForwardingConfiguration, + FrontDoor, + FrontendEndpoint, + FrontendEndpointLink, + FrontendEndpointsListResult, + FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, + HeaderAction, HealthProbeSettingsModel, - BackendPool, - Backend, - Resource, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, + KeyVaultCertificateSourceParametersVault, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup, - FrontDoor + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/index.ts b/sdk/frontdoor/arm-frontdoor/src/models/index.ts index a85d00052dbd..a334a0c98a1c 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/index.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,1312 +11,1855 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; +/** + * An interface representing ErrorDetails. + */ +export interface ErrorDetails { + code?: string; + target?: string; + message?: string; +} + +/** + * An interface representing ErrorModel. + */ +export interface ErrorModel { + code?: string; + message?: string; + target?: string; + details?: ErrorDetails[]; + innerError?: string; +} + +/** + * The response body contains the status of the specified asynchronous operation, indicating + * whether it has succeeded, is in progress, or has failed. Note that this status is distinct from + * the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous + * operation succeeded, the response body includes the HTTP status code for the successful request. + * If the asynchronous operation failed, the response body includes the HTTP status code for the + * failed request and error information regarding the failure. + */ +export interface AzureAsyncOperationResult { + /** + * Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and + * 'Failed'. Possible values include: 'InProgress', 'Succeeded', 'Failed' + */ + status?: NetworkOperationStatus; + error?: ErrorModel; +} /** - * @interface - * An interface representing Resource. * Common resource representation. - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] Resource ID. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [location] Resource location. + * Resource location. */ location?: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags. + * Resource tags. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing FrontDoor. - * Front Door represents a collection of backend endpoints to route traffic to - * along with rules that specify how traffic is sent there. - * - * @extends Resource + * Reference to another subresource. + */ +export interface SubResource extends BaseResource { + /** + * Resource ID. + */ + id?: string; +} + +/** + * Tags object for patch operations. + */ +export interface TagsObject { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Defines an Network Experiment Profile and lists of Experiments + */ +export interface Profile extends Resource { + /** + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * 'Disabled', 'Deleting' + */ + resourceState?: NetworkExperimentResourceState; + /** + * The state of the Experiment. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: State; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ + etag?: string; +} + +/** + * Defines the endpoint properties + */ +export interface Endpoint { + /** + * The name of the endpoint + */ + name?: string; + /** + * The endpoint URL + */ + endpoint?: string; +} + +/** + * Defines modifiable attributes of a Profile + */ +export interface ProfileUpdateModel { + /** + * The enabled state of the Profile. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: State; + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Defines modifiable attributes of an Experiment + */ +export interface ExperimentUpdateModel { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * The description of the intent or details of the Experiment + */ + description?: string; + /** + * The state of the Experiment. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: State; +} + +/** + * Defines the properties of an Experiment + */ +export interface Experiment extends Resource { + /** + * The description of the details or intents of the Experiment + */ + description?: string; + /** + * The endpoint A of an experiment + */ + endpointA?: Endpoint; + /** + * The endpoint B of an experiment + */ + endpointB?: Endpoint; + /** + * The state of the Experiment. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: State; + /** + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * 'Disabled', 'Deleting' + */ + resourceState?: NetworkExperimentResourceState; + /** + * The description of Experiment status from the server side + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: string; + /** + * The uri to the Script used in the Experiment + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly scriptFileUri?: string; +} + +/** + * Defines the properties of a latency metric used in the latency scorecard + */ +export interface LatencyMetric { + /** + * The name of the Latency Metric + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The end time of the Latency Scorecard in UTC + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endDateTimeUTC?: string; + /** + * The metric value of the A endpoint + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly aValue?: number; + /** + * The metric value of the B endpoint + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly bValue?: number; + /** + * The difference in value between endpoint A and B + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly delta?: number; + /** + * The percent difference between endpoint A and B + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly deltaPercent?: number; + /** + * The lower end of the 95% confidence interval for endpoint A + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly aCLower95CI?: number; + /** + * The upper end of the 95% confidence interval for endpoint A + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly aHUpper95CI?: number; + /** + * The lower end of the 95% confidence interval for endpoint B + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly bCLower95CI?: number; + /** + * The upper end of the 95% confidence interval for endpoint B + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly bUpper95CI?: number; +} + +/** + * Defines the LatencyScorecard + */ +export interface LatencyScorecard extends Resource { + /** + * The unique identifier of the Latency Scorecard + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latencyScorecardId?: string; + /** + * The name of the Latency Scorecard + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latencyScorecardName?: string; + /** + * The description of the Latency Scorecard + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; + /** + * The A endpoint in the scorecard + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endpointA?: string; + /** + * The B endpoint in the scorecard + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endpointB?: string; + /** + * The start time of the Latency Scorecard in UTC + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startDateTimeUTC?: Date; + /** + * The end time of the Latency Scorecard in UTC + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endDateTimeUTC?: Date; + /** + * The country associated with the Latency Scorecard. Values are country ISO codes as specified + * here- https://www.iso.org/iso-3166-country-codes.html + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly country?: string; + /** + * The latency metrics of the Latency Scorecard + */ + latencyMetrics?: LatencyMetric[]; +} + +/** + * Defines a timeseries datapoint used in a timeseries + */ +export interface TimeseriesDataPoint { + /** + * The DateTime of the Timeseries data point in UTC + */ + dateTimeUTC?: string; + /** + * The Value of the Timeseries data point + */ + value?: number; +} + +/** + * Defines the Timeseries + */ +export interface Timeseries extends Resource { + /** + * The endpoint associated with the Timeseries data point + */ + endpoint?: string; + /** + * The start DateTime of the Timeseries in UTC + */ + startDateTimeUTC?: string; + /** + * The end DateTime of the Timeseries in UTC + */ + endDateTimeUTC?: string; + /** + * The aggregation interval of the Timeseries. Possible values include: 'Hourly', 'Daily' + */ + aggregationInterval?: AggregationInterval; + /** + * The type of Timeseries. Possible values include: 'MeasurementCounts', 'LatencyP50', + * 'LatencyP75', 'LatencyP95' + */ + timeseriesType?: TimeseriesType; + /** + * The country associated with the Timeseries. Values are country ISO codes as specified here- + * https://www.iso.org/iso-3166-country-codes.html + */ + country?: string; + /** + * The set of data points for the timeseries + */ + timeseriesData?: TimeseriesDataPoint[]; +} + +/** + * Defines the properties of a preconfigured endpoint + */ +export interface PreconfiguredEndpoint extends Resource { + /** + * The description of the endpoint + */ + description?: string; + /** + * The endpoint that is preconfigured + */ + endpoint?: string; + /** + * The type of endpoint. Possible values include: 'AFD', 'AzureRegion', 'CDN', 'ATM' + */ + endpointType?: EndpointType; + /** + * The preconfigured endpoint backend + */ + backend?: string; +} + +/** + * Error response indicates Front Door service is not able to process the incoming request. The + * reason is provided in the error message. + */ +export interface ErrorResponse { + /** + * Error code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly code?: string; + /** + * Error message indicating why the operation failed. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; +} + +/** + * A rules engine configuration containing a list of rules that will run to modify the runtime + * behavior of the request and response. + */ +export interface RulesEngine extends BaseResource { + /** + * A list of rules that define a particular Rules Engine Configuration. + */ + rules?: RulesEngineRule[]; + /** + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * 'Disabled', 'Deleting' + */ + resourceState?: FrontDoorResourceState; + /** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * Front Door represents a collection of backend endpoints to route traffic to along with rules + * that specify how traffic is sent there. */ export interface FrontDoor extends Resource { /** - * @member {string} [friendlyName] A friendly name for the frontDoor + * A friendly name for the frontDoor */ friendlyName?: string; /** - * @member {RoutingRule[]} [routingRules] Routing rules associated with this - * Front Door. + * Routing rules associated with this Front Door. */ routingRules?: RoutingRule[]; /** - * @member {LoadBalancingSettingsModel[]} [loadBalancingSettings] Load - * balancing settings associated with this Front Door instance. + * Load balancing settings associated with this Front Door instance. */ loadBalancingSettings?: LoadBalancingSettingsModel[]; /** - * @member {HealthProbeSettingsModel[]} [healthProbeSettings] Health probe - * settings associated with this Front Door instance. + * Health probe settings associated with this Front Door instance. */ healthProbeSettings?: HealthProbeSettingsModel[]; /** - * @member {BackendPool[]} [backendPools] Backend pools available to routing - * rules. + * Backend pools available to routing rules. */ backendPools?: BackendPool[]; /** - * @member {FrontendEndpoint[]} [frontendEndpoints] Frontend endpoints - * available to routing rules. + * Frontend endpoints available to routing rules. */ frontendEndpoints?: FrontendEndpoint[]; /** - * @member {FrontDoorEnabledState} [enabledState] Operational status of the - * Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'. - * Possible values include: 'Enabled', 'Disabled' + * Settings for all backendPools + */ + backendPoolsSettings?: BackendPoolsSettings; + /** + * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or + * 'Disabled'. Possible values include: 'Enabled', 'Disabled' */ enabledState?: FrontDoorEnabledState; /** - * @member {FrontDoorResourceState} [resourceState] Resource status of the - * Front Door. Possible values include: 'Creating', 'Enabling', 'Enabled', + * Resource status of the Front Door. Possible values include: 'Creating', 'Enabling', 'Enabled', * 'Disabling', 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {string} [provisioningState] Provisioning state of the Front Door. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Provisioning state of the Front Door. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; /** - * @member {string} [cname] The host that each frontendEndpoint must CNAME - * to. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The host that each frontendEndpoint must CNAME to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly cname?: string; -} - -/** - * @interface - * An interface representing SubResource. - * Reference to another subresource. - * - * @extends BaseResource - */ -export interface SubResource extends BaseResource { /** - * @member {string} [id] Resource ID. + * The Id of the frontdoor. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - id?: string; + readonly frontdoorId?: string; + /** + * Rules Engine Configurations available to routing rules. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly rulesEngines?: RulesEngine[]; } /** - * @interface - * An interface representing RoutingRule. - * A routing rule represents a specification for traffic to treat and where to - * send it, along with health probe information. - * - * @extends SubResource + * A routing rule represents a specification for traffic to treat and where to send it, along with + * health probe information. */ export interface RoutingRule extends SubResource { /** - * @member {SubResource[]} [frontendEndpoints] Frontend endpoints associated - * with this rule + * Frontend endpoints associated with this rule */ frontendEndpoints?: SubResource[]; /** - * @member {FrontDoorProtocol[]} [acceptedProtocols] Protocol schemes to - * match for this rule + * Protocol schemes to match for this rule */ acceptedProtocols?: FrontDoorProtocol[]; /** - * @member {string[]} [patternsToMatch] The route patterns of the rule. + * The route patterns of the rule. */ patternsToMatch?: string[]; /** - * @member {string} [customForwardingPath] A custom path used to rewrite - * resource paths matched by this rule. Leave empty to use incoming path. - */ - customForwardingPath?: string; - /** - * @member {FrontDoorForwardingProtocol} [forwardingProtocol] Protocol this - * rule will use when forwarding traffic to backends. Possible values - * include: 'HttpOnly', 'HttpsOnly', 'MatchRequest' + * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible + * values include: 'Enabled', 'Disabled' */ - forwardingProtocol?: FrontDoorForwardingProtocol; + enabledState?: RoutingRuleEnabledState; /** - * @member {CacheConfiguration} [cacheConfiguration] The caching - * configuration associated with this rule. + * A reference to the routing configuration. */ - cacheConfiguration?: CacheConfiguration; + routeConfiguration?: RouteConfigurationUnion; /** - * @member {SubResource} [backendPool] A reference to the BackendPool which - * this rule routes to. + * A reference to a specific Rules Engine Configuration to apply to this route. */ - backendPool?: SubResource; + rulesEngine?: SubResource; /** - * @member {FrontDoorEnabledState} [enabledState] Whether to enable use of - * this rule. Permitted values are 'Enabled' or 'Disabled'. Possible values - * include: 'Enabled', 'Disabled' - */ - enabledState?: FrontDoorEnabledState; - /** - * @member {FrontDoorResourceState} [resourceState] Resource status. Possible - * values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', * 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {string} [name] Resource name. + * Resource name. */ name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing LoadBalancingSettingsModel. * Load balancing settings for a backend pool - * - * @extends SubResource */ export interface LoadBalancingSettingsModel extends SubResource { /** - * @member {number} [sampleSize] The number of samples to consider for load - * balancing decisions + * The number of samples to consider for load balancing decisions */ sampleSize?: number; /** - * @member {number} [successfulSamplesRequired] The number of samples within - * the sample period that must succeed + * The number of samples within the sample period that must succeed */ successfulSamplesRequired?: number; /** - * @member {number} [additionalLatencyMilliseconds] The additional latency in - * milliseconds for probes to fall into the lowest latency bucket + * The additional latency in milliseconds for probes to fall into the lowest latency bucket */ additionalLatencyMilliseconds?: number; /** - * @member {FrontDoorResourceState} [resourceState] Resource status. Possible - * values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', * 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {string} [name] Resource name. + * Resource name. */ name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing HealthProbeSettingsModel. * Load balancing settings for a backend pool - * - * @extends SubResource */ export interface HealthProbeSettingsModel extends SubResource { /** - * @member {string} [path] The path to use for the health probe. Default is / + * The path to use for the health probe. Default is / */ path?: string; /** - * @member {FrontDoorProtocol} [protocol] Protocol scheme to use for this - * probe. Possible values include: 'Http', 'Https' + * Protocol scheme to use for this probe. Possible values include: 'Http', 'Https' */ protocol?: FrontDoorProtocol; /** - * @member {number} [intervalInSeconds] The number of seconds between health - * probes. + * The number of seconds between health probes. */ intervalInSeconds?: number; /** - * @member {FrontDoorResourceState} [resourceState] Resource status. Possible - * values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * Configures which HTTP method to use to probe the backends defined under backendPools. Possible + * values include: 'GET', 'HEAD'. Default value: 'HEAD'. + */ + healthProbeMethod?: FrontDoorHealthProbeMethod; + /** + * Whether to enable health probes to be made against backends defined under backendPools. Health + * probes can only be disabled if there is a single enabled backend in single enabled backend + * pool. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: HealthProbeEnabled; + /** + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', * 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {string} [name] Resource name. + * Resource name. */ name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing BackendPool. * A backend pool is a collection of backends that can be routed to. - * - * @extends SubResource */ export interface BackendPool extends SubResource { /** - * @member {Backend[]} [backends] The set of backends for this pool + * The set of backends for this pool */ backends?: Backend[]; /** - * @member {SubResource} [loadBalancingSettings] Load balancing settings for - * a backend pool + * Load balancing settings for a backend pool */ loadBalancingSettings?: SubResource; /** - * @member {SubResource} [healthProbeSettings] L7 health probe settings for a - * backend pool + * L7 health probe settings for a backend pool */ healthProbeSettings?: SubResource; /** - * @member {FrontDoorResourceState} [resourceState] Resource status. Possible - * values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', * 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {string} [name] Resource name. + * Resource name. */ name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing KeyVaultCertificateSourceParametersVault. * The Key Vault containing the SSL certificate - * */ export interface KeyVaultCertificateSourceParametersVault { /** - * @member {string} [id] Resource ID. + * Resource ID. */ id?: string; } /** - * @interface - * An interface representing CustomHttpsConfiguration. * Https settings for a domain - * */ export interface CustomHttpsConfiguration { /** - * @member {FrontDoorCertificateSource} [certificateSource] Defines the - * source of the SSL certificate. Possible values include: 'AzureKeyVault', + * Defines the source of the SSL certificate. Possible values include: 'AzureKeyVault', * 'FrontDoor' */ - certificateSource?: FrontDoorCertificateSource; + certificateSource: FrontDoorCertificateSource; /** - * @member {FrontDoorTlsProtocolType} [protocolType] Defines the TLS - * extension protocol that is used for secure delivery. Possible values - * include: 'ServerNameIndication' + * The minimum TLS version required from the clients to establish an SSL handshake with Front + * Door. Possible values include: '1.0', '1.2' */ - protocolType?: FrontDoorTlsProtocolType; + minimumTlsVersion: MinimumTLSVersion; /** - * @member {KeyVaultCertificateSourceParametersVault} [vault] The Key Vault - * containing the SSL certificate + * The Key Vault containing the SSL certificate */ vault?: KeyVaultCertificateSourceParametersVault; /** - * @member {string} [secretName] The name of the Key Vault secret - * representing the full certificate PFX + * The name of the Key Vault secret representing the full certificate PFX */ secretName?: string; /** - * @member {string} [secretVersion] The version of the Key Vault secret - * representing the full certificate PFX + * The version of the Key Vault secret representing the full certificate PFX */ secretVersion?: string; /** - * @member {FrontDoorCertificateType} [certificateType] Defines the type of - * the certificate used for secure connections to a frontendEndpoint. + * Defines the type of the certificate used for secure connections to a frontendEndpoint. * Possible values include: 'Dedicated' */ certificateType?: FrontDoorCertificateType; } /** - * @interface - * An interface representing FrontendEndpoint. * A frontend endpoint used for routing. - * - * @extends SubResource */ export interface FrontendEndpoint extends SubResource { /** - * @member {string} [hostName] The host name of the frontendEndpoint. Must be - * a domain name. + * The host name of the frontendEndpoint. Must be a domain name. */ hostName?: string; /** - * @member {SessionAffinityEnabledState} [sessionAffinityEnabledState] - * Whether to allow session affinity on this host. Valid options are - * 'Enabled' or 'Disabled'. Possible values include: 'Enabled', 'Disabled' + * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. + * Possible values include: 'Enabled', 'Disabled' */ sessionAffinityEnabledState?: SessionAffinityEnabledState; /** - * @member {number} [sessionAffinityTtlSeconds] UNUSED. This field will be - * ignored. The TTL to use in seconds for session affinity, if applicable. + * UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if + * applicable. */ sessionAffinityTtlSeconds?: number; /** - * @member {FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink} - * [webApplicationFirewallPolicyLink] Defines the Web Application Firewall - * policy for each host (if applicable) + * Defines the Web Application Firewall policy for each host (if applicable) */ webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink; /** - * @member {FrontDoorResourceState} [resourceState] Resource status. Possible - * values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', + * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', * 'Disabled', 'Deleting' */ resourceState?: FrontDoorResourceState; /** - * @member {CustomHttpsProvisioningState} [customHttpsProvisioningState] - * Provisioning status of Custom Https of the frontendEndpoint. Possible - * values include: 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Failed' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Provisioning status of Custom Https of the frontendEndpoint. Possible values include: + * 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly customHttpsProvisioningState?: CustomHttpsProvisioningState; /** - * @member {CustomHttpsProvisioningSubstate} - * [customHttpsProvisioningSubstate] Provisioning substate shows the progress - * of custom HTTPS enabling/disabling process step by step. Possible values - * include: 'SubmittingDomainControlValidationRequest', - * 'PendingDomainControlValidationREquestApproval', - * 'DomainControlValidationRequestApproved', - * 'DomainControlValidationRequestRejected', - * 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', - * 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', + * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by + * step. Possible values include: 'SubmittingDomainControlValidationRequest', + * 'PendingDomainControlValidationREquestApproval', 'DomainControlValidationRequestApproved', + * 'DomainControlValidationRequestRejected', 'DomainControlValidationRequestTimedOut', + * 'IssuingCertificate', 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', * 'CertificateDeleted' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate; /** - * @member {CustomHttpsConfiguration} [customHttpsConfiguration] The - * configuration specifying how to enable HTTPS - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The configuration specifying how to enable HTTPS + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly customHttpsConfiguration?: CustomHttpsConfiguration; /** - * @member {string} [name] Resource name. + * Resource name. */ name?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; +} + +/** + * Settings that apply to all backend pools. + */ +export interface BackendPoolsSettings { + /** + * Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on + * non-HTTPS requests. Possible values include: 'Enabled', 'Disabled'. Default value: 'Enabled'. + */ + enforceCertificateNameCheck?: EnforceCertificateNameCheckEnabledState; + /** + * Send and receive timeout on forwarding request to the backend. When timeout is reached, the + * request fails and returns. */ - readonly type?: string; + sendRecvTimeoutSeconds?: number; } /** - * @interface - * An interface representing FrontDoorUpdateParameters. * The properties needed to update a Front Door - * */ export interface FrontDoorUpdateParameters { /** - * @member {string} [friendlyName] A friendly name for the frontDoor + * A friendly name for the frontDoor */ friendlyName?: string; /** - * @member {RoutingRule[]} [routingRules] Routing rules associated with this - * Front Door. + * Routing rules associated with this Front Door. */ routingRules?: RoutingRule[]; /** - * @member {LoadBalancingSettingsModel[]} [loadBalancingSettings] Load - * balancing settings associated with this Front Door instance. + * Load balancing settings associated with this Front Door instance. */ loadBalancingSettings?: LoadBalancingSettingsModel[]; /** - * @member {HealthProbeSettingsModel[]} [healthProbeSettings] Health probe - * settings associated with this Front Door instance. + * Health probe settings associated with this Front Door instance. */ healthProbeSettings?: HealthProbeSettingsModel[]; /** - * @member {BackendPool[]} [backendPools] Backend pools available to routing - * rules. + * Backend pools available to routing rules. */ backendPools?: BackendPool[]; /** - * @member {FrontendEndpoint[]} [frontendEndpoints] Frontend endpoints - * available to routing rules. + * Frontend endpoints available to routing rules. */ frontendEndpoints?: FrontendEndpoint[]; /** - * @member {FrontDoorEnabledState} [enabledState] Operational status of the - * Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'. - * Possible values include: 'Enabled', 'Disabled' + * Settings for all backendPools + */ + backendPoolsSettings?: BackendPoolsSettings; + /** + * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or + * 'Disabled'. Possible values include: 'Enabled', 'Disabled' */ enabledState?: FrontDoorEnabledState; } /** - * @interface - * An interface representing PurgeParameters. * Parameters required for content purge. - * */ export interface PurgeParameters { /** - * @member {string[]} contentPaths The path to the content to be purged. Can - * describe a file path or a wild card directory. + * The path to the content to be purged. Can describe a file path or a wild card directory. */ contentPaths: string[]; } /** - * @interface - * An interface representing CacheConfiguration. - * Caching settings for a caching-type route. To disable caching, do not - * provide a cacheConfiguration object. - * + * Result of the request to list Routing Rules. It contains a list of Routing Rule objects and a + * URL link to get the next set of results. */ -export interface CacheConfiguration { +export interface RoutingRuleListResult { /** - * @member {FrontDoorQuery} [queryParameterStripDirective] Treatment of URL - * query terms when forming the cache key. Possible values include: - * 'StripNone', 'StripAll' + * List of Routing Rules within a Front Door. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryParameterStripDirective?: FrontDoorQuery; + readonly value?: RoutingRule[]; /** - * @member {DynamicCompressionEnabled} [dynamicCompression] Whether to use - * dynamic compression for cached content. Possible values include: - * 'Enabled', 'Disabled' + * URL to get the next set of RoutingRule objects if there are any. */ - dynamicCompression?: DynamicCompressionEnabled; + nextLink?: string; +} + +/** + * Contains the possible cases for RouteConfiguration. + */ +export type RouteConfigurationUnion = RouteConfiguration | ForwardingConfiguration | RedirectConfiguration; + +/** + * Base class for all types of Route. + */ +export interface RouteConfiguration { + /** + * Polymorphic Discriminator + */ + odatatype: "RouteConfiguration"; } /** - * @interface - * An interface representing RoutingRuleUpdateParameters. * Routing rules to apply to an endpoint - * */ export interface RoutingRuleUpdateParameters { /** - * @member {SubResource[]} [frontendEndpoints] Frontend endpoints associated - * with this rule + * Frontend endpoints associated with this rule */ frontendEndpoints?: SubResource[]; /** - * @member {FrontDoorProtocol[]} [acceptedProtocols] Protocol schemes to - * match for this rule + * Protocol schemes to match for this rule */ acceptedProtocols?: FrontDoorProtocol[]; /** - * @member {string[]} [patternsToMatch] The route patterns of the rule. + * The route patterns of the rule. */ patternsToMatch?: string[]; /** - * @member {string} [customForwardingPath] A custom path used to rewrite - * resource paths matched by this rule. Leave empty to use incoming path. + * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible + * values include: 'Enabled', 'Disabled' + */ + enabledState?: RoutingRuleEnabledState; + /** + * A reference to the routing configuration. + */ + routeConfiguration?: RouteConfigurationUnion; + /** + * A reference to a specific Rules Engine Configuration to apply to this route. + */ + rulesEngine?: SubResource; +} + +/** + * Caching settings for a caching-type route. To disable caching, do not provide a + * cacheConfiguration object. + */ +export interface CacheConfiguration { + /** + * Treatment of URL query terms when forming the cache key. Possible values include: 'StripNone', + * 'StripAll' + */ + queryParameterStripDirective?: FrontDoorQuery; + /** + * Whether to use dynamic compression for cached content. Possible values include: 'Enabled', + * 'Disabled' + */ + dynamicCompression?: DynamicCompressionEnabled; +} + +/** + * Describes Forwarding Route. + */ +export interface ForwardingConfiguration { + /** + * Polymorphic Discriminator + */ + odatatype: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"; + /** + * A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming + * path. */ customForwardingPath?: string; /** - * @member {FrontDoorForwardingProtocol} [forwardingProtocol] Protocol this - * rule will use when forwarding traffic to backends. Possible values - * include: 'HttpOnly', 'HttpsOnly', 'MatchRequest' + * Protocol this rule will use when forwarding traffic to backends. Possible values include: + * 'HttpOnly', 'HttpsOnly', 'MatchRequest' */ forwardingProtocol?: FrontDoorForwardingProtocol; /** - * @member {CacheConfiguration} [cacheConfiguration] The caching - * configuration associated with this rule. + * The caching configuration associated with this rule. */ cacheConfiguration?: CacheConfiguration; /** - * @member {SubResource} [backendPool] A reference to the BackendPool which - * this rule routes to. + * A reference to the BackendPool which this rule routes to. */ backendPool?: SubResource; +} + +/** + * Describes Redirect Route. + */ +export interface RedirectConfiguration { /** - * @member {FrontDoorEnabledState} [enabledState] Whether to enable use of - * this rule. Permitted values are 'Enabled' or 'Disabled'. Possible values - * include: 'Enabled', 'Disabled' + * Polymorphic Discriminator */ - enabledState?: FrontDoorEnabledState; + odatatype: "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"; + /** + * The redirect type the rule will use when redirecting traffic. Possible values include: + * 'Moved', 'Found', 'TemporaryRedirect', 'PermanentRedirect' + */ + redirectType?: FrontDoorRedirectType; + /** + * The protocol of the destination to where the traffic is redirected. Possible values include: + * 'HttpOnly', 'HttpsOnly', 'MatchRequest' + */ + redirectProtocol?: FrontDoorRedirectProtocol; + /** + * Host to redirect. Leave empty to use the incoming host as the destination host. + */ + customHost?: string; + /** + * The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the + * incoming path as destination path. + */ + customPath?: string; + /** + * Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do + * not include the #. + */ + customFragment?: string; + /** + * The set of query strings to be placed in the redirect URL. Setting this value would replace + * any existing query string; leave empty to preserve the incoming query string. Query string + * must be in = format. The first ? and & will be added automatically so do not + * include them in the front, but do separate multiple query strings with &. + */ + customQueryString?: string; } /** - * @interface - * An interface representing Backend. * Backend address of a frontDoor load balancer. - * */ export interface Backend { /** - * @member {string} [address] Location of the backend (IP address or FQDN) + * Location of the backend (IP address or FQDN) */ address?: string; /** - * @member {number} [httpPort] The HTTP TCP port number. Must be between 1 - * and 65535. + * If this backend is private, provide the Private Link resource Id. Populating this optional + * field indicates that this backend is 'Private' + */ + privateLinkResourceId?: string; + /** + * The Approval status for the connection to the Private Link. Possible values include: + * 'Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly privateEndpointStatus?: PrivateEndpointStatus; + /** + * A custom message to be included in the approval request to connect to the Private Link + */ + privateLinkApprovalMessage?: string; + /** + * The HTTP TCP port number. Must be between 1 and 65535. */ httpPort?: number; /** - * @member {number} [httpsPort] The HTTPS TCP port number. Must be between 1 - * and 65535. + * The HTTPS TCP port number. Must be between 1 and 65535. */ httpsPort?: number; /** - * @member {FrontDoorEnabledState} [enabledState] Whether to enable use of - * this backend. Permitted values are 'Enabled' or 'Disabled'. Possible + * Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'. Possible * values include: 'Enabled', 'Disabled' */ - enabledState?: FrontDoorEnabledState; + enabledState?: BackendEnabledState; /** - * @member {number} [priority] Priority to use for load balancing. Higher - * priorities will not be used for load balancing if any lower priority - * backend is healthy. + * Priority to use for load balancing. Higher priorities will not be used for load balancing if + * any lower priority backend is healthy. */ priority?: number; /** - * @member {number} [weight] Weight of this endpoint for load balancing - * purposes. + * Weight of this endpoint for load balancing purposes. */ weight?: number; /** - * @member {string} [backendHostHeader] The value to use as the host header - * sent to the backend. If blank or unspecified, this defaults to the - * incoming host. + * The value to use as the host header sent to the backend. If blank or unspecified, this + * defaults to the incoming host. */ backendHostHeader?: string; } /** - * @interface - * An interface representing LoadBalancingSettingsUpdateParameters. + * Result of the request to list load balancing settings. It contains a list of load balancing + * settings objects and a URL link to get the next set of results. + */ +export interface LoadBalancingSettingsListResult { + /** + * List of Backend Pools within a Front Door. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: LoadBalancingSettingsModel[]; + /** + * URL to get the next set of LoadBalancingSettings objects if there are any. + */ + nextLink?: string; +} + +/** * Round-Robin load balancing settings for a backend pool - * */ export interface LoadBalancingSettingsUpdateParameters { /** - * @member {number} [sampleSize] The number of samples to consider for load - * balancing decisions + * The number of samples to consider for load balancing decisions */ sampleSize?: number; /** - * @member {number} [successfulSamplesRequired] The number of samples within - * the sample period that must succeed + * The number of samples within the sample period that must succeed */ successfulSamplesRequired?: number; /** - * @member {number} [additionalLatencyMilliseconds] The additional latency in - * milliseconds for probes to fall into the lowest latency bucket + * The additional latency in milliseconds for probes to fall into the lowest latency bucket */ additionalLatencyMilliseconds?: number; } /** - * @interface - * An interface representing HealthProbeSettingsUpdateParameters. + * Result of the request to list HealthProbeSettings. It contains a list of HealthProbeSettings + * objects and a URL link to get the next set of results. + */ +export interface HealthProbeSettingsListResult { + /** + * List of HealthProbeSettings within a Front Door. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: HealthProbeSettingsModel[]; + /** + * URL to get the next set of HealthProbeSettings objects if there are any. + */ + nextLink?: string; +} + +/** * L7 health probe settings for a backend pool - * */ export interface HealthProbeSettingsUpdateParameters { /** - * @member {string} [path] The path to use for the health probe. Default is / + * The path to use for the health probe. Default is / */ path?: string; /** - * @member {FrontDoorProtocol} [protocol] Protocol scheme to use for this - * probe. Possible values include: 'Http', 'Https' + * Protocol scheme to use for this probe. Possible values include: 'Http', 'Https' */ protocol?: FrontDoorProtocol; /** - * @member {number} [intervalInSeconds] The number of seconds between health - * probes. + * The number of seconds between health probes. */ intervalInSeconds?: number; + /** + * Configures which HTTP method to use to probe the backends defined under backendPools. Possible + * values include: 'GET', 'HEAD'. Default value: 'HEAD'. + */ + healthProbeMethod?: FrontDoorHealthProbeMethod; + /** + * Whether to enable health probes to be made against backends defined under backendPools. Health + * probes can only be disabled if there is a single enabled backend in single enabled backend + * pool. Possible values include: 'Enabled', 'Disabled' + */ + enabledState?: HealthProbeEnabled; } /** - * @interface - * An interface representing BackendPoolUpdateParameters. * A collection of backends that can be routed to. - * */ export interface BackendPoolUpdateParameters { /** - * @member {Backend[]} [backends] The set of backends for this pool + * The set of backends for this pool */ backends?: Backend[]; /** - * @member {SubResource} [loadBalancingSettings] Load balancing settings for - * a backend pool + * Load balancing settings for a backend pool */ loadBalancingSettings?: SubResource; /** - * @member {SubResource} [healthProbeSettings] L7 health probe settings for a - * backend pool + * L7 health probe settings for a backend pool */ healthProbeSettings?: SubResource; } /** - * @interface - * An interface representing FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink. + * Result of the request to list Backend Pools. It contains a list of Backend Pools objects and a + * URL link to get the next set of results. + */ +export interface BackendPoolListResult { + /** + * List of Backend Pools within a Front Door. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: BackendPool[]; + /** + * URL to get the next set of BackendPool objects if there are any. + */ + nextLink?: string; +} + +/** * Defines the Web Application Firewall policy for each host (if applicable) - * */ export interface FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink { /** - * @member {string} [id] Resource ID. + * Resource ID. */ id?: string; } /** - * @interface - * An interface representing FrontendEndpointUpdateParameters. * Frontend endpoint used in routing rule - * */ export interface FrontendEndpointUpdateParameters { /** - * @member {string} [hostName] The host name of the frontendEndpoint. Must be - * a domain name. + * The host name of the frontendEndpoint. Must be a domain name. */ hostName?: string; /** - * @member {SessionAffinityEnabledState} [sessionAffinityEnabledState] - * Whether to allow session affinity on this host. Valid options are - * 'Enabled' or 'Disabled'. Possible values include: 'Enabled', 'Disabled' + * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. + * Possible values include: 'Enabled', 'Disabled' */ sessionAffinityEnabledState?: SessionAffinityEnabledState; /** - * @member {number} [sessionAffinityTtlSeconds] UNUSED. This field will be - * ignored. The TTL to use in seconds for session affinity, if applicable. + * UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if + * applicable. */ sessionAffinityTtlSeconds?: number; /** - * @member {FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink} - * [webApplicationFirewallPolicyLink] Defines the Web Application Firewall - * policy for each host (if applicable) + * Defines the Web Application Firewall policy for each host (if applicable) */ webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink; } /** - * @interface - * An interface representing ValidateCustomDomainInput. - * Input of the custom domain to be validated for DNS mapping. - * + * An action that can manipulate an http header. */ -export interface ValidateCustomDomainInput { +export interface HeaderAction { /** - * @member {string} hostName The host name of the custom domain. Must be a - * domain name. + * Which type of manipulation to apply to the header. Possible values include: 'Append', + * 'Delete', 'Overwrite' */ - hostName: string; + headerActionType: HeaderActionType; + /** + * The name of the header this action will apply to. + */ + headerName: string; + /** + * The value to update the given header name with. This value is not used if the actionType is + * Delete. + */ + value?: string; } /** - * @interface - * An interface representing ValidateCustomDomainOutput. - * Output of custom domain validation. - * + * Define a match condition */ -export interface ValidateCustomDomainOutput { +export interface RulesEngineMatchCondition { /** - * @member {boolean} [customDomainValidated] Indicates whether the custom - * domain is valid or not. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Match Variable. Possible values include: 'IsMobile', 'RemoteAddr', 'RequestMethod', + * 'QueryString', 'PostArgs', 'RequestUri', 'RequestPath', 'RequestFilename', + * 'RequestFilenameExtension', 'RequestHeader', 'RequestBody', 'RequestScheme' */ - readonly customDomainValidated?: boolean; + rulesEngineMatchVariable: RulesEngineMatchVariable; /** - * @member {string} [reason] The reason why the custom domain is not valid. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Name of selector in RequestHeader or RequestBody to be matched */ - readonly reason?: string; + selector?: string; /** - * @member {string} [message] Error message describing why the custom domain - * is not valid. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes operator to apply to the match condition. Possible values include: 'Any', 'IPMatch', + * 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + * 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith' */ - readonly message?: string; + rulesEngineOperator: RulesEngineOperator; + /** + * Describes if this is negate condition or not + */ + negateCondition?: boolean; + /** + * Match values to match against. The operator will apply to each value in here with OR + * semantics. If any of them match the variable with the given operator this match condition is + * considered a match. + */ + rulesEngineMatchValue: string[]; + /** + * List of transforms + */ + transforms?: Transform[]; } /** - * @interface - * An interface representing ErrorResponse. - * Error reponse indicates Front Door service is not able to process the - * incoming request. The reason is provided in the error message. - * + * One or more actions that will execute, modifying the request and/or response. */ -export interface ErrorResponse { +export interface RulesEngineAction { /** - * @member {string} [code] Error code. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * A list of header actions to apply from the request from AFD to the origin. */ - readonly code?: string; + requestHeaderActions?: HeaderAction[]; + /** + * A list of header actions to apply from the response from AFD to the client. + */ + responseHeaderActions?: HeaderAction[]; + /** + * Override the route configuration. + */ + routeConfigurationOverride?: RouteConfigurationUnion; +} + +/** + * Contains a list of match conditions, and an action on how to modify the request/response. If + * multiple rules match, the actions from one rule that conflict with a previous rule overwrite for + * a singular action, or append in the case of headers manipulation. + */ +export interface RulesEngineRule { + /** + * A name to refer to this specific rule. + */ + name: string; + /** + * A priority assigned to this rule. + */ + priority: number; + /** + * Actions to perform on the request and response if all of the match conditions are met. + */ + action: RulesEngineAction; + /** + * A list of match conditions that must meet in order for the actions of this rule to run. Having + * no match conditions means the actions will always run. + */ + matchConditions?: RulesEngineMatchCondition[]; + /** + * If this rule is a match should the rules engine continue running the remaining rules or stop. + * If not present, defaults to Continue. Possible values include: 'Continue', 'Stop' + */ + matchProcessingBehavior?: MatchProcessingBehavior; +} + +/** + * Rules Engine Configuration to apply to a Routing Rule. + */ +export interface RulesEngineUpdateParameters { + /** + * A list of rules that define a particular Rules Engine Configuration. + */ + rules?: RulesEngineRule[]; +} + +/** + * Input of the custom domain to be validated for DNS mapping. + */ +export interface ValidateCustomDomainInput { + /** + * The host name of the custom domain. Must be a domain name. + */ + hostName: string; +} + +/** + * Output of custom domain validation. + */ +export interface ValidateCustomDomainOutput { + /** + * Indicates whether the custom domain is valid or not. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly customDomainValidated?: boolean; + /** + * The reason why the custom domain is not valid. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reason?: string; /** - * @member {string} [message] Error message indicating why the operation - * failed. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Error message describing why the custom domain is not valid. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly message?: string; } /** - * @interface - * An interface representing CheckNameAvailabilityInput. * Input of CheckNameAvailability API. - * */ export interface CheckNameAvailabilityInput { /** - * @member {string} name The resource name to validate. + * The resource name to validate. */ name: string; /** - * @member {ResourceType} type The type of the resource whose name is to be - * validated. Possible values include: 'Microsoft.Network/frontDoors', - * 'Microsoft.Network/frontDoors/frontendEndpoints' + * The type of the resource whose name is to be validated. Possible values include: + * 'Microsoft.Network/frontDoors', 'Microsoft.Network/frontDoors/frontendEndpoints' */ type: ResourceType; } /** - * @interface - * An interface representing CheckNameAvailabilityOutput. * Output of check name availability API. - * */ export interface CheckNameAvailabilityOutput { /** - * @member {Availability} [nameAvailability] Indicates whether the name is - * available. Possible values include: 'Available', 'Unavailable' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Indicates whether the name is available. Possible values include: 'Available', 'Unavailable' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nameAvailability?: Availability; /** - * @member {string} [reason] The reason why the name is not available. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The reason why the name is not available. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly reason?: string; /** - * @member {string} [message] The detailed error message describing why the - * name is not available. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The detailed error message describing why the name is not available. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly message?: string; } /** - * @interface - * An interface representing ErrorDetails. + * Defines top-level WebApplicationFirewallPolicy configuration settings. */ -export interface ErrorDetails { +export interface PolicySettings { /** - * @member {string} [code] + * Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. + * Possible values include: 'Disabled', 'Enabled' */ - code?: string; + enabledState?: PolicyEnabledState; /** - * @member {string} [target] + * Describes if it is in detection mode or prevention mode at policy level. Possible values + * include: 'Prevention', 'Detection' */ - target?: string; + mode?: PolicyMode; /** - * @member {string} [message] + * If action type is redirect, this field represents redirect URL for the client. */ - message?: string; + redirectUrl?: string; + /** + * If the action type is block, customer can override the response status code. + */ + customBlockResponseStatusCode?: number; + /** + * If the action type is block, customer can override the response body. The body must be + * specified in base64 encoding. + */ + customBlockResponseBody?: string; } /** - * @interface - * An interface representing ErrorModel. + * Define a match condition. */ -export interface ErrorModel { +export interface MatchCondition { /** - * @member {string} [code] + * Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', + * 'QueryString', 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies', + * 'SocketAddr' */ - code?: string; + matchVariable: MatchVariable; /** - * @member {string} [message] + * Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies + * variables. Default is null. */ - message?: string; + selector?: string; /** - * @member {string} [target] + * Comparison type to use for matching with the variable value. Possible values include: 'Any', + * 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + * 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' */ - target?: string; + operator: Operator; /** - * @member {ErrorDetails[]} [details] + * Describes if the result of this condition should be negated. */ - details?: ErrorDetails[]; + negateCondition?: boolean; /** - * @member {string} [innerError] + * List of possible match values. */ - innerError?: string; + matchValue: string[]; + /** + * List of transforms. + */ + transforms?: TransformType[]; } /** - * @interface - * An interface representing AzureAsyncOperationResult. - * The response body contains the status of the specified asynchronous - * operation, indicating whether it has succeeded, is in progress, or has - * failed. Note that this status is distinct from the HTTP status code returned - * for the Get Operation Status operation itself. If the asynchronous operation - * succeeded, the response body includes the HTTP status code for the - * successful request. If the asynchronous operation failed, the response body - * includes the HTTP status code for the failed request and error information - * regarding the failure. - * + * Defines contents of a web application rule */ -export interface AzureAsyncOperationResult { +export interface CustomRule { /** - * @member {NetworkOperationStatus} [status] Status of the Azure async - * operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'. - * Possible values include: 'InProgress', 'Succeeded', 'Failed' + * Describes the name of the rule. */ - status?: NetworkOperationStatus; + name?: string; /** - * @member {ErrorModel} [error] + * Describes priority of the rule. Rules with a lower value will be evaluated before rules with a + * higher value. */ - error?: ErrorModel; + priority: number; + /** + * Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not + * specified. Possible values include: 'Disabled', 'Enabled' + */ + enabledState?: CustomRuleEnabledState; + /** + * Describes type of rule. Possible values include: 'MatchRule', 'RateLimitRule' + */ + ruleType: RuleType; + /** + * Time window for resetting the rate limit count. Default is 1 minute. + */ + rateLimitDurationInMinutes?: number; + /** + * Number of allowed requests per client within the time window. + */ + rateLimitThreshold?: number; + /** + * List of match conditions. + */ + matchConditions: MatchCondition[]; + /** + * Describes what action to be applied when rule matches. Possible values include: 'Allow', + * 'Block', 'Log', 'Redirect' + */ + action: ActionType; } /** - * @interface - * An interface representing TagsObject. - * Tags object for patch operations. - * + * Defines contents of custom rules */ -export interface TagsObject { +export interface CustomRuleList { /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags. + * List of rules */ - tags?: { [propertyName: string]: string }; + rules?: CustomRule[]; } /** - * @interface - * An interface representing PolicySettings. - * Defines contents of a web application firewall global configuration - * + * Exclude variables from managed rule evaluation. */ -export interface PolicySettings { +export interface ManagedRuleExclusion { /** - * @member {EnabledState} [enabledState] describes if the policy is in - * enabled state or disabled state. Possible values include: 'Disabled', - * 'Enabled' + * The variable type to be excluded. Possible values include: 'RequestHeaderNames', + * 'RequestCookieNames', 'QueryStringArgNames', 'RequestBodyPostArgNames' + */ + matchVariable: ManagedRuleExclusionMatchVariable; + /** + * Comparison operator to apply to the selector when specifying which elements in the collection + * this exclusion applies to. Possible values include: 'Equals', 'Contains', 'StartsWith', + * 'EndsWith', 'EqualsAny' */ - enabledState?: EnabledState; + selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator; /** - * @member {Mode} [mode] Describes if it is in detection mode or prevention - * mode at policy level. Possible values include: 'Prevention', 'Detection' + * Selector value for which elements in the collection this exclusion applies to. */ - mode?: Mode; + selector: string; } /** - * @interface - * An interface representing MatchCondition1. - * Define match conditions - * + * Defines a managed rule group override setting. */ -export interface MatchCondition1 { - /** - * @member {MatchCondition} matchVariable Match Variable. Possible values - * include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', - * 'RequestUri', 'RequestHeader', 'RequestBody' - */ - matchVariable: MatchCondition; +export interface ManagedRuleOverride { /** - * @member {string} [selector] Name of selector in RequestHeader or - * RequestBody to be matched + * Identifier for the managed rule. */ - selector?: string; + ruleId: string; /** - * @member {Operator} operator Describes operator to be matched. Possible - * values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', - * 'LessThan', 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', - * 'BeginsWith', 'EndsWith' + * Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not + * specified. Possible values include: 'Disabled', 'Enabled' */ - operator: Operator; + enabledState?: ManagedRuleEnabledState; /** - * @member {boolean} [negateCondition] Describes if this is negate condition - * or not + * Describes the override action to be applied when rule matches. Possible values include: + * 'Allow', 'Block', 'Log', 'Redirect' */ - negateCondition?: boolean; + action?: ActionType; /** - * @member {string[]} matchValue Match value + * Describes the exclusions that are applied to this specific rule. */ - matchValue: string[]; + exclusions?: ManagedRuleExclusion[]; } /** - * @interface - * An interface representing CustomRule. - * Defines contents of a web application rule - * + * Defines a managed rule group override setting. */ -export interface CustomRule { - /** - * @member {string} [name] Gets name of the resource that is unique within a - * policy. This name can be used to access the resource. - */ - name?: string; - /** - * @member {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly etag?: string; +export interface ManagedRuleGroupOverride { /** - * @member {number} priority Describes priority of the rule. Rules with a - * lower value will be evaluated before rules with a higher value + * Describes the managed rule group to override. */ - priority: number; + ruleGroupName: string; /** - * @member {RuleType} ruleType Describes type of rule. Possible values - * include: 'MatchRule', 'RateLimitRule' + * Describes the exclusions that are applied to all rules in the group. */ - ruleType: RuleType; + exclusions?: ManagedRuleExclusion[]; /** - * @member {number} [rateLimitDurationInMinutes] Defines rate limit duration. - * Default - 1 minute + * List of rules that will be disabled. If none specified, all rules in the group will be + * disabled. */ - rateLimitDurationInMinutes?: number; + rules?: ManagedRuleOverride[]; +} + +/** + * Defines a managed rule set. + */ +export interface ManagedRuleSet { /** - * @member {number} [rateLimitThreshold] Defines rate limit thresold + * Defines the rule set type to use. */ - rateLimitThreshold?: number; + ruleSetType: string; /** - * @member {MatchCondition1[]} matchConditions List of match conditions + * Defines the version of the rule set to use. */ - matchConditions: MatchCondition1[]; + ruleSetVersion: string; /** - * @member {Action} action Type of Actions. Possible values include: 'Allow', - * 'Block', 'Log' + * Describes the exclusions that are applied to all rules in the set. */ - action: Action; + exclusions?: ManagedRuleExclusion[]; /** - * @member {Transform[]} [transforms] List of transforms + * Defines the rule group overrides to apply to the rule set. */ - transforms?: Transform[]; + ruleGroupOverrides?: ManagedRuleGroupOverride[]; } /** - * @interface - * An interface representing CustomRules. - * Defines contents of custom rules - * + * Defines the list of managed rule sets for the policy. */ -export interface CustomRules { +export interface ManagedRuleSetList { /** - * @member {CustomRule[]} [rules] List of rules + * List of rule sets. */ - rules?: CustomRule[]; + managedRuleSets?: ManagedRuleSet[]; } /** - * Contains the possible cases for ManagedRuleSet. + * Defines the Resource ID for a Frontend Endpoint. */ -export type ManagedRuleSetUnion = ManagedRuleSet | AzureManagedRuleSet; +export interface FrontendEndpointLink { + /** + * Resource ID. + */ + id?: string; +} /** - * @interface - * An interface representing ManagedRuleSet. - * Base class for all types of ManagedRuleSet. - * + * Defines web application firewall policy. */ -export interface ManagedRuleSet { +export interface WebApplicationFirewallPolicy extends Resource { /** - * @member {string} ruleSetType Polymorphic Discriminator + * Describes settings for the policy. */ - ruleSetType: "Unknown"; + policySettings?: PolicySettings; /** - * @member {number} [priority] Describes priority of the rule + * Describes custom rules inside the policy. */ - priority?: number; + customRules?: CustomRuleList; + /** + * Describes managed rules inside the policy. + */ + managedRules?: ManagedRuleSetList; + /** + * Describes Frontend Endpoints associated with this Web Application Firewall policy. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly frontendEndpointLinks?: FrontendEndpointLink[]; /** - * @member {number} [version] defines version of the ruleset + * Provisioning state of the policy. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - version?: number; + readonly provisioningState?: string; + /** + * Resource status of the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', + * 'Disabling', 'Disabled', 'Deleting' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resourceState?: PolicyResourceState; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ + etag?: string; } /** - * @interface - * An interface representing ManagedRuleSets. - * Defines ManagedRuleSets - array of managedRuleSet - * + * Describes a managed rule definition. */ -export interface ManagedRuleSets { +export interface ManagedRuleDefinition { + /** + * Identifier for the managed rule. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly ruleId?: string; + /** + * Describes the default state for the managed rule. Possible values include: 'Disabled', + * 'Enabled' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly defaultState?: ManagedRuleEnabledState; + /** + * Describes the default action to be applied when the managed rule matches. Possible values + * include: 'Allow', 'Block', 'Log', 'Redirect' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly defaultAction?: ActionType; /** - * @member {ManagedRuleSetUnion[]} [ruleSets] List of rules + * Describes the functionality of the managed rule. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - ruleSets?: ManagedRuleSetUnion[]; + readonly description?: string; } /** - * @interface - * An interface representing WebApplicationFirewallPolicy1. - * Defines web application firewall policy. - * - * @extends Resource + * Describes a managed rule group. */ -export interface WebApplicationFirewallPolicy1 extends Resource { +export interface ManagedRuleGroupDefinition { /** - * @member {PolicySettings} [policySettings] Describes policySettings for - * policy + * Name of the managed rule group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - policySettings?: PolicySettings; + readonly ruleGroupName?: string; /** - * @member {CustomRules} [customRules] Describes custom rules inside the - * policy + * Description of the managed rule group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - customRules?: CustomRules; + readonly description?: string; /** - * @member {ManagedRuleSets} [managedRules] Describes managed rules inside - * the policy + * List of rules within the managed rule group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - managedRules?: ManagedRuleSets; + readonly rules?: ManagedRuleDefinition[]; +} + +/** + * Describes the a managed rule set definition. + */ +export interface ManagedRuleSetDefinition extends Resource { /** - * @member {string} [provisioningState] Provisioning state of the - * WebApplicationFirewallPolicy. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Provisioning state of the managed rule set. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; /** - * @member {WebApplicationFirewallPolicy} [resourceState] Resource status of - * the policy. Possible values include: 'Creating', 'Enabling', 'Enabled', - * 'Disabling', 'Disabled', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Type of the managed rule set. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly resourceState?: WebApplicationFirewallPolicy; + readonly ruleSetType?: string; /** - * @member {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. + * Version of the managed rule set type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - etag?: string; + readonly ruleSetVersion?: string; + /** + * Rule groups of the managed rule set. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly ruleGroups?: ManagedRuleGroupDefinition[]; } /** - * @interface - * An interface representing AzureManagedOverrideRuleGroup. - * Defines contents of a web application rule - * + * Optional Parameters. */ -export interface AzureManagedOverrideRuleGroup { +export interface ReportsGetLatencyScorecardsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {RuleGroupOverride} ruleGroupOverride Describes overrideruleGroup. - * Possible values include: 'SqlInjection', 'XSS' + * The end DateTime of the Latency Scorecard in UTC */ - ruleGroupOverride: RuleGroupOverride; + endDateTimeUTC?: string; /** - * @member {Action} action Type of Actions. Possible values include: 'Allow', - * 'Block', 'Log' + * The country associated with the Latency Scorecard. Values are country ISO codes as specified + * here- https://www.iso.org/iso-3166-country-codes.html */ - action: Action; + country?: string; } /** - * @interface - * An interface representing AzureManagedRuleSet. - * Describes azure managed provider. - * + * Optional Parameters. */ -export interface AzureManagedRuleSet { - /** - * @member {string} ruleSetType Polymorphic Discriminator - */ - ruleSetType: "AzureManagedRuleSet"; - /** - * @member {number} [priority] Describes priority of the rule - */ - priority?: number; +export interface ReportsGetTimeseriesOptionalParams extends msRest.RequestOptionsBase { /** - * @member {number} [version] defines version of the ruleset + * The specific endpoint */ - version?: number; + endpoint?: string; /** - * @member {AzureManagedOverrideRuleGroup[]} [ruleGroupOverrides] List of - * azure managed provider override configuration (optional) + * The country associated with the Timeseries. Values are country ISO codes as specified here- + * https://www.iso.org/iso-3166-country-codes.html */ - ruleGroupOverrides?: AzureManagedOverrideRuleGroup[]; + country?: string; } /** - * @interface * An interface representing FrontDoorManagementClientOptions. - * @extends AzureServiceClientOptions */ export interface FrontDoorManagementClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } +/** + * @interface + * Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next + * set of results. + * @extends Array + */ +export interface ProfileList extends Array { + /** + * URL to get the next set of Profile objects if there are any. + */ + nextLink?: string; +} /** * @interface - * An interface representing the FrontDoorListResult. - * Result of the request to list Front Doors. It contains a list of Front Door - * objects and a URL link to get the the next set of results. - * - * @extends Array + * Defines a list of preconfigured endpoints. + * @extends Array */ -export interface FrontDoorListResult extends Array { +export interface PreconfiguredEndpointList extends Array { /** - * @member {string} [nextLink] URL to get the next set of Front Door objects - * if there are any. + * URL to get the next set of PreconfiguredEndpoints if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the RoutingRuleListResult. - * Result of the request to list Routing Rules. It contains a list of Routing - * Rule objects and a URL link to get the the next set of results. - * - * @extends Array + * Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get + * the next set of results. + * @extends Array */ -export interface RoutingRuleListResult extends Array { +export interface ExperimentList extends Array { /** - * @member {string} [nextLink] URL to get the next set of RoutingRule objects - * if there are any. + * URL to get the next set of Experiment objects if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the HealthProbeSettingsListResult. - * Result of the request to list HealthProbeSettings. It contains a list of - * HealthProbeSettings objects and a URL link to get the the next set of - * results. - * - * @extends Array + * Result of the request to list Front Doors. It contains a list of Front Door objects and a URL + * link to get the next set of results. + * @extends Array */ -export interface HealthProbeSettingsListResult extends Array { +export interface FrontDoorListResult extends Array { /** - * @member {string} [nextLink] URL to get the next set of HealthProbeSettings - * objects if there are any. + * URL to get the next set of Front Door objects if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the LoadBalancingSettingsListResult. - * Result of the request to list load balancing settings. It contains a list of - * load balancing settings objects and a URL link to get the the next set of - * results. - * - * @extends Array + * Result of the request to list frontend endpoints. It contains a list of Frontend endpoint + * objects and a URL link to get the next set of results. + * @extends Array */ -export interface LoadBalancingSettingsListResult extends Array { +export interface FrontendEndpointsListResult extends Array { /** - * @member {string} [nextLink] URL to get the next set of - * LoadBalancingSettings objects if there are any. + * URL to get the next set of frontend endpoints if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the BackendPoolListResult. - * Result of the request to list Backend Pools. It contains a list of Backend - * Pools objects and a URL link to get the the next set of results. - * - * @extends Array + * Result of the request to list Rules Engine Configurations. It contains a list of RulesEngine + * objects and a URL link to get the next set of results. + * @extends Array */ -export interface BackendPoolListResult extends Array { +export interface RulesEngineListResult extends Array { /** - * @member {string} [nextLink] URL to get the next set of BackendPool objects - * if there are any. + * URL to get the next set of RulesEngine objects if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the FrontendEndpointsListResult. - * Result of the request to list frontend endpoints. It contains a list of - * Frontend endpoint objects and a URL link to get the the next set of results. - * - * @extends Array + * Defines a list of WebApplicationFirewallPolicies. It contains a list of + * WebApplicationFirewallPolicy objects and a URL link to get the next set of results. + * @extends Array */ -export interface FrontendEndpointsListResult extends Array { +export interface WebApplicationFirewallPolicyList extends Array { /** - * @member {string} [nextLink] URL to get the next set of frontend endpoints - * if there are any. + * URL to get the next set of WebApplicationFirewallPolicy objects if there are any. */ nextLink?: string; } /** * @interface - * An interface representing the WebApplicationFirewallPolicyListResult. - * Result of the request to list WebApplicationFirewallPolicies. It contains a - * list of WebApplicationFirewallPolicy objects and a URL link to get the the - * next set of results. - * - * @extends Array + * List of managed rule set definitions available for use in a policy. + * @extends Array */ -export interface WebApplicationFirewallPolicyListResult extends Array { +export interface ManagedRuleSetDefinitionList extends Array { /** - * @member {string} [nextLink] URL to get the next set of - * WebApplicationFirewallPolicy objects if there are any. + * URL to retrieve next set of managed rule set definitions. */ nextLink?: string; } +/** + * Defines values for NetworkOperationStatus. + * Possible values include: 'InProgress', 'Succeeded', 'Failed' + * @readonly + * @enum {string} + */ +export type NetworkOperationStatus = 'InProgress' | 'Succeeded' | 'Failed'; + +/** + * Defines values for NetworkExperimentResourceState. + * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + * @readonly + * @enum {string} + */ +export type NetworkExperimentResourceState = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting'; + +/** + * Defines values for State. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type State = 'Enabled' | 'Disabled'; + +/** + * Defines values for AggregationInterval. + * Possible values include: 'Hourly', 'Daily' + * @readonly + * @enum {string} + */ +export type AggregationInterval = 'Hourly' | 'Daily'; + +/** + * Defines values for TimeseriesType. + * Possible values include: 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' + * @readonly + * @enum {string} + */ +export type TimeseriesType = 'MeasurementCounts' | 'LatencyP50' | 'LatencyP75' | 'LatencyP95'; + +/** + * Defines values for EndpointType. + * Possible values include: 'AFD', 'AzureRegion', 'CDN', 'ATM' + * @readonly + * @enum {string} + */ +export type EndpointType = 'AFD' | 'AzureRegion' | 'CDN' | 'ATM'; + /** * Defines values for FrontDoorResourceState. * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' @@ -1356,12 +1897,12 @@ export type CustomHttpsProvisioningSubstate = 'SubmittingDomainControlValidation export type FrontDoorCertificateSource = 'AzureKeyVault' | 'FrontDoor'; /** - * Defines values for FrontDoorTlsProtocolType. - * Possible values include: 'ServerNameIndication' + * Defines values for MinimumTLSVersion. + * Possible values include: '1.0', '1.2' * @readonly * @enum {string} */ -export type FrontDoorTlsProtocolType = 'ServerNameIndication'; +export type MinimumTLSVersion = '1.0' | '1.2'; /** * Defines values for FrontDoorCertificateType. @@ -1371,6 +1912,14 @@ export type FrontDoorTlsProtocolType = 'ServerNameIndication'; */ export type FrontDoorCertificateType = 'Dedicated'; +/** + * Defines values for EnforceCertificateNameCheckEnabledState. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type EnforceCertificateNameCheckEnabledState = 'Enabled' | 'Disabled'; + /** * Defines values for FrontDoorEnabledState. * Possible values include: 'Enabled', 'Disabled' @@ -1387,6 +1936,14 @@ export type FrontDoorEnabledState = 'Enabled' | 'Disabled'; */ export type FrontDoorProtocol = 'Http' | 'Https'; +/** + * Defines values for RoutingRuleEnabledState. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type RoutingRuleEnabledState = 'Enabled' | 'Disabled'; + /** * Defines values for FrontDoorForwardingProtocol. * Possible values include: 'HttpOnly', 'HttpsOnly', 'MatchRequest' @@ -1411,6 +1968,54 @@ export type FrontDoorQuery = 'StripNone' | 'StripAll'; */ export type DynamicCompressionEnabled = 'Enabled' | 'Disabled'; +/** + * Defines values for FrontDoorRedirectType. + * Possible values include: 'Moved', 'Found', 'TemporaryRedirect', 'PermanentRedirect' + * @readonly + * @enum {string} + */ +export type FrontDoorRedirectType = 'Moved' | 'Found' | 'TemporaryRedirect' | 'PermanentRedirect'; + +/** + * Defines values for FrontDoorRedirectProtocol. + * Possible values include: 'HttpOnly', 'HttpsOnly', 'MatchRequest' + * @readonly + * @enum {string} + */ +export type FrontDoorRedirectProtocol = 'HttpOnly' | 'HttpsOnly' | 'MatchRequest'; + +/** + * Defines values for PrivateEndpointStatus. + * Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout' + * @readonly + * @enum {string} + */ +export type PrivateEndpointStatus = 'Pending' | 'Approved' | 'Rejected' | 'Disconnected' | 'Timeout'; + +/** + * Defines values for BackendEnabledState. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type BackendEnabledState = 'Enabled' | 'Disabled'; + +/** + * Defines values for FrontDoorHealthProbeMethod. + * Possible values include: 'GET', 'HEAD' + * @readonly + * @enum {string} + */ +export type FrontDoorHealthProbeMethod = 'GET' | 'HEAD'; + +/** + * Defines values for HealthProbeEnabled. + * Possible values include: 'Enabled', 'Disabled' + * @readonly + * @enum {string} + */ +export type HealthProbeEnabled = 'Enabled' | 'Disabled'; + /** * Defines values for SessionAffinityEnabledState. * Possible values include: 'Enabled', 'Disabled' @@ -1419,6 +2024,50 @@ export type DynamicCompressionEnabled = 'Enabled' | 'Disabled'; */ export type SessionAffinityEnabledState = 'Enabled' | 'Disabled'; +/** + * Defines values for HeaderActionType. + * Possible values include: 'Append', 'Delete', 'Overwrite' + * @readonly + * @enum {string} + */ +export type HeaderActionType = 'Append' | 'Delete' | 'Overwrite'; + +/** + * Defines values for RulesEngineMatchVariable. + * Possible values include: 'IsMobile', 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', + * 'RequestUri', 'RequestPath', 'RequestFilename', 'RequestFilenameExtension', 'RequestHeader', + * 'RequestBody', 'RequestScheme' + * @readonly + * @enum {string} + */ +export type RulesEngineMatchVariable = 'IsMobile' | 'RemoteAddr' | 'RequestMethod' | 'QueryString' | 'PostArgs' | 'RequestUri' | 'RequestPath' | 'RequestFilename' | 'RequestFilenameExtension' | 'RequestHeader' | 'RequestBody' | 'RequestScheme'; + +/** + * Defines values for RulesEngineOperator. + * Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', + * 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith' + * @readonly + * @enum {string} + */ +export type RulesEngineOperator = 'Any' | 'IPMatch' | 'GeoMatch' | 'Equal' | 'Contains' | 'LessThan' | 'GreaterThan' | 'LessThanOrEqual' | 'GreaterThanOrEqual' | 'BeginsWith' | 'EndsWith'; + +/** + * Defines values for Transform. + * Possible values include: 'Lowercase', 'Uppercase', 'Trim', 'UrlDecode', 'UrlEncode', + * 'RemoveNulls' + * @readonly + * @enum {string} + */ +export type Transform = 'Lowercase' | 'Uppercase' | 'Trim' | 'UrlDecode' | 'UrlEncode' | 'RemoveNulls'; + +/** + * Defines values for MatchProcessingBehavior. + * Possible values include: 'Continue', 'Stop' + * @readonly + * @enum {string} + */ +export type MatchProcessingBehavior = 'Continue' | 'Stop'; + /** * Defines values for ResourceType. * Possible values include: 'Microsoft.Network/frontDoors', @@ -1437,92 +2086,145 @@ export type ResourceType = 'Microsoft.Network/frontDoors' | 'Microsoft.Network/f export type Availability = 'Available' | 'Unavailable'; /** - * Defines values for NetworkOperationStatus. - * Possible values include: 'InProgress', 'Succeeded', 'Failed' + * Defines values for PolicyEnabledState. + * Possible values include: 'Disabled', 'Enabled' + * @readonly + * @enum {string} + */ +export type PolicyEnabledState = 'Disabled' | 'Enabled'; + +/** + * Defines values for PolicyMode. + * Possible values include: 'Prevention', 'Detection' + * @readonly + * @enum {string} + */ +export type PolicyMode = 'Prevention' | 'Detection'; + +/** + * Defines values for CustomRuleEnabledState. + * Possible values include: 'Disabled', 'Enabled' + * @readonly + * @enum {string} + */ +export type CustomRuleEnabledState = 'Disabled' | 'Enabled'; + +/** + * Defines values for RuleType. + * Possible values include: 'MatchRule', 'RateLimitRule' + * @readonly + * @enum {string} + */ +export type RuleType = 'MatchRule' | 'RateLimitRule'; + +/** + * Defines values for MatchVariable. + * Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', + * 'RequestHeader', 'RequestBody', 'Cookies', 'SocketAddr' + * @readonly + * @enum {string} + */ +export type MatchVariable = 'RemoteAddr' | 'RequestMethod' | 'QueryString' | 'PostArgs' | 'RequestUri' | 'RequestHeader' | 'RequestBody' | 'Cookies' | 'SocketAddr'; + +/** + * Defines values for Operator. + * Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', + * 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' * @readonly * @enum {string} */ -export type NetworkOperationStatus = 'InProgress' | 'Succeeded' | 'Failed'; +export type Operator = 'Any' | 'IPMatch' | 'GeoMatch' | 'Equal' | 'Contains' | 'LessThan' | 'GreaterThan' | 'LessThanOrEqual' | 'GreaterThanOrEqual' | 'BeginsWith' | 'EndsWith' | 'RegEx'; /** - * Defines values for EnabledState. - * Possible values include: 'Disabled', 'Enabled' + * Defines values for TransformType. + * Possible values include: 'Lowercase', 'Uppercase', 'Trim', 'UrlDecode', 'UrlEncode', + * 'RemoveNulls' * @readonly * @enum {string} */ -export type EnabledState = 'Disabled' | 'Enabled'; +export type TransformType = 'Lowercase' | 'Uppercase' | 'Trim' | 'UrlDecode' | 'UrlEncode' | 'RemoveNulls'; /** - * Defines values for Mode. - * Possible values include: 'Prevention', 'Detection' + * Defines values for ActionType. + * Possible values include: 'Allow', 'Block', 'Log', 'Redirect' * @readonly * @enum {string} */ -export type Mode = 'Prevention' | 'Detection'; +export type ActionType = 'Allow' | 'Block' | 'Log' | 'Redirect'; /** - * Defines values for RuleType. - * Possible values include: 'MatchRule', 'RateLimitRule' + * Defines values for ManagedRuleExclusionMatchVariable. + * Possible values include: 'RequestHeaderNames', 'RequestCookieNames', 'QueryStringArgNames', + * 'RequestBodyPostArgNames' * @readonly * @enum {string} */ -export type RuleType = 'MatchRule' | 'RateLimitRule'; +export type ManagedRuleExclusionMatchVariable = 'RequestHeaderNames' | 'RequestCookieNames' | 'QueryStringArgNames' | 'RequestBodyPostArgNames'; /** - * Defines values for MatchCondition. - * Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri', - * 'RequestHeader', 'RequestBody' + * Defines values for ManagedRuleExclusionSelectorMatchOperator. + * Possible values include: 'Equals', 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny' * @readonly * @enum {string} */ -export type MatchCondition = 'RemoteAddr' | 'RequestMethod' | 'QueryString' | 'PostArgs' | 'RequestUri' | 'RequestHeader' | 'RequestBody'; +export type ManagedRuleExclusionSelectorMatchOperator = 'Equals' | 'Contains' | 'StartsWith' | 'EndsWith' | 'EqualsAny'; /** - * Defines values for Operator. - * Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', - * 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith' + * Defines values for ManagedRuleEnabledState. + * Possible values include: 'Disabled', 'Enabled' * @readonly * @enum {string} */ -export type Operator = 'Any' | 'IPMatch' | 'GeoMatch' | 'Equal' | 'Contains' | 'LessThan' | 'GreaterThan' | 'LessThanOrEqual' | 'GreaterThanOrEqual' | 'BeginsWith' | 'EndsWith'; +export type ManagedRuleEnabledState = 'Disabled' | 'Enabled'; /** - * Defines values for Action. - * Possible values include: 'Allow', 'Block', 'Log' + * Defines values for PolicyResourceState. + * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' * @readonly * @enum {string} */ -export type Action = 'Allow' | 'Block' | 'Log'; +export type PolicyResourceState = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting'; /** - * Defines values for Transform. - * Possible values include: 'Lowercase', 'Uppercase', 'Trim', 'UrlDecode', 'UrlEncode', - * 'RemoveNulls', 'HtmlEntityDecode' + * Defines values for LatencyScorecardAggregationInterval. + * Possible values include: 'Daily', 'Weekly', 'Monthly' * @readonly * @enum {string} */ -export type Transform = 'Lowercase' | 'Uppercase' | 'Trim' | 'UrlDecode' | 'UrlEncode' | 'RemoveNulls' | 'HtmlEntityDecode'; +export type LatencyScorecardAggregationInterval = 'Daily' | 'Weekly' | 'Monthly'; /** - * Defines values for WebApplicationFirewallPolicy. - * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + * Defines values for TimeseriesAggregationInterval. + * Possible values include: 'Hourly', 'Daily' * @readonly * @enum {string} */ -export type WebApplicationFirewallPolicy = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting'; +export type TimeseriesAggregationInterval = 'Hourly' | 'Daily'; /** - * Defines values for RuleGroupOverride. - * Possible values include: 'SqlInjection', 'XSS' - * @readonly - * @enum {string} + * Contains response data for the list operation. */ -export type RuleGroupOverride = 'SqlInjection' | 'XSS'; +export type NetworkExperimentProfilesListResponse = ProfileList & { + /** + * 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: ProfileList; + }; +}; /** - * Contains response data for the checkFrontDoorNameAvailability operation. + * Contains response data for the listByResourceGroup operation. */ -export type CheckFrontDoorNameAvailabilityResponse = CheckNameAvailabilityOutput & { +export type NetworkExperimentProfilesListByResourceGroupResponse = ProfileList & { /** * The underlying HTTP response. */ @@ -1531,17 +2233,18 @@ export type CheckFrontDoorNameAvailabilityResponse = CheckNameAvailabilityOutput * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: CheckNameAvailabilityOutput; + parsedBody: ProfileList; }; }; /** - * Contains response data for the checkFrontDoorNameAvailabilityWithSubscription operation. + * Contains response data for the get operation. */ -export type CheckFrontDoorNameAvailabilityWithSubscriptionResponse = CheckNameAvailabilityOutput & { +export type NetworkExperimentProfilesGetResponse = Profile & { /** * The underlying HTTP response. */ @@ -1550,17 +2253,18 @@ export type CheckFrontDoorNameAvailabilityWithSubscriptionResponse = CheckNameAv * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: CheckNameAvailabilityOutput; + parsedBody: Profile; }; }; /** - * Contains response data for the list operation. + * Contains response data for the createOrUpdate operation. */ -export type FrontDoorsListResponse = FrontDoorListResult & { +export type NetworkExperimentProfilesCreateOrUpdateResponse = Profile & { /** * The underlying HTTP response. */ @@ -1569,17 +2273,18 @@ export type FrontDoorsListResponse = FrontDoorListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoorListResult; + parsedBody: Profile; }; }; /** - * Contains response data for the listByResourceGroup operation. + * Contains response data for the update operation. */ -export type FrontDoorsListByResourceGroupResponse = FrontDoorListResult & { +export type NetworkExperimentProfilesUpdateResponse = Profile & { /** * The underlying HTTP response. */ @@ -1588,17 +2293,18 @@ export type FrontDoorsListByResourceGroupResponse = FrontDoorListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoorListResult; + parsedBody: Profile; }; }; /** - * Contains response data for the get operation. + * Contains response data for the beginCreateOrUpdate operation. */ -export type FrontDoorsGetResponse = FrontDoor & { +export type NetworkExperimentProfilesBeginCreateOrUpdateResponse = Profile & { /** * The underlying HTTP response. */ @@ -1607,17 +2313,18 @@ export type FrontDoorsGetResponse = FrontDoor & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoor; + parsedBody: Profile; }; }; /** - * Contains response data for the createOrUpdate operation. + * Contains response data for the beginUpdate operation. */ -export type FrontDoorsCreateOrUpdateResponse = FrontDoor & { +export type NetworkExperimentProfilesBeginUpdateResponse = Profile & { /** * The underlying HTTP response. */ @@ -1626,17 +2333,18 @@ export type FrontDoorsCreateOrUpdateResponse = FrontDoor & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoor; + parsedBody: Profile; }; }; /** - * Contains response data for the validateCustomDomain operation. + * Contains response data for the listNext operation. */ -export type FrontDoorsValidateCustomDomainResponse = ValidateCustomDomainOutput & { +export type NetworkExperimentProfilesListNextResponse = ProfileList & { /** * The underlying HTTP response. */ @@ -1645,17 +2353,18 @@ export type FrontDoorsValidateCustomDomainResponse = ValidateCustomDomainOutput * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: ValidateCustomDomainOutput; + parsedBody: ProfileList; }; }; /** - * Contains response data for the beginCreateOrUpdate operation. + * Contains response data for the listByResourceGroupNext operation. */ -export type FrontDoorsBeginCreateOrUpdateResponse = FrontDoor & { +export type NetworkExperimentProfilesListByResourceGroupNextResponse = ProfileList & { /** * The underlying HTTP response. */ @@ -1664,17 +2373,18 @@ export type FrontDoorsBeginCreateOrUpdateResponse = FrontDoor & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoor; + parsedBody: ProfileList; }; }; /** - * Contains response data for the listNext operation. + * Contains response data for the list operation. */ -export type FrontDoorsListNextResponse = FrontDoorListResult & { +export type PreconfiguredEndpointsListResponse = PreconfiguredEndpointList & { /** * The underlying HTTP response. */ @@ -1683,17 +2393,18 @@ export type FrontDoorsListNextResponse = FrontDoorListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoorListResult; + parsedBody: PreconfiguredEndpointList; }; }; /** - * Contains response data for the listByResourceGroupNext operation. + * Contains response data for the listNext operation. */ -export type FrontDoorsListByResourceGroupNextResponse = FrontDoorListResult & { +export type PreconfiguredEndpointsListNextResponse = PreconfiguredEndpointList & { /** * The underlying HTTP response. */ @@ -1702,17 +2413,18 @@ export type FrontDoorsListByResourceGroupNextResponse = FrontDoorListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontDoorListResult; + parsedBody: PreconfiguredEndpointList; }; }; /** - * Contains response data for the listByFrontDoor operation. + * Contains response data for the listByProfile operation. */ -export type RoutingRulesListByFrontDoorResponse = RoutingRuleListResult & { +export type ExperimentsListByProfileResponse = ExperimentList & { /** * The underlying HTTP response. */ @@ -1721,17 +2433,18 @@ export type RoutingRulesListByFrontDoorResponse = RoutingRuleListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: RoutingRuleListResult; + parsedBody: ExperimentList; }; }; /** * Contains response data for the get operation. */ -export type RoutingRulesGetResponse = RoutingRule & { +export type ExperimentsGetResponse = Experiment & { /** * The underlying HTTP response. */ @@ -1740,17 +2453,38 @@ export type RoutingRulesGetResponse = RoutingRule & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: RoutingRule; + parsedBody: Experiment; }; }; /** * Contains response data for the createOrUpdate operation. */ -export type RoutingRulesCreateOrUpdateResponse = RoutingRule & { +export type ExperimentsCreateOrUpdateResponse = Experiment & { + /** + * 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: Experiment; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ExperimentsUpdateResponse = Experiment & { /** * The underlying HTTP response. */ @@ -1759,17 +2493,18 @@ export type RoutingRulesCreateOrUpdateResponse = RoutingRule & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: RoutingRule; + parsedBody: Experiment; }; }; /** * Contains response data for the beginCreateOrUpdate operation. */ -export type RoutingRulesBeginCreateOrUpdateResponse = RoutingRule & { +export type ExperimentsBeginCreateOrUpdateResponse = Experiment & { /** * The underlying HTTP response. */ @@ -1778,17 +2513,18 @@ export type RoutingRulesBeginCreateOrUpdateResponse = RoutingRule & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: RoutingRule; + parsedBody: Experiment; }; }; /** - * Contains response data for the listByFrontDoorNext operation. + * Contains response data for the beginUpdate operation. */ -export type RoutingRulesListByFrontDoorNextResponse = RoutingRuleListResult & { +export type ExperimentsBeginUpdateResponse = Experiment & { /** * The underlying HTTP response. */ @@ -1797,17 +2533,18 @@ export type RoutingRulesListByFrontDoorNextResponse = RoutingRuleListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: RoutingRuleListResult; + parsedBody: Experiment; }; }; /** - * Contains response data for the listByFrontDoor operation. + * Contains response data for the listByProfileNext operation. */ -export type HealthProbeSettingsListByFrontDoorResponse = HealthProbeSettingsListResult & { +export type ExperimentsListByProfileNextResponse = ExperimentList & { /** * The underlying HTTP response. */ @@ -1816,17 +2553,18 @@ export type HealthProbeSettingsListByFrontDoorResponse = HealthProbeSettingsList * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: HealthProbeSettingsListResult; + parsedBody: ExperimentList; }; }; /** - * Contains response data for the get operation. + * Contains response data for the getLatencyScorecards operation. */ -export type HealthProbeSettingsGetResponse = HealthProbeSettingsModel & { +export type ReportsGetLatencyScorecardsResponse = LatencyScorecard & { /** * The underlying HTTP response. */ @@ -1835,17 +2573,18 @@ export type HealthProbeSettingsGetResponse = HealthProbeSettingsModel & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: HealthProbeSettingsModel; + parsedBody: LatencyScorecard; }; }; /** - * Contains response data for the createOrUpdate operation. + * Contains response data for the getTimeseries operation. */ -export type HealthProbeSettingsCreateOrUpdateResponse = HealthProbeSettingsModel & { +export type ReportsGetTimeseriesResponse = Timeseries & { /** * The underlying HTTP response. */ @@ -1854,17 +2593,18 @@ export type HealthProbeSettingsCreateOrUpdateResponse = HealthProbeSettingsModel * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: HealthProbeSettingsModel; + parsedBody: Timeseries; }; }; /** - * Contains response data for the beginCreateOrUpdate operation. + * Contains response data for the checkFrontDoorNameAvailability operation. */ -export type HealthProbeSettingsBeginCreateOrUpdateResponse = HealthProbeSettingsModel & { +export type CheckFrontDoorNameAvailabilityResponse = CheckNameAvailabilityOutput & { /** * The underlying HTTP response. */ @@ -1873,17 +2613,18 @@ export type HealthProbeSettingsBeginCreateOrUpdateResponse = HealthProbeSettings * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: HealthProbeSettingsModel; + parsedBody: CheckNameAvailabilityOutput; }; }; /** - * Contains response data for the listByFrontDoorNext operation. + * Contains response data for the checkFrontDoorNameAvailabilityWithSubscription operation. */ -export type HealthProbeSettingsListByFrontDoorNextResponse = HealthProbeSettingsListResult & { +export type CheckFrontDoorNameAvailabilityWithSubscriptionResponse = CheckNameAvailabilityOutput & { /** * The underlying HTTP response. */ @@ -1892,17 +2633,38 @@ export type HealthProbeSettingsListByFrontDoorNextResponse = HealthProbeSettings * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: HealthProbeSettingsListResult; + parsedBody: CheckNameAvailabilityOutput; }; }; /** - * Contains response data for the listByFrontDoor operation. + * Contains response data for the list operation. + */ +export type FrontDoorsListResponse = FrontDoorListResult & { + /** + * 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: FrontDoorListResult; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. */ -export type LoadBalancingSettingsListByFrontDoorResponse = LoadBalancingSettingsListResult & { +export type FrontDoorsListByResourceGroupResponse = FrontDoorListResult & { /** * The underlying HTTP response. */ @@ -1911,17 +2673,18 @@ export type LoadBalancingSettingsListByFrontDoorResponse = LoadBalancingSettings * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LoadBalancingSettingsListResult; + parsedBody: FrontDoorListResult; }; }; /** * Contains response data for the get operation. */ -export type LoadBalancingSettingsGetResponse = LoadBalancingSettingsModel & { +export type FrontDoorsGetResponse = FrontDoor & { /** * The underlying HTTP response. */ @@ -1930,17 +2693,18 @@ export type LoadBalancingSettingsGetResponse = LoadBalancingSettingsModel & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LoadBalancingSettingsModel; + parsedBody: FrontDoor; }; }; /** * Contains response data for the createOrUpdate operation. */ -export type LoadBalancingSettingsCreateOrUpdateResponse = LoadBalancingSettingsModel & { +export type FrontDoorsCreateOrUpdateResponse = FrontDoor & { /** * The underlying HTTP response. */ @@ -1949,17 +2713,18 @@ export type LoadBalancingSettingsCreateOrUpdateResponse = LoadBalancingSettingsM * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LoadBalancingSettingsModel; + parsedBody: FrontDoor; }; }; /** - * Contains response data for the beginCreateOrUpdate operation. + * Contains response data for the validateCustomDomain operation. */ -export type LoadBalancingSettingsBeginCreateOrUpdateResponse = LoadBalancingSettingsModel & { +export type FrontDoorsValidateCustomDomainResponse = ValidateCustomDomainOutput & { /** * The underlying HTTP response. */ @@ -1968,17 +2733,18 @@ export type LoadBalancingSettingsBeginCreateOrUpdateResponse = LoadBalancingSett * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LoadBalancingSettingsModel; + parsedBody: ValidateCustomDomainOutput; }; }; /** - * Contains response data for the listByFrontDoorNext operation. + * Contains response data for the beginCreateOrUpdate operation. */ -export type LoadBalancingSettingsListByFrontDoorNextResponse = LoadBalancingSettingsListResult & { +export type FrontDoorsBeginCreateOrUpdateResponse = FrontDoor & { /** * The underlying HTTP response. */ @@ -1987,17 +2753,18 @@ export type LoadBalancingSettingsListByFrontDoorNextResponse = LoadBalancingSett * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LoadBalancingSettingsListResult; + parsedBody: FrontDoor; }; }; /** - * Contains response data for the listByFrontDoor operation. + * Contains response data for the listNext operation. */ -export type BackendPoolsListByFrontDoorResponse = BackendPoolListResult & { +export type FrontDoorsListNextResponse = FrontDoorListResult & { /** * The underlying HTTP response. */ @@ -2006,17 +2773,18 @@ export type BackendPoolsListByFrontDoorResponse = BackendPoolListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: BackendPoolListResult; + parsedBody: FrontDoorListResult; }; }; /** - * Contains response data for the get operation. + * Contains response data for the listByResourceGroupNext operation. */ -export type BackendPoolsGetResponse = BackendPool & { +export type FrontDoorsListByResourceGroupNextResponse = FrontDoorListResult & { /** * The underlying HTTP response. */ @@ -2025,17 +2793,18 @@ export type BackendPoolsGetResponse = BackendPool & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: BackendPool; + parsedBody: FrontDoorListResult; }; }; /** - * Contains response data for the createOrUpdate operation. + * Contains response data for the listByFrontDoor operation. */ -export type BackendPoolsCreateOrUpdateResponse = BackendPool & { +export type FrontendEndpointsListByFrontDoorResponse = FrontendEndpointsListResult & { /** * The underlying HTTP response. */ @@ -2044,17 +2813,18 @@ export type BackendPoolsCreateOrUpdateResponse = BackendPool & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: BackendPool; + parsedBody: FrontendEndpointsListResult; }; }; /** - * Contains response data for the beginCreateOrUpdate operation. + * Contains response data for the get operation. */ -export type BackendPoolsBeginCreateOrUpdateResponse = BackendPool & { +export type FrontendEndpointsGetResponse = FrontendEndpoint & { /** * The underlying HTTP response. */ @@ -2063,17 +2833,18 @@ export type BackendPoolsBeginCreateOrUpdateResponse = BackendPool & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: BackendPool; + parsedBody: FrontendEndpoint; }; }; /** * Contains response data for the listByFrontDoorNext operation. */ -export type BackendPoolsListByFrontDoorNextResponse = BackendPoolListResult & { +export type FrontendEndpointsListByFrontDoorNextResponse = FrontendEndpointsListResult & { /** * The underlying HTTP response. */ @@ -2082,17 +2853,18 @@ export type BackendPoolsListByFrontDoorNextResponse = BackendPoolListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: BackendPoolListResult; + parsedBody: FrontendEndpointsListResult; }; }; /** * Contains response data for the listByFrontDoor operation. */ -export type FrontendEndpointsListByFrontDoorResponse = FrontendEndpointsListResult & { +export type RulesEnginesListByFrontDoorResponse = RulesEngineListResult & { /** * The underlying HTTP response. */ @@ -2101,17 +2873,18 @@ export type FrontendEndpointsListByFrontDoorResponse = FrontendEndpointsListResu * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontendEndpointsListResult; + parsedBody: RulesEngineListResult; }; }; /** * Contains response data for the get operation. */ -export type FrontendEndpointsGetResponse = FrontendEndpoint & { +export type RulesEnginesGetResponse = RulesEngine & { /** * The underlying HTTP response. */ @@ -2120,17 +2893,18 @@ export type FrontendEndpointsGetResponse = FrontendEndpoint & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontendEndpoint; + parsedBody: RulesEngine; }; }; /** * Contains response data for the createOrUpdate operation. */ -export type FrontendEndpointsCreateOrUpdateResponse = FrontendEndpoint & { +export type RulesEnginesCreateOrUpdateResponse = RulesEngine & { /** * The underlying HTTP response. */ @@ -2139,17 +2913,18 @@ export type FrontendEndpointsCreateOrUpdateResponse = FrontendEndpoint & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontendEndpoint; + parsedBody: RulesEngine; }; }; /** * Contains response data for the beginCreateOrUpdate operation. */ -export type FrontendEndpointsBeginCreateOrUpdateResponse = FrontendEndpoint & { +export type RulesEnginesBeginCreateOrUpdateResponse = RulesEngine & { /** * The underlying HTTP response. */ @@ -2158,17 +2933,18 @@ export type FrontendEndpointsBeginCreateOrUpdateResponse = FrontendEndpoint & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontendEndpoint; + parsedBody: RulesEngine; }; }; /** * Contains response data for the listByFrontDoorNext operation. */ -export type FrontendEndpointsListByFrontDoorNextResponse = FrontendEndpointsListResult & { +export type RulesEnginesListByFrontDoorNextResponse = RulesEngineListResult & { /** * The underlying HTTP response. */ @@ -2177,17 +2953,18 @@ export type FrontendEndpointsListByFrontDoorNextResponse = FrontendEndpointsList * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: FrontendEndpointsListResult; + parsedBody: RulesEngineListResult; }; }; /** * Contains response data for the list operation. */ -export type PoliciesListResponse = WebApplicationFirewallPolicyListResult & { +export type PoliciesListResponse = WebApplicationFirewallPolicyList & { /** * The underlying HTTP response. */ @@ -2196,17 +2973,18 @@ export type PoliciesListResponse = WebApplicationFirewallPolicyListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: WebApplicationFirewallPolicyListResult; + parsedBody: WebApplicationFirewallPolicyList; }; }; /** * Contains response data for the get operation. */ -export type PoliciesGetResponse = WebApplicationFirewallPolicy1 & { +export type PoliciesGetResponse = WebApplicationFirewallPolicy & { /** * The underlying HTTP response. */ @@ -2215,17 +2993,78 @@ export type PoliciesGetResponse = WebApplicationFirewallPolicy1 & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: WebApplicationFirewallPolicy1; + parsedBody: WebApplicationFirewallPolicy; }; }; /** * Contains response data for the createOrUpdate operation. */ -export type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy1 & { +export type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy & { + /** + * 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: WebApplicationFirewallPolicy; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type PoliciesBeginCreateOrUpdateResponse = WebApplicationFirewallPolicy & { + /** + * 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: WebApplicationFirewallPolicy; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type PoliciesListNextResponse = WebApplicationFirewallPolicyList & { + /** + * 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: WebApplicationFirewallPolicyList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ManagedRuleSetsListResponse = ManagedRuleSetDefinitionList & { /** * The underlying HTTP response. */ @@ -2234,17 +3073,18 @@ export type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy1 & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: WebApplicationFirewallPolicy1; + parsedBody: ManagedRuleSetDefinitionList; }; }; /** * Contains response data for the listNext operation. */ -export type PoliciesListNextResponse = WebApplicationFirewallPolicyListResult & { +export type ManagedRuleSetsListNextResponse = ManagedRuleSetDefinitionList & { /** * The underlying HTTP response. */ @@ -2253,9 +3093,10 @@ export type PoliciesListNextResponse = WebApplicationFirewallPolicyListResult & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: WebApplicationFirewallPolicyListResult; + parsedBody: ManagedRuleSetDefinitionList; }; }; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/routingRulesMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/managedRuleSetsMappers.ts similarity index 50% rename from sdk/frontdoor/arm-frontdoor/src/models/routingRulesMappers.ts rename to sdk/frontdoor/arm-frontdoor/src/models/managedRuleSetsMappers.ts index ec5458c08756..4f81f0a2035f 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/routingRulesMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/managedRuleSetsMappers.ts @@ -1,39 +1,58 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - RoutingRuleListResult, - RoutingRule, - SubResource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, CacheConfiguration, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, ErrorResponse, - LoadBalancingSettingsModel, - HealthProbeSettingsModel, - BackendPool, - Backend, + Experiment, + ForwardingConfiguration, + FrontDoor, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - Resource, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup, - FrontDoor + ManagedRuleSetDefinition, + ManagedRuleSetDefinitionList, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts index bf3f8f9f934e..317f382457e6 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -14,152 +12,146 @@ import * as msRest from "@azure/ms-rest-js"; export const CloudError = CloudErrorMapper; export const BaseResource = BaseResourceMapper; -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const ErrorDetails: msRest.CompositeMapper = { + serializedName: "ErrorDetails", type: { name: "Composite", - className: "Resource", + className: "ErrorDetails", modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", + code: { + serializedName: "code", type: { name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + target: { + serializedName: "target", type: { name: "String" } }, - location: { - serializedName: "location", + message: { + serializedName: "message", type: { name: "String" } - }, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } } } } }; -export const FrontDoor: msRest.CompositeMapper = { - serializedName: "FrontDoor", +export const ErrorModel: msRest.CompositeMapper = { + serializedName: "Error", type: { name: "Composite", - className: "FrontDoor", + className: "ErrorModel", modelProperties: { - ...Resource.type.modelProperties, - friendlyName: { - serializedName: "properties.friendlyName", + code: { + serializedName: "code", type: { name: "String" } }, - routingRules: { - serializedName: "properties.routingRules", + message: { + serializedName: "message", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoutingRule" - } - } + name: "String" } }, - loadBalancingSettings: { - serializedName: "properties.loadBalancingSettings", + target: { + serializedName: "target", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LoadBalancingSettingsModel" - } - } + name: "String" } }, - healthProbeSettings: { - serializedName: "properties.healthProbeSettings", + details: { + serializedName: "details", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HealthProbeSettingsModel" + className: "ErrorDetails" } } } }, - backendPools: { - serializedName: "properties.backendPools", + innerError: { + serializedName: "innerError", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BackendPool" - } - } + name: "String" } - }, - frontendEndpoints: { - serializedName: "properties.frontendEndpoints", + } + } + } +}; + +export const AzureAsyncOperationResult: msRest.CompositeMapper = { + serializedName: "AzureAsyncOperationResult", + type: { + name: "Composite", + className: "AzureAsyncOperationResult", + modelProperties: { + status: { + serializedName: "status", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FrontendEndpoint" - } - } + name: "String" } }, - enabledState: { - serializedName: "properties.enabledState", + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + } +}; + +export const Resource: msRest.CompositeMapper = { + serializedName: "Resource", + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", type: { name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", + name: { + readOnly: true, + serializedName: "name", type: { name: "String" } }, - provisioningState: { + type: { readOnly: true, - serializedName: "properties.provisioningState", + serializedName: "type", type: { name: "String" } }, - cname: { - readOnly: true, - serializedName: "properties.cname", + location: { + serializedName: "location", type: { name: "String" } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } } } } @@ -181,94 +173,70 @@ export const SubResource: msRest.CompositeMapper = { } }; -export const RoutingRule: msRest.CompositeMapper = { - serializedName: "RoutingRule", +export const TagsObject: msRest.CompositeMapper = { + serializedName: "TagsObject", type: { name: "Composite", - className: "RoutingRule", + className: "TagsObject", modelProperties: { - ...SubResource.type.modelProperties, - frontendEndpoints: { - serializedName: "properties.frontendEndpoints", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SubResource" - } - } - } - }, - acceptedProtocols: { - serializedName: "properties.acceptedProtocols", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - patternsToMatch: { - serializedName: "properties.patternsToMatch", + tags: { + serializedName: "tags", type: { - name: "Sequence", - element: { + name: "Dictionary", + value: { type: { name: "String" } } } - }, - customForwardingPath: { - serializedName: "properties.customForwardingPath", - type: { - name: "String" - } - }, - forwardingProtocol: { - serializedName: "properties.forwardingProtocol", + } + } + } +}; + +export const Profile: msRest.CompositeMapper = { + serializedName: "Profile", + type: { + name: "Composite", + className: "Profile", + modelProperties: { + ...Resource.type.modelProperties, + resourceState: { + serializedName: "properties.resourceState", type: { name: "String" } }, - cacheConfiguration: { - serializedName: "properties.cacheConfiguration", - type: { - name: "Composite", - className: "CacheConfiguration" - } - }, - backendPool: { - serializedName: "properties.backendPool", - type: { - name: "Composite", - className: "SubResource" - } - }, enabledState: { serializedName: "properties.enabledState", type: { name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", + etag: { + serializedName: "etag", type: { name: "String" } - }, + } + } + } +}; + +export const Endpoint: msRest.CompositeMapper = { + serializedName: "Endpoint", + type: { + name: "Composite", + className: "Endpoint", + modelProperties: { name: { serializedName: "name", type: { name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + endpoint: { + serializedName: "endpoint", type: { name: "String" } @@ -277,37 +245,984 @@ export const RoutingRule: msRest.CompositeMapper = { } }; -export const LoadBalancingSettingsModel: msRest.CompositeMapper = { - serializedName: "LoadBalancingSettingsModel", +export const ProfileUpdateModel: msRest.CompositeMapper = { + serializedName: "ProfileUpdateModel", type: { name: "Composite", - className: "LoadBalancingSettingsModel", + className: "ProfileUpdateModel", modelProperties: { - ...SubResource.type.modelProperties, - sampleSize: { - serializedName: "properties.sampleSize", + enabledState: { + serializedName: "properties.enabledState", type: { - name: "Number" + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ExperimentUpdateModel: msRest.CompositeMapper = { + serializedName: "ExperimentUpdateModel", + type: { + name: "Composite", + className: "ExperimentUpdateModel", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + enabledState: { + serializedName: "properties.enabledState", + type: { + name: "String" + } + } + } + } +}; + +export const Experiment: msRest.CompositeMapper = { + serializedName: "Experiment", + type: { + name: "Composite", + className: "Experiment", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + endpointA: { + serializedName: "properties.endpointA", + type: { + name: "Composite", + className: "Endpoint" + } + }, + endpointB: { + serializedName: "properties.endpointB", + type: { + name: "Composite", + className: "Endpoint" + } + }, + enabledState: { + serializedName: "properties.enabledState", + type: { + name: "String" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + status: { + readOnly: true, + serializedName: "properties.status", + type: { + name: "String" + } + }, + scriptFileUri: { + readOnly: true, + serializedName: "properties.scriptFileUri", + type: { + name: "String" + } + } + } + } +}; + +export const LatencyMetric: msRest.CompositeMapper = { + serializedName: "LatencyMetric", + type: { + name: "Composite", + className: "LatencyMetric", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + endDateTimeUTC: { + readOnly: true, + serializedName: "endDateTimeUTC", + type: { + name: "String" + } + }, + aValue: { + readOnly: true, + serializedName: "aValue", + type: { + name: "Number" + } + }, + bValue: { + readOnly: true, + serializedName: "bValue", + type: { + name: "Number" + } + }, + delta: { + readOnly: true, + serializedName: "delta", + type: { + name: "Number" + } + }, + deltaPercent: { + readOnly: true, + serializedName: "deltaPercent", + type: { + name: "Number" + } + }, + aCLower95CI: { + readOnly: true, + serializedName: "aCLower95CI", + type: { + name: "Number" + } + }, + aHUpper95CI: { + readOnly: true, + serializedName: "aHUpper95CI", + type: { + name: "Number" + } + }, + bCLower95CI: { + readOnly: true, + serializedName: "bCLower95CI", + type: { + name: "Number" + } + }, + bUpper95CI: { + readOnly: true, + serializedName: "bUpper95CI", + type: { + name: "Number" + } + } + } + } +}; + +export const LatencyScorecard: msRest.CompositeMapper = { + serializedName: "LatencyScorecard", + type: { + name: "Composite", + className: "LatencyScorecard", + modelProperties: { + ...Resource.type.modelProperties, + latencyScorecardId: { + readOnly: true, + serializedName: "properties.id", + type: { + name: "String" + } + }, + latencyScorecardName: { + readOnly: true, + serializedName: "properties.name", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "properties.description", + type: { + name: "String" + } + }, + endpointA: { + readOnly: true, + serializedName: "properties.endpointA", + type: { + name: "String" + } + }, + endpointB: { + readOnly: true, + serializedName: "properties.endpointB", + type: { + name: "String" + } + }, + startDateTimeUTC: { + readOnly: true, + serializedName: "properties.startDateTimeUTC", + type: { + name: "DateTime" + } + }, + endDateTimeUTC: { + readOnly: true, + serializedName: "properties.endDateTimeUTC", + type: { + name: "DateTime" + } + }, + country: { + readOnly: true, + serializedName: "properties.country", + type: { + name: "String" + } + }, + latencyMetrics: { + serializedName: "properties.latencyMetrics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LatencyMetric" + } + } + } + } + } + } +}; + +export const TimeseriesDataPoint: msRest.CompositeMapper = { + serializedName: "TimeseriesDataPoint", + type: { + name: "Composite", + className: "TimeseriesDataPoint", + modelProperties: { + dateTimeUTC: { + serializedName: "dateTimeUTC", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + type: { + name: "Number" + } + } + } + } +}; + +export const Timeseries: msRest.CompositeMapper = { + serializedName: "Timeseries", + type: { + name: "Composite", + className: "Timeseries", + modelProperties: { + ...Resource.type.modelProperties, + endpoint: { + serializedName: "properties.endpoint", + type: { + name: "String" + } + }, + startDateTimeUTC: { + serializedName: "properties.startDateTimeUTC", + type: { + name: "String" + } + }, + endDateTimeUTC: { + serializedName: "properties.endDateTimeUTC", + type: { + name: "String" + } + }, + aggregationInterval: { + serializedName: "properties.aggregationInterval", + type: { + name: "String" + } + }, + timeseriesType: { + serializedName: "properties.timeseriesType", + type: { + name: "String" + } + }, + country: { + serializedName: "properties.country", + type: { + name: "String" + } + }, + timeseriesData: { + serializedName: "properties.timeseriesData", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TimeseriesDataPoint" + } + } + } + } + } + } +}; + +export const PreconfiguredEndpoint: msRest.CompositeMapper = { + serializedName: "PreconfiguredEndpoint", + type: { + name: "Composite", + className: "PreconfiguredEndpoint", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + endpoint: { + serializedName: "properties.endpoint", + type: { + name: "String" + } + }, + endpointType: { + serializedName: "properties.endpointType", + type: { + name: "String" + } + }, + backend: { + serializedName: "properties.backend", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorResponse: msRest.CompositeMapper = { + serializedName: "ErrorResponse", + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const RulesEngine: msRest.CompositeMapper = { + serializedName: "RulesEngine", + type: { + name: "Composite", + className: "RulesEngine", + modelProperties: { + rules: { + serializedName: "properties.rules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngineRule" + } + } + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const FrontDoor: msRest.CompositeMapper = { + serializedName: "FrontDoor", + type: { + name: "Composite", + className: "FrontDoor", + modelProperties: { + ...Resource.type.modelProperties, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + routingRules: { + serializedName: "properties.routingRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRule" + } + } + } + }, + loadBalancingSettings: { + serializedName: "properties.loadBalancingSettings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LoadBalancingSettingsModel" + } + } + } + }, + healthProbeSettings: { + serializedName: "properties.healthProbeSettings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthProbeSettingsModel" + } + } + } + }, + backendPools: { + serializedName: "properties.backendPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackendPool" + } + } + } + }, + frontendEndpoints: { + serializedName: "properties.frontendEndpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendEndpoint" + } + } + } + }, + backendPoolsSettings: { + serializedName: "properties.backendPoolsSettings", + type: { + name: "Composite", + className: "BackendPoolsSettings" + } + }, + enabledState: { + serializedName: "properties.enabledState", + type: { + name: "String" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + cname: { + readOnly: true, + serializedName: "properties.cname", + type: { + name: "String" + } + }, + frontdoorId: { + readOnly: true, + serializedName: "properties.frontdoorId", + type: { + name: "String" + } + }, + rulesEngines: { + readOnly: true, + serializedName: "properties.rulesEngines", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngine" + } + } + } + } + } + } +}; + +export const RoutingRule: msRest.CompositeMapper = { + serializedName: "RoutingRule", + type: { + name: "Composite", + className: "RoutingRule", + modelProperties: { + ...SubResource.type.modelProperties, + frontendEndpoints: { + serializedName: "properties.frontendEndpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + acceptedProtocols: { + serializedName: "properties.acceptedProtocols", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + patternsToMatch: { + serializedName: "properties.patternsToMatch", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + enabledState: { + serializedName: "properties.enabledState", + type: { + name: "String" + } + }, + routeConfiguration: { + serializedName: "properties.routeConfiguration", + type: { + name: "Composite", + className: "RouteConfiguration" + } + }, + rulesEngine: { + serializedName: "properties.rulesEngine", + type: { + name: "Composite", + className: "SubResource" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const LoadBalancingSettingsModel: msRest.CompositeMapper = { + serializedName: "LoadBalancingSettingsModel", + type: { + name: "Composite", + className: "LoadBalancingSettingsModel", + modelProperties: { + ...SubResource.type.modelProperties, + sampleSize: { + serializedName: "properties.sampleSize", + type: { + name: "Number" } }, successfulSamplesRequired: { serializedName: "properties.successfulSamplesRequired", type: { - name: "Number" + name: "Number" + } + }, + additionalLatencyMilliseconds: { + serializedName: "properties.additionalLatencyMilliseconds", + type: { + name: "Number" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const HealthProbeSettingsModel: msRest.CompositeMapper = { + serializedName: "HealthProbeSettingsModel", + type: { + name: "Composite", + className: "HealthProbeSettingsModel", + modelProperties: { + ...SubResource.type.modelProperties, + path: { + serializedName: "properties.path", + type: { + name: "String" + } + }, + protocol: { + serializedName: "properties.protocol", + type: { + name: "String" + } + }, + intervalInSeconds: { + serializedName: "properties.intervalInSeconds", + type: { + name: "Number" + } + }, + healthProbeMethod: { + serializedName: "properties.healthProbeMethod", + defaultValue: 'HEAD', + type: { + name: "String" + } + }, + enabledState: { + serializedName: "properties.enabledState", + type: { + name: "String" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const BackendPool: msRest.CompositeMapper = { + serializedName: "BackendPool", + type: { + name: "Composite", + className: "BackendPool", + modelProperties: { + ...SubResource.type.modelProperties, + backends: { + serializedName: "properties.backends", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Backend" + } + } + } + }, + loadBalancingSettings: { + serializedName: "properties.loadBalancingSettings", + type: { + name: "Composite", + className: "SubResource" + } + }, + healthProbeSettings: { + serializedName: "properties.healthProbeSettings", + type: { + name: "Composite", + className: "SubResource" + } + }, + resourceState: { + serializedName: "properties.resourceState", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const KeyVaultCertificateSourceParametersVault: msRest.CompositeMapper = { + serializedName: "KeyVaultCertificateSourceParameters_vault", + type: { + name: "Composite", + className: "KeyVaultCertificateSourceParametersVault", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const CustomHttpsConfiguration: msRest.CompositeMapper = { + serializedName: "CustomHttpsConfiguration", + type: { + name: "Composite", + className: "CustomHttpsConfiguration", + modelProperties: { + certificateSource: { + required: true, + serializedName: "certificateSource", + type: { + name: "String" + } + }, + protocolType: { + required: true, + isConstant: true, + serializedName: "protocolType", + defaultValue: 'ServerNameIndication', + type: { + name: "String" + } + }, + minimumTlsVersion: { + required: true, + serializedName: "minimumTlsVersion", + type: { + name: "String" + } + }, + vault: { + serializedName: "keyVaultCertificateSourceParameters.vault", + type: { + name: "Composite", + className: "KeyVaultCertificateSourceParametersVault" + } + }, + secretName: { + serializedName: "keyVaultCertificateSourceParameters.secretName", + type: { + name: "String" + } + }, + secretVersion: { + serializedName: "keyVaultCertificateSourceParameters.secretVersion", + type: { + name: "String" + } + }, + certificateType: { + serializedName: "frontDoorCertificateSourceParameters.certificateType", + type: { + name: "String" + } + } + } + } +}; + +export const FrontendEndpoint: msRest.CompositeMapper = { + serializedName: "FrontendEndpoint", + type: { + name: "Composite", + className: "FrontendEndpoint", + modelProperties: { + ...SubResource.type.modelProperties, + hostName: { + serializedName: "properties.hostName", + type: { + name: "String" + } + }, + sessionAffinityEnabledState: { + serializedName: "properties.sessionAffinityEnabledState", + type: { + name: "String" } }, - additionalLatencyMilliseconds: { - serializedName: "properties.additionalLatencyMilliseconds", + sessionAffinityTtlSeconds: { + serializedName: "properties.sessionAffinityTtlSeconds", type: { name: "Number" } }, + webApplicationFirewallPolicyLink: { + serializedName: "properties.webApplicationFirewallPolicyLink", + type: { + name: "Composite", + className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + } + }, resourceState: { serializedName: "properties.resourceState", type: { name: "String" } }, + customHttpsProvisioningState: { + readOnly: true, + serializedName: "properties.customHttpsProvisioningState", + type: { + name: "String" + } + }, + customHttpsProvisioningSubstate: { + readOnly: true, + serializedName: "properties.customHttpsProvisioningSubstate", + type: { + name: "String" + } + }, + customHttpsConfiguration: { + readOnly: true, + serializedName: "properties.customHttpsConfiguration", + type: { + name: "Composite", + className: "CustomHttpsConfiguration" + } + }, name: { serializedName: "name", type: { @@ -325,46 +1240,164 @@ export const LoadBalancingSettingsModel: msRest.CompositeMapper = { } }; -export const HealthProbeSettingsModel: msRest.CompositeMapper = { - serializedName: "HealthProbeSettingsModel", +export const BackendPoolsSettings: msRest.CompositeMapper = { + serializedName: "BackendPoolsSettings", type: { name: "Composite", - className: "HealthProbeSettingsModel", + className: "BackendPoolsSettings", modelProperties: { - ...SubResource.type.modelProperties, - path: { - serializedName: "properties.path", + enforceCertificateNameCheck: { + serializedName: "enforceCertificateNameCheck", + defaultValue: 'Enabled', type: { name: "String" } }, - protocol: { - serializedName: "properties.protocol", + sendRecvTimeoutSeconds: { + serializedName: "sendRecvTimeoutSeconds", + constraints: { + InclusiveMinimum: 16 + }, + type: { + name: "Number" + } + } + } + } +}; + +export const FrontDoorUpdateParameters: msRest.CompositeMapper = { + serializedName: "FrontDoorUpdateParameters", + type: { + name: "Composite", + className: "FrontDoorUpdateParameters", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - intervalInSeconds: { - serializedName: "properties.intervalInSeconds", + routingRules: { + serializedName: "routingRules", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRule" + } + } } }, - resourceState: { - serializedName: "properties.resourceState", + loadBalancingSettings: { + serializedName: "loadBalancingSettings", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LoadBalancingSettingsModel" + } + } } }, - name: { - serializedName: "name", + healthProbeSettings: { + serializedName: "healthProbeSettings", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthProbeSettingsModel" + } + } } }, - type: { + backendPools: { + serializedName: "backendPools", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackendPool" + } + } + } + }, + frontendEndpoints: { + serializedName: "frontendEndpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendEndpoint" + } + } + } + }, + backendPoolsSettings: { + serializedName: "backendPoolsSettings", + type: { + name: "Composite", + className: "BackendPoolsSettings" + } + }, + enabledState: { + serializedName: "enabledState", + type: { + name: "String" + } + } + } + } +}; + +export const PurgeParameters: msRest.CompositeMapper = { + serializedName: "PurgeParameters", + type: { + name: "Composite", + className: "PurgeParameters", + modelProperties: { + contentPaths: { + required: true, + serializedName: "contentPaths", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RoutingRuleListResult: msRest.CompositeMapper = { + serializedName: "RoutingRuleListResult", + type: { + name: "Composite", + className: "RoutingRuleListResult", + modelProperties: { + value: { readOnly: true, - serializedName: "type", + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -373,54 +1406,106 @@ export const HealthProbeSettingsModel: msRest.CompositeMapper = { } }; -export const BackendPool: msRest.CompositeMapper = { - serializedName: "BackendPool", +export const RouteConfiguration: msRest.CompositeMapper = { + serializedName: "RouteConfiguration", type: { name: "Composite", - className: "BackendPool", + polymorphicDiscriminator: { + serializedName: "@odata.type", + clientName: "odatatype" + }, + uberParent: "RouteConfiguration", + className: "RouteConfiguration", modelProperties: { - ...SubResource.type.modelProperties, - backends: { - serializedName: "properties.backends", + odatatype: { + required: true, + serializedName: "@odata\\.type", + type: { + name: "String" + } + } + } + } +}; + +export const RoutingRuleUpdateParameters: msRest.CompositeMapper = { + serializedName: "RoutingRuleUpdateParameters", + type: { + name: "Composite", + className: "RoutingRuleUpdateParameters", + modelProperties: { + frontendEndpoints: { + serializedName: "frontendEndpoints", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Backend" + className: "SubResource" } } } }, - loadBalancingSettings: { - serializedName: "properties.loadBalancingSettings", + acceptedProtocols: { + serializedName: "acceptedProtocols", type: { - name: "Composite", - className: "SubResource" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - healthProbeSettings: { - serializedName: "properties.healthProbeSettings", + patternsToMatch: { + serializedName: "patternsToMatch", type: { - name: "Composite", - className: "SubResource" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - resourceState: { - serializedName: "properties.resourceState", + enabledState: { + serializedName: "enabledState", type: { name: "String" } }, - name: { - serializedName: "name", + routeConfiguration: { + serializedName: "routeConfiguration", + type: { + name: "Composite", + className: "RouteConfiguration" + } + }, + rulesEngine: { + serializedName: "rulesEngine", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const CacheConfiguration: msRest.CompositeMapper = { + serializedName: "CacheConfiguration", + type: { + name: "Composite", + className: "CacheConfiguration", + modelProperties: { + queryParameterStripDirective: { + serializedName: "queryParameterStripDirective", type: { name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + dynamicCompression: { + serializedName: "dynamicCompression", type: { name: "String" } @@ -429,61 +1514,86 @@ export const BackendPool: msRest.CompositeMapper = { } }; -export const KeyVaultCertificateSourceParametersVault: msRest.CompositeMapper = { - serializedName: "KeyVaultCertificateSourceParameters_vault", +export const ForwardingConfiguration: msRest.CompositeMapper = { + serializedName: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", type: { name: "Composite", - className: "KeyVaultCertificateSourceParametersVault", + polymorphicDiscriminator: RouteConfiguration.type.polymorphicDiscriminator, + uberParent: "RouteConfiguration", + className: "ForwardingConfiguration", modelProperties: { - id: { - serializedName: "id", + ...RouteConfiguration.type.modelProperties, + customForwardingPath: { + serializedName: "customForwardingPath", + type: { + name: "String" + } + }, + forwardingProtocol: { + serializedName: "forwardingProtocol", type: { name: "String" } + }, + cacheConfiguration: { + serializedName: "cacheConfiguration", + type: { + name: "Composite", + className: "CacheConfiguration" + } + }, + backendPool: { + serializedName: "backendPool", + type: { + name: "Composite", + className: "SubResource" + } } } } }; -export const CustomHttpsConfiguration: msRest.CompositeMapper = { - serializedName: "CustomHttpsConfiguration", +export const RedirectConfiguration: msRest.CompositeMapper = { + serializedName: "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", type: { name: "Composite", - className: "CustomHttpsConfiguration", + polymorphicDiscriminator: RouteConfiguration.type.polymorphicDiscriminator, + uberParent: "RouteConfiguration", + className: "RedirectConfiguration", modelProperties: { - certificateSource: { - serializedName: "certificateSource", + ...RouteConfiguration.type.modelProperties, + redirectType: { + serializedName: "redirectType", type: { name: "String" } }, - protocolType: { - serializedName: "protocolType", + redirectProtocol: { + serializedName: "redirectProtocol", type: { name: "String" } }, - vault: { - serializedName: "keyVaultCertificateSourceParameters.vault", + customHost: { + serializedName: "customHost", type: { - name: "Composite", - className: "KeyVaultCertificateSourceParametersVault" + name: "String" } }, - secretName: { - serializedName: "keyVaultCertificateSourceParameters.secretName", + customPath: { + serializedName: "customPath", type: { name: "String" } }, - secretVersion: { - serializedName: "keyVaultCertificateSourceParameters.secretVersion", + customFragment: { + serializedName: "customFragment", type: { name: "String" } }, - certificateType: { - serializedName: "frontDoorCertificateSourceParameters.certificateType", + customQueryString: { + serializedName: "customQueryString", type: { name: "String" } @@ -492,75 +1602,92 @@ export const CustomHttpsConfiguration: msRest.CompositeMapper = { } }; -export const FrontendEndpoint: msRest.CompositeMapper = { - serializedName: "FrontendEndpoint", +export const Backend: msRest.CompositeMapper = { + serializedName: "Backend", type: { name: "Composite", - className: "FrontendEndpoint", + className: "Backend", modelProperties: { - ...SubResource.type.modelProperties, - hostName: { - serializedName: "properties.hostName", + address: { + serializedName: "address", type: { name: "String" } }, - sessionAffinityEnabledState: { - serializedName: "properties.sessionAffinityEnabledState", + privateLinkResourceId: { + serializedName: "privateLinkResourceId", type: { name: "String" } }, - sessionAffinityTtlSeconds: { - serializedName: "properties.sessionAffinityTtlSeconds", + privateEndpointStatus: { + readOnly: true, + serializedName: "privateEndpointStatus", type: { - name: "Number" + name: "Enum", + allowedValues: [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ] } }, - webApplicationFirewallPolicyLink: { - serializedName: "properties.webApplicationFirewallPolicyLink", + privateLinkApprovalMessage: { + serializedName: "privateLinkApprovalMessage", type: { - name: "Composite", - className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", + httpPort: { + serializedName: "httpPort", + constraints: { + InclusiveMaximum: 65535, + InclusiveMinimum: 1 + }, type: { - name: "String" + name: "Number" } }, - customHttpsProvisioningState: { - readOnly: true, - serializedName: "properties.customHttpsProvisioningState", + httpsPort: { + serializedName: "httpsPort", + constraints: { + InclusiveMaximum: 65535, + InclusiveMinimum: 1 + }, type: { - name: "String" + name: "Number" } }, - customHttpsProvisioningSubstate: { - readOnly: true, - serializedName: "properties.customHttpsProvisioningSubstate", + enabledState: { + serializedName: "enabledState", type: { name: "String" } }, - customHttpsConfiguration: { - readOnly: true, - serializedName: "properties.customHttpsConfiguration", + priority: { + serializedName: "priority", + constraints: { + InclusiveMaximum: 5, + InclusiveMinimum: 1 + }, type: { - name: "Composite", - className: "CustomHttpsConfiguration" + name: "Number" } }, - name: { - serializedName: "name", + weight: { + serializedName: "weight", + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 1 + }, type: { - name: "String" + name: "Number" } }, - type: { - readOnly: true, - serializedName: "type", + backendHostHeader: { + serializedName: "backendHostHeader", type: { name: "String" } @@ -569,32 +1696,15 @@ export const FrontendEndpoint: msRest.CompositeMapper = { } }; -export const FrontDoorUpdateParameters: msRest.CompositeMapper = { - serializedName: "FrontDoorUpdateParameters", +export const LoadBalancingSettingsListResult: msRest.CompositeMapper = { + serializedName: "LoadBalancingSettingsListResult", type: { name: "Composite", - className: "FrontDoorUpdateParameters", + className: "LoadBalancingSettingsListResult", modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - routingRules: { - serializedName: "routingRules", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoutingRule" - } - } - } - }, - loadBalancingSettings: { - serializedName: "loadBalancingSettings", + value: { + readOnly: true, + serializedName: "value", type: { name: "Sequence", element: { @@ -605,88 +1715,106 @@ export const FrontDoorUpdateParameters: msRest.CompositeMapper = { } } }, - healthProbeSettings: { - serializedName: "healthProbeSettings", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthProbeSettingsModel" - } - } + name: "String" } - }, - backendPools: { - serializedName: "backendPools", + } + } + } +}; + +export const LoadBalancingSettingsUpdateParameters: msRest.CompositeMapper = { + serializedName: "LoadBalancingSettingsUpdateParameters", + type: { + name: "Composite", + className: "LoadBalancingSettingsUpdateParameters", + modelProperties: { + sampleSize: { + serializedName: "sampleSize", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BackendPool" - } - } + name: "Number" } }, - frontendEndpoints: { - serializedName: "frontendEndpoints", + successfulSamplesRequired: { + serializedName: "successfulSamplesRequired", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FrontendEndpoint" - } - } + name: "Number" } }, - enabledState: { - serializedName: "enabledState", + additionalLatencyMilliseconds: { + serializedName: "additionalLatencyMilliseconds", type: { - name: "String" + name: "Number" } } } } }; -export const PurgeParameters: msRest.CompositeMapper = { - serializedName: "PurgeParameters", +export const HealthProbeSettingsListResult: msRest.CompositeMapper = { + serializedName: "HealthProbeSettingsListResult", type: { name: "Composite", - className: "PurgeParameters", + className: "HealthProbeSettingsListResult", modelProperties: { - contentPaths: { - required: true, - serializedName: "contentPaths", + value: { + readOnly: true, + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "HealthProbeSettingsModel" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const CacheConfiguration: msRest.CompositeMapper = { - serializedName: "CacheConfiguration", +export const HealthProbeSettingsUpdateParameters: msRest.CompositeMapper = { + serializedName: "HealthProbeSettingsUpdateParameters", type: { name: "Composite", - className: "CacheConfiguration", + className: "HealthProbeSettingsUpdateParameters", modelProperties: { - queryParameterStripDirective: { - serializedName: "queryParameterStripDirective", + path: { + serializedName: "path", + type: { + name: "String" + } + }, + protocol: { + serializedName: "protocol", + type: { + name: "String" + } + }, + intervalInSeconds: { + serializedName: "intervalInSeconds", + type: { + name: "Number" + } + }, + healthProbeMethod: { + serializedName: "healthProbeMethod", + defaultValue: 'HEAD', type: { name: "String" } }, - dynamicCompression: { - serializedName: "dynamicCompression", + enabledState: { + serializedName: "enabledState", type: { name: "String" } @@ -695,74 +1823,79 @@ export const CacheConfiguration: msRest.CompositeMapper = { } }; -export const RoutingRuleUpdateParameters: msRest.CompositeMapper = { - serializedName: "RoutingRuleUpdateParameters", +export const BackendPoolUpdateParameters: msRest.CompositeMapper = { + serializedName: "BackendPoolUpdateParameters", type: { name: "Composite", - className: "RoutingRuleUpdateParameters", + className: "BackendPoolUpdateParameters", modelProperties: { - frontendEndpoints: { - serializedName: "frontendEndpoints", + backends: { + serializedName: "backends", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SubResource" + className: "Backend" } } } }, - acceptedProtocols: { - serializedName: "acceptedProtocols", + loadBalancingSettings: { + serializedName: "loadBalancingSettings", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "SubResource" } }, - patternsToMatch: { - serializedName: "patternsToMatch", + healthProbeSettings: { + serializedName: "healthProbeSettings", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const BackendPoolListResult: msRest.CompositeMapper = { + serializedName: "BackendPoolListResult", + type: { + name: "Composite", + className: "BackendPoolListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "BackendPool" } } } }, - customForwardingPath: { - serializedName: "customForwardingPath", - type: { - name: "String" - } - }, - forwardingProtocol: { - serializedName: "forwardingProtocol", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - cacheConfiguration: { - serializedName: "cacheConfiguration", - type: { - name: "Composite", - className: "CacheConfiguration" - } - }, - backendPool: { - serializedName: "backendPool", - type: { - name: "Composite", - className: "SubResource" - } - }, - enabledState: { - serializedName: "enabledState", + } + } + } +}; + +export const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: msRest.CompositeMapper = { + serializedName: "FrontendEndpointUpdateParameters_webApplicationFirewallPolicyLink", + type: { + name: "Composite", + className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } @@ -771,174 +1904,213 @@ export const RoutingRuleUpdateParameters: msRest.CompositeMapper = { } }; -export const Backend: msRest.CompositeMapper = { - serializedName: "Backend", +export const FrontendEndpointUpdateParameters: msRest.CompositeMapper = { + serializedName: "FrontendEndpointUpdateParameters", type: { name: "Composite", - className: "Backend", + className: "FrontendEndpointUpdateParameters", modelProperties: { - address: { - serializedName: "address", + hostName: { + serializedName: "hostName", type: { name: "String" } }, - httpPort: { - serializedName: "httpPort", - constraints: { - InclusiveMaximum: 65535, - InclusiveMinimum: 1 - }, - type: { - name: "Number" - } - }, - httpsPort: { - serializedName: "httpsPort", - constraints: { - InclusiveMaximum: 65535, - InclusiveMinimum: 1 - }, - type: { - name: "Number" - } - }, - enabledState: { - serializedName: "enabledState", + sessionAffinityEnabledState: { + serializedName: "sessionAffinityEnabledState", type: { name: "String" } }, - priority: { - serializedName: "priority", - constraints: { - InclusiveMaximum: 5, - InclusiveMinimum: 1 - }, - type: { - name: "Number" - } - }, - weight: { - serializedName: "weight", - constraints: { - InclusiveMaximum: 1000, - InclusiveMinimum: 1 - }, + sessionAffinityTtlSeconds: { + serializedName: "sessionAffinityTtlSeconds", type: { name: "Number" } }, - backendHostHeader: { - serializedName: "backendHostHeader", + webApplicationFirewallPolicyLink: { + serializedName: "webApplicationFirewallPolicyLink", type: { - name: "String" + name: "Composite", + className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" } } } } }; -export const LoadBalancingSettingsUpdateParameters: msRest.CompositeMapper = { - serializedName: "LoadBalancingSettingsUpdateParameters", +export const HeaderAction: msRest.CompositeMapper = { + serializedName: "HeaderAction", type: { name: "Composite", - className: "LoadBalancingSettingsUpdateParameters", + className: "HeaderAction", modelProperties: { - sampleSize: { - serializedName: "sampleSize", + headerActionType: { + required: true, + serializedName: "headerActionType", type: { - name: "Number" + name: "String" } }, - successfulSamplesRequired: { - serializedName: "successfulSamplesRequired", + headerName: { + required: true, + serializedName: "headerName", type: { - name: "Number" + name: "String" } }, - additionalLatencyMilliseconds: { - serializedName: "additionalLatencyMilliseconds", + value: { + serializedName: "value", type: { - name: "Number" + name: "String" } } } } }; -export const HealthProbeSettingsUpdateParameters: msRest.CompositeMapper = { - serializedName: "HealthProbeSettingsUpdateParameters", +export const RulesEngineMatchCondition: msRest.CompositeMapper = { + serializedName: "RulesEngineMatchCondition", type: { name: "Composite", - className: "HealthProbeSettingsUpdateParameters", + className: "RulesEngineMatchCondition", modelProperties: { - path: { - serializedName: "path", + rulesEngineMatchVariable: { + required: true, + serializedName: "rulesEngineMatchVariable", type: { name: "String" } }, - protocol: { - serializedName: "protocol", + selector: { + serializedName: "selector", type: { name: "String" } }, - intervalInSeconds: { - serializedName: "intervalInSeconds", + rulesEngineOperator: { + required: true, + serializedName: "rulesEngineOperator", type: { - name: "Number" + name: "String" + } + }, + negateCondition: { + serializedName: "negateCondition", + type: { + name: "Boolean" + } + }, + rulesEngineMatchValue: { + required: true, + serializedName: "rulesEngineMatchValue", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + transforms: { + serializedName: "transforms", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const BackendPoolUpdateParameters: msRest.CompositeMapper = { - serializedName: "BackendPoolUpdateParameters", +export const RulesEngineAction: msRest.CompositeMapper = { + serializedName: "RulesEngineAction", type: { name: "Composite", - className: "BackendPoolUpdateParameters", + className: "RulesEngineAction", modelProperties: { - backends: { - serializedName: "backends", + requestHeaderActions: { + serializedName: "requestHeaderActions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Backend" + className: "HeaderAction" } } } }, - loadBalancingSettings: { - serializedName: "loadBalancingSettings", + responseHeaderActions: { + serializedName: "responseHeaderActions", type: { - name: "Composite", - className: "SubResource" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HeaderAction" + } + } } }, - healthProbeSettings: { - serializedName: "healthProbeSettings", + routeConfigurationOverride: { + serializedName: "routeConfigurationOverride", type: { name: "Composite", - className: "SubResource" + className: "RouteConfiguration" } } } } }; -export const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: msRest.CompositeMapper = { - serializedName: "FrontendEndpointUpdateParameters_webApplicationFirewallPolicyLink", +export const RulesEngineRule: msRest.CompositeMapper = { + serializedName: "RulesEngineRule", type: { name: "Composite", - className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink", + className: "RulesEngineRule", modelProperties: { - id: { - serializedName: "id", + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + priority: { + required: true, + serializedName: "priority", + type: { + name: "Number" + } + }, + action: { + required: true, + serializedName: "action", + type: { + name: "Composite", + className: "RulesEngineAction" + } + }, + matchConditions: { + serializedName: "matchConditions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngineMatchCondition" + } + } + } + }, + matchProcessingBehavior: { + serializedName: "matchProcessingBehavior", type: { name: "String" } @@ -947,35 +2119,22 @@ export const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: m } }; -export const FrontendEndpointUpdateParameters: msRest.CompositeMapper = { - serializedName: "FrontendEndpointUpdateParameters", +export const RulesEngineUpdateParameters: msRest.CompositeMapper = { + serializedName: "RulesEngineUpdateParameters", type: { name: "Composite", - className: "FrontendEndpointUpdateParameters", + className: "RulesEngineUpdateParameters", modelProperties: { - hostName: { - serializedName: "hostName", - type: { - name: "String" - } - }, - sessionAffinityEnabledState: { - serializedName: "sessionAffinityEnabledState", - type: { - name: "String" - } - }, - sessionAffinityTtlSeconds: { - serializedName: "sessionAffinityTtlSeconds", - type: { - name: "Number" - } - }, - webApplicationFirewallPolicyLink: { - serializedName: "webApplicationFirewallPolicyLink", + rules: { + serializedName: "rules", type: { - name: "Composite", - className: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngineRule" + } + } } } } @@ -1030,30 +2189,6 @@ export const ValidateCustomDomainOutput: msRest.CompositeMapper = { } }; -export const ErrorResponse: msRest.CompositeMapper = { - serializedName: "ErrorResponse", - type: { - name: "Composite", - className: "ErrorResponse", - modelProperties: { - code: { - readOnly: true, - serializedName: "code", - type: { - name: "String" - } - }, - message: { - readOnly: true, - serializedName: "message", - type: { - name: "String" - } - } - } - } -}; - export const CheckNameAvailabilityInput: msRest.CompositeMapper = { serializedName: "CheckNameAvailabilityInput", type: { @@ -1113,26 +2248,41 @@ export const CheckNameAvailabilityOutput: msRest.CompositeMapper = { } }; -export const ErrorDetails: msRest.CompositeMapper = { - serializedName: "ErrorDetails", +export const PolicySettings: msRest.CompositeMapper = { + serializedName: "PolicySettings", type: { name: "Composite", - className: "ErrorDetails", + className: "PolicySettings", modelProperties: { - code: { - serializedName: "code", + enabledState: { + serializedName: "enabledState", type: { name: "String" } }, - target: { - serializedName: "target", + mode: { + serializedName: "mode", type: { name: "String" } }, - message: { - serializedName: "message", + redirectUrl: { + serializedName: "redirectUrl", + type: { + name: "String" + } + }, + customBlockResponseStatusCode: { + serializedName: "customBlockResponseStatusCode", + type: { + name: "Number" + } + }, + customBlockResponseBody: { + serializedName: "customBlockResponseBody", + constraints: { + Pattern: /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$/ + }, type: { name: "String" } @@ -1141,158 +2291,157 @@ export const ErrorDetails: msRest.CompositeMapper = { } }; -export const ErrorModel: msRest.CompositeMapper = { - serializedName: "Error", +export const MatchCondition: msRest.CompositeMapper = { + serializedName: "MatchCondition", type: { name: "Composite", - className: "ErrorModel", + className: "MatchCondition", modelProperties: { - code: { - serializedName: "code", + matchVariable: { + required: true, + serializedName: "matchVariable", type: { name: "String" } }, - message: { - serializedName: "message", + selector: { + serializedName: "selector", type: { name: "String" } }, - target: { - serializedName: "target", + operator: { + required: true, + serializedName: "operator", type: { name: "String" } }, - details: { - serializedName: "details", + negateCondition: { + serializedName: "negateCondition", + type: { + name: "Boolean" + } + }, + matchValue: { + required: true, + serializedName: "matchValue", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ErrorDetails" + name: "String" } } } }, - innerError: { - serializedName: "innerError", + transforms: { + serializedName: "transforms", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const AzureAsyncOperationResult: msRest.CompositeMapper = { - serializedName: "AzureAsyncOperationResult", +export const CustomRule: msRest.CompositeMapper = { + serializedName: "CustomRule", type: { name: "Composite", - className: "AzureAsyncOperationResult", + className: "CustomRule", modelProperties: { - status: { - serializedName: "status", + name: { + serializedName: "name", + constraints: { + MaxLength: 128 + }, type: { name: "String" } }, - error: { - serializedName: "error", - type: { - name: "Composite", - className: "ErrorModel" - } - } - } - } -}; - -export const TagsObject: msRest.CompositeMapper = { - serializedName: "TagsObject", - type: { - name: "Composite", - className: "TagsObject", - modelProperties: { - tags: { - serializedName: "tags", + priority: { + required: true, + serializedName: "priority", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Number" } - } - } - } -}; - -export const PolicySettings: msRest.CompositeMapper = { - serializedName: "policySettings", - type: { - name: "Composite", - className: "PolicySettings", - modelProperties: { + }, enabledState: { serializedName: "enabledState", type: { name: "String" } }, - mode: { - serializedName: "mode", - type: { - name: "String" - } - } - } - } -}; - -export const MatchCondition1: msRest.CompositeMapper = { - serializedName: "MatchCondition", - type: { - name: "Composite", - className: "MatchCondition1", - modelProperties: { - matchVariable: { + ruleType: { required: true, - serializedName: "matchVariable", + serializedName: "ruleType", type: { name: "String" } }, - selector: { - serializedName: "selector", + rateLimitDurationInMinutes: { + serializedName: "rateLimitDurationInMinutes", + constraints: { + InclusiveMaximum: 5, + InclusiveMinimum: 0 + }, type: { - name: "String" + name: "Number" } }, - operator: { - required: true, - serializedName: "operator", + rateLimitThreshold: { + serializedName: "rateLimitThreshold", + constraints: { + InclusiveMinimum: 0 + }, type: { - name: "String" + name: "Number" } }, - negateCondition: { - serializedName: "negateCondition", + matchConditions: { + required: true, + serializedName: "matchConditions", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MatchCondition" + } + } } }, - matchValue: { + action: { required: true, - serializedName: "matchValue", + serializedName: "action", + type: { + name: "String" + } + } + } + } +}; + +export const CustomRuleList: msRest.CompositeMapper = { + serializedName: "CustomRuleList", + type: { + name: "Composite", + className: "CustomRuleList", + modelProperties: { + rules: { + serializedName: "rules", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "CustomRule" } } } @@ -1301,95 +2450,103 @@ export const MatchCondition1: msRest.CompositeMapper = { } }; -export const CustomRule: msRest.CompositeMapper = { - serializedName: "CustomRule", +export const ManagedRuleExclusion: msRest.CompositeMapper = { + serializedName: "ManagedRuleExclusion", type: { name: "Composite", - className: "CustomRule", + className: "ManagedRuleExclusion", modelProperties: { - name: { - serializedName: "name", - constraints: { - MaxLength: 128 - }, + matchVariable: { + required: true, + serializedName: "matchVariable", type: { name: "String" } }, - etag: { - readOnly: true, - serializedName: "etag", + selectorMatchOperator: { + required: true, + serializedName: "selectorMatchOperator", type: { name: "String" } }, - priority: { + selector: { required: true, - serializedName: "priority", + serializedName: "selector", type: { - name: "Number" + name: "String" } - }, - ruleType: { + } + } + } +}; + +export const ManagedRuleOverride: msRest.CompositeMapper = { + serializedName: "ManagedRuleOverride", + type: { + name: "Composite", + className: "ManagedRuleOverride", + modelProperties: { + ruleId: { required: true, - serializedName: "ruleType", + serializedName: "ruleId", type: { name: "String" } }, - rateLimitDurationInMinutes: { - serializedName: "rateLimitDurationInMinutes", + enabledState: { + serializedName: "enabledState", type: { - name: "Number" + name: "String" } }, - rateLimitThreshold: { - serializedName: "rateLimitThreshold", + action: { + serializedName: "action", type: { - name: "Number" + name: "String" } }, - matchConditions: { - required: true, - serializedName: "matchConditions", + exclusions: { + serializedName: "exclusions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MatchCondition1" + className: "ManagedRuleExclusion" } } } - }, - action: { + } + } + } +}; + +export const ManagedRuleGroupOverride: msRest.CompositeMapper = { + serializedName: "ManagedRuleGroupOverride", + type: { + name: "Composite", + className: "ManagedRuleGroupOverride", + modelProperties: { + ruleGroupName: { required: true, - serializedName: "action", + serializedName: "ruleGroupName", type: { name: "String" } }, - transforms: { - serializedName: "transforms", + exclusions: { + serializedName: "exclusions", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagedRuleExclusion" } } } - } - } - } -}; - -export const CustomRules: msRest.CompositeMapper = { - serializedName: "CustomRules", - type: { - name: "Composite", - className: "CustomRules", - modelProperties: { + }, rules: { serializedName: "rules", type: { @@ -1397,7 +2554,7 @@ export const CustomRules: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "CustomRule" + className: "ManagedRuleOverride" } } } @@ -1407,47 +2564,61 @@ export const CustomRules: msRest.CompositeMapper = { }; export const ManagedRuleSet: msRest.CompositeMapper = { - serializedName: "Unknown", + serializedName: "ManagedRuleSet", type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "ruleSetType", - clientName: "ruleSetType" - }, - uberParent: "ManagedRuleSet", className: "ManagedRuleSet", modelProperties: { - priority: { - serializedName: "priority", + ruleSetType: { + required: true, + serializedName: "ruleSetType", type: { - name: "Number" + name: "String" } }, - version: { - serializedName: "version", + ruleSetVersion: { + required: true, + serializedName: "ruleSetVersion", type: { - name: "Number" + name: "String" } }, - ruleSetType: { - required: true, - serializedName: "ruleSetType", + exclusions: { + serializedName: "exclusions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleExclusion" + } + } + } + }, + ruleGroupOverrides: { + serializedName: "ruleGroupOverrides", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleGroupOverride" + } + } } } } } }; -export const ManagedRuleSets: msRest.CompositeMapper = { - serializedName: "ManagedRuleSets", +export const ManagedRuleSetList: msRest.CompositeMapper = { + serializedName: "ManagedRuleSetList", type: { name: "Composite", - className: "ManagedRuleSets", + className: "ManagedRuleSetList", modelProperties: { - ruleSets: { - serializedName: "ruleSets", + managedRuleSets: { + serializedName: "managedRuleSets", type: { name: "Sequence", element: { @@ -1462,11 +2633,27 @@ export const ManagedRuleSets: msRest.CompositeMapper = { } }; -export const WebApplicationFirewallPolicy1: msRest.CompositeMapper = { +export const FrontendEndpointLink: msRest.CompositeMapper = { + serializedName: "FrontendEndpointLink", + type: { + name: "Composite", + className: "FrontendEndpointLink", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const WebApplicationFirewallPolicy: msRest.CompositeMapper = { serializedName: "WebApplicationFirewallPolicy", type: { name: "Composite", - className: "WebApplicationFirewallPolicy1", + className: "WebApplicationFirewallPolicy", modelProperties: { ...Resource.type.modelProperties, policySettings: { @@ -1480,14 +2667,27 @@ export const WebApplicationFirewallPolicy1: msRest.CompositeMapper = { serializedName: "properties.customRules", type: { name: "Composite", - className: "CustomRules" + className: "CustomRuleList" } }, managedRules: { serializedName: "properties.managedRules", type: { name: "Composite", - className: "ManagedRuleSets" + className: "ManagedRuleSetList" + } + }, + frontendEndpointLinks: { + readOnly: true, + serializedName: "properties.frontendEndpointLinks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendEndpointLink" + } + } } }, provisioningState: { @@ -1514,22 +2714,36 @@ export const WebApplicationFirewallPolicy1: msRest.CompositeMapper = { } }; -export const AzureManagedOverrideRuleGroup: msRest.CompositeMapper = { - serializedName: "AzureManagedOverrideRuleGroup", +export const ManagedRuleDefinition: msRest.CompositeMapper = { + serializedName: "ManagedRuleDefinition", type: { name: "Composite", - className: "AzureManagedOverrideRuleGroup", + className: "ManagedRuleDefinition", modelProperties: { - ruleGroupOverride: { - required: true, - serializedName: "ruleGroupOverride", + ruleId: { + readOnly: true, + serializedName: "ruleId", type: { name: "String" } }, - action: { - required: true, - serializedName: "action", + defaultState: { + readOnly: true, + serializedName: "defaultState", + type: { + name: "String" + } + }, + defaultAction: { + readOnly: true, + serializedName: "defaultAction", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "description", type: { name: "String" } @@ -1538,23 +2752,35 @@ export const AzureManagedOverrideRuleGroup: msRest.CompositeMapper = { } }; -export const AzureManagedRuleSet: msRest.CompositeMapper = { - serializedName: "AzureManagedRuleSet", +export const ManagedRuleGroupDefinition: msRest.CompositeMapper = { + serializedName: "ManagedRuleGroupDefinition", type: { name: "Composite", - polymorphicDiscriminator: ManagedRuleSet.type.polymorphicDiscriminator, - uberParent: "ManagedRuleSet", - className: "AzureManagedRuleSet", + className: "ManagedRuleGroupDefinition", modelProperties: { - ...ManagedRuleSet.type.modelProperties, - ruleGroupOverrides: { - serializedName: "ruleGroupOverrides", + ruleGroupName: { + readOnly: true, + serializedName: "ruleGroupName", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "description", + type: { + name: "String" + } + }, + rules: { + readOnly: true, + serializedName: "rules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AzureManagedOverrideRuleGroup" + className: "ManagedRuleDefinition" } } } @@ -1563,11 +2789,56 @@ export const AzureManagedRuleSet: msRest.CompositeMapper = { } }; -export const FrontDoorListResult: msRest.CompositeMapper = { - serializedName: "FrontDoorListResult", +export const ManagedRuleSetDefinition: msRest.CompositeMapper = { + serializedName: "ManagedRuleSetDefinition", type: { name: "Composite", - className: "FrontDoorListResult", + className: "ManagedRuleSetDefinition", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + ruleSetType: { + readOnly: true, + serializedName: "properties.ruleSetType", + type: { + name: "String" + } + }, + ruleSetVersion: { + readOnly: true, + serializedName: "properties.ruleSetVersion", + type: { + name: "String" + } + }, + ruleGroups: { + readOnly: true, + serializedName: "properties.ruleGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleGroupDefinition" + } + } + } + } + } + } +}; + +export const ProfileList: msRest.CompositeMapper = { + serializedName: "ProfileList", + type: { + name: "Composite", + className: "ProfileList", modelProperties: { value: { readOnly: true, @@ -1577,7 +2848,7 @@ export const FrontDoorListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "FrontDoor" + className: "Profile" } } } @@ -1592,11 +2863,11 @@ export const FrontDoorListResult: msRest.CompositeMapper = { } }; -export const RoutingRuleListResult: msRest.CompositeMapper = { - serializedName: "RoutingRuleListResult", +export const PreconfiguredEndpointList: msRest.CompositeMapper = { + serializedName: "PreconfiguredEndpointList", type: { name: "Composite", - className: "RoutingRuleListResult", + className: "PreconfiguredEndpointList", modelProperties: { value: { readOnly: true, @@ -1606,7 +2877,7 @@ export const RoutingRuleListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "RoutingRule" + className: "PreconfiguredEndpoint" } } } @@ -1621,11 +2892,11 @@ export const RoutingRuleListResult: msRest.CompositeMapper = { } }; -export const HealthProbeSettingsListResult: msRest.CompositeMapper = { - serializedName: "HealthProbeSettingsListResult", +export const ExperimentList: msRest.CompositeMapper = { + serializedName: "ExperimentList", type: { name: "Composite", - className: "HealthProbeSettingsListResult", + className: "ExperimentList", modelProperties: { value: { readOnly: true, @@ -1635,7 +2906,7 @@ export const HealthProbeSettingsListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "HealthProbeSettingsModel" + className: "Experiment" } } } @@ -1650,11 +2921,11 @@ export const HealthProbeSettingsListResult: msRest.CompositeMapper = { } }; -export const LoadBalancingSettingsListResult: msRest.CompositeMapper = { - serializedName: "LoadBalancingSettingsListResult", +export const FrontDoorListResult: msRest.CompositeMapper = { + serializedName: "FrontDoorListResult", type: { name: "Composite", - className: "LoadBalancingSettingsListResult", + className: "FrontDoorListResult", modelProperties: { value: { readOnly: true, @@ -1664,7 +2935,7 @@ export const LoadBalancingSettingsListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "LoadBalancingSettingsModel" + className: "FrontDoor" } } } @@ -1679,11 +2950,11 @@ export const LoadBalancingSettingsListResult: msRest.CompositeMapper = { } }; -export const BackendPoolListResult: msRest.CompositeMapper = { - serializedName: "BackendPoolListResult", +export const FrontendEndpointsListResult: msRest.CompositeMapper = { + serializedName: "FrontendEndpointsListResult", type: { name: "Composite", - className: "BackendPoolListResult", + className: "FrontendEndpointsListResult", modelProperties: { value: { readOnly: true, @@ -1693,7 +2964,7 @@ export const BackendPoolListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "BackendPool" + className: "FrontendEndpoint" } } } @@ -1708,11 +2979,11 @@ export const BackendPoolListResult: msRest.CompositeMapper = { } }; -export const FrontendEndpointsListResult: msRest.CompositeMapper = { - serializedName: "FrontendEndpointsListResult", +export const RulesEngineListResult: msRest.CompositeMapper = { + serializedName: "RulesEngineListResult", type: { name: "Composite", - className: "FrontendEndpointsListResult", + className: "RulesEngineListResult", modelProperties: { value: { readOnly: true, @@ -1722,7 +2993,36 @@ export const FrontendEndpointsListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "FrontendEndpoint" + className: "RulesEngine" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const WebApplicationFirewallPolicyList: msRest.CompositeMapper = { + serializedName: "WebApplicationFirewallPolicyList", + type: { + name: "Composite", + className: "WebApplicationFirewallPolicyList", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WebApplicationFirewallPolicy" } } } @@ -1737,11 +3037,11 @@ export const FrontendEndpointsListResult: msRest.CompositeMapper = { } }; -export const WebApplicationFirewallPolicyListResult: msRest.CompositeMapper = { - serializedName: "WebApplicationFirewallPolicyListResult", +export const ManagedRuleSetDefinitionList: msRest.CompositeMapper = { + serializedName: "ManagedRuleSetDefinitionList", type: { name: "Composite", - className: "WebApplicationFirewallPolicyListResult", + className: "ManagedRuleSetDefinitionList", modelProperties: { value: { readOnly: true, @@ -1751,7 +3051,7 @@ export const WebApplicationFirewallPolicyListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "WebApplicationFirewallPolicy1" + className: "ManagedRuleSetDefinition" } } } @@ -1767,6 +3067,8 @@ export const WebApplicationFirewallPolicyListResult: msRest.CompositeMapper = { }; export const discriminators = { - 'Unknown' : ManagedRuleSet, - 'ManagedRuleSet.AzureManagedRuleSet' : AzureManagedRuleSet + 'RouteConfiguration' : RouteConfiguration, + 'RouteConfiguration.#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' : ForwardingConfiguration, + 'RouteConfiguration.#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' : RedirectConfiguration + }; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/networkExperimentProfilesMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/networkExperimentProfilesMappers.ts new file mode 100644 index 000000000000..2ddd3947da3d --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/models/networkExperimentProfilesMappers.ts @@ -0,0 +1,59 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Backend, + BackendPool, + BackendPoolsSettings, + BaseResource, + CacheConfiguration, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ForwardingConfiguration, + FrontDoor, + FrontendEndpoint, + FrontendEndpointLink, + FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, + HeaderAction, + HealthProbeSettingsModel, + KeyVaultCertificateSourceParametersVault, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, + ManagedRuleSet, + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + ProfileList, + ProfileUpdateModel, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy +} from "../models/mappers"; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts b/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts index 4659c84bda06..70836d18cf88 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts @@ -20,85 +20,133 @@ export const acceptLanguage: msRest.OperationParameter = { } } }; -export const apiVersion: msRest.OperationQueryParameter = { +export const aggregationInterval: msRest.OperationQueryParameter = { + parameterPath: "aggregationInterval", + mapper: { + required: true, + serializedName: "aggregationInterval", + type: { + name: "String" + } + } +}; +export const apiVersion0: msRest.OperationQueryParameter = { parameterPath: "apiVersion", mapper: { required: true, isConstant: true, serializedName: "api-version", - defaultValue: '2018-08-01', + defaultValue: '2019-11-01', type: { name: "String" } } }; -export const backendPoolName: msRest.OperationURLParameter = { - parameterPath: "backendPoolName", +export const apiVersion1: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { required: true, - serializedName: "backendPoolName", - constraints: { - MaxLength: 90, - MinLength: 1, - Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/ - }, + isConstant: true, + serializedName: "api-version", + defaultValue: '2020-01-01', type: { name: "String" } } }; -export const frontDoorName: msRest.OperationURLParameter = { - parameterPath: "frontDoorName", +export const apiVersion2: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { required: true, - serializedName: "frontDoorName", - constraints: { - MaxLength: 64, - MinLength: 5, - Pattern: /^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$/ - }, + isConstant: true, + serializedName: "api-version", + defaultValue: '2019-10-01', type: { name: "String" } } }; -export const frontendEndpointName: msRest.OperationURLParameter = { - parameterPath: "frontendEndpointName", +export const country: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "country" + ], + mapper: { + serializedName: "country", + type: { + name: "String" + } + } +}; +export const endDateTimeUTC0: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "endDateTimeUTC" + ], + mapper: { + serializedName: "endDateTimeUTC", + type: { + name: "String" + } + } +}; +export const endDateTimeUTC1: msRest.OperationQueryParameter = { + parameterPath: "endDateTimeUTC", mapper: { required: true, - serializedName: "frontendEndpointName", + serializedName: "endDateTimeUTC", + type: { + name: "DateTime" + } + } +}; +export const endpoint: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "endpoint" + ], + mapper: { + serializedName: "endpoint", + type: { + name: "String" + } + } +}; +export const experimentName: msRest.OperationURLParameter = { + parameterPath: "experimentName", + mapper: { + required: true, + serializedName: "experimentName", constraints: { - MaxLength: 255, - MinLength: 1, - Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/ + Pattern: /^[a-zA-Z0-9_\-\(\)\.]*[^\.]$/ }, type: { name: "String" } } }; -export const healthProbeSettingsName: msRest.OperationURLParameter = { - parameterPath: "healthProbeSettingsName", +export const frontDoorName: msRest.OperationURLParameter = { + parameterPath: "frontDoorName", mapper: { required: true, - serializedName: "healthProbeSettingsName", + serializedName: "frontDoorName", constraints: { - MaxLength: 90, - MinLength: 1, - Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/ + MaxLength: 64, + MinLength: 5, + Pattern: /^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$/ }, type: { name: "String" } } }; -export const loadBalancingSettingsName: msRest.OperationURLParameter = { - parameterPath: "loadBalancingSettingsName", +export const frontendEndpointName: msRest.OperationURLParameter = { + parameterPath: "frontendEndpointName", mapper: { required: true, - serializedName: "loadBalancingSettingsName", + serializedName: "frontendEndpointName", constraints: { - MaxLength: 90, + MaxLength: 255, MinLength: 1, Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/ }, @@ -131,14 +179,12 @@ export const policyName: msRest.OperationURLParameter = { } } }; -export const resourceGroupName0: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", +export const profileName: msRest.OperationURLParameter = { + parameterPath: "profileName", mapper: { required: true, - serializedName: "resourceGroupName", + serializedName: "profileName", constraints: { - MaxLength: 80, - MinLength: 1, Pattern: /^[a-zA-Z0-9_\-\(\)\.]*[^\.]$/ }, type: { @@ -146,21 +192,26 @@ export const resourceGroupName0: msRest.OperationURLParameter = { } } }; -export const resourceGroupName1: msRest.OperationURLParameter = { +export const resourceGroupName: msRest.OperationURLParameter = { parameterPath: "resourceGroupName", mapper: { required: true, serializedName: "resourceGroupName", + constraints: { + MaxLength: 80, + MinLength: 1, + Pattern: /^[a-zA-Z0-9_\-\(\)\.]*[^\.]$/ + }, type: { name: "String" } } }; -export const routingRuleName: msRest.OperationURLParameter = { - parameterPath: "routingRuleName", +export const rulesEngineName: msRest.OperationURLParameter = { + parameterPath: "rulesEngineName", mapper: { required: true, - serializedName: "routingRuleName", + serializedName: "rulesEngineName", constraints: { MaxLength: 90, MinLength: 1, @@ -171,6 +222,16 @@ export const routingRuleName: msRest.OperationURLParameter = { } } }; +export const startDateTimeUTC: msRest.OperationQueryParameter = { + parameterPath: "startDateTimeUTC", + mapper: { + required: true, + serializedName: "startDateTimeUTC", + type: { + name: "DateTime" + } + } +}; export const subscriptionId: msRest.OperationURLParameter = { parameterPath: "subscriptionId", mapper: { @@ -181,3 +242,13 @@ export const subscriptionId: msRest.OperationURLParameter = { } } }; +export const timeseriesType: msRest.OperationQueryParameter = { + parameterPath: "timeseriesType", + mapper: { + required: true, + serializedName: "timeseriesType", + type: { + name: "String" + } + } +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/models/policiesMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/policiesMappers.ts index 2d2008c70b60..c5dbca62c385 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/policiesMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/policiesMappers.ts @@ -1,40 +1,59 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - WebApplicationFirewallPolicyListResult, - WebApplicationFirewallPolicy1, - Resource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, - PolicySettings, - CustomRules, + CacheConfiguration, + CloudError, + CustomHttpsConfiguration, CustomRule, - MatchCondition1, - ManagedRuleSets, - ManagedRuleSet, + CustomRuleList, + Endpoint, ErrorResponse, - CloudError, + Experiment, + ForwardingConfiguration, FrontDoor, - RoutingRule, - SubResource, - CacheConfiguration, - LoadBalancingSettingsModel, - HealthProbeSettingsModel, - BackendPool, - Backend, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, + ManagedRuleSet, + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy, + WebApplicationFirewallPolicyList } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/loadBalancingSettingsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/preconfiguredEndpointsMappers.ts similarity index 50% rename from sdk/frontdoor/arm-frontdoor/src/models/loadBalancingSettingsMappers.ts rename to sdk/frontdoor/arm-frontdoor/src/models/preconfiguredEndpointsMappers.ts index 1c135e9f2b7f..b13b4598634b 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/loadBalancingSettingsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/preconfiguredEndpointsMappers.ts @@ -1,39 +1,58 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - LoadBalancingSettingsListResult, - LoadBalancingSettingsModel, - SubResource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, - ErrorResponse, - RoutingRule, CacheConfiguration, - HealthProbeSettingsModel, - BackendPool, - Backend, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ForwardingConfiguration, + FrontDoor, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - Resource, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup, - FrontDoor + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + PreconfiguredEndpointList, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/backendPoolsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/reportsMappers.ts similarity index 51% rename from sdk/frontdoor/arm-frontdoor/src/models/backendPoolsMappers.ts rename to sdk/frontdoor/arm-frontdoor/src/models/reportsMappers.ts index 22712c374057..3df4446229f9 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/backendPoolsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/reportsMappers.ts @@ -1,39 +1,57 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - BackendPoolListResult, + Backend, BackendPool, - SubResource, + BackendPoolsSettings, BaseResource, - Backend, - ErrorResponse, - RoutingRule, CacheConfiguration, - LoadBalancingSettingsModel, - HealthProbeSettingsModel, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ForwardingConfiguration, + FrontDoor, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - Resource, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup, - FrontDoor + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/models/healthProbeSettingsMappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/rulesEnginesMappers.ts similarity index 50% rename from sdk/frontdoor/arm-frontdoor/src/models/healthProbeSettingsMappers.ts rename to sdk/frontdoor/arm-frontdoor/src/models/rulesEnginesMappers.ts index 9bc03c272291..121ac12f0039 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/healthProbeSettingsMappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/rulesEnginesMappers.ts @@ -1,39 +1,58 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - HealthProbeSettingsListResult, - HealthProbeSettingsModel, - SubResource, + Backend, + BackendPool, + BackendPoolsSettings, BaseResource, - ErrorResponse, - RoutingRule, CacheConfiguration, - LoadBalancingSettingsModel, - BackendPool, - Backend, + CustomHttpsConfiguration, + CustomRule, + CustomRuleList, + Endpoint, + ErrorResponse, + Experiment, + ForwardingConfiguration, + FrontDoor, FrontendEndpoint, + FrontendEndpointLink, FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, - CustomHttpsConfiguration, + HeaderAction, + HealthProbeSettingsModel, KeyVaultCertificateSourceParametersVault, - Resource, - WebApplicationFirewallPolicy1, - PolicySettings, - CustomRules, - CustomRule, - MatchCondition1, - ManagedRuleSets, + LatencyMetric, + LatencyScorecard, + LoadBalancingSettingsModel, + ManagedRuleDefinition, + ManagedRuleExclusion, + ManagedRuleGroupDefinition, + ManagedRuleGroupOverride, + ManagedRuleOverride, ManagedRuleSet, - AzureManagedRuleSet, - AzureManagedOverrideRuleGroup, - FrontDoor + ManagedRuleSetDefinition, + ManagedRuleSetList, + MatchCondition, + PolicySettings, + PreconfiguredEndpoint, + Profile, + RedirectConfiguration, + Resource, + RouteConfiguration, + RoutingRule, + RulesEngine, + RulesEngineAction, + RulesEngineListResult, + RulesEngineMatchCondition, + RulesEngineRule, + SubResource, + Timeseries, + TimeseriesDataPoint, + WebApplicationFirewallPolicy } from "../models/mappers"; - diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts index 8813aec41332..a992846b4ea0 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts @@ -72,11 +72,11 @@ const beginPurgeContentOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts b/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts new file mode 100644 index 000000000000..5a63862cc381 --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts @@ -0,0 +1,407 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * 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/experimentsMappers"; +import * as Parameters from "../models/parameters"; +import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; + +/** Class representing a Experiments. */ +export class Experiments { + private readonly client: FrontDoorManagementClientContext; + + /** + * Create a Experiments. + * @param {FrontDoorManagementClientContext} client Reference to the service client. + */ + constructor(client: FrontDoorManagementClientContext) { + this.client = client; + } + + /** + * @summary Gets a list of Experiments + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param [options] The optional parameters + * @returns Promise + */ + listByProfile(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param callback The callback + */ + listByProfile(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param options The optional parameters + * @param callback The callback + */ + listByProfile(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByProfile(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + options + }, + listByProfileOperationSpec, + callback) as Promise; + } + + /** + * @summary Gets an Experiment by ExperimentName + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param callback The callback + */ + get(resourceGroupName: string, profileName: string, experimentName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, profileName: string, experimentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + experimentName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * @summary Creates or updates an Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param parameters The Experiment resource + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.Experiment, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,profileName,experimentName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates an Experiment + * @summary Updates an Experiment by Experiment id + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param parameters The Experiment Update Model + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.ExperimentUpdateModel, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,profileName,experimentName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Deletes an Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,profileName,experimentName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * @summary Creates or updates an Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param parameters The Experiment resource + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.Experiment, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + profileName, + experimentName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates an Experiment + * @summary Updates an Experiment by Experiment id + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param parameters The Experiment Update Model + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.ExperimentUpdateModel, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + profileName, + experimentName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * @summary Deletes an Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + profileName, + experimentName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * @summary Gets a list of Experiments + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByProfileNext(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 + */ + listByProfileNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByProfileNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByProfileOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ExperimentList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Experiment + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Experiment, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Experiment + }, + 201: { + bodyMapper: Mappers.Experiment + }, + 202: { + bodyMapper: Mappers.Experiment + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ExperimentUpdateModel, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Experiment + }, + 202: { + bodyMapper: Mappers.Experiment + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByProfileNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ExperimentList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts b/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts index 09cbbdc01f4a..951f53de9255 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts @@ -279,7 +279,7 @@ const listOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -300,10 +300,10 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0 + Parameters.resourceGroupName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -324,11 +324,11 @@ const getOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -349,11 +349,11 @@ const validateCustomDomainOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -381,11 +381,11 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -419,11 +419,11 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts index 4c175ea66604..80d27042ad7b 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts @@ -95,33 +95,6 @@ export class FrontendEndpoints { callback) as Promise; } - /** - * Creates a new frontend endpoint with the specified host name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door. - * @param frontendEndpointParameters Frontend endpoint properties needed to create a new endpoint. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, frontendEndpointParameters: Models.FrontendEndpoint, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,frontendEndpointName,frontendEndpointParameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * Deletes an existing frontend endpoint with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,frontDoorName,frontendEndpointName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - /** * Enables a frontendEndpoint for HTTPS traffic * @param resourceGroupName Name of the Resource group within the Azure subscription. @@ -149,48 +122,6 @@ export class FrontendEndpoints { .then(lroPoller => lroPoller.pollUntilFinished()); } - /** - * Creates a new frontend endpoint with the specified host name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door. - * @param frontendEndpointParameters Frontend endpoint properties needed to create a new endpoint. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, frontendEndpointParameters: Models.FrontendEndpoint, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - frontendEndpointName, - frontendEndpointParameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Deletes an existing frontend endpoint with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - frontendEndpointName, - options - }, - beginDeleteMethodOperationSpec, - options); - } - /** * Enables a frontendEndpoint for HTTPS traffic * @param resourceGroupName Name of the Resource group within the Azure subscription. @@ -269,11 +200,11 @@ const listByFrontDoorOperationSpec: msRest.OperationSpec = { path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -291,15 +222,15 @@ const listByFrontDoorOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, Parameters.frontendEndpointName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -315,81 +246,17 @@ const getOperationSpec: msRest.OperationSpec = { serializer }; -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.frontendEndpointName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "frontendEndpointParameters", - mapper: { - ...Mappers.FrontendEndpoint, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.FrontendEndpoint - }, - 201: { - bodyMapper: Mappers.FrontendEndpoint - }, - 202: { - bodyMapper: Mappers.FrontendEndpoint - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.frontendEndpointName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - const beginEnableHttpsOperationSpec: msRest.OperationSpec = { httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, Parameters.frontendEndpointName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -413,15 +280,15 @@ const beginEnableHttpsOperationSpec: msRest.OperationSpec = { const beginDisableHttpsOperationSpec: msRest.OperationSpec = { httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, Parameters.frontendEndpointName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/healthProbeSettings.ts b/sdk/frontdoor/arm-frontdoor/src/operations/healthProbeSettings.ts deleted file mode 100644 index 4707ef0a6bb5..000000000000 --- a/sdk/frontdoor/arm-frontdoor/src/operations/healthProbeSettings.ts +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * 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/healthProbeSettingsMappers"; -import * as Parameters from "../models/parameters"; -import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; - -/** Class representing a HealthProbeSettings. */ -export class HealthProbeSettings { - private readonly client: FrontDoorManagementClientContext; - - /** - * Create a HealthProbeSettings. - * @param {FrontDoorManagementClientContext} client Reference to the service client. - */ - constructor(client: FrontDoorManagementClientContext) { - this.client = client; - } - - /** - * Lists all of the HealthProbeSettings within a Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param options The optional parameters - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - options - }, - listByFrontDoorOperationSpec, - callback) as Promise; - } - - /** - * Gets a HealthProbeSettings with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - healthProbeSettingsName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param healthProbeSettingsParameters HealthProbeSettings properties needed to create a new Front - * Door. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, healthProbeSettingsParameters: Models.HealthProbeSettingsModel, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,healthProbeSettingsName,healthProbeSettingsParameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * Deletes an existing HealthProbeSettings with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,frontDoorName,healthProbeSettingsName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param healthProbeSettingsParameters HealthProbeSettings properties needed to create a new Front - * Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, healthProbeSettingsParameters: Models.HealthProbeSettingsModel, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - healthProbeSettingsName, - healthProbeSettingsParameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Deletes an existing HealthProbeSettings with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param healthProbeSettingsName Name of the health probe settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod(resourceGroupName: string, frontDoorName: string, healthProbeSettingsName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - healthProbeSettingsName, - options - }, - beginDeleteMethodOperationSpec, - options); - } - - /** - * Lists all of the HealthProbeSettings within a Front Door. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByFrontDoorNext(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 - */ - listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByFrontDoorNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByFrontDoorOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.HealthProbeSettingsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.healthProbeSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.HealthProbeSettingsModel - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.healthProbeSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "healthProbeSettingsParameters", - mapper: { - ...Mappers.HealthProbeSettingsModel, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.HealthProbeSettingsModel - }, - 201: { - bodyMapper: Mappers.HealthProbeSettingsModel - }, - 202: { - bodyMapper: Mappers.HealthProbeSettingsModel - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.healthProbeSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByFrontDoorNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.HealthProbeSettingsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/index.ts b/sdk/frontdoor/arm-frontdoor/src/operations/index.ts index e5a78429eb54..3b7a5c55a765 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/index.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/index.ts @@ -8,11 +8,13 @@ * regenerated. */ +export * from "./networkExperimentProfiles"; +export * from "./preconfiguredEndpoints"; +export * from "./experiments"; +export * from "./reports"; export * from "./frontDoors"; -export * from "./routingRules"; -export * from "./healthProbeSettings"; -export * from "./loadBalancingSettings"; -export * from "./backendPools"; export * from "./frontendEndpoints"; export * from "./endpoints"; +export * from "./rulesEngines"; export * from "./policies"; +export * from "./managedRuleSets"; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/loadBalancingSettings.ts b/sdk/frontdoor/arm-frontdoor/src/operations/loadBalancingSettings.ts deleted file mode 100644 index 58afe67b9afc..000000000000 --- a/sdk/frontdoor/arm-frontdoor/src/operations/loadBalancingSettings.ts +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * 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/loadBalancingSettingsMappers"; -import * as Parameters from "../models/parameters"; -import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; - -/** Class representing a LoadBalancingSettings. */ -export class LoadBalancingSettings { - private readonly client: FrontDoorManagementClientContext; - - /** - * Create a LoadBalancingSettings. - * @param {FrontDoorManagementClientContext} client Reference to the service client. - */ - constructor(client: FrontDoorManagementClientContext) { - this.client = client; - } - - /** - * Lists all of the LoadBalancingSettings within a Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param options The optional parameters - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - options - }, - listByFrontDoorOperationSpec, - callback) as Promise; - } - - /** - * Gets a LoadBalancingSettings with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - loadBalancingSettingsName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Creates a new LoadBalancingSettings with the specified Rule name within the specified Front - * Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param loadBalancingSettingsParameters LoadBalancingSettings properties needed to create a new - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, loadBalancingSettingsParameters: Models.LoadBalancingSettingsModel, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,loadBalancingSettingsName,loadBalancingSettingsParameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * Deletes an existing LoadBalancingSettings with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,frontDoorName,loadBalancingSettingsName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Creates a new LoadBalancingSettings with the specified Rule name within the specified Front - * Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param loadBalancingSettingsParameters LoadBalancingSettings properties needed to create a new - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, loadBalancingSettingsParameters: Models.LoadBalancingSettingsModel, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - loadBalancingSettingsName, - loadBalancingSettingsParameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Deletes an existing LoadBalancingSettings with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param loadBalancingSettingsName Name of the load balancing settings which is unique within the - * Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod(resourceGroupName: string, frontDoorName: string, loadBalancingSettingsName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - loadBalancingSettingsName, - options - }, - beginDeleteMethodOperationSpec, - options); - } - - /** - * Lists all of the LoadBalancingSettings within a Front Door. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByFrontDoorNext(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 - */ - listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByFrontDoorNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByFrontDoorOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.LoadBalancingSettingsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.loadBalancingSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.LoadBalancingSettingsModel - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.loadBalancingSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "loadBalancingSettingsParameters", - mapper: { - ...Mappers.LoadBalancingSettingsModel, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.LoadBalancingSettingsModel - }, - 201: { - bodyMapper: Mappers.LoadBalancingSettingsModel - }, - 202: { - bodyMapper: Mappers.LoadBalancingSettingsModel - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.loadBalancingSettingsName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByFrontDoorNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.LoadBalancingSettingsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts b/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts new file mode 100644 index 000000000000..b5c28c6a5356 --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts @@ -0,0 +1,126 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * 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/managedRuleSetsMappers"; +import * as Parameters from "../models/parameters"; +import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; + +/** Class representing a ManagedRuleSets. */ +export class ManagedRuleSets { + private readonly client: FrontDoorManagementClientContext; + + /** + * Create a ManagedRuleSets. + * @param {FrontDoorManagementClientContext} client Reference to the service client. + */ + constructor(client: FrontDoorManagementClientContext) { + this.client = client; + } + + /** + * Lists all available managed rule sets. + * @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; + } + + /** + * Lists all available managed rule sets. + * @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.Network/FrontDoorWebApplicationFirewallManagedRuleSets", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ManagedRuleSetDefinitionList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ManagedRuleSetDefinitionList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts b/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts new file mode 100644 index 000000000000..c99b0a36d18a --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts @@ -0,0 +1,481 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * 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/networkExperimentProfilesMappers"; +import * as Parameters from "../models/parameters"; +import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; + +/** Class representing a NetworkExperimentProfiles. */ +export class NetworkExperimentProfiles { + private readonly client: FrontDoorManagementClientContext; + + /** + * Create a NetworkExperimentProfiles. + * @param {FrontDoorManagementClientContext} client Reference to the service client. + */ + constructor(client: FrontDoorManagementClientContext) { + this.client = client; + } + + /** + * @summary Gets a list of Network Experiment Profiles under a 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 Gets a list of Network Experiment Profiles within a resource group under a subscription + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param callback The callback + */ + listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @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 Gets an NetworkExperiment Profile by ProfileName + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param callback The callback + */ + get(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * @summary Creates an NetworkExperiment Profile + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param parameters An Network Experiment Profile + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(profileName: string, resourceGroupName: string, parameters: Models.Profile, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(profileName,resourceGroupName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Updates an NetworkExperimentProfiles + * @summary Updates an NetworkExperimentProfiles by NetworkExperimentProfile name + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param parameters The Profile Update Model + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, profileName: string, parameters: Models.ProfileUpdateModel, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(resourceGroupName,profileName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * @summary Deletes an NetworkExperiment Profile by ProfileName + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,profileName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * @summary Creates an NetworkExperiment Profile + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param parameters An Network Experiment Profile + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(profileName: string, resourceGroupName: string, parameters: Models.Profile, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + profileName, + resourceGroupName, + parameters, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Updates an NetworkExperimentProfiles + * @summary Updates an NetworkExperimentProfiles by NetworkExperimentProfile name + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param parameters The Profile Update Model + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(resourceGroupName: string, profileName: string, parameters: Models.ProfileUpdateModel, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + profileName, + parameters, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * @summary Deletes an NetworkExperiment Profile by ProfileName + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + profileName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * @summary Gets a list of Network Experiment Profiles under a 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 Gets a list of Network Experiment Profiles within a resource group under a subscription + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProfileList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProfileList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Profile + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}", + urlParameters: [ + Parameters.profileName, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Profile, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Profile + }, + 201: { + bodyMapper: Mappers.Profile + }, + 202: { + bodyMapper: Mappers.Profile + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProfileUpdateModel, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Profile + }, + 202: { + bodyMapper: Mappers.Profile + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProfileList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProfileList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts b/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts index de6db51d7dd9..5e6188f3943d 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts @@ -29,23 +29,23 @@ export class Policies { /** * Lists all of the protection policies within a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param [options] The optional parameters * @returns Promise */ list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; /** - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param callback The callback */ - list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; /** - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param options The optional parameters * @param callback The callback */ - list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -57,26 +57,26 @@ export class Policies { /** * Retrieve protection policy with specified name within a resource group. - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param [options] The optional parameters * @returns Promise */ get(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise; /** - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param callback The callback */ - get(resourceGroupName: string, policyName: string, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, policyName: string, callback: msRest.ServiceCallback): void; /** - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param options The optional parameters * @param callback The callback */ - get(resourceGroupName: string, policyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get(resourceGroupName: string, policyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -88,57 +88,54 @@ export class Policies { } /** - * Creates or update policy with specified ruleset name within a resource group. - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * Create or update policy with specified rule set name within a resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param parameters Policy to be created. * @param [options] The optional parameters * @returns Promise */ - createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy1, options?: msRest.RequestOptionsBase): Promise; + createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,policyName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + /** - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. - * @param parameters Policy to be created. - * @param callback The callback + * Deletes Policy + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. + * @param [options] The optional parameters + * @returns Promise */ - createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy1, callback: msRest.ServiceCallback): void; + deleteMethod(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,policyName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + /** - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * Create or update policy with specified rule set name within a resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param parameters Policy to be created. - * @param options The optional parameters - * @param callback The callback + * @param [options] The optional parameters + * @returns Promise */ - createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy1, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy1, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + beginCreateOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( { resourceGroupName, policyName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; - } - - /** - * Deletes Policy - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,policyName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + beginCreateOrUpdateOperationSpec, + options); } /** * Deletes Policy - * @param resourceGroupName The name of the resource group. - * @param policyName The name of the resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param policyName The name of the Web Application Firewall Policy. * @param [options] The optional parameters * @returns Promise */ @@ -164,14 +161,14 @@ export class Policies { * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + 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 { + 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, @@ -188,18 +185,18 @@ const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies", urlParameters: [ - Parameters.resourceGroupName1, + Parameters.resourceGroupName, Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion2 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { - bodyMapper: Mappers.WebApplicationFirewallPolicyListResult + bodyMapper: Mappers.WebApplicationFirewallPolicyList }, default: { bodyMapper: Mappers.ErrorResponse @@ -212,19 +209,19 @@ const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", urlParameters: [ - Parameters.resourceGroupName1, + Parameters.resourceGroupName, Parameters.policyName, Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion2 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { - bodyMapper: Mappers.WebApplicationFirewallPolicy1 + bodyMapper: Mappers.WebApplicationFirewallPolicy }, default: { bodyMapper: Mappers.ErrorResponse @@ -233,16 +230,16 @@ const getOperationSpec: msRest.OperationSpec = { serializer }; -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", urlParameters: [ - Parameters.resourceGroupName1, + Parameters.resourceGroupName, Parameters.policyName, Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion2 ], headerParameters: [ Parameters.acceptLanguage @@ -250,16 +247,19 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { requestBody: { parameterPath: "parameters", mapper: { - ...Mappers.WebApplicationFirewallPolicy1, + ...Mappers.WebApplicationFirewallPolicy, required: true } }, responses: { 200: { - bodyMapper: Mappers.WebApplicationFirewallPolicy1 + bodyMapper: Mappers.WebApplicationFirewallPolicy }, 201: { - bodyMapper: Mappers.WebApplicationFirewallPolicy1 + bodyMapper: Mappers.WebApplicationFirewallPolicy + }, + 202: { + bodyMapper: Mappers.WebApplicationFirewallPolicy }, default: { bodyMapper: Mappers.ErrorResponse @@ -272,12 +272,12 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", urlParameters: [ - Parameters.resourceGroupName1, + Parameters.resourceGroupName, Parameters.policyName, Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion2 ], headerParameters: [ Parameters.acceptLanguage @@ -305,7 +305,7 @@ const listNextOperationSpec: msRest.OperationSpec = { ], responses: { 200: { - bodyMapper: Mappers.WebApplicationFirewallPolicyListResult + bodyMapper: Mappers.WebApplicationFirewallPolicyList }, default: { bodyMapper: Mappers.ErrorResponse diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts new file mode 100644 index 000000000000..ec4f3e16e6ee --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts @@ -0,0 +1,136 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * 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/preconfiguredEndpointsMappers"; +import * as Parameters from "../models/parameters"; +import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; + +/** Class representing a PreconfiguredEndpoints. */ +export class PreconfiguredEndpoints { + private readonly client: FrontDoorManagementClientContext; + + /** + * Create a PreconfiguredEndpoints. + * @param {FrontDoorManagementClientContext} client Reference to the service client. + */ + constructor(client: FrontDoorManagementClientContext) { + this.client = client; + } + + /** + * @summary Gets a list of Preconfigured Endpoints + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param callback The callback + */ + list(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * @summary Gets a list of Preconfigured Endpoints + * @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.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PreconfiguredEndpointList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.PreconfiguredEndpointList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts b/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts new file mode 100644 index 000000000000..72774629453c --- /dev/null +++ b/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts @@ -0,0 +1,192 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * 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/reportsMappers"; +import * as Parameters from "../models/parameters"; +import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; + +/** Class representing a Reports. */ +export class Reports { + private readonly client: FrontDoorManagementClientContext; + + /** + * Create a Reports. + * @param {FrontDoorManagementClientContext} client Reference to the service client. + */ + constructor(client: FrontDoorManagementClientContext) { + this.client = client; + } + + /** + * @summary Gets a Latency Scorecard for a given Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values + * include: 'Daily', 'Weekly', 'Monthly' + * @param [options] The optional parameters + * @returns Promise + */ + getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options?: Models.ReportsGetLatencyScorecardsOptionalParams): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values + * include: 'Daily', 'Weekly', 'Monthly' + * @param callback The callback + */ + getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values + * include: 'Daily', 'Weekly', 'Monthly' + * @param options The optional parameters + * @param callback The callback + */ + getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options: Models.ReportsGetLatencyScorecardsOptionalParams, callback: msRest.ServiceCallback): void; + getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options?: Models.ReportsGetLatencyScorecardsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + experimentName, + aggregationInterval, + options + }, + getLatencyScorecardsOperationSpec, + callback) as Promise; + } + + /** + * @summary Gets a Timeseries for a given Experiment + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param startDateTimeUTC The start DateTime of the Timeseries in UTC + * @param endDateTimeUTC The end DateTime of the Timeseries in UTC + * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include: + * 'Hourly', 'Daily' + * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts', + * 'LatencyP50', 'LatencyP75', 'LatencyP95' + * @param [options] The optional parameters + * @returns Promise + */ + getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options?: Models.ReportsGetTimeseriesOptionalParams): Promise; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param startDateTimeUTC The start DateTime of the Timeseries in UTC + * @param endDateTimeUTC The end DateTime of the Timeseries in UTC + * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include: + * 'Hourly', 'Daily' + * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts', + * 'LatencyP50', 'LatencyP75', 'LatencyP95' + * @param callback The callback + */ + getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param profileName The Profile identifier associated with the Tenant and Partner + * @param experimentName The Experiment identifier associated with the Experiment + * @param startDateTimeUTC The start DateTime of the Timeseries in UTC + * @param endDateTimeUTC The end DateTime of the Timeseries in UTC + * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include: + * 'Hourly', 'Daily' + * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts', + * 'LatencyP50', 'LatencyP75', 'LatencyP95' + * @param options The optional parameters + * @param callback The callback + */ + getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options: Models.ReportsGetTimeseriesOptionalParams, callback: msRest.ServiceCallback): void; + getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options?: Models.ReportsGetTimeseriesOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + profileName, + experimentName, + startDateTimeUTC, + endDateTimeUTC, + aggregationInterval, + timeseriesType, + options + }, + getTimeseriesOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getLatencyScorecardsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0, + Parameters.endDateTimeUTC0, + Parameters.country, + Parameters.aggregationInterval + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.LatencyScorecard + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const getTimeseriesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.profileName, + Parameters.experimentName + ], + queryParameters: [ + Parameters.apiVersion0, + Parameters.startDateTimeUTC, + Parameters.endDateTimeUTC1, + Parameters.aggregationInterval, + Parameters.timeseriesType, + Parameters.endpoint, + Parameters.country + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Timeseries + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/routingRules.ts b/sdk/frontdoor/arm-frontdoor/src/operations/routingRules.ts deleted file mode 100644 index 30a70a8b7ce6..000000000000 --- a/sdk/frontdoor/arm-frontdoor/src/operations/routingRules.ts +++ /dev/null @@ -1,332 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * 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/routingRulesMappers"; -import * as Parameters from "../models/parameters"; -import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; - -/** Class representing a RoutingRules. */ -export class RoutingRules { - private readonly client: FrontDoorManagementClientContext; - - /** - * Create a RoutingRules. - * @param {FrontDoorManagementClientContext} client Reference to the service client. - */ - constructor(client: FrontDoorManagementClientContext) { - this.client = client; - } - - /** - * Lists all of the Routing Rules within a Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param options The optional parameters - * @param callback The callback - */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - options - }, - listByFrontDoorOperationSpec, - callback) as Promise; - } - - /** - * Gets a Routing Rule with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, frontDoorName: string, routingRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, routingRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, frontDoorName: string, routingRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, frontDoorName: string, routingRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - frontDoorName, - routingRuleName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Creates a new Routing Rule with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param routingRuleParameters Routing Rule properties needed to create a new Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, frontDoorName: string, routingRuleName: string, routingRuleParameters: Models.RoutingRule, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,routingRuleName,routingRuleParameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * Deletes an existing Routing Rule with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, frontDoorName: string, routingRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,frontDoorName,routingRuleName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Creates a new Routing Rule with the specified Rule name within the specified Front Door. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param routingRuleParameters Routing Rule properties needed to create a new Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, routingRuleName: string, routingRuleParameters: Models.RoutingRule, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - routingRuleName, - routingRuleParameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Deletes an existing Routing Rule with the specified parameters. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param frontDoorName Name of the Front Door which is globally unique. - * @param routingRuleName Name of the Routing Rule which is unique within the Front Door. - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod(resourceGroupName: string, frontDoorName: string, routingRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - frontDoorName, - routingRuleName, - options - }, - beginDeleteMethodOperationSpec, - options); - } - - /** - * Lists all of the Routing Rules within a Front Door. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByFrontDoorNext(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 - */ - listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByFrontDoorNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByFrontDoorOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoutingRuleListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.routingRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoutingRule - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.routingRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "routingRuleParameters", - mapper: { - ...Mappers.RoutingRule, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.RoutingRule - }, - 201: { - bodyMapper: Mappers.RoutingRule - }, - 202: { - bodyMapper: Mappers.RoutingRule - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName0, - Parameters.frontDoorName, - Parameters.routingRuleName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByFrontDoorNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoutingRuleListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/backendPools.ts b/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts similarity index 64% rename from sdk/frontdoor/arm-frontdoor/src/operations/backendPools.ts rename to sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts index 93c510c9c385..3e409bfeabb2 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/backendPools.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts @@ -11,16 +11,16 @@ 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/backendPoolsMappers"; +import * as Mappers from "../models/rulesEnginesMappers"; import * as Parameters from "../models/parameters"; import { FrontDoorManagementClientContext } from "../frontDoorManagementClientContext"; -/** Class representing a BackendPools. */ -export class BackendPools { +/** Class representing a RulesEngines. */ +export class RulesEngines { private readonly client: FrontDoorManagementClientContext; /** - * Create a BackendPools. + * Create a RulesEngines. * @param {FrontDoorManagementClientContext} client Reference to the service client. */ constructor(client: FrontDoorManagementClientContext) { @@ -28,27 +28,27 @@ export class BackendPools { } /** - * Lists all of the Backend Pools within a Front Door. + * Lists all of the Rules Engine Configurations within a Front Door. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise; + listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. * @param callback The callback */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback): void; + listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. * @param options The optional parameters * @param callback The callback */ - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -56,88 +56,92 @@ export class BackendPools { options }, listByFrontDoorOperationSpec, - callback) as Promise; + callback) as Promise; } /** - * Gets a Backend Pool with the specified Pool name within the specified Front Door. + * Gets a Rules Engine Configuration with the specified name within the specified Front Door. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - get(resourceGroupName: string, frontDoorName: string, backendPoolName: string, options?: msRest.RequestOptionsBase): Promise; + get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. * @param callback The callback */ - get(resourceGroupName: string, frontDoorName: string, backendPoolName: string, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. * @param options The optional parameters * @param callback The callback */ - get(resourceGroupName: string, frontDoorName: string, backendPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, frontDoorName: string, backendPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, frontDoorName, - backendPoolName, + rulesEngineName, options }, getOperationSpec, - callback) as Promise; + callback) as Promise; } /** - * Creates a new Backend Pool with the specified Pool name within the specified Front Door. + * Creates a new Rules Engine Configuration with the specified name within the specified Front + * Door. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. - * @param backendPoolParameters Backend Pool properties needed to create a new Pool. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. + * @param rulesEngineParameters Rules Engine Configuration properties needed to create a new Rules + * Engine Configuration. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - createOrUpdate(resourceGroupName: string, frontDoorName: string, backendPoolName: string, backendPoolParameters: Models.BackendPool, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,backendPoolName,backendPoolParameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + createOrUpdate(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, rulesEngineParameters: Models.RulesEngine, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,rulesEngineName,rulesEngineParameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; } /** - * Deletes an existing Backend Pool with the specified parameters. + * Deletes an existing Rules Engine Configuration with the specified parameters. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. * @param [options] The optional parameters * @returns Promise */ - deleteMethod(resourceGroupName: string, frontDoorName: string, backendPoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,frontDoorName,backendPoolName,options) + deleteMethod(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,frontDoorName,rulesEngineName,options) .then(lroPoller => lroPoller.pollUntilFinished()); } /** - * Creates a new Backend Pool with the specified Pool name within the specified Front Door. + * Creates a new Rules Engine Configuration with the specified name within the specified Front + * Door. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. - * @param backendPoolParameters Backend Pool properties needed to create a new Pool. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. + * @param rulesEngineParameters Rules Engine Configuration properties needed to create a new Rules + * Engine Configuration. * @param [options] The optional parameters * @returns Promise */ - beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, backendPoolName: string, backendPoolParameters: Models.BackendPool, options?: msRest.RequestOptionsBase): Promise { + beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, rulesEngineParameters: Models.RulesEngine, options?: msRest.RequestOptionsBase): Promise { return this.client.sendLRORequest( { resourceGroupName, frontDoorName, - backendPoolName, - backendPoolParameters, + rulesEngineName, + rulesEngineParameters, options }, beginCreateOrUpdateOperationSpec, @@ -145,19 +149,19 @@ export class BackendPools { } /** - * Deletes an existing Backend Pool with the specified parameters. + * Deletes an existing Rules Engine Configuration with the specified parameters. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param frontDoorName Name of the Front Door which is globally unique. - * @param backendPoolName Name of the Backend Pool which is unique within the Front Door. + * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door. * @param [options] The optional parameters * @returns Promise */ - beginDeleteMethod(resourceGroupName: string, frontDoorName: string, backendPoolName: string, options?: msRest.RequestOptionsBase): Promise { + beginDeleteMethod(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise { return this.client.sendLRORequest( { resourceGroupName, frontDoorName, - backendPoolName, + rulesEngineName, options }, beginDeleteMethodOperationSpec, @@ -165,31 +169,31 @@ export class BackendPools { } /** - * Lists all of the Backend Pools within a Front Door. + * Lists all of the Rules Engine Configurations within a Front Door. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback */ - listByFrontDoorNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + listByFrontDoorNext(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 */ - listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, options }, listByFrontDoorNextOperationSpec, - callback) as Promise; + callback) as Promise; } } @@ -197,21 +201,21 @@ export class BackendPools { const serializer = new msRest.Serializer(Mappers); const listByFrontDoorOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { - bodyMapper: Mappers.BackendPoolListResult + bodyMapper: Mappers.RulesEngineListResult }, default: { bodyMapper: Mappers.ErrorResponse @@ -222,22 +226,22 @@ const listByFrontDoorOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, - Parameters.backendPoolName + Parameters.rulesEngineName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { - bodyMapper: Mappers.BackendPool + bodyMapper: Mappers.RulesEngine }, default: { bodyMapper: Mappers.ErrorResponse @@ -248,35 +252,35 @@ const getOperationSpec: msRest.OperationSpec = { const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, - Parameters.backendPoolName + Parameters.rulesEngineName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { - parameterPath: "backendPoolParameters", + parameterPath: "rulesEngineParameters", mapper: { - ...Mappers.BackendPool, + ...Mappers.RulesEngine, required: true } }, responses: { 200: { - bodyMapper: Mappers.BackendPool + bodyMapper: Mappers.RulesEngine }, 201: { - bodyMapper: Mappers.BackendPool + bodyMapper: Mappers.RulesEngine }, 202: { - bodyMapper: Mappers.BackendPool + bodyMapper: Mappers.RulesEngine }, default: { bodyMapper: Mappers.ErrorResponse @@ -287,15 +291,15 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { const beginDeleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}", urlParameters: [ Parameters.subscriptionId, - Parameters.resourceGroupName0, + Parameters.resourceGroupName, Parameters.frontDoorName, - Parameters.backendPoolName + Parameters.rulesEngineName ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion1 ], headerParameters: [ Parameters.acceptLanguage @@ -322,7 +326,7 @@ const listByFrontDoorNextOperationSpec: msRest.OperationSpec = { ], responses: { 200: { - bodyMapper: Mappers.BackendPoolListResult + bodyMapper: Mappers.RulesEngineListResult }, default: { bodyMapper: Mappers.ErrorResponse diff --git a/sdk/frontdoor/arm-frontdoor/tsconfig.json b/sdk/frontdoor/arm-frontdoor/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/frontdoor/arm-frontdoor/tsconfig.json +++ b/sdk/frontdoor/arm-frontdoor/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true