diff --git a/sdk/frontdoor/arm-frontdoor/CHANGELOG.md b/sdk/frontdoor/arm-frontdoor/CHANGELOG.md index 49dfbc4b9e80..0b2bfd45d9b0 100644 --- a/sdk/frontdoor/arm-frontdoor/CHANGELOG.md +++ b/sdk/frontdoor/arm-frontdoor/CHANGELOG.md @@ -1,15 +1,16 @@ # Release History + +## 5.1.0 (2022-06-24) + +**Features** -## 5.0.2 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation Policies.beginUpdate + - Added operation Policies.beginUpdateAndWait + - Added Interface PoliciesUpdateOptionalParams + - Added Type Alias PoliciesUpdateResponse + - Enum KnownFrontDoorResourceState has a new value Migrated + - Enum KnownFrontDoorResourceState has a new value Migrating + ## 5.0.1 (2022-04-26) **Features** diff --git a/sdk/frontdoor/arm-frontdoor/_meta.json b/sdk/frontdoor/arm-frontdoor/_meta.json index e88c318662a3..47c7bb9f52d3 100644 --- a/sdk/frontdoor/arm-frontdoor/_meta.json +++ b/sdk/frontdoor/arm-frontdoor/_meta.json @@ -1,8 +1,8 @@ { - "commit": "1f1d5b0b9ce6cc94605b2fd619dce374fb6e033a", - "readme": "specification\\frontdoor\\resource-manager\\readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\frontdoor\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220408.1 --generate-sample=true", + "commit": "309127679194b61d57e6227d0dd41130e826913f", + "readme": "specification/frontdoor/resource-manager/readme.md", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/frontdoor/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220425.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.2.6", - "use": "@autorest/typescript@6.0.0-alpha.19.20220408.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.3.2", + "use": "@autorest/typescript@6.0.0-alpha.19.20220425.1" } \ No newline at end of file diff --git a/sdk/frontdoor/arm-frontdoor/package.json b/sdk/frontdoor/arm-frontdoor/package.json index 132fff66b731..ff90dac55caf 100644 --- a/sdk/frontdoor/arm-frontdoor/package.json +++ b/sdk/frontdoor/arm-frontdoor/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for FrontDoorManagementClient.", - "version": "5.0.2", + "version": "5.1.0", "engines": { "node": ">=12.0.0" }, @@ -40,9 +40,11 @@ "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/frontdoor/arm-frontdoor", "repository": { @@ -93,7 +95,7 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", "integration-test:browser": "echo skipped", "docs": "echo skipped" }, @@ -106,13 +108,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-frontdoor?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/frontdoor/arm-frontdoor/review/arm-frontdoor.api.md b/sdk/frontdoor/arm-frontdoor/review/arm-frontdoor.api.md index 31d2a3137efd..27f8c512e70c 100644 --- a/sdk/frontdoor/arm-frontdoor/review/arm-frontdoor.api.md +++ b/sdk/frontdoor/arm-frontdoor/review/arm-frontdoor.api.md @@ -301,6 +301,9 @@ export type FrontDoor = Resource & { readonly cname?: string; readonly frontdoorId?: string; readonly rulesEngines?: RulesEngine[]; + readonly extendedProperties?: { + [propertyName: string]: string; + }; }; // @public @@ -394,6 +397,9 @@ export type FrontDoorProperties = FrontDoorUpdateParameters & { readonly cname?: string; readonly frontdoorId?: string; readonly rulesEngines?: RulesEngine[]; + readonly extendedProperties?: { + [propertyName: string]: string; + }; }; // @public @@ -839,7 +845,11 @@ export enum KnownFrontDoorResourceState { // (undocumented) Enabled = "Enabled", // (undocumented) - Enabling = "Enabling" + Enabling = "Enabling", + // (undocumented) + Migrated = "Migrated", + // (undocumented) + Migrating = "Migrating" } // @public @@ -1477,6 +1487,8 @@ export interface Policies { beginCreateOrUpdateAndWait(resourceGroupName: string, policyName: string, parameters: WebApplicationFirewallPolicy, options?: PoliciesCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, policyName: string, options?: PoliciesDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, policyName: string, options?: PoliciesDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, policyName: string, parameters: TagsObject, options?: PoliciesUpdateOptionalParams): Promise, PoliciesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, policyName: string, parameters: TagsObject, options?: PoliciesUpdateOptionalParams): Promise; get(resourceGroupName: string, policyName: string, options?: PoliciesGetOptionalParams): Promise; list(resourceGroupName: string, options?: PoliciesListOptionalParams): PagedAsyncIterableIterator; } @@ -1517,6 +1529,15 @@ export interface PoliciesListOptionalParams extends coreClient.OperationOptions // @public export type PoliciesListResponse = WebApplicationFirewallPolicyList; +// @public +export interface PoliciesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PoliciesUpdateResponse = WebApplicationFirewallPolicy; + // @public export type PolicyEnabledState = string; diff --git a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts index 9fbcbd6264c2..dd0194aa2e77 100644 --- a/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts +++ b/sdk/frontdoor/arm-frontdoor/src/frontDoorManagementClient.ts @@ -10,32 +10,32 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { - NetworkExperimentProfilesImpl, - PreconfiguredEndpointsImpl, - ExperimentsImpl, - ReportsImpl, + PoliciesImpl, + ManagedRuleSetsImpl, FrontDoorNameAvailabilityImpl, FrontDoorNameAvailabilityWithSubscriptionImpl, FrontDoorsImpl, FrontendEndpointsImpl, EndpointsImpl, RulesEnginesImpl, - PoliciesImpl, - ManagedRuleSetsImpl + NetworkExperimentProfilesImpl, + PreconfiguredEndpointsImpl, + ExperimentsImpl, + ReportsImpl } from "./operations"; import { - NetworkExperimentProfiles, - PreconfiguredEndpoints, - Experiments, - Reports, + Policies, + ManagedRuleSets, FrontDoorNameAvailability, FrontDoorNameAvailabilityWithSubscription, FrontDoors, FrontendEndpoints, Endpoints, RulesEngines, - Policies, - ManagedRuleSets + NetworkExperimentProfiles, + PreconfiguredEndpoints, + Experiments, + Reports } from "./operationsInterfaces"; import { FrontDoorManagementClientOptionalParams } from "./models"; @@ -71,7 +71,7 @@ export class FrontDoorManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-frontdoor/5.0.2`; + const packageDetails = `azsdk-js-arm-frontdoor/5.1.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -118,10 +118,8 @@ export class FrontDoorManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.networkExperimentProfiles = new NetworkExperimentProfilesImpl(this); - this.preconfiguredEndpoints = new PreconfiguredEndpointsImpl(this); - this.experiments = new ExperimentsImpl(this); - this.reports = new ReportsImpl(this); + this.policies = new PoliciesImpl(this); + this.managedRuleSets = new ManagedRuleSetsImpl(this); this.frontDoorNameAvailability = new FrontDoorNameAvailabilityImpl(this); this.frontDoorNameAvailabilityWithSubscription = new FrontDoorNameAvailabilityWithSubscriptionImpl( this @@ -130,20 +128,22 @@ export class FrontDoorManagementClient extends coreClient.ServiceClient { this.frontendEndpoints = new FrontendEndpointsImpl(this); this.endpoints = new EndpointsImpl(this); this.rulesEngines = new RulesEnginesImpl(this); - this.policies = new PoliciesImpl(this); - this.managedRuleSets = new ManagedRuleSetsImpl(this); + this.networkExperimentProfiles = new NetworkExperimentProfilesImpl(this); + this.preconfiguredEndpoints = new PreconfiguredEndpointsImpl(this); + this.experiments = new ExperimentsImpl(this); + this.reports = new ReportsImpl(this); } - networkExperimentProfiles: NetworkExperimentProfiles; - preconfiguredEndpoints: PreconfiguredEndpoints; - experiments: Experiments; - reports: Reports; + policies: Policies; + managedRuleSets: ManagedRuleSets; frontDoorNameAvailability: FrontDoorNameAvailability; frontDoorNameAvailabilityWithSubscription: FrontDoorNameAvailabilityWithSubscription; frontDoors: FrontDoors; frontendEndpoints: FrontendEndpoints; endpoints: Endpoints; rulesEngines: RulesEngines; - policies: Policies; - managedRuleSets: ManagedRuleSets; + networkExperimentProfiles: NetworkExperimentProfiles; + preconfiguredEndpoints: PreconfiguredEndpoints; + experiments: Experiments; + reports: Reports; } diff --git a/sdk/frontdoor/arm-frontdoor/src/models/index.ts b/sdk/frontdoor/arm-frontdoor/src/models/index.ts index 545b348aaab9..6cd9162ba5dd 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/index.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/index.ts @@ -13,17 +13,151 @@ export type RouteConfigurationUnion = | ForwardingConfiguration | RedirectConfiguration; -/** Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results. */ -export interface ProfileList { +/** Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. */ +export interface WebApplicationFirewallPolicyList { /** - * List of Profiles within a resource group. + * List of WebApplicationFirewallPolicies within a resource group. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: Profile[]; - /** URL to get the next set of Profile objects if there are any. */ + readonly value?: WebApplicationFirewallPolicy[]; + /** URL to get the next set of WebApplicationFirewallPolicy objects if there are any. */ nextLink?: string; } +/** Defines top-level WebApplicationFirewallPolicy configuration settings. */ +export interface PolicySettings { + /** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */ + enabledState?: PolicyEnabledState; + /** Describes if it is in detection mode or prevention mode at policy level. */ + mode?: PolicyMode; + /** If action type is redirect, this field represents redirect URL for the client. */ + 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; + /** Describes if policy managed rules will inspect the request body content. */ + requestBodyCheck?: PolicyRequestBodyCheck; +} + +/** Defines contents of custom rules */ +export interface CustomRuleList { + /** List of rules */ + rules?: CustomRule[]; +} + +/** Defines contents of a web application rule */ +export interface CustomRule { + /** Describes the name of the rule. */ + name?: string; + /** Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. */ + priority: number; + /** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */ + enabledState?: CustomRuleEnabledState; + /** Describes type of rule. */ + 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. */ + action: ActionType; +} + +/** Define a match condition. */ +export interface MatchCondition { + /** Request variable to compare with. */ + matchVariable: MatchVariable; + /** Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. */ + selector?: string; + /** Comparison type to use for matching with the variable value. */ + operator: Operator; + /** Describes if the result of this condition should be negated. */ + negateCondition?: boolean; + /** List of possible match values. */ + matchValue: string[]; + /** List of transforms. */ + transforms?: TransformType[]; +} + +/** Defines the list of managed rule sets for the policy. */ +export interface ManagedRuleSetList { + /** List of rule sets. */ + managedRuleSets?: ManagedRuleSet[]; +} + +/** Defines a managed rule set. */ +export interface ManagedRuleSet { + /** Defines the rule set type to use. */ + ruleSetType: string; + /** Defines the version of the rule set to use. */ + ruleSetVersion: string; + /** Defines the rule set action. */ + ruleSetAction?: ManagedRuleSetActionType; + /** Describes the exclusions that are applied to all rules in the set. */ + exclusions?: ManagedRuleExclusion[]; + /** Defines the rule group overrides to apply to the rule set. */ + ruleGroupOverrides?: ManagedRuleGroupOverride[]; +} + +/** Exclude variables from managed rule evaluation. */ +export interface ManagedRuleExclusion { + /** The variable type to be excluded. */ + matchVariable: ManagedRuleExclusionMatchVariable; + /** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */ + selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator; + /** Selector value for which elements in the collection this exclusion applies to. */ + selector: string; +} + +/** Defines a managed rule group override setting. */ +export interface ManagedRuleGroupOverride { + /** Describes the managed rule group to override. */ + ruleGroupName: string; + /** Describes the exclusions that are applied to all rules in the group. */ + exclusions?: ManagedRuleExclusion[]; + /** List of rules that will be disabled. If none specified, all rules in the group will be disabled. */ + rules?: ManagedRuleOverride[]; +} + +/** Defines a managed rule group override setting. */ +export interface ManagedRuleOverride { + /** Identifier for the managed rule. */ + ruleId: string; + /** Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified. */ + enabledState?: ManagedRuleEnabledState; + /** Describes the override action to be applied when rule matches. */ + action?: ActionType; + /** Describes the exclusions that are applied to this specific rule. */ + exclusions?: ManagedRuleExclusion[]; +} + +/** Defines the Resource ID for a Frontend Endpoint. */ +export interface FrontendEndpointLink { + /** Resource ID. */ + id?: string; +} + +/** Defines the Resource ID for a Routing Rule. */ +export interface RoutingRuleLink { + /** Resource ID. */ + id?: string; +} + +/** Defines the Resource ID for a Security Policy. */ +export interface SecurityPolicyLink { + /** Resource ID. */ + id?: string; +} + +/** The pricing tier of the web application firewall policy. */ +export interface Sku { + /** Name of the pricing tier. */ + name?: SkuName; +} + /** Common resource representation. */ export interface Resource { /** @@ -61,114 +195,64 @@ export interface ErrorResponse { readonly message?: string; } -/** Defines modifiable attributes of a Profile */ -export interface ProfileUpdateModel { +/** Tags object for patch operations. */ +export interface TagsObject { /** Resource tags. */ tags?: { [propertyName: string]: string }; - /** The enabled state of the Profile */ - enabledState?: State; -} - -/** Defines a list of preconfigured endpoints. */ -export interface PreconfiguredEndpointList { - /** - * List of PreconfiguredEndpoints supported by NetworkExperiment. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly value?: PreconfiguredEndpoint[]; - /** URL to get the next set of PreconfiguredEndpoints if there are any. */ - nextLink?: string; } -/** Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results. */ -export interface ExperimentList { +/** List of managed rule set definitions available for use in a policy. */ +export interface ManagedRuleSetDefinitionList { /** - * List of Experiments within a resource group. + * List of managed rule set definitions. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: Experiment[]; - /** URL to get the next set of Experiment objects if there are any. */ + readonly value?: ManagedRuleSetDefinition[]; + /** URL to retrieve next set of managed rule set definitions. */ nextLink?: string; } -/** Defines the endpoint properties */ -export interface Endpoint { - /** The name of the endpoint */ - name?: string; - /** The endpoint URL */ - endpoint?: 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 */ - enabledState?: State; -} - -/** 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; +/** Describes a managed rule group. */ +export interface ManagedRuleGroupDefinition { /** - * The metric value of the B endpoint + * Name of the managed rule group. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly bValue?: number; + readonly ruleGroupName?: string; /** - * The difference in value between endpoint A and B + * Description of the managed rule group. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly delta?: number; + readonly description?: string; /** - * The percent difference between endpoint A and B + * List of rules within the managed rule group. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deltaPercent?: number; + readonly rules?: ManagedRuleDefinition[]; +} + +/** Describes a managed rule definition. */ +export interface ManagedRuleDefinition { /** - * The lower end of the 95% confidence interval for endpoint A + * Identifier for the managed rule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly aCLower95CI?: number; + readonly ruleId?: string; /** - * The upper end of the 95% confidence interval for endpoint A + * Describes the default state for the managed rule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly aHUpper95CI?: number; + readonly defaultState?: ManagedRuleEnabledState; /** - * The lower end of the 95% confidence interval for endpoint B + * Describes the default action to be applied when the managed rule matches. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly bCLower95CI?: number; + readonly defaultAction?: ActionType; /** - * The upper end of the 95% confidence interval for endpoint B + * Describes the functionality of the managed rule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly bUpper95CI?: number; -} - -/** 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; + readonly description?: string; } /** Input of CheckNameAvailability API. */ @@ -517,203 +601,125 @@ export interface RulesEngineListResult { nextLink?: string; } -/** Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. */ -export interface WebApplicationFirewallPolicyList { +/** Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results. */ +export interface ProfileList { /** - * List of WebApplicationFirewallPolicies within a resource group. + * List of Profiles within a resource group. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: WebApplicationFirewallPolicy[]; - /** URL to get the next set of WebApplicationFirewallPolicy objects if there are any. */ - nextLink?: string; -} - -/** Defines top-level WebApplicationFirewallPolicy configuration settings. */ -export interface PolicySettings { - /** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */ - enabledState?: PolicyEnabledState; - /** Describes if it is in detection mode or prevention mode at policy level. */ - mode?: PolicyMode; - /** If action type is redirect, this field represents redirect URL for the client. */ - 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; - /** Describes if policy managed rules will inspect the request body content. */ - requestBodyCheck?: PolicyRequestBodyCheck; -} - -/** Defines contents of custom rules */ -export interface CustomRuleList { - /** List of rules */ - rules?: CustomRule[]; -} - -/** Defines contents of a web application rule */ -export interface CustomRule { - /** Describes the name of the rule. */ - name?: string; - /** Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. */ - priority: number; - /** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */ - enabledState?: CustomRuleEnabledState; - /** Describes type of rule. */ - 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. */ - action: ActionType; -} - -/** Define a match condition. */ -export interface MatchCondition { - /** Request variable to compare with. */ - matchVariable: MatchVariable; - /** Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. */ - selector?: string; - /** Comparison type to use for matching with the variable value. */ - operator: Operator; - /** Describes if the result of this condition should be negated. */ - negateCondition?: boolean; - /** List of possible match values. */ - matchValue: string[]; - /** List of transforms. */ - transforms?: TransformType[]; -} - -/** Defines the list of managed rule sets for the policy. */ -export interface ManagedRuleSetList { - /** List of rule sets. */ - managedRuleSets?: ManagedRuleSet[]; -} - -/** Defines a managed rule set. */ -export interface ManagedRuleSet { - /** Defines the rule set type to use. */ - ruleSetType: string; - /** Defines the version of the rule set to use. */ - ruleSetVersion: string; - /** Defines the action to take when a managed rule set score threshold is met. */ - ruleSetAction?: ManagedRuleSetActionType; - /** Describes the exclusions that are applied to all rules in the set. */ - exclusions?: ManagedRuleExclusion[]; - /** Defines the rule group overrides to apply to the rule set. */ - ruleGroupOverrides?: ManagedRuleGroupOverride[]; -} - -/** Exclude variables from managed rule evaluation. */ -export interface ManagedRuleExclusion { - /** The variable type to be excluded. */ - matchVariable: ManagedRuleExclusionMatchVariable; - /** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */ - selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator; - /** Selector value for which elements in the collection this exclusion applies to. */ - selector: string; -} - -/** Defines a managed rule group override setting. */ -export interface ManagedRuleGroupOverride { - /** Describes the managed rule group to override. */ - ruleGroupName: string; - /** Describes the exclusions that are applied to all rules in the group. */ - exclusions?: ManagedRuleExclusion[]; - /** List of rules that will be disabled. If none specified, all rules in the group will be disabled. */ - rules?: ManagedRuleOverride[]; + readonly value?: Profile[]; + /** URL to get the next set of Profile objects if there are any. */ + nextLink?: string; } -/** Defines a managed rule group override setting. */ -export interface ManagedRuleOverride { - /** Identifier for the managed rule. */ - ruleId: string; - /** Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified. */ - enabledState?: ManagedRuleEnabledState; - /** Describes the override action to be applied when rule matches. */ - action?: ActionType; - /** Describes the exclusions that are applied to this specific rule. */ - exclusions?: ManagedRuleExclusion[]; +/** Defines modifiable attributes of a Profile */ +export interface ProfileUpdateModel { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** The enabled state of the Profile */ + enabledState?: State; } -/** Defines the Resource ID for a Frontend Endpoint. */ -export interface FrontendEndpointLink { - /** Resource ID. */ - id?: string; +/** Defines a list of preconfigured endpoints. */ +export interface PreconfiguredEndpointList { + /** + * List of PreconfiguredEndpoints supported by NetworkExperiment. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: PreconfiguredEndpoint[]; + /** URL to get the next set of PreconfiguredEndpoints if there are any. */ + nextLink?: string; } -/** Defines the Resource ID for a Routing Rule. */ -export interface RoutingRuleLink { - /** Resource ID. */ - id?: string; +/** Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results. */ +export interface ExperimentList { + /** + * List of Experiments within a resource group. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: Experiment[]; + /** URL to get the next set of Experiment objects if there are any. */ + nextLink?: string; } -/** Defines the Resource ID for a Security Policy. */ -export interface SecurityPolicyLink { - /** Resource ID. */ - id?: string; +/** Defines the endpoint properties */ +export interface Endpoint { + /** The name of the endpoint */ + name?: string; + /** The endpoint URL */ + endpoint?: string; } -/** The pricing tier of the web application firewall policy. */ -export interface Sku { - /** Name of the pricing tier. */ - name?: SkuName; +/** 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 */ + enabledState?: State; } -/** List of managed rule set definitions available for use in a policy. */ -export interface ManagedRuleSetDefinitionList { +/** Defines the properties of a latency metric used in the latency scorecard */ +export interface LatencyMetric { /** - * List of managed rule set definitions. + * The name of the Latency Metric * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: ManagedRuleSetDefinition[]; - /** URL to retrieve next set of managed rule set definitions. */ - nextLink?: string; -} - -/** Describes a managed rule group. */ -export interface ManagedRuleGroupDefinition { + readonly name?: string; /** - * Name of the managed rule group. + * 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 ruleGroupName?: string; + readonly endDateTimeUTC?: string; /** - * Description of the managed rule group. + * The metric value of the A endpoint * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly aValue?: number; /** - * List of rules within the managed rule group. + * The metric value of the B endpoint * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly rules?: ManagedRuleDefinition[]; -} - -/** Describes a managed rule definition. */ -export interface ManagedRuleDefinition { + readonly bValue?: number; /** - * Identifier for the managed rule. + * 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 ruleId?: string; + readonly delta?: number; /** - * Describes the default state for the managed rule. + * The percent difference between endpoint A and B * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultState?: ManagedRuleEnabledState; + readonly deltaPercent?: number; /** - * Describes the default action to be applied when the managed rule matches. + * 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 defaultAction?: ActionType; + readonly aCLower95CI?: number; /** - * Describes the functionality of the managed rule. + * 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 description?: string; + 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 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; } export interface ErrorDetails { @@ -732,17 +738,11 @@ export interface ErrorModel { /** 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'. */ + /** Status of the Azure async operation. */ status?: NetworkOperationStatus; error?: ErrorModel; } -/** Tags object for patch operations. */ -export interface TagsObject { - /** Resource tags. */ - tags?: { [propertyName: string]: string }; -} - /** 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 RoutingRuleListResult { /** @@ -799,120 +799,72 @@ export interface BackendPoolListResult { nextLink?: string; } -/** Defines an Network Experiment Profile and lists of Experiments */ -export type Profile = Resource & { +/** Defines web application firewall policy. */ +export type WebApplicationFirewallPolicy = Resource & { /** Gets a unique read-only string that changes whenever the resource is updated. */ etag?: string; + /** The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified. */ + sku?: Sku; + /** Describes settings for the policy. */ + policySettings?: PolicySettings; + /** Describes custom rules inside the policy. */ + customRules?: CustomRuleList; + /** Describes managed rules inside the policy. */ + managedRules?: ManagedRuleSetList; /** - * Resource status. + * 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 resourceState?: NetworkExperimentResourceState; - /** The state of the Experiment */ - enabledState?: State; -}; - -/** Defines the properties of a preconfigured endpoint */ -export type PreconfiguredEndpoint = Resource & { - /** The description of the endpoint */ - description?: string; - /** The endpoint that is preconfigured */ - endpoint?: string; - /** The type of endpoint */ - endpointType?: EndpointType; - /** The preconfigured endpoint backend */ - backend?: string; -}; - -/** Defines the properties of an Experiment */ -export type Experiment = 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 */ - enabledState?: State; - /** - * Resource status. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly 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; + readonly frontendEndpointLinks?: FrontendEndpointLink[]; /** - * The uri to the Script used in the Experiment + * Describes Routing Rules associated with this Web Application Firewall policy. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly scriptFileUri?: string; -}; - -/** Defines the LatencyScorecard */ -export type LatencyScorecard = Resource & { + readonly routingRuleLinks?: RoutingRuleLink[]; /** - * The unique identifier of the Latency Scorecard + * Describes Security Policy associated with this Web Application Firewall policy. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly idPropertiesId?: string; + readonly securityPolicyLinks?: SecurityPolicyLink[]; /** - * The name of the Latency Scorecard + * Provisioning state of the policy. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly namePropertiesName?: string; + readonly provisioningState?: string; /** - * The description of the Latency Scorecard + * Resource status of the policy. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly resourceState?: PolicyResourceState; +}; + +/** Describes the a managed rule set definition. */ +export type ManagedRuleSetDefinition = Resource & { /** - * The A endpoint in the scorecard + * Provisioning state of the managed rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endpointA?: string; + readonly provisioningState?: string; /** - * The B endpoint in the scorecard + * Id of the managed rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endpointB?: string; + readonly ruleSetId?: string; /** - * The start time of the Latency Scorecard in UTC + * Type of the managed rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startDateTimeUTC?: Date; + readonly ruleSetType?: string; /** - * The end time of the Latency Scorecard in UTC + * Version of the managed rule set type. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endDateTimeUTC?: Date; + readonly ruleSetVersion?: string; /** - * The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html + * Rule groups of the managed rule set. * 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 the Timeseries */ -export type Timeseries = 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 */ - aggregationInterval?: AggregationInterval; - /** The type of Timeseries */ - 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[]; + readonly ruleGroups?: ManagedRuleGroupDefinition[]; }; /** Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there. */ @@ -958,74 +910,127 @@ export type FrontDoor = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly rulesEngines?: RulesEngine[]; + /** + * Key-Value pair representing additional properties for frontdoor. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly extendedProperties?: { [propertyName: string]: string }; }; -/** Defines web application firewall policy. */ -export type WebApplicationFirewallPolicy = Resource & { +/** Defines an Network Experiment Profile and lists of Experiments */ +export type Profile = Resource & { /** Gets a unique read-only string that changes whenever the resource is updated. */ etag?: string; - /** The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified. */ - sku?: Sku; - /** Describes settings for the policy. */ - policySettings?: PolicySettings; - /** Describes custom rules inside the policy. */ - customRules?: CustomRuleList; - /** Describes managed rules inside the policy. */ - managedRules?: ManagedRuleSetList; /** - * Describes Frontend Endpoints associated with this Web Application Firewall policy. + * Resource status. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly frontendEndpointLinks?: FrontendEndpointLink[]; + readonly resourceState?: NetworkExperimentResourceState; + /** The state of the Experiment */ + enabledState?: State; +}; + +/** Defines the properties of a preconfigured endpoint */ +export type PreconfiguredEndpoint = Resource & { + /** The description of the endpoint */ + description?: string; + /** The endpoint that is preconfigured */ + endpoint?: string; + /** The type of endpoint */ + endpointType?: EndpointType; + /** The preconfigured endpoint backend */ + backend?: string; +}; + +/** Defines the properties of an Experiment */ +export type Experiment = 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 */ + enabledState?: State; /** - * Describes Routing Rules associated with this Web Application Firewall policy. + * Resource status. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly routingRuleLinks?: RoutingRuleLink[]; + readonly resourceState?: NetworkExperimentResourceState; /** - * Describes Security Policy associated with this Web Application Firewall policy. + * 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 securityPolicyLinks?: SecurityPolicyLink[]; + readonly status?: string; /** - * Provisioning state of the policy. + * 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 provisioningState?: string; + readonly scriptFileUri?: string; +}; + +/** Defines the LatencyScorecard */ +export type LatencyScorecard = Resource & { /** - * Resource status of the policy. + * The unique identifier of the Latency Scorecard * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceState?: PolicyResourceState; -}; - -/** Describes the a managed rule set definition. */ -export type ManagedRuleSetDefinition = Resource & { + readonly idPropertiesId?: string; /** - * Provisioning state of the managed rule set. + * The name of the Latency Scorecard * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly namePropertiesName?: string; /** - * Id of the managed rule set. + * The description of the Latency Scorecard * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly ruleSetId?: string; + readonly description?: string; /** - * Type of the managed rule set. + * The A endpoint in the scorecard * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly ruleSetType?: string; + readonly endpointA?: string; /** - * Version of the managed rule set type. + * The B endpoint in the scorecard * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly ruleSetVersion?: string; + readonly endpointB?: string; /** - * Rule groups of the managed rule set. + * 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 ruleGroups?: ManagedRuleGroupDefinition[]; + 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 the Timeseries */ +export type Timeseries = 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 */ + aggregationInterval?: AggregationInterval; + /** The type of Timeseries */ + 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[]; }; /** The JSON object that contains the properties required to create a Rules Engine Configuration. */ @@ -1096,6 +1101,11 @@ export type FrontDoorProperties = FrontDoorUpdateParameters & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly rulesEngines?: RulesEngine[]; + /** + * Key-Value pair representing additional properties for frontdoor. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly extendedProperties?: { [propertyName: string]: string }; }; /** The JSON object that contains the properties required to create a routing rule. */ @@ -1297,232 +1307,118 @@ export type FrontendEndpointProperties = FrontendEndpointUpdateParameters & { readonly customHttpsConfiguration?: CustomHttpsConfiguration; }; -/** Known values of {@link NetworkExperimentResourceState} that the service accepts. */ -export enum KnownNetworkExperimentResourceState { - Creating = "Creating", - Enabling = "Enabling", - Enabled = "Enabled", - Disabling = "Disabling", +/** Known values of {@link PolicyEnabledState} that the service accepts. */ +export enum KnownPolicyEnabledState { Disabled = "Disabled", - Deleting = "Deleting" + Enabled = "Enabled" } /** - * Defines values for NetworkExperimentResourceState. \ - * {@link KnownNetworkExperimentResourceState} can be used interchangeably with NetworkExperimentResourceState, + * Defines values for PolicyEnabledState. \ + * {@link KnownPolicyEnabledState} can be used interchangeably with PolicyEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Creating** \ - * **Enabling** \ - * **Enabled** \ - * **Disabling** \ * **Disabled** \ - * **Deleting** + * **Enabled** */ -export type NetworkExperimentResourceState = string; +export type PolicyEnabledState = string; -/** Known values of {@link State} that the service accepts. */ -export enum KnownState { - Enabled = "Enabled", - Disabled = "Disabled" +/** Known values of {@link PolicyMode} that the service accepts. */ +export enum KnownPolicyMode { + Prevention = "Prevention", + Detection = "Detection" } /** - * Defines values for State. \ - * {@link KnownState} can be used interchangeably with State, + * Defines values for PolicyMode. \ + * {@link KnownPolicyMode} can be used interchangeably with PolicyMode, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Enabled** \ - * **Disabled** + * **Prevention** \ + * **Detection** */ -export type State = string; +export type PolicyMode = string; -/** Known values of {@link EndpointType} that the service accepts. */ -export enum KnownEndpointType { - AFD = "AFD", - AzureRegion = "AzureRegion", - CDN = "CDN", - ATM = "ATM" -} - -/** - * Defines values for EndpointType. \ - * {@link KnownEndpointType} can be used interchangeably with EndpointType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **AFD** \ - * **AzureRegion** \ - * **CDN** \ - * **ATM** - */ -export type EndpointType = string; - -/** Known values of {@link LatencyScorecardAggregationInterval} that the service accepts. */ -export enum KnownLatencyScorecardAggregationInterval { - Daily = "Daily", - Weekly = "Weekly", - Monthly = "Monthly" -} - -/** - * Defines values for LatencyScorecardAggregationInterval. \ - * {@link KnownLatencyScorecardAggregationInterval} can be used interchangeably with LatencyScorecardAggregationInterval, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Daily** \ - * **Weekly** \ - * **Monthly** - */ -export type LatencyScorecardAggregationInterval = string; - -/** Known values of {@link TimeseriesAggregationInterval} that the service accepts. */ -export enum KnownTimeseriesAggregationInterval { - Hourly = "Hourly", - Daily = "Daily" -} - -/** - * Defines values for TimeseriesAggregationInterval. \ - * {@link KnownTimeseriesAggregationInterval} can be used interchangeably with TimeseriesAggregationInterval, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Hourly** \ - * **Daily** - */ -export type TimeseriesAggregationInterval = string; - -/** Known values of {@link TimeseriesType} that the service accepts. */ -export enum KnownTimeseriesType { - MeasurementCounts = "MeasurementCounts", - LatencyP50 = "LatencyP50", - LatencyP75 = "LatencyP75", - LatencyP95 = "LatencyP95" -} - -/** - * Defines values for TimeseriesType. \ - * {@link KnownTimeseriesType} can be used interchangeably with TimeseriesType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **MeasurementCounts** \ - * **LatencyP50** \ - * **LatencyP75** \ - * **LatencyP95** - */ -export type TimeseriesType = string; - -/** Known values of {@link AggregationInterval} that the service accepts. */ -export enum KnownAggregationInterval { - Hourly = "Hourly", - Daily = "Daily" -} - -/** - * Defines values for AggregationInterval. \ - * {@link KnownAggregationInterval} can be used interchangeably with AggregationInterval, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Hourly** \ - * **Daily** - */ -export type AggregationInterval = string; - -/** Known values of {@link Availability} that the service accepts. */ -export enum KnownAvailability { - Available = "Available", - Unavailable = "Unavailable" +/** Known values of {@link PolicyRequestBodyCheck} that the service accepts. */ +export enum KnownPolicyRequestBodyCheck { + Disabled = "Disabled", + Enabled = "Enabled" } /** - * Defines values for Availability. \ - * {@link KnownAvailability} can be used interchangeably with Availability, + * Defines values for PolicyRequestBodyCheck. \ + * {@link KnownPolicyRequestBodyCheck} can be used interchangeably with PolicyRequestBodyCheck, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Available** \ - * **Unavailable** + * **Disabled** \ + * **Enabled** */ -export type Availability = string; +export type PolicyRequestBodyCheck = string; -/** Known values of {@link FrontDoorResourceState} that the service accepts. */ -export enum KnownFrontDoorResourceState { - Creating = "Creating", - Enabling = "Enabling", - Enabled = "Enabled", - Disabling = "Disabling", +/** Known values of {@link CustomRuleEnabledState} that the service accepts. */ +export enum KnownCustomRuleEnabledState { Disabled = "Disabled", - Deleting = "Deleting" + Enabled = "Enabled" } /** - * Defines values for FrontDoorResourceState. \ - * {@link KnownFrontDoorResourceState} can be used interchangeably with FrontDoorResourceState, + * Defines values for CustomRuleEnabledState. \ + * {@link KnownCustomRuleEnabledState} can be used interchangeably with CustomRuleEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Creating** \ - * **Enabling** \ - * **Enabled** \ - * **Disabling** \ * **Disabled** \ - * **Deleting** + * **Enabled** */ -export type FrontDoorResourceState = string; +export type CustomRuleEnabledState = string; -/** Known values of {@link HeaderActionType} that the service accepts. */ -export enum KnownHeaderActionType { - Append = "Append", - Delete = "Delete", - Overwrite = "Overwrite" +/** Known values of {@link RuleType} that the service accepts. */ +export enum KnownRuleType { + MatchRule = "MatchRule", + RateLimitRule = "RateLimitRule" } /** - * Defines values for HeaderActionType. \ - * {@link KnownHeaderActionType} can be used interchangeably with HeaderActionType, + * Defines values for RuleType. \ + * {@link KnownRuleType} can be used interchangeably with RuleType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Append** \ - * **Delete** \ - * **Overwrite** + * **MatchRule** \ + * **RateLimitRule** */ -export type HeaderActionType = string; +export type RuleType = string; -/** Known values of {@link RulesEngineMatchVariable} that the service accepts. */ -export enum KnownRulesEngineMatchVariable { - IsMobile = "IsMobile", +/** Known values of {@link MatchVariable} that the service accepts. */ +export enum KnownMatchVariable { RemoteAddr = "RemoteAddr", RequestMethod = "RequestMethod", QueryString = "QueryString", PostArgs = "PostArgs", RequestUri = "RequestUri", - RequestPath = "RequestPath", - RequestFilename = "RequestFilename", - RequestFilenameExtension = "RequestFilenameExtension", RequestHeader = "RequestHeader", RequestBody = "RequestBody", - RequestScheme = "RequestScheme" + Cookies = "Cookies", + SocketAddr = "SocketAddr" } /** - * Defines values for RulesEngineMatchVariable. \ - * {@link KnownRulesEngineMatchVariable} can be used interchangeably with RulesEngineMatchVariable, + * Defines values for MatchVariable. \ + * {@link KnownMatchVariable} can be used interchangeably with MatchVariable, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **IsMobile** \ * **RemoteAddr** \ * **RequestMethod** \ * **QueryString** \ * **PostArgs** \ * **RequestUri** \ - * **RequestPath** \ - * **RequestFilename** \ - * **RequestFilenameExtension** \ * **RequestHeader** \ * **RequestBody** \ - * **RequestScheme** + * **Cookies** \ + * **SocketAddr** */ -export type RulesEngineMatchVariable = string; +export type MatchVariable = string; -/** Known values of {@link RulesEngineOperator} that the service accepts. */ -export enum KnownRulesEngineOperator { +/** Known values of {@link Operator} that the service accepts. */ +export enum KnownOperator { Any = "Any", IPMatch = "IPMatch", GeoMatch = "GeoMatch", @@ -1533,12 +1429,13 @@ export enum KnownRulesEngineOperator { LessThanOrEqual = "LessThanOrEqual", GreaterThanOrEqual = "GreaterThanOrEqual", BeginsWith = "BeginsWith", - EndsWith = "EndsWith" + EndsWith = "EndsWith", + RegEx = "RegEx" } /** - * Defines values for RulesEngineOperator. \ - * {@link KnownRulesEngineOperator} can be used interchangeably with RulesEngineOperator, + * Defines values for Operator. \ + * {@link KnownOperator} can be used interchangeably with Operator, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Any** \ @@ -1551,12 +1448,13 @@ export enum KnownRulesEngineOperator { * **LessThanOrEqual** \ * **GreaterThanOrEqual** \ * **BeginsWith** \ - * **EndsWith** + * **EndsWith** \ + * **RegEx** */ -export type RulesEngineOperator = string; +export type Operator = string; -/** Known values of {@link Transform} that the service accepts. */ -export enum KnownTransform { +/** Known values of {@link TransformType} that the service accepts. */ +export enum KnownTransformType { Lowercase = "Lowercase", Uppercase = "Uppercase", Trim = "Trim", @@ -1566,8 +1464,8 @@ export enum KnownTransform { } /** - * Defines values for Transform. \ - * {@link KnownTransform} can be used interchangeably with Transform, + * Defines values for TransformType. \ + * {@link KnownTransformType} can be used interchangeably with TransformType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Lowercase** \ @@ -1577,597 +1475,713 @@ export enum KnownTransform { * **UrlEncode** \ * **RemoveNulls** */ -export type Transform = string; +export type TransformType = string; -/** Known values of {@link MatchProcessingBehavior} that the service accepts. */ -export enum KnownMatchProcessingBehavior { - Continue = "Continue", - Stop = "Stop" +/** Known values of {@link ActionType} that the service accepts. */ +export enum KnownActionType { + Allow = "Allow", + Block = "Block", + Log = "Log", + Redirect = "Redirect" } /** - * Defines values for MatchProcessingBehavior. \ - * {@link KnownMatchProcessingBehavior} can be used interchangeably with MatchProcessingBehavior, + * Defines values for ActionType. \ + * {@link KnownActionType} can be used interchangeably with ActionType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Continue** \ - * **Stop** + * **Allow** \ + * **Block** \ + * **Log** \ + * **Redirect** */ -export type MatchProcessingBehavior = string; +export type ActionType = string; -/** Known values of {@link FrontDoorProtocol} that the service accepts. */ -export enum KnownFrontDoorProtocol { - Http = "Http", - Https = "Https" +/** Known values of {@link ManagedRuleSetActionType} that the service accepts. */ +export enum KnownManagedRuleSetActionType { + Block = "Block", + Log = "Log", + Redirect = "Redirect" } /** - * Defines values for FrontDoorProtocol. \ - * {@link KnownFrontDoorProtocol} can be used interchangeably with FrontDoorProtocol, + * Defines values for ManagedRuleSetActionType. \ + * {@link KnownManagedRuleSetActionType} can be used interchangeably with ManagedRuleSetActionType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Http** \ - * **Https** + * **Block** \ + * **Log** \ + * **Redirect** */ -export type FrontDoorProtocol = string; +export type ManagedRuleSetActionType = string; -/** Known values of {@link RoutingRuleEnabledState} that the service accepts. */ -export enum KnownRoutingRuleEnabledState { - Enabled = "Enabled", - Disabled = "Disabled" +/** Known values of {@link ManagedRuleExclusionMatchVariable} that the service accepts. */ +export enum KnownManagedRuleExclusionMatchVariable { + RequestHeaderNames = "RequestHeaderNames", + RequestCookieNames = "RequestCookieNames", + QueryStringArgNames = "QueryStringArgNames", + RequestBodyPostArgNames = "RequestBodyPostArgNames", + RequestBodyJsonArgNames = "RequestBodyJsonArgNames" } /** - * Defines values for RoutingRuleEnabledState. \ - * {@link KnownRoutingRuleEnabledState} can be used interchangeably with RoutingRuleEnabledState, - * this enum contains the known values that the service supports. + * Defines values for ManagedRuleExclusionMatchVariable. \ + * {@link KnownManagedRuleExclusionMatchVariable} can be used interchangeably with ManagedRuleExclusionMatchVariable, + * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Enabled** \ - * **Disabled** + * **RequestHeaderNames** \ + * **RequestCookieNames** \ + * **QueryStringArgNames** \ + * **RequestBodyPostArgNames** \ + * **RequestBodyJsonArgNames** */ -export type RoutingRuleEnabledState = string; +export type ManagedRuleExclusionMatchVariable = string; -/** Known values of {@link FrontDoorHealthProbeMethod} that the service accepts. */ -export enum KnownFrontDoorHealthProbeMethod { - GET = "GET", - Head = "HEAD" +/** Known values of {@link ManagedRuleExclusionSelectorMatchOperator} that the service accepts. */ +export enum KnownManagedRuleExclusionSelectorMatchOperator { + Equals = "Equals", + Contains = "Contains", + StartsWith = "StartsWith", + EndsWith = "EndsWith", + EqualsAny = "EqualsAny" } /** - * Defines values for FrontDoorHealthProbeMethod. \ - * {@link KnownFrontDoorHealthProbeMethod} can be used interchangeably with FrontDoorHealthProbeMethod, + * Defines values for ManagedRuleExclusionSelectorMatchOperator. \ + * {@link KnownManagedRuleExclusionSelectorMatchOperator} can be used interchangeably with ManagedRuleExclusionSelectorMatchOperator, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **GET** \ - * **HEAD** + * **Equals** \ + * **Contains** \ + * **StartsWith** \ + * **EndsWith** \ + * **EqualsAny** */ -export type FrontDoorHealthProbeMethod = string; +export type ManagedRuleExclusionSelectorMatchOperator = string; -/** Known values of {@link HealthProbeEnabled} that the service accepts. */ -export enum KnownHealthProbeEnabled { +/** Known values of {@link ManagedRuleEnabledState} that the service accepts. */ +export enum KnownManagedRuleEnabledState { + Disabled = "Disabled", + Enabled = "Enabled" +} + +/** + * Defines values for ManagedRuleEnabledState. \ + * {@link KnownManagedRuleEnabledState} can be used interchangeably with ManagedRuleEnabledState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Disabled** \ + * **Enabled** + */ +export type ManagedRuleEnabledState = string; + +/** Known values of {@link PolicyResourceState} that the service accepts. */ +export enum KnownPolicyResourceState { + Creating = "Creating", + Enabling = "Enabling", Enabled = "Enabled", - Disabled = "Disabled" + Disabling = "Disabling", + Disabled = "Disabled", + Deleting = "Deleting" } /** - * Defines values for HealthProbeEnabled. \ - * {@link KnownHealthProbeEnabled} can be used interchangeably with HealthProbeEnabled, + * Defines values for PolicyResourceState. \ + * {@link KnownPolicyResourceState} can be used interchangeably with PolicyResourceState, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **Creating** \ + * **Enabling** \ * **Enabled** \ - * **Disabled** + * **Disabling** \ + * **Disabled** \ + * **Deleting** */ -export type HealthProbeEnabled = string; +export type PolicyResourceState = string; -/** Known values of {@link PrivateEndpointStatus} that the service accepts. */ -export enum KnownPrivateEndpointStatus { - Pending = "Pending", - Approved = "Approved", - Rejected = "Rejected", - Disconnected = "Disconnected", - Timeout = "Timeout" +/** Known values of {@link SkuName} that the service accepts. */ +export enum KnownSkuName { + ClassicAzureFrontDoor = "Classic_AzureFrontDoor", + StandardAzureFrontDoor = "Standard_AzureFrontDoor", + PremiumAzureFrontDoor = "Premium_AzureFrontDoor" } /** - * Defines values for PrivateEndpointStatus. \ - * {@link KnownPrivateEndpointStatus} can be used interchangeably with PrivateEndpointStatus, + * Defines values for SkuName. \ + * {@link KnownSkuName} can be used interchangeably with SkuName, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Pending** \ - * **Approved** \ - * **Rejected** \ - * **Disconnected** \ - * **Timeout** + * **Classic_AzureFrontDoor** \ + * **Standard_AzureFrontDoor** \ + * **Premium_AzureFrontDoor** */ -export type PrivateEndpointStatus = string; +export type SkuName = string; -/** Known values of {@link BackendEnabledState} that the service accepts. */ -export enum KnownBackendEnabledState { - Enabled = "Enabled", - Disabled = "Disabled" +/** Known values of {@link Availability} that the service accepts. */ +export enum KnownAvailability { + Available = "Available", + Unavailable = "Unavailable" } /** - * Defines values for BackendEnabledState. \ - * {@link KnownBackendEnabledState} can be used interchangeably with BackendEnabledState, + * Defines values for Availability. \ + * {@link KnownAvailability} can be used interchangeably with Availability, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Enabled** \ - * **Disabled** + * **Available** \ + * **Unavailable** */ -export type BackendEnabledState = string; +export type Availability = string; -/** Known values of {@link CustomHttpsProvisioningState} that the service accepts. */ -export enum KnownCustomHttpsProvisioningState { +/** Known values of {@link FrontDoorResourceState} that the service accepts. */ +export enum KnownFrontDoorResourceState { + Creating = "Creating", Enabling = "Enabling", Enabled = "Enabled", Disabling = "Disabling", Disabled = "Disabled", - Failed = "Failed" + Deleting = "Deleting", + Migrating = "Migrating", + Migrated = "Migrated" } /** - * Defines values for CustomHttpsProvisioningState. \ - * {@link KnownCustomHttpsProvisioningState} can be used interchangeably with CustomHttpsProvisioningState, + * Defines values for FrontDoorResourceState. \ + * {@link KnownFrontDoorResourceState} can be used interchangeably with FrontDoorResourceState, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **Creating** \ * **Enabling** \ * **Enabled** \ * **Disabling** \ * **Disabled** \ - * **Failed** + * **Deleting** \ + * **Migrating** \ + * **Migrated** */ -export type CustomHttpsProvisioningState = string; +export type FrontDoorResourceState = string; -/** Known values of {@link CustomHttpsProvisioningSubstate} that the service accepts. */ -export enum KnownCustomHttpsProvisioningSubstate { - SubmittingDomainControlValidationRequest = "SubmittingDomainControlValidationRequest", - PendingDomainControlValidationREquestApproval = "PendingDomainControlValidationREquestApproval", - DomainControlValidationRequestApproved = "DomainControlValidationRequestApproved", - DomainControlValidationRequestRejected = "DomainControlValidationRequestRejected", - DomainControlValidationRequestTimedOut = "DomainControlValidationRequestTimedOut", - IssuingCertificate = "IssuingCertificate", - DeployingCertificate = "DeployingCertificate", - CertificateDeployed = "CertificateDeployed", - DeletingCertificate = "DeletingCertificate", - CertificateDeleted = "CertificateDeleted" +/** Known values of {@link HeaderActionType} that the service accepts. */ +export enum KnownHeaderActionType { + Append = "Append", + Delete = "Delete", + Overwrite = "Overwrite" } /** - * Defines values for CustomHttpsProvisioningSubstate. \ - * {@link KnownCustomHttpsProvisioningSubstate} can be used interchangeably with CustomHttpsProvisioningSubstate, + * Defines values for HeaderActionType. \ + * {@link KnownHeaderActionType} can be used interchangeably with HeaderActionType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **SubmittingDomainControlValidationRequest** \ - * **PendingDomainControlValidationREquestApproval** \ - * **DomainControlValidationRequestApproved** \ - * **DomainControlValidationRequestRejected** \ - * **DomainControlValidationRequestTimedOut** \ - * **IssuingCertificate** \ - * **DeployingCertificate** \ - * **CertificateDeployed** \ - * **DeletingCertificate** \ - * **CertificateDeleted** + * **Append** \ + * **Delete** \ + * **Overwrite** */ -export type CustomHttpsProvisioningSubstate = string; +export type HeaderActionType = string; -/** Known values of {@link FrontDoorCertificateSource} that the service accepts. */ -export enum KnownFrontDoorCertificateSource { - AzureKeyVault = "AzureKeyVault", - FrontDoor = "FrontDoor" +/** Known values of {@link RulesEngineMatchVariable} that the service accepts. */ +export enum KnownRulesEngineMatchVariable { + IsMobile = "IsMobile", + RemoteAddr = "RemoteAddr", + RequestMethod = "RequestMethod", + QueryString = "QueryString", + PostArgs = "PostArgs", + RequestUri = "RequestUri", + RequestPath = "RequestPath", + RequestFilename = "RequestFilename", + RequestFilenameExtension = "RequestFilenameExtension", + RequestHeader = "RequestHeader", + RequestBody = "RequestBody", + RequestScheme = "RequestScheme" } /** - * Defines values for FrontDoorCertificateSource. \ - * {@link KnownFrontDoorCertificateSource} can be used interchangeably with FrontDoorCertificateSource, + * Defines values for RulesEngineMatchVariable. \ + * {@link KnownRulesEngineMatchVariable} can be used interchangeably with RulesEngineMatchVariable, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **AzureKeyVault** \ - * **FrontDoor** + * **IsMobile** \ + * **RemoteAddr** \ + * **RequestMethod** \ + * **QueryString** \ + * **PostArgs** \ + * **RequestUri** \ + * **RequestPath** \ + * **RequestFilename** \ + * **RequestFilenameExtension** \ + * **RequestHeader** \ + * **RequestBody** \ + * **RequestScheme** */ -export type FrontDoorCertificateSource = string; +export type RulesEngineMatchVariable = string; -/** Known values of {@link FrontDoorTlsProtocolType} that the service accepts. */ -export enum KnownFrontDoorTlsProtocolType { - ServerNameIndication = "ServerNameIndication" +/** Known values of {@link RulesEngineOperator} that the service accepts. */ +export enum KnownRulesEngineOperator { + Any = "Any", + IPMatch = "IPMatch", + GeoMatch = "GeoMatch", + Equal = "Equal", + Contains = "Contains", + LessThan = "LessThan", + GreaterThan = "GreaterThan", + LessThanOrEqual = "LessThanOrEqual", + GreaterThanOrEqual = "GreaterThanOrEqual", + BeginsWith = "BeginsWith", + EndsWith = "EndsWith" } /** - * Defines values for FrontDoorTlsProtocolType. \ - * {@link KnownFrontDoorTlsProtocolType} can be used interchangeably with FrontDoorTlsProtocolType, + * Defines values for RulesEngineOperator. \ + * {@link KnownRulesEngineOperator} can be used interchangeably with RulesEngineOperator, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **ServerNameIndication** + * **Any** \ + * **IPMatch** \ + * **GeoMatch** \ + * **Equal** \ + * **Contains** \ + * **LessThan** \ + * **GreaterThan** \ + * **LessThanOrEqual** \ + * **GreaterThanOrEqual** \ + * **BeginsWith** \ + * **EndsWith** */ -export type FrontDoorTlsProtocolType = string; +export type RulesEngineOperator = string; -/** Known values of {@link MinimumTLSVersion} that the service accepts. */ -export enum KnownMinimumTLSVersion { - One0 = "1.0", - One2 = "1.2" +/** Known values of {@link Transform} that the service accepts. */ +export enum KnownTransform { + Lowercase = "Lowercase", + Uppercase = "Uppercase", + Trim = "Trim", + UrlDecode = "UrlDecode", + UrlEncode = "UrlEncode", + RemoveNulls = "RemoveNulls" } /** - * Defines values for MinimumTLSVersion. \ - * {@link KnownMinimumTLSVersion} can be used interchangeably with MinimumTLSVersion, + * Defines values for Transform. \ + * {@link KnownTransform} can be used interchangeably with Transform, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **1.0** \ - * **1.2** + * **Lowercase** \ + * **Uppercase** \ + * **Trim** \ + * **UrlDecode** \ + * **UrlEncode** \ + * **RemoveNulls** */ -export type MinimumTLSVersion = string; +export type Transform = string; -/** Known values of {@link FrontDoorCertificateType} that the service accepts. */ -export enum KnownFrontDoorCertificateType { - Dedicated = "Dedicated" +/** Known values of {@link MatchProcessingBehavior} that the service accepts. */ +export enum KnownMatchProcessingBehavior { + Continue = "Continue", + Stop = "Stop" } /** - * Defines values for FrontDoorCertificateType. \ - * {@link KnownFrontDoorCertificateType} can be used interchangeably with FrontDoorCertificateType, + * Defines values for MatchProcessingBehavior. \ + * {@link KnownMatchProcessingBehavior} can be used interchangeably with MatchProcessingBehavior, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Dedicated** + * **Continue** \ + * **Stop** */ -export type FrontDoorCertificateType = string; +export type MatchProcessingBehavior = string; -/** Known values of {@link SessionAffinityEnabledState} that the service accepts. */ -export enum KnownSessionAffinityEnabledState { +/** Known values of {@link FrontDoorProtocol} that the service accepts. */ +export enum KnownFrontDoorProtocol { + Http = "Http", + Https = "Https" +} + +/** + * Defines values for FrontDoorProtocol. \ + * {@link KnownFrontDoorProtocol} can be used interchangeably with FrontDoorProtocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Http** \ + * **Https** + */ +export type FrontDoorProtocol = string; + +/** Known values of {@link RoutingRuleEnabledState} that the service accepts. */ +export enum KnownRoutingRuleEnabledState { Enabled = "Enabled", Disabled = "Disabled" } /** - * Defines values for SessionAffinityEnabledState. \ - * {@link KnownSessionAffinityEnabledState} can be used interchangeably with SessionAffinityEnabledState, + * Defines values for RoutingRuleEnabledState. \ + * {@link KnownRoutingRuleEnabledState} can be used interchangeably with RoutingRuleEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled** \ * **Disabled** */ -export type SessionAffinityEnabledState = string; +export type RoutingRuleEnabledState = string; -/** Known values of {@link EnforceCertificateNameCheckEnabledState} that the service accepts. */ -export enum KnownEnforceCertificateNameCheckEnabledState { +/** Known values of {@link FrontDoorHealthProbeMethod} that the service accepts. */ +export enum KnownFrontDoorHealthProbeMethod { + GET = "GET", + Head = "HEAD" +} + +/** + * Defines values for FrontDoorHealthProbeMethod. \ + * {@link KnownFrontDoorHealthProbeMethod} can be used interchangeably with FrontDoorHealthProbeMethod, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GET** \ + * **HEAD** + */ +export type FrontDoorHealthProbeMethod = string; + +/** Known values of {@link HealthProbeEnabled} that the service accepts. */ +export enum KnownHealthProbeEnabled { Enabled = "Enabled", Disabled = "Disabled" } /** - * Defines values for EnforceCertificateNameCheckEnabledState. \ - * {@link KnownEnforceCertificateNameCheckEnabledState} can be used interchangeably with EnforceCertificateNameCheckEnabledState, + * Defines values for HealthProbeEnabled. \ + * {@link KnownHealthProbeEnabled} can be used interchangeably with HealthProbeEnabled, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled** \ * **Disabled** */ -export type EnforceCertificateNameCheckEnabledState = string; +export type HealthProbeEnabled = string; -/** Known values of {@link FrontDoorEnabledState} that the service accepts. */ -export enum KnownFrontDoorEnabledState { +/** Known values of {@link PrivateEndpointStatus} that the service accepts. */ +export enum KnownPrivateEndpointStatus { + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected", + Disconnected = "Disconnected", + Timeout = "Timeout" +} + +/** + * Defines values for PrivateEndpointStatus. \ + * {@link KnownPrivateEndpointStatus} can be used interchangeably with PrivateEndpointStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** \ + * **Disconnected** \ + * **Timeout** + */ +export type PrivateEndpointStatus = string; + +/** Known values of {@link BackendEnabledState} that the service accepts. */ +export enum KnownBackendEnabledState { Enabled = "Enabled", Disabled = "Disabled" } /** - * Defines values for FrontDoorEnabledState. \ - * {@link KnownFrontDoorEnabledState} can be used interchangeably with FrontDoorEnabledState, + * Defines values for BackendEnabledState. \ + * {@link KnownBackendEnabledState} can be used interchangeably with BackendEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled** \ * **Disabled** */ -export type FrontDoorEnabledState = string; +export type BackendEnabledState = string; -/** Known values of {@link PolicyEnabledState} that the service accepts. */ -export enum KnownPolicyEnabledState { +/** Known values of {@link CustomHttpsProvisioningState} that the service accepts. */ +export enum KnownCustomHttpsProvisioningState { + Enabling = "Enabling", + Enabled = "Enabled", + Disabling = "Disabling", Disabled = "Disabled", - Enabled = "Enabled" + Failed = "Failed" } /** - * Defines values for PolicyEnabledState. \ - * {@link KnownPolicyEnabledState} can be used interchangeably with PolicyEnabledState, + * Defines values for CustomHttpsProvisioningState. \ + * {@link KnownCustomHttpsProvisioningState} can be used interchangeably with CustomHttpsProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **Enabling** \ + * **Enabled** \ + * **Disabling** \ * **Disabled** \ - * **Enabled** + * **Failed** */ -export type PolicyEnabledState = string; +export type CustomHttpsProvisioningState = string; -/** Known values of {@link PolicyMode} that the service accepts. */ -export enum KnownPolicyMode { - Prevention = "Prevention", - Detection = "Detection" +/** Known values of {@link CustomHttpsProvisioningSubstate} that the service accepts. */ +export enum KnownCustomHttpsProvisioningSubstate { + SubmittingDomainControlValidationRequest = "SubmittingDomainControlValidationRequest", + PendingDomainControlValidationREquestApproval = "PendingDomainControlValidationREquestApproval", + DomainControlValidationRequestApproved = "DomainControlValidationRequestApproved", + DomainControlValidationRequestRejected = "DomainControlValidationRequestRejected", + DomainControlValidationRequestTimedOut = "DomainControlValidationRequestTimedOut", + IssuingCertificate = "IssuingCertificate", + DeployingCertificate = "DeployingCertificate", + CertificateDeployed = "CertificateDeployed", + DeletingCertificate = "DeletingCertificate", + CertificateDeleted = "CertificateDeleted" } /** - * Defines values for PolicyMode. \ - * {@link KnownPolicyMode} can be used interchangeably with PolicyMode, + * Defines values for CustomHttpsProvisioningSubstate. \ + * {@link KnownCustomHttpsProvisioningSubstate} can be used interchangeably with CustomHttpsProvisioningSubstate, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Prevention** \ - * **Detection** + * **SubmittingDomainControlValidationRequest** \ + * **PendingDomainControlValidationREquestApproval** \ + * **DomainControlValidationRequestApproved** \ + * **DomainControlValidationRequestRejected** \ + * **DomainControlValidationRequestTimedOut** \ + * **IssuingCertificate** \ + * **DeployingCertificate** \ + * **CertificateDeployed** \ + * **DeletingCertificate** \ + * **CertificateDeleted** */ -export type PolicyMode = string; +export type CustomHttpsProvisioningSubstate = string; -/** Known values of {@link PolicyRequestBodyCheck} that the service accepts. */ -export enum KnownPolicyRequestBodyCheck { - Disabled = "Disabled", - Enabled = "Enabled" +/** Known values of {@link FrontDoorCertificateSource} that the service accepts. */ +export enum KnownFrontDoorCertificateSource { + AzureKeyVault = "AzureKeyVault", + FrontDoor = "FrontDoor" } /** - * Defines values for PolicyRequestBodyCheck. \ - * {@link KnownPolicyRequestBodyCheck} can be used interchangeably with PolicyRequestBodyCheck, + * Defines values for FrontDoorCertificateSource. \ + * {@link KnownFrontDoorCertificateSource} can be used interchangeably with FrontDoorCertificateSource, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Disabled** \ - * **Enabled** + * **AzureKeyVault** \ + * **FrontDoor** */ -export type PolicyRequestBodyCheck = string; +export type FrontDoorCertificateSource = string; -/** Known values of {@link CustomRuleEnabledState} that the service accepts. */ -export enum KnownCustomRuleEnabledState { - Disabled = "Disabled", - Enabled = "Enabled" +/** Known values of {@link FrontDoorTlsProtocolType} that the service accepts. */ +export enum KnownFrontDoorTlsProtocolType { + ServerNameIndication = "ServerNameIndication" } /** - * Defines values for CustomRuleEnabledState. \ - * {@link KnownCustomRuleEnabledState} can be used interchangeably with CustomRuleEnabledState, + * Defines values for FrontDoorTlsProtocolType. \ + * {@link KnownFrontDoorTlsProtocolType} can be used interchangeably with FrontDoorTlsProtocolType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Disabled** \ - * **Enabled** + * **ServerNameIndication** */ -export type CustomRuleEnabledState = string; +export type FrontDoorTlsProtocolType = string; -/** Known values of {@link RuleType} that the service accepts. */ -export enum KnownRuleType { - MatchRule = "MatchRule", - RateLimitRule = "RateLimitRule" +/** Known values of {@link MinimumTLSVersion} that the service accepts. */ +export enum KnownMinimumTLSVersion { + One0 = "1.0", + One2 = "1.2" } /** - * Defines values for RuleType. \ - * {@link KnownRuleType} can be used interchangeably with RuleType, + * Defines values for MinimumTLSVersion. \ + * {@link KnownMinimumTLSVersion} can be used interchangeably with MinimumTLSVersion, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **MatchRule** \ - * **RateLimitRule** + * **1.0** \ + * **1.2** */ -export type RuleType = string; +export type MinimumTLSVersion = string; -/** Known values of {@link MatchVariable} that the service accepts. */ -export enum KnownMatchVariable { - RemoteAddr = "RemoteAddr", - RequestMethod = "RequestMethod", - QueryString = "QueryString", - PostArgs = "PostArgs", - RequestUri = "RequestUri", - RequestHeader = "RequestHeader", - RequestBody = "RequestBody", - Cookies = "Cookies", - SocketAddr = "SocketAddr" +/** Known values of {@link FrontDoorCertificateType} that the service accepts. */ +export enum KnownFrontDoorCertificateType { + Dedicated = "Dedicated" } /** - * Defines values for MatchVariable. \ - * {@link KnownMatchVariable} can be used interchangeably with MatchVariable, + * Defines values for FrontDoorCertificateType. \ + * {@link KnownFrontDoorCertificateType} can be used interchangeably with FrontDoorCertificateType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **RemoteAddr** \ - * **RequestMethod** \ - * **QueryString** \ - * **PostArgs** \ - * **RequestUri** \ - * **RequestHeader** \ - * **RequestBody** \ - * **Cookies** \ - * **SocketAddr** + * **Dedicated** */ -export type MatchVariable = string; +export type FrontDoorCertificateType = string; -/** Known values of {@link Operator} that the service accepts. */ -export enum KnownOperator { - Any = "Any", - IPMatch = "IPMatch", - GeoMatch = "GeoMatch", - Equal = "Equal", - Contains = "Contains", - LessThan = "LessThan", - GreaterThan = "GreaterThan", - LessThanOrEqual = "LessThanOrEqual", - GreaterThanOrEqual = "GreaterThanOrEqual", - BeginsWith = "BeginsWith", - EndsWith = "EndsWith", - RegEx = "RegEx" +/** Known values of {@link SessionAffinityEnabledState} that the service accepts. */ +export enum KnownSessionAffinityEnabledState { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * Defines values for Operator. \ - * {@link KnownOperator} can be used interchangeably with Operator, + * Defines values for SessionAffinityEnabledState. \ + * {@link KnownSessionAffinityEnabledState} can be used interchangeably with SessionAffinityEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Any** \ - * **IPMatch** \ - * **GeoMatch** \ - * **Equal** \ - * **Contains** \ - * **LessThan** \ - * **GreaterThan** \ - * **LessThanOrEqual** \ - * **GreaterThanOrEqual** \ - * **BeginsWith** \ - * **EndsWith** \ - * **RegEx** + * **Enabled** \ + * **Disabled** */ -export type Operator = string; +export type SessionAffinityEnabledState = string; -/** Known values of {@link TransformType} that the service accepts. */ -export enum KnownTransformType { - Lowercase = "Lowercase", - Uppercase = "Uppercase", - Trim = "Trim", - UrlDecode = "UrlDecode", - UrlEncode = "UrlEncode", - RemoveNulls = "RemoveNulls" +/** Known values of {@link EnforceCertificateNameCheckEnabledState} that the service accepts. */ +export enum KnownEnforceCertificateNameCheckEnabledState { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * Defines values for TransformType. \ - * {@link KnownTransformType} can be used interchangeably with TransformType, + * Defines values for EnforceCertificateNameCheckEnabledState. \ + * {@link KnownEnforceCertificateNameCheckEnabledState} can be used interchangeably with EnforceCertificateNameCheckEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Lowercase** \ - * **Uppercase** \ - * **Trim** \ - * **UrlDecode** \ - * **UrlEncode** \ - * **RemoveNulls** + * **Enabled** \ + * **Disabled** */ -export type TransformType = string; +export type EnforceCertificateNameCheckEnabledState = string; -/** Known values of {@link ActionType} that the service accepts. */ -export enum KnownActionType { - Allow = "Allow", - Block = "Block", - Log = "Log", - Redirect = "Redirect" +/** Known values of {@link FrontDoorEnabledState} that the service accepts. */ +export enum KnownFrontDoorEnabledState { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * Defines values for ActionType. \ - * {@link KnownActionType} can be used interchangeably with ActionType, + * Defines values for FrontDoorEnabledState. \ + * {@link KnownFrontDoorEnabledState} can be used interchangeably with FrontDoorEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Allow** \ - * **Block** \ - * **Log** \ - * **Redirect** + * **Enabled** \ + * **Disabled** */ -export type ActionType = string; +export type FrontDoorEnabledState = string; -/** Known values of {@link ManagedRuleSetActionType} that the service accepts. */ -export enum KnownManagedRuleSetActionType { - Block = "Block", - Log = "Log", - Redirect = "Redirect" +/** Known values of {@link NetworkExperimentResourceState} that the service accepts. */ +export enum KnownNetworkExperimentResourceState { + Creating = "Creating", + Enabling = "Enabling", + Enabled = "Enabled", + Disabling = "Disabling", + Disabled = "Disabled", + Deleting = "Deleting" } /** - * Defines values for ManagedRuleSetActionType. \ - * {@link KnownManagedRuleSetActionType} can be used interchangeably with ManagedRuleSetActionType, + * Defines values for NetworkExperimentResourceState. \ + * {@link KnownNetworkExperimentResourceState} can be used interchangeably with NetworkExperimentResourceState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Block** \ - * **Log** \ - * **Redirect** + * **Creating** \ + * **Enabling** \ + * **Enabled** \ + * **Disabling** \ + * **Disabled** \ + * **Deleting** */ -export type ManagedRuleSetActionType = string; +export type NetworkExperimentResourceState = string; -/** Known values of {@link ManagedRuleExclusionMatchVariable} that the service accepts. */ -export enum KnownManagedRuleExclusionMatchVariable { - RequestHeaderNames = "RequestHeaderNames", - RequestCookieNames = "RequestCookieNames", - QueryStringArgNames = "QueryStringArgNames", - RequestBodyPostArgNames = "RequestBodyPostArgNames", - RequestBodyJsonArgNames = "RequestBodyJsonArgNames" +/** Known values of {@link State} that the service accepts. */ +export enum KnownState { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * Defines values for ManagedRuleExclusionMatchVariable. \ - * {@link KnownManagedRuleExclusionMatchVariable} can be used interchangeably with ManagedRuleExclusionMatchVariable, + * Defines values for State. \ + * {@link KnownState} can be used interchangeably with State, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **RequestHeaderNames** \ - * **RequestCookieNames** \ - * **QueryStringArgNames** \ - * **RequestBodyPostArgNames** \ - * **RequestBodyJsonArgNames** + * **Enabled** \ + * **Disabled** */ -export type ManagedRuleExclusionMatchVariable = string; +export type State = string; -/** Known values of {@link ManagedRuleExclusionSelectorMatchOperator} that the service accepts. */ -export enum KnownManagedRuleExclusionSelectorMatchOperator { - Equals = "Equals", - Contains = "Contains", - StartsWith = "StartsWith", - EndsWith = "EndsWith", - EqualsAny = "EqualsAny" +/** Known values of {@link EndpointType} that the service accepts. */ +export enum KnownEndpointType { + AFD = "AFD", + AzureRegion = "AzureRegion", + CDN = "CDN", + ATM = "ATM" } /** - * Defines values for ManagedRuleExclusionSelectorMatchOperator. \ - * {@link KnownManagedRuleExclusionSelectorMatchOperator} can be used interchangeably with ManagedRuleExclusionSelectorMatchOperator, + * Defines values for EndpointType. \ + * {@link KnownEndpointType} can be used interchangeably with EndpointType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Equals** \ - * **Contains** \ - * **StartsWith** \ - * **EndsWith** \ - * **EqualsAny** + * **AFD** \ + * **AzureRegion** \ + * **CDN** \ + * **ATM** */ -export type ManagedRuleExclusionSelectorMatchOperator = string; +export type EndpointType = string; -/** Known values of {@link ManagedRuleEnabledState} that the service accepts. */ -export enum KnownManagedRuleEnabledState { - Disabled = "Disabled", - Enabled = "Enabled" +/** Known values of {@link LatencyScorecardAggregationInterval} that the service accepts. */ +export enum KnownLatencyScorecardAggregationInterval { + Daily = "Daily", + Weekly = "Weekly", + Monthly = "Monthly" } /** - * Defines values for ManagedRuleEnabledState. \ - * {@link KnownManagedRuleEnabledState} can be used interchangeably with ManagedRuleEnabledState, + * Defines values for LatencyScorecardAggregationInterval. \ + * {@link KnownLatencyScorecardAggregationInterval} can be used interchangeably with LatencyScorecardAggregationInterval, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Disabled** \ - * **Enabled** + * **Daily** \ + * **Weekly** \ + * **Monthly** */ -export type ManagedRuleEnabledState = string; +export type LatencyScorecardAggregationInterval = string; -/** Known values of {@link PolicyResourceState} that the service accepts. */ -export enum KnownPolicyResourceState { - Creating = "Creating", - Enabling = "Enabling", - Enabled = "Enabled", - Disabling = "Disabling", - Disabled = "Disabled", - Deleting = "Deleting" +/** Known values of {@link TimeseriesAggregationInterval} that the service accepts. */ +export enum KnownTimeseriesAggregationInterval { + Hourly = "Hourly", + Daily = "Daily" } /** - * Defines values for PolicyResourceState. \ - * {@link KnownPolicyResourceState} can be used interchangeably with PolicyResourceState, + * Defines values for TimeseriesAggregationInterval. \ + * {@link KnownTimeseriesAggregationInterval} can be used interchangeably with TimeseriesAggregationInterval, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Creating** \ - * **Enabling** \ - * **Enabled** \ - * **Disabling** \ - * **Disabled** \ - * **Deleting** + * **Hourly** \ + * **Daily** */ -export type PolicyResourceState = string; +export type TimeseriesAggregationInterval = string; -/** Known values of {@link SkuName} that the service accepts. */ -export enum KnownSkuName { - ClassicAzureFrontDoor = "Classic_AzureFrontDoor", - StandardAzureFrontDoor = "Standard_AzureFrontDoor", - PremiumAzureFrontDoor = "Premium_AzureFrontDoor" +/** Known values of {@link TimeseriesType} that the service accepts. */ +export enum KnownTimeseriesType { + MeasurementCounts = "MeasurementCounts", + LatencyP50 = "LatencyP50", + LatencyP75 = "LatencyP75", + LatencyP95 = "LatencyP95" } /** - * Defines values for SkuName. \ - * {@link KnownSkuName} can be used interchangeably with SkuName, + * Defines values for TimeseriesType. \ + * {@link KnownTimeseriesType} can be used interchangeably with TimeseriesType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Classic_AzureFrontDoor** \ - * **Standard_AzureFrontDoor** \ - * **Premium_AzureFrontDoor** + * **MeasurementCounts** \ + * **LatencyP50** \ + * **LatencyP75** \ + * **LatencyP95** + */ +export type TimeseriesType = string; + +/** Known values of {@link AggregationInterval} that the service accepts. */ +export enum KnownAggregationInterval { + Hourly = "Hourly", + Daily = "Daily" +} + +/** + * Defines values for AggregationInterval. \ + * {@link KnownAggregationInterval} can be used interchangeably with AggregationInterval, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Hourly** \ + * **Daily** */ -export type SkuName = string; +export type AggregationInterval = string; /** Known values of {@link NetworkOperationStatus} that the service accepts. */ export enum KnownNetworkOperationStatus { @@ -2284,28 +2298,21 @@ export type ResourceType = | "Microsoft.Network/frontDoors/frontendEndpoints"; /** Optional parameters. */ -export interface NetworkExperimentProfilesListOptionalParams +export interface PoliciesListOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type NetworkExperimentProfilesListResponse = ProfileList; - -/** Optional parameters. */ -export interface NetworkExperimentProfilesListByResourceGroupOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByResourceGroup operation. */ -export type NetworkExperimentProfilesListByResourceGroupResponse = ProfileList; +export type PoliciesListResponse = WebApplicationFirewallPolicyList; /** Optional parameters. */ -export interface NetworkExperimentProfilesGetOptionalParams +export interface PoliciesGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type NetworkExperimentProfilesGetResponse = Profile; +export type PoliciesGetResponse = WebApplicationFirewallPolicy; /** Optional parameters. */ -export interface NetworkExperimentProfilesCreateOrUpdateOptionalParams +export interface PoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2314,10 +2321,10 @@ export interface NetworkExperimentProfilesCreateOrUpdateOptionalParams } /** Contains response data for the createOrUpdate operation. */ -export type NetworkExperimentProfilesCreateOrUpdateResponse = Profile; +export type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy; /** Optional parameters. */ -export interface NetworkExperimentProfilesUpdateOptionalParams +export interface PoliciesUpdateOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2326,10 +2333,10 @@ export interface NetworkExperimentProfilesUpdateOptionalParams } /** Contains response data for the update operation. */ -export type NetworkExperimentProfilesUpdateResponse = Profile; +export type PoliciesUpdateResponse = WebApplicationFirewallPolicy; /** Optional parameters. */ -export interface NetworkExperimentProfilesDeleteOptionalParams +export interface PoliciesDeleteOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2338,110 +2345,25 @@ export interface NetworkExperimentProfilesDeleteOptionalParams } /** Optional parameters. */ -export interface NetworkExperimentProfilesListNextOptionalParams +export interface PoliciesListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type NetworkExperimentProfilesListNextResponse = ProfileList; - -/** Optional parameters. */ -export interface NetworkExperimentProfilesListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByResourceGroupNext operation. */ -export type NetworkExperimentProfilesListByResourceGroupNextResponse = ProfileList; +export type PoliciesListNextResponse = WebApplicationFirewallPolicyList; /** Optional parameters. */ -export interface PreconfiguredEndpointsListOptionalParams +export interface ManagedRuleSetsListOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type PreconfiguredEndpointsListResponse = PreconfiguredEndpointList; +export type ManagedRuleSetsListResponse = ManagedRuleSetDefinitionList; /** Optional parameters. */ -export interface PreconfiguredEndpointsListNextOptionalParams +export interface ManagedRuleSetsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type PreconfiguredEndpointsListNextResponse = PreconfiguredEndpointList; - -/** Optional parameters. */ -export interface ExperimentsListByProfileOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByProfile operation. */ -export type ExperimentsListByProfileResponse = ExperimentList; - -/** Optional parameters. */ -export interface ExperimentsGetOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the get operation. */ -export type ExperimentsGetResponse = Experiment; - -/** Optional parameters. */ -export interface ExperimentsCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the createOrUpdate operation. */ -export type ExperimentsCreateOrUpdateResponse = Experiment; - -/** Optional parameters. */ -export interface ExperimentsUpdateOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Contains response data for the update operation. */ -export type ExperimentsUpdateResponse = Experiment; - -/** Optional parameters. */ -export interface ExperimentsDeleteOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} - -/** Optional parameters. */ -export interface ExperimentsListByProfileNextOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the listByProfileNext operation. */ -export type ExperimentsListByProfileNextResponse = ExperimentList; - -/** Optional parameters. */ -export interface ReportsGetLatencyScorecardsOptionalParams - extends coreClient.OperationOptions { - /** The end DateTime of the Latency Scorecard in UTC */ - endDateTimeUTC?: string; - /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */ - country?: string; -} - -/** Contains response data for the getLatencyScorecards operation. */ -export type ReportsGetLatencyScorecardsResponse = LatencyScorecard; - -/** Optional parameters. */ -export interface ReportsGetTimeseriesOptionalParams - extends coreClient.OperationOptions { - /** 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 specific endpoint */ - endpoint?: string; -} - -/** Contains response data for the getTimeseries operation. */ -export type ReportsGetTimeseriesResponse = Timeseries; +export type ManagedRuleSetsListNextResponse = ManagedRuleSetDefinitionList; /** Optional parameters. */ export interface FrontDoorNameAvailabilityCheckOptionalParams @@ -2611,21 +2533,28 @@ export interface RulesEnginesListByFrontDoorNextOptionalParams export type RulesEnginesListByFrontDoorNextResponse = RulesEngineListResult; /** Optional parameters. */ -export interface PoliciesListOptionalParams +export interface NetworkExperimentProfilesListOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type PoliciesListResponse = WebApplicationFirewallPolicyList; +export type NetworkExperimentProfilesListResponse = ProfileList; /** Optional parameters. */ -export interface PoliciesGetOptionalParams +export interface NetworkExperimentProfilesListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroup operation. */ +export type NetworkExperimentProfilesListByResourceGroupResponse = ProfileList; + +/** Optional parameters. */ +export interface NetworkExperimentProfilesGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type PoliciesGetResponse = WebApplicationFirewallPolicy; +export type NetworkExperimentProfilesGetResponse = Profile; /** Optional parameters. */ -export interface PoliciesCreateOrUpdateOptionalParams +export interface NetworkExperimentProfilesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2634,10 +2563,10 @@ export interface PoliciesCreateOrUpdateOptionalParams } /** Contains response data for the createOrUpdate operation. */ -export type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy; +export type NetworkExperimentProfilesCreateOrUpdateResponse = Profile; /** Optional parameters. */ -export interface PoliciesDeleteOptionalParams +export interface NetworkExperimentProfilesUpdateOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; @@ -2645,26 +2574,123 @@ export interface PoliciesDeleteOptionalParams resumeFrom?: string; } +/** Contains response data for the update operation. */ +export type NetworkExperimentProfilesUpdateResponse = Profile; + /** Optional parameters. */ -export interface PoliciesListNextOptionalParams +export interface NetworkExperimentProfilesDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface NetworkExperimentProfilesListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type PoliciesListNextResponse = WebApplicationFirewallPolicyList; +export type NetworkExperimentProfilesListNextResponse = ProfileList; /** Optional parameters. */ -export interface ManagedRuleSetsListOptionalParams +export interface NetworkExperimentProfilesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type NetworkExperimentProfilesListByResourceGroupNextResponse = ProfileList; + +/** Optional parameters. */ +export interface PreconfiguredEndpointsListOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type ManagedRuleSetsListResponse = ManagedRuleSetDefinitionList; +export type PreconfiguredEndpointsListResponse = PreconfiguredEndpointList; /** Optional parameters. */ -export interface ManagedRuleSetsListNextOptionalParams +export interface PreconfiguredEndpointsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type ManagedRuleSetsListNextResponse = ManagedRuleSetDefinitionList; +export type PreconfiguredEndpointsListNextResponse = PreconfiguredEndpointList; + +/** Optional parameters. */ +export interface ExperimentsListByProfileOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByProfile operation. */ +export type ExperimentsListByProfileResponse = ExperimentList; + +/** Optional parameters. */ +export interface ExperimentsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ExperimentsGetResponse = Experiment; + +/** Optional parameters. */ +export interface ExperimentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type ExperimentsCreateOrUpdateResponse = Experiment; + +/** Optional parameters. */ +export interface ExperimentsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type ExperimentsUpdateResponse = Experiment; + +/** Optional parameters. */ +export interface ExperimentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface ExperimentsListByProfileNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByProfileNext operation. */ +export type ExperimentsListByProfileNextResponse = ExperimentList; + +/** Optional parameters. */ +export interface ReportsGetLatencyScorecardsOptionalParams + extends coreClient.OperationOptions { + /** The end DateTime of the Latency Scorecard in UTC */ + endDateTimeUTC?: string; + /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */ + country?: string; +} + +/** Contains response data for the getLatencyScorecards operation. */ +export type ReportsGetLatencyScorecardsResponse = LatencyScorecard; + +/** Optional parameters. */ +export interface ReportsGetTimeseriesOptionalParams + extends coreClient.OperationOptions { + /** 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 specific endpoint */ + endpoint?: string; +} + +/** Contains response data for the getTimeseries operation. */ +export type ReportsGetTimeseriesResponse = Timeseries; /** Optional parameters. */ export interface FrontDoorManagementClientOptionalParams diff --git a/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts b/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts index 40dedee10cf0..6dc15f5432ad 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/mappers.ts @@ -8,10 +8,10 @@ import * as coreClient from "@azure/core-client"; -export const ProfileList: coreClient.CompositeMapper = { +export const WebApplicationFirewallPolicyList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProfileList", + className: "WebApplicationFirewallPolicyList", modelProperties: { value: { serializedName: "value", @@ -21,7 +21,7 @@ export const ProfileList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "Profile" + className: "WebApplicationFirewallPolicy" } } } @@ -36,114 +36,146 @@ export const ProfileList: coreClient.CompositeMapper = { } }; -export const Resource: coreClient.CompositeMapper = { +export const PolicySettings: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Resource", + className: "PolicySettings", modelProperties: { - id: { - serializedName: "id", - readOnly: true, + enabledState: { + serializedName: "enabledState", type: { name: "String" } }, - name: { - serializedName: "name", - readOnly: true, + mode: { + serializedName: "mode", type: { name: "String" } }, - type: { - serializedName: "type", - readOnly: true, + redirectUrl: { + serializedName: "redirectUrl", type: { name: "String" } }, - location: { - serializedName: "location", + customBlockResponseStatusCode: { + serializedName: "customBlockResponseStatusCode", + type: { + name: "Number" + } + }, + customBlockResponseBody: { + constraints: { + Pattern: new RegExp( + "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + ) + }, + serializedName: "customBlockResponseBody", type: { name: "String" } }, - tags: { - serializedName: "tags", + requestBodyCheck: { + serializedName: "requestBodyCheck", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "String" } } } } }; -export const ErrorResponse: coreClient.CompositeMapper = { +export const CustomRuleList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "CustomRuleList", modelProperties: { - code: { - serializedName: "code", - readOnly: true, - type: { - name: "String" - } - }, - message: { - serializedName: "message", - readOnly: true, + rules: { + serializedName: "rules", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CustomRule" + } + } } } } } }; -export const ProfileUpdateModel: coreClient.CompositeMapper = { +export const CustomRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProfileUpdateModel", + className: "CustomRule", modelProperties: { - tags: { - serializedName: "tags", + name: { + constraints: { + MaxLength: 128 + }, + serializedName: "name", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "String" + } + }, + priority: { + serializedName: "priority", + required: true, + type: { + name: "Number" } }, enabledState: { - serializedName: "properties.enabledState", + serializedName: "enabledState", type: { name: "String" } - } - } - } -}; - -export const PreconfiguredEndpointList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PreconfiguredEndpointList", - modelProperties: { - value: { - serializedName: "value", - readOnly: true, + }, + ruleType: { + serializedName: "ruleType", + required: true, + type: { + name: "String" + } + }, + rateLimitDurationInMinutes: { + constraints: { + InclusiveMaximum: 5, + InclusiveMinimum: 0 + }, + serializedName: "rateLimitDurationInMinutes", + type: { + name: "Number" + } + }, + rateLimitThreshold: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "rateLimitThreshold", + type: { + name: "Number" + } + }, + matchConditions: { + serializedName: "matchConditions", + required: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "PreconfiguredEndpoint" + className: "MatchCondition" } } } }, - nextLink: { - serializedName: "nextLink", + action: { + serializedName: "action", + required: true, type: { name: "String" } @@ -152,232 +184,285 @@ export const PreconfiguredEndpointList: coreClient.CompositeMapper = { } }; -export const ExperimentList: coreClient.CompositeMapper = { +export const MatchCondition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExperimentList", + className: "MatchCondition", modelProperties: { - value: { - serializedName: "value", - readOnly: true, + matchVariable: { + serializedName: "matchVariable", + required: true, + type: { + name: "String" + } + }, + selector: { + serializedName: "selector", + type: { + name: "String" + } + }, + operator: { + serializedName: "operator", + required: true, + type: { + name: "String" + } + }, + negateCondition: { + serializedName: "negateCondition", + type: { + name: "Boolean" + } + }, + matchValue: { + serializedName: "matchValue", + required: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "Experiment" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + transforms: { + serializedName: "transforms", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const Endpoint: coreClient.CompositeMapper = { +export const ManagedRuleSetList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Endpoint", + className: "ManagedRuleSetList", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - endpoint: { - serializedName: "endpoint", + managedRuleSets: { + serializedName: "managedRuleSets", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleSet" + } + } } } } } }; -export const ExperimentUpdateModel: coreClient.CompositeMapper = { +export const ManagedRuleSet: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExperimentUpdateModel", + className: "ManagedRuleSet", modelProperties: { - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - }, - description: { - serializedName: "properties.description", + ruleSetType: { + serializedName: "ruleSetType", + required: true, type: { name: "String" } }, - enabledState: { - serializedName: "properties.enabledState", + ruleSetVersion: { + serializedName: "ruleSetVersion", + required: true, type: { name: "String" } - } - } - } -}; - -export const LatencyMetric: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LatencyMetric", - modelProperties: { - name: { - serializedName: "name", - readOnly: true, + }, + ruleSetAction: { + serializedName: "ruleSetAction", type: { name: "String" } }, - endDateTimeUTC: { - serializedName: "endDateTimeUTC", - readOnly: true, - type: { - name: "String" - } - }, - aValue: { - serializedName: "aValue", - readOnly: true, + exclusions: { + serializedName: "exclusions", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleExclusion" + } + } } }, - bValue: { - serializedName: "bValue", - readOnly: true, + ruleGroupOverrides: { + serializedName: "ruleGroupOverrides", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleGroupOverride" + } + } } - }, - delta: { - serializedName: "delta", - readOnly: true, + } + } + } +}; + +export const ManagedRuleExclusion: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedRuleExclusion", + modelProperties: { + matchVariable: { + serializedName: "matchVariable", + required: true, type: { - name: "Number" + name: "String" } }, - deltaPercent: { - serializedName: "deltaPercent", - readOnly: true, + selectorMatchOperator: { + serializedName: "selectorMatchOperator", + required: true, type: { - name: "Number" + name: "String" } }, - aCLower95CI: { - serializedName: "aCLower95CI", - readOnly: true, + selector: { + serializedName: "selector", + required: true, type: { - name: "Number" + name: "String" } - }, - aHUpper95CI: { - serializedName: "aHUpper95CI", - readOnly: true, + } + } + } +}; + +export const ManagedRuleGroupOverride: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedRuleGroupOverride", + modelProperties: { + ruleGroupName: { + serializedName: "ruleGroupName", + required: true, type: { - name: "Number" + name: "String" } }, - bCLower95CI: { - serializedName: "bCLower95CI", - readOnly: true, + exclusions: { + serializedName: "exclusions", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleExclusion" + } + } } }, - bUpper95CI: { - serializedName: "bUpper95CI", - readOnly: true, + rules: { + serializedName: "rules", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleOverride" + } + } } } } } }; -export const TimeseriesDataPoint: coreClient.CompositeMapper = { +export const ManagedRuleOverride: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TimeseriesDataPoint", + className: "ManagedRuleOverride", modelProperties: { - dateTimeUTC: { - serializedName: "dateTimeUTC", + ruleId: { + serializedName: "ruleId", + required: true, type: { name: "String" } }, - value: { - serializedName: "value", + enabledState: { + serializedName: "enabledState", type: { - name: "Number" + name: "String" + } + }, + action: { + serializedName: "action", + type: { + name: "String" + } + }, + exclusions: { + serializedName: "exclusions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleExclusion" + } + } } } } } }; -export const CheckNameAvailabilityInput: coreClient.CompositeMapper = { +export const FrontendEndpointLink: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityInput", + className: "FrontendEndpointLink", modelProperties: { - name: { - serializedName: "name", - required: true, + id: { + serializedName: "id", type: { name: "String" } - }, - type: { - serializedName: "type", - required: true, - type: { - name: "Enum", - allowedValues: [ - "Microsoft.Network/frontDoors", - "Microsoft.Network/frontDoors/frontendEndpoints" - ] - } } } } }; -export const CheckNameAvailabilityOutput: coreClient.CompositeMapper = { +export const RoutingRuleLink: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityOutput", + className: "RoutingRuleLink", modelProperties: { - nameAvailability: { - serializedName: "nameAvailability", - readOnly: true, - type: { - name: "String" - } - }, - reason: { - serializedName: "reason", - readOnly: true, + id: { + serializedName: "id", type: { name: "String" } - }, - message: { - serializedName: "message", - readOnly: true, + } + } + } +}; + +export const SecurityPolicyLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityPolicyLink", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } @@ -386,26 +471,13 @@ export const CheckNameAvailabilityOutput: coreClient.CompositeMapper = { } }; -export const FrontDoorListResult: coreClient.CompositeMapper = { +export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FrontDoorListResult", + className: "Sku", modelProperties: { - value: { - serializedName: "value", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FrontDoor" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + name: { + serializedName: "name", type: { name: "String" } @@ -414,116 +486,108 @@ export const FrontDoorListResult: coreClient.CompositeMapper = { } }; -export const RulesEngine: coreClient.CompositeMapper = { +export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngine", + className: "Resource", modelProperties: { - name: { - serializedName: "name", + id: { + serializedName: "id", readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } }, - id: { - serializedName: "id", + type: { + serializedName: "type", readOnly: true, type: { name: "String" } }, - rules: { - serializedName: "properties.rules", + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RulesEngineRule" - } - } + name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", - readOnly: true, + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const RulesEngineUpdateParameters: coreClient.CompositeMapper = { +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngineUpdateParameters", + className: "ErrorResponse", modelProperties: { - rules: { - serializedName: "rules", + code: { + serializedName: "code", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RulesEngineRule" - } - } + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" } } } } }; -export const RulesEngineRule: coreClient.CompositeMapper = { +export const TagsObject: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngineRule", + className: "TagsObject", modelProperties: { - name: { - serializedName: "name", - required: true, - type: { - name: "String" - } - }, - priority: { - serializedName: "priority", - required: true, - type: { - name: "Number" - } - }, - action: { - serializedName: "action", + tags: { + serializedName: "tags", type: { - name: "Composite", - className: "RulesEngineAction" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - matchConditions: { - serializedName: "matchConditions", + } + } + } +}; + +export const ManagedRuleSetDefinitionList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedRuleSetDefinitionList", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "RulesEngineMatchCondition" + className: "ManagedRuleSetDefinition" } } } }, - matchProcessingBehavior: { - serializedName: "matchProcessingBehavior", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -532,67 +596,71 @@ export const RulesEngineRule: coreClient.CompositeMapper = { } }; -export const RulesEngineAction: coreClient.CompositeMapper = { +export const ManagedRuleGroupDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngineAction", + className: "ManagedRuleGroupDefinition", modelProperties: { - requestHeaderActions: { - serializedName: "requestHeaderActions", + ruleGroupName: { + serializedName: "ruleGroupName", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HeaderAction" - } - } + name: "String" } }, - responseHeaderActions: { - serializedName: "responseHeaderActions", + description: { + serializedName: "description", + readOnly: true, + type: { + name: "String" + } + }, + rules: { + serializedName: "rules", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "HeaderAction" + className: "ManagedRuleDefinition" } } } - }, - routeConfigurationOverride: { - serializedName: "routeConfigurationOverride", - type: { - name: "Composite", - className: "RouteConfiguration" - } } } } }; -export const HeaderAction: coreClient.CompositeMapper = { +export const ManagedRuleDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HeaderAction", + className: "ManagedRuleDefinition", modelProperties: { - headerActionType: { - serializedName: "headerActionType", - required: true, + ruleId: { + serializedName: "ruleId", + readOnly: true, type: { name: "String" } }, - headerName: { - serializedName: "headerName", - required: true, + defaultState: { + serializedName: "defaultState", + readOnly: true, type: { name: "String" } }, - value: { - serializedName: "value", + defaultAction: { + serializedName: "defaultAction", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "description", + readOnly: true, type: { name: "String" } @@ -601,165 +669,132 @@ export const HeaderAction: coreClient.CompositeMapper = { } }; -export const RouteConfiguration: coreClient.CompositeMapper = { +export const CheckNameAvailabilityInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RouteConfiguration", - uberParent: "RouteConfiguration", - polymorphicDiscriminator: { - serializedName: "@odata\\.type", - clientName: "odataType" - }, + className: "CheckNameAvailabilityInput", modelProperties: { - odataType: { - serializedName: "@odata\\.type", + name: { + serializedName: "name", required: true, type: { name: "String" } + }, + type: { + serializedName: "type", + required: true, + type: { + name: "Enum", + allowedValues: [ + "Microsoft.Network/frontDoors", + "Microsoft.Network/frontDoors/frontendEndpoints" + ] + } } } } }; -export const RulesEngineMatchCondition: coreClient.CompositeMapper = { +export const CheckNameAvailabilityOutput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngineMatchCondition", + className: "CheckNameAvailabilityOutput", modelProperties: { - rulesEngineMatchVariable: { - serializedName: "rulesEngineMatchVariable", - required: true, + nameAvailability: { + serializedName: "nameAvailability", + readOnly: true, type: { name: "String" } }, - selector: { - serializedName: "selector", + reason: { + serializedName: "reason", + readOnly: true, type: { name: "String" } }, - rulesEngineOperator: { - serializedName: "rulesEngineOperator", - required: true, + message: { + serializedName: "message", + readOnly: true, type: { name: "String" } - }, - negateCondition: { - serializedName: "negateCondition", - type: { - name: "Boolean" - } - }, - rulesEngineMatchValue: { - serializedName: "rulesEngineMatchValue", - required: true, + } + } + } +}; + +export const FrontDoorListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FrontDoorListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "FrontDoor" } } } }, - transforms: { - serializedName: "transforms", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const FrontDoorUpdateParameters: coreClient.CompositeMapper = { +export const RulesEngine: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FrontDoorUpdateParameters", + className: "RulesEngine", modelProperties: { - friendlyName: { - serializedName: "friendlyName", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - routingRules: { - serializedName: "routingRules", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoutingRule" - } - } + name: "String" } }, - loadBalancingSettings: { - serializedName: "loadBalancingSettings", + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + rules: { + serializedName: "properties.rules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "LoadBalancingSettingsModel" + className: "RulesEngineRule" } } } }, - healthProbeSettings: { - serializedName: "healthProbeSettings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthProbeSettingsModel" - } - } - } - }, - 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", + resourceState: { + serializedName: "properties.resourceState", + readOnly: true, type: { name: "String" } @@ -768,166 +803,67 @@ export const FrontDoorUpdateParameters: coreClient.CompositeMapper = { } }; -export const RoutingRuleUpdateParameters: coreClient.CompositeMapper = { +export const RulesEngineUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoutingRuleUpdateParameters", + className: "RulesEngineUpdateParameters", modelProperties: { - frontendEndpoints: { - serializedName: "frontendEndpoints", + rules: { + serializedName: "rules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SubResource" - } - } - } - }, - acceptedProtocols: { - serializedName: "acceptedProtocols", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - patternsToMatch: { - serializedName: "patternsToMatch", - type: { - name: "Sequence", - element: { - type: { - name: "String" + className: "RulesEngineRule" } } } - }, - enabledState: { - serializedName: "enabledState", - type: { - name: "String" - } - }, - routeConfiguration: { - serializedName: "routeConfiguration", - type: { - name: "Composite", - className: "RouteConfiguration" - } - }, - rulesEngine: { - serializedName: "rulesEngine", - type: { - name: "Composite", - className: "SubResource" - } - }, - webApplicationFirewallPolicyLink: { - serializedName: "webApplicationFirewallPolicyLink", - type: { - name: "Composite", - className: - "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink" - } - } - } - } -}; - -export const SubResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SubResource", - modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } } } } }; -export const RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink: coreClient.CompositeMapper = { +export const RulesEngineRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink", + className: "RulesEngineRule", modelProperties: { - id: { - serializedName: "id", + name: { + serializedName: "name", + required: true, type: { name: "String" } - } - } - } -}; - -export const LoadBalancingSettingsUpdateParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LoadBalancingSettingsUpdateParameters", - modelProperties: { - sampleSize: { - serializedName: "sampleSize", - type: { - name: "Number" - } }, - successfulSamplesRequired: { - serializedName: "successfulSamplesRequired", + priority: { + serializedName: "priority", + required: true, type: { name: "Number" } }, - additionalLatencyMilliseconds: { - serializedName: "additionalLatencyMilliseconds", - type: { - name: "Number" - } - } - } - } -}; - -export const HealthProbeSettingsUpdateParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "HealthProbeSettingsUpdateParameters", - modelProperties: { - path: { - serializedName: "path", - type: { - name: "String" - } - }, - protocol: { - serializedName: "protocol", - type: { - name: "String" - } - }, - intervalInSeconds: { - serializedName: "intervalInSeconds", + action: { + serializedName: "action", type: { - name: "Number" + name: "Composite", + className: "RulesEngineAction" } }, - healthProbeMethod: { - defaultValue: "HEAD", - serializedName: "healthProbeMethod", + matchConditions: { + serializedName: "matchConditions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngineMatchCondition" + } + } } }, - enabledState: { - serializedName: "enabledState", + matchProcessingBehavior: { + serializedName: "matchProcessingBehavior", type: { name: "String" } @@ -936,131 +872,67 @@ export const HealthProbeSettingsUpdateParameters: coreClient.CompositeMapper = { } }; -export const BackendPoolUpdateParameters: coreClient.CompositeMapper = { +export const RulesEngineAction: coreClient.CompositeMapper = { 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 Backend: coreClient.CompositeMapper = { +export const HeaderAction: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Backend", + className: "HeaderAction", modelProperties: { - address: { - serializedName: "address", - type: { - name: "String" - } - }, - privateLinkAlias: { - serializedName: "privateLinkAlias", - type: { - name: "String" - } - }, - privateLinkResourceId: { - serializedName: "privateLinkResourceId", - type: { - name: "String" - } - }, - privateLinkLocation: { - serializedName: "privateLinkLocation", - type: { - name: "String" - } - }, - privateEndpointStatus: { - serializedName: "privateEndpointStatus", - readOnly: true, - type: { - name: "String" - } - }, - privateLinkApprovalMessage: { - serializedName: "privateLinkApprovalMessage", + headerActionType: { + serializedName: "headerActionType", + required: true, type: { name: "String" } }, - httpPort: { - constraints: { - InclusiveMaximum: 65535, - InclusiveMinimum: 1 - }, - serializedName: "httpPort", - type: { - name: "Number" - } - }, - httpsPort: { - constraints: { - InclusiveMaximum: 65535, - InclusiveMinimum: 1 - }, - serializedName: "httpsPort", - type: { - name: "Number" - } - }, - enabledState: { - serializedName: "enabledState", + headerName: { + serializedName: "headerName", + required: true, type: { name: "String" } }, - priority: { - constraints: { - InclusiveMaximum: 5, - InclusiveMinimum: 1 - }, - serializedName: "priority", - type: { - name: "Number" - } - }, - weight: { - constraints: { - InclusiveMaximum: 1000, - InclusiveMinimum: 1 - }, - serializedName: "weight", - type: { - name: "Number" - } - }, - backendHostHeader: { - serializedName: "backendHostHeader", + value: { + serializedName: "value", type: { name: "String" } @@ -1069,188 +941,203 @@ export const Backend: coreClient.CompositeMapper = { } }; -export const CustomHttpsConfiguration: coreClient.CompositeMapper = { +export const RouteConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CustomHttpsConfiguration", + className: "RouteConfiguration", + uberParent: "RouteConfiguration", + polymorphicDiscriminator: { + serializedName: "@odata\\.type", + clientName: "odataType" + }, modelProperties: { - certificateSource: { - serializedName: "certificateSource", + odataType: { + serializedName: "@odata\\.type", required: true, type: { name: "String" } - }, - protocolType: { - serializedName: "protocolType", + } + } + } +}; + +export const RulesEngineMatchCondition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RulesEngineMatchCondition", + modelProperties: { + rulesEngineMatchVariable: { + serializedName: "rulesEngineMatchVariable", required: true, type: { name: "String" } }, - minimumTlsVersion: { - serializedName: "minimumTlsVersion", - required: true, + selector: { + serializedName: "selector", type: { name: "String" } }, - certificateType: { - serializedName: "frontDoorCertificateSourceParameters.certificateType", + rulesEngineOperator: { + serializedName: "rulesEngineOperator", + required: true, type: { name: "String" } }, - vault: { - serializedName: "keyVaultCertificateSourceParameters.vault", + negateCondition: { + serializedName: "negateCondition", type: { - name: "Composite", - className: "KeyVaultCertificateSourceParametersVault" + name: "Boolean" } }, - secretName: { - serializedName: "keyVaultCertificateSourceParameters.secretName", + rulesEngineMatchValue: { + serializedName: "rulesEngineMatchValue", + required: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - secretVersion: { - serializedName: "keyVaultCertificateSourceParameters.secretVersion", + transforms: { + serializedName: "transforms", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const KeyVaultCertificateSourceParametersVault: coreClient.CompositeMapper = { +export const FrontDoorUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "KeyVaultCertificateSourceParametersVault", + className: "FrontDoorUpdateParameters", modelProperties: { - id: { - serializedName: "id", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } - } - } - } -}; - -export const FrontendEndpointUpdateParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "FrontendEndpointUpdateParameters", - modelProperties: { - hostName: { - serializedName: "hostName", + }, + routingRules: { + serializedName: "routingRules", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRule" + } + } } }, - sessionAffinityEnabledState: { - serializedName: "sessionAffinityEnabledState", + loadBalancingSettings: { + serializedName: "loadBalancingSettings", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LoadBalancingSettingsModel" + } + } } }, - sessionAffinityTtlSeconds: { - serializedName: "sessionAffinityTtlSeconds", + healthProbeSettings: { + serializedName: "healthProbeSettings", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthProbeSettingsModel" + } + } } }, - webApplicationFirewallPolicyLink: { - serializedName: "webApplicationFirewallPolicyLink", + backendPools: { + serializedName: "backendPools", type: { - name: "Composite", - className: - "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackendPool" + } + } } - } - } - } -}; - -export const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: - "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink", - modelProperties: { - id: { - serializedName: "id", + }, + frontendEndpoints: { + serializedName: "frontendEndpoints", type: { - name: "String" - } - } - } - } -}; - -export const BackendPoolsSettings: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "BackendPoolsSettings", - modelProperties: { - enforceCertificateNameCheck: { - defaultValue: "Enabled", - serializedName: "enforceCertificateNameCheck", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendEndpoint" + } + } + } + }, + backendPoolsSettings: { + serializedName: "backendPoolsSettings", type: { - name: "String" + name: "Composite", + className: "BackendPoolsSettings" } }, - sendRecvTimeoutSeconds: { - constraints: { - InclusiveMinimum: 16 - }, - serializedName: "sendRecvTimeoutSeconds", + enabledState: { + serializedName: "enabledState", type: { - name: "Number" + name: "String" } } } } }; -export const FrontendEndpointsListResult: coreClient.CompositeMapper = { +export const RoutingRuleUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FrontendEndpointsListResult", + className: "RoutingRuleUpdateParameters", modelProperties: { - value: { - serializedName: "value", - readOnly: true, + frontendEndpoints: { + serializedName: "frontendEndpoints", type: { name: "Sequence", element: { type: { name: "Composite", - className: "FrontendEndpoint" + className: "SubResource" } } } }, - nextLink: { - serializedName: "nextLink", + acceptedProtocols: { + serializedName: "acceptedProtocols", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - } - } - } -}; - -export const PurgeParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PurgeParameters", - modelProperties: { - contentPaths: { - serializedName: "contentPaths", - required: true, + }, + patternsToMatch: { + serializedName: "patternsToMatch", type: { name: "Sequence", element: { @@ -1259,49 +1146,46 @@ export const PurgeParameters: coreClient.CompositeMapper = { } } } - } - } - } -}; - -export const ValidateCustomDomainInput: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ValidateCustomDomainInput", - modelProperties: { - hostName: { - serializedName: "hostName", - required: true, + }, + enabledState: { + serializedName: "enabledState", type: { name: "String" } + }, + routeConfiguration: { + serializedName: "routeConfiguration", + type: { + name: "Composite", + className: "RouteConfiguration" + } + }, + rulesEngine: { + serializedName: "rulesEngine", + type: { + name: "Composite", + className: "SubResource" + } + }, + webApplicationFirewallPolicyLink: { + serializedName: "webApplicationFirewallPolicyLink", + type: { + name: "Composite", + className: + "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink" + } } } } }; -export const ValidateCustomDomainOutput: coreClient.CompositeMapper = { +export const SubResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ValidateCustomDomainOutput", + className: "SubResource", modelProperties: { - customDomainValidated: { - serializedName: "customDomainValidated", - readOnly: true, - type: { - name: "Boolean" - } - }, - reason: { - serializedName: "reason", - readOnly: true, - type: { - name: "String" - } - }, - message: { - serializedName: "message", - readOnly: true, + id: { + serializedName: "id", type: { name: "String" } @@ -1310,26 +1194,13 @@ export const ValidateCustomDomainOutput: coreClient.CompositeMapper = { } }; -export const RulesEngineListResult: coreClient.CompositeMapper = { +export const RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RulesEngineListResult", + className: "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink", modelProperties: { - value: { - serializedName: "value", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RulesEngine" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + id: { + serializedName: "id", type: { name: "String" } @@ -1338,76 +1209,65 @@ export const RulesEngineListResult: coreClient.CompositeMapper = { } }; -export const WebApplicationFirewallPolicyList: coreClient.CompositeMapper = { +export const LoadBalancingSettingsUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "WebApplicationFirewallPolicyList", + className: "LoadBalancingSettingsUpdateParameters", modelProperties: { - value: { - serializedName: "value", - readOnly: true, + sampleSize: { + serializedName: "sampleSize", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WebApplicationFirewallPolicy" - } - } + name: "Number" } }, - nextLink: { - serializedName: "nextLink", + successfulSamplesRequired: { + serializedName: "successfulSamplesRequired", type: { - name: "String" + name: "Number" + } + }, + additionalLatencyMilliseconds: { + serializedName: "additionalLatencyMilliseconds", + type: { + name: "Number" } } } } }; -export const PolicySettings: coreClient.CompositeMapper = { +export const HealthProbeSettingsUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicySettings", + className: "HealthProbeSettingsUpdateParameters", modelProperties: { - enabledState: { - serializedName: "enabledState", - type: { - name: "String" - } - }, - mode: { - serializedName: "mode", + path: { + serializedName: "path", type: { name: "String" } }, - redirectUrl: { - serializedName: "redirectUrl", + protocol: { + serializedName: "protocol", type: { name: "String" } }, - customBlockResponseStatusCode: { - serializedName: "customBlockResponseStatusCode", + intervalInSeconds: { + serializedName: "intervalInSeconds", type: { name: "Number" } }, - customBlockResponseBody: { - constraints: { - Pattern: new RegExp( - "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - ) - }, - serializedName: "customBlockResponseBody", + healthProbeMethod: { + defaultValue: "HEAD", + serializedName: "healthProbeMethod", type: { name: "String" } }, - requestBodyCheck: { - serializedName: "requestBodyCheck", + enabledState: { + serializedName: "enabledState", type: { name: "String" } @@ -1416,96 +1276,131 @@ export const PolicySettings: coreClient.CompositeMapper = { } }; -export const CustomRuleList: coreClient.CompositeMapper = { +export const BackendPoolUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CustomRuleList", + className: "BackendPoolUpdateParameters", modelProperties: { - rules: { - serializedName: "rules", + backends: { + serializedName: "backends", type: { name: "Sequence", element: { type: { name: "Composite", - className: "CustomRule" + className: "Backend" } } } + }, + loadBalancingSettings: { + serializedName: "loadBalancingSettings", + type: { + name: "Composite", + className: "SubResource" + } + }, + healthProbeSettings: { + serializedName: "healthProbeSettings", + type: { + name: "Composite", + className: "SubResource" + } } } } }; -export const CustomRule: coreClient.CompositeMapper = { +export const Backend: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CustomRule", + className: "Backend", modelProperties: { - name: { - constraints: { - MaxLength: 128 - }, - serializedName: "name", + address: { + serializedName: "address", + type: { + name: "String" + } + }, + privateLinkAlias: { + serializedName: "privateLinkAlias", + type: { + name: "String" + } + }, + privateLinkResourceId: { + serializedName: "privateLinkResourceId", + type: { + name: "String" + } + }, + privateLinkLocation: { + serializedName: "privateLinkLocation", type: { name: "String" } }, - priority: { - serializedName: "priority", - required: true, + privateEndpointStatus: { + serializedName: "privateEndpointStatus", + readOnly: true, type: { - name: "Number" + name: "String" } }, - enabledState: { - serializedName: "enabledState", + privateLinkApprovalMessage: { + serializedName: "privateLinkApprovalMessage", type: { name: "String" } }, - ruleType: { - serializedName: "ruleType", - required: true, + httpPort: { + constraints: { + InclusiveMaximum: 65535, + InclusiveMinimum: 1 + }, + serializedName: "httpPort", type: { - name: "String" + name: "Number" } }, - rateLimitDurationInMinutes: { + httpsPort: { constraints: { - InclusiveMaximum: 5, - InclusiveMinimum: 0 + InclusiveMaximum: 65535, + InclusiveMinimum: 1 }, - serializedName: "rateLimitDurationInMinutes", + serializedName: "httpsPort", type: { name: "Number" } }, - rateLimitThreshold: { + enabledState: { + serializedName: "enabledState", + type: { + name: "String" + } + }, + priority: { constraints: { - InclusiveMinimum: 0 + InclusiveMaximum: 5, + InclusiveMinimum: 1 }, - serializedName: "rateLimitThreshold", + serializedName: "priority", type: { name: "Number" } }, - matchConditions: { - serializedName: "matchConditions", - required: true, + weight: { + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 1 + }, + serializedName: "weight", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MatchCondition" - } - } + name: "Number" } }, - action: { - serializedName: "action", - required: true, + backendHostHeader: { + serializedName: "backendHostHeader", type: { name: "String" } @@ -1514,200 +1409,193 @@ export const CustomRule: coreClient.CompositeMapper = { } }; -export const MatchCondition: coreClient.CompositeMapper = { +export const CustomHttpsConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MatchCondition", + className: "CustomHttpsConfiguration", modelProperties: { - matchVariable: { - serializedName: "matchVariable", + certificateSource: { + serializedName: "certificateSource", required: true, type: { name: "String" } }, - selector: { - serializedName: "selector", + protocolType: { + serializedName: "protocolType", + required: true, type: { name: "String" } }, - operator: { - serializedName: "operator", + minimumTlsVersion: { + serializedName: "minimumTlsVersion", required: true, type: { name: "String" } }, - negateCondition: { - serializedName: "negateCondition", + certificateType: { + serializedName: "frontDoorCertificateSourceParameters.certificateType", type: { - name: "Boolean" + name: "String" } }, - matchValue: { - serializedName: "matchValue", - required: true, + vault: { + serializedName: "keyVaultCertificateSourceParameters.vault", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "KeyVaultCertificateSourceParametersVault" } }, - transforms: { - serializedName: "transforms", + secretName: { + serializedName: "keyVaultCertificateSourceParameters.secretName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" + } + }, + secretVersion: { + serializedName: "keyVaultCertificateSourceParameters.secretVersion", + type: { + name: "String" } } } } }; -export const ManagedRuleSetList: coreClient.CompositeMapper = { +export const KeyVaultCertificateSourceParametersVault: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleSetList", + className: "KeyVaultCertificateSourceParametersVault", modelProperties: { - managedRuleSets: { - serializedName: "managedRuleSets", + id: { + serializedName: "id", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedRuleSet" - } - } + name: "String" } } } } }; -export const ManagedRuleSet: coreClient.CompositeMapper = { +export const FrontendEndpointUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleSet", + className: "FrontendEndpointUpdateParameters", modelProperties: { - ruleSetType: { - serializedName: "ruleSetType", - required: true, - type: { - name: "String" - } - }, - ruleSetVersion: { - serializedName: "ruleSetVersion", - required: true, + hostName: { + serializedName: "hostName", type: { name: "String" } }, - ruleSetAction: { - serializedName: "ruleSetAction", + sessionAffinityEnabledState: { + serializedName: "sessionAffinityEnabledState", type: { name: "String" } }, - exclusions: { - serializedName: "exclusions", + sessionAffinityTtlSeconds: { + serializedName: "sessionAffinityTtlSeconds", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedRuleExclusion" - } - } + name: "Number" } }, - ruleGroupOverrides: { - serializedName: "ruleGroupOverrides", + webApplicationFirewallPolicyLink: { + serializedName: "webApplicationFirewallPolicyLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedRuleGroupOverride" - } - } + name: "Composite", + className: + "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" } } } } }; -export const ManagedRuleExclusion: coreClient.CompositeMapper = { +export const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleExclusion", + className: + "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink", modelProperties: { - matchVariable: { - serializedName: "matchVariable", - required: true, + id: { + serializedName: "id", type: { name: "String" } - }, - selectorMatchOperator: { - serializedName: "selectorMatchOperator", - required: true, + } + } + } +}; + +export const BackendPoolsSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BackendPoolsSettings", + modelProperties: { + enforceCertificateNameCheck: { + defaultValue: "Enabled", + serializedName: "enforceCertificateNameCheck", type: { name: "String" } }, - selector: { - serializedName: "selector", - required: true, + sendRecvTimeoutSeconds: { + constraints: { + InclusiveMinimum: 16 + }, + serializedName: "sendRecvTimeoutSeconds", type: { - name: "String" + name: "Number" } } } } }; -export const ManagedRuleGroupOverride: coreClient.CompositeMapper = { +export const FrontendEndpointsListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleGroupOverride", + className: "FrontendEndpointsListResult", modelProperties: { - ruleGroupName: { - serializedName: "ruleGroupName", - required: true, - type: { - name: "String" - } - }, - exclusions: { - serializedName: "exclusions", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedRuleExclusion" + className: "FrontendEndpoint" } } } }, - rules: { - serializedName: "rules", + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PurgeParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PurgeParameters", + modelProperties: { + contentPaths: { + serializedName: "contentPaths", + required: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ManagedRuleOverride" + name: "String" } } } @@ -1716,53 +1604,72 @@ export const ManagedRuleGroupOverride: coreClient.CompositeMapper = { } }; -export const ManagedRuleOverride: coreClient.CompositeMapper = { +export const ValidateCustomDomainInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleOverride", + className: "ValidateCustomDomainInput", modelProperties: { - ruleId: { - serializedName: "ruleId", + hostName: { + serializedName: "hostName", required: true, type: { name: "String" } - }, - enabledState: { - serializedName: "enabledState", + } + } + } +}; + +export const ValidateCustomDomainOutput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ValidateCustomDomainOutput", + modelProperties: { + customDomainValidated: { + serializedName: "customDomainValidated", + readOnly: true, type: { - name: "String" + name: "Boolean" } }, - action: { - serializedName: "action", + reason: { + serializedName: "reason", + readOnly: true, type: { name: "String" } }, - exclusions: { - serializedName: "exclusions", + message: { + serializedName: "message", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedRuleExclusion" - } - } + name: "String" } } } } }; -export const FrontendEndpointLink: coreClient.CompositeMapper = { +export const RulesEngineListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FrontendEndpointLink", + className: "RulesEngineListResult", modelProperties: { - id: { - serializedName: "id", + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RulesEngine" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1771,13 +1678,26 @@ export const FrontendEndpointLink: coreClient.CompositeMapper = { } }; -export const RoutingRuleLink: coreClient.CompositeMapper = { +export const ProfileList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoutingRuleLink", + className: "ProfileList", modelProperties: { - id: { - serializedName: "id", + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Profile" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1786,13 +1706,20 @@ export const RoutingRuleLink: coreClient.CompositeMapper = { } }; -export const SecurityPolicyLink: coreClient.CompositeMapper = { +export const ProfileUpdateModel: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecurityPolicyLink", + className: "ProfileUpdateModel", modelProperties: { - id: { - serializedName: "id", + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + enabledState: { + serializedName: "properties.enabledState", type: { name: "String" } @@ -1801,13 +1728,26 @@ export const SecurityPolicyLink: coreClient.CompositeMapper = { } }; -export const Sku: coreClient.CompositeMapper = { +export const PreconfiguredEndpointList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Sku", + className: "PreconfiguredEndpointList", modelProperties: { - name: { - serializedName: "name", + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PreconfiguredEndpoint" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1816,10 +1756,10 @@ export const Sku: coreClient.CompositeMapper = { } }; -export const ManagedRuleSetDefinitionList: coreClient.CompositeMapper = { +export const ExperimentList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleSetDefinitionList", + className: "ExperimentList", modelProperties: { value: { serializedName: "value", @@ -1829,7 +1769,7 @@ export const ManagedRuleSetDefinitionList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ManagedRuleSetDefinition" + className: "Experiment" } } } @@ -1844,73 +1784,149 @@ export const ManagedRuleSetDefinitionList: coreClient.CompositeMapper = { } }; -export const ManagedRuleGroupDefinition: coreClient.CompositeMapper = { +export const Endpoint: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleGroupDefinition", + className: "Endpoint", modelProperties: { - ruleGroupName: { - serializedName: "ruleGroupName", - readOnly: true, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + endpoint: { + serializedName: "endpoint", type: { name: "String" } + } + } + } +}; + +export const ExperimentUpdateModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExperimentUpdateModel", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } }, description: { - serializedName: "description", - readOnly: true, + serializedName: "properties.description", type: { name: "String" } }, - rules: { - serializedName: "rules", - readOnly: true, + enabledState: { + serializedName: "properties.enabledState", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedRuleDefinition" - } - } + name: "String" } } } } }; -export const ManagedRuleDefinition: coreClient.CompositeMapper = { +export const LatencyMetric: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleDefinition", + className: "LatencyMetric", modelProperties: { - ruleId: { - serializedName: "ruleId", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } }, - defaultState: { - serializedName: "defaultState", + endDateTimeUTC: { + serializedName: "endDateTimeUTC", readOnly: true, type: { name: "String" } }, - defaultAction: { - serializedName: "defaultAction", + aValue: { + serializedName: "aValue", + readOnly: true, + type: { + name: "Number" + } + }, + bValue: { + serializedName: "bValue", + readOnly: true, + type: { + name: "Number" + } + }, + delta: { + serializedName: "delta", + readOnly: true, + type: { + name: "Number" + } + }, + deltaPercent: { + serializedName: "deltaPercent", + readOnly: true, + type: { + name: "Number" + } + }, + aCLower95CI: { + serializedName: "aCLower95CI", + readOnly: true, + type: { + name: "Number" + } + }, + aHUpper95CI: { + serializedName: "aHUpper95CI", + readOnly: true, + type: { + name: "Number" + } + }, + bCLower95CI: { + serializedName: "bCLower95CI", + readOnly: true, + type: { + name: "Number" + } + }, + bUpper95CI: { + serializedName: "bUpper95CI", readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const TimeseriesDataPoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TimeseriesDataPoint", + modelProperties: { + dateTimeUTC: { + serializedName: "dateTimeUTC", type: { name: "String" } }, - description: { - serializedName: "description", - readOnly: true, + value: { + serializedName: "value", type: { - name: "String" + name: "Number" } } } @@ -2011,22 +2027,6 @@ export const AzureAsyncOperationResult: coreClient.CompositeMapper = { } }; -export const TagsObject: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "TagsObject", - modelProperties: { - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - } - } - } -}; - export const RoutingRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2172,10 +2172,10 @@ export const BackendPoolListResult: coreClient.CompositeMapper = { } }; -export const Profile: coreClient.CompositeMapper = { +export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Profile", + className: "WebApplicationFirewallPolicy", modelProperties: { ...Resource.type.modelProperties, etag: { @@ -2184,242 +2184,134 @@ export const Profile: coreClient.CompositeMapper = { name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", - readOnly: true, - type: { - name: "String" - } - }, - enabledState: { - serializedName: "properties.enabledState", - type: { - name: "String" - } - } - } - } -}; - -export const PreconfiguredEndpoint: coreClient.CompositeMapper = { - 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 Experiment: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Experiment", - modelProperties: { - ...Resource.type.modelProperties, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - endpointA: { - serializedName: "properties.endpointA", + sku: { + serializedName: "sku", type: { name: "Composite", - className: "Endpoint" + className: "Sku" } }, - endpointB: { - serializedName: "properties.endpointB", + policySettings: { + serializedName: "properties.policySettings", type: { name: "Composite", - className: "Endpoint" - } - }, - enabledState: { - serializedName: "properties.enabledState", - type: { - name: "String" - } - }, - resourceState: { - serializedName: "properties.resourceState", - readOnly: true, - type: { - name: "String" + className: "PolicySettings" } }, - status: { - serializedName: "properties.status", - readOnly: true, + customRules: { + serializedName: "properties.customRules", type: { - name: "String" + name: "Composite", + className: "CustomRuleList" } }, - scriptFileUri: { - serializedName: "properties.scriptFileUri", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - -export const LatencyScorecard: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LatencyScorecard", - modelProperties: { - ...Resource.type.modelProperties, - idPropertiesId: { - serializedName: "properties.id", - readOnly: true, + managedRules: { + serializedName: "properties.managedRules", type: { - name: "String" + name: "Composite", + className: "ManagedRuleSetList" } }, - namePropertiesName: { - serializedName: "properties.name", + frontendEndpointLinks: { + serializedName: "properties.frontendEndpointLinks", readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendEndpointLink" + } + } } }, - description: { - serializedName: "properties.description", + routingRuleLinks: { + serializedName: "properties.routingRuleLinks", readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRuleLink" + } + } } }, - endpointA: { - serializedName: "properties.endpointA", + securityPolicyLinks: { + serializedName: "properties.securityPolicyLinks", readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecurityPolicyLink" + } + } } }, - endpointB: { - serializedName: "properties.endpointB", + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, type: { name: "String" } }, - startDateTimeUTC: { - serializedName: "properties.startDateTimeUTC", - readOnly: true, - type: { - name: "DateTime" - } - }, - endDateTimeUTC: { - serializedName: "properties.endDateTimeUTC", - readOnly: true, - type: { - name: "DateTime" - } - }, - country: { - serializedName: "properties.country", + resourceState: { + serializedName: "properties.resourceState", readOnly: true, type: { name: "String" } - }, - latencyMetrics: { - serializedName: "properties.latencyMetrics", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LatencyMetric" - } - } - } } } } }; -export const Timeseries: coreClient.CompositeMapper = { +export const ManagedRuleSetDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Timeseries", + className: "ManagedRuleSetDefinition", modelProperties: { ...Resource.type.modelProperties, - endpoint: { - serializedName: "properties.endpoint", - type: { - name: "String" - } - }, - startDateTimeUTC: { - serializedName: "properties.startDateTimeUTC", - type: { - name: "String" - } - }, - endDateTimeUTC: { - serializedName: "properties.endDateTimeUTC", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } }, - aggregationInterval: { - serializedName: "properties.aggregationInterval", + ruleSetId: { + serializedName: "properties.ruleSetId", + readOnly: true, type: { name: "String" } }, - timeseriesType: { - serializedName: "properties.timeseriesType", + ruleSetType: { + serializedName: "properties.ruleSetType", + readOnly: true, type: { name: "String" } }, - country: { - serializedName: "properties.country", + ruleSetVersion: { + serializedName: "properties.ruleSetVersion", + readOnly: true, type: { name: "String" } }, - timeseriesData: { - serializedName: "properties.timeseriesData", + ruleGroups: { + serializedName: "properties.ruleGroups", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "TimeseriesDataPoint" + className: "ManagedRuleGroupDefinition" } } } @@ -2553,15 +2445,23 @@ export const FrontDoor: coreClient.CompositeMapper = { } } } + }, + extendedProperties: { + serializedName: "properties.extendedProperties", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } } } } }; -export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { +export const Profile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "WebApplicationFirewallPolicy", + className: "Profile", modelProperties: { ...Resource.type.modelProperties, etag: { @@ -2570,82 +2470,105 @@ export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { name: "String" } }, - sku: { - serializedName: "sku", + resourceState: { + serializedName: "properties.resourceState", + readOnly: true, type: { - name: "Composite", - className: "Sku" + name: "String" } }, - policySettings: { - serializedName: "properties.policySettings", + enabledState: { + serializedName: "properties.enabledState", type: { - name: "Composite", - className: "PolicySettings" + name: "String" + } + } + } + } +}; + +export const PreconfiguredEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PreconfiguredEndpoint", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" } }, - customRules: { - serializedName: "properties.customRules", + endpoint: { + serializedName: "properties.endpoint", type: { - name: "Composite", - className: "CustomRuleList" + name: "String" } }, - managedRules: { - serializedName: "properties.managedRules", + endpointType: { + serializedName: "properties.endpointType", + type: { + name: "String" + } + }, + backend: { + serializedName: "properties.backend", + type: { + name: "String" + } + } + } + } +}; + +export const Experiment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Experiment", + modelProperties: { + ...Resource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + endpointA: { + serializedName: "properties.endpointA", type: { name: "Composite", - className: "ManagedRuleSetList" + className: "Endpoint" } }, - frontendEndpointLinks: { - serializedName: "properties.frontendEndpointLinks", - readOnly: true, + endpointB: { + serializedName: "properties.endpointB", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FrontendEndpointLink" - } - } + name: "Composite", + className: "Endpoint" } }, - routingRuleLinks: { - serializedName: "properties.routingRuleLinks", - readOnly: true, + enabledState: { + serializedName: "properties.enabledState", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoutingRuleLink" - } - } + name: "String" } }, - securityPolicyLinks: { - serializedName: "properties.securityPolicyLinks", + resourceState: { + serializedName: "properties.resourceState", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SecurityPolicyLink" - } - } + name: "String" } }, - provisioningState: { - serializedName: "properties.provisioningState", + status: { + serializedName: "properties.status", readOnly: true, type: { name: "String" } }, - resourceState: { - serializedName: "properties.resourceState", + scriptFileUri: { + serializedName: "properties.scriptFileUri", readOnly: true, type: { name: "String" @@ -2655,49 +2578,134 @@ export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { } }; -export const ManagedRuleSetDefinition: coreClient.CompositeMapper = { +export const LatencyScorecard: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedRuleSetDefinition", + className: "LatencyScorecard", modelProperties: { ...Resource.type.modelProperties, - provisioningState: { - serializedName: "properties.provisioningState", + idPropertiesId: { + serializedName: "properties.id", readOnly: true, type: { name: "String" } }, - ruleSetId: { - serializedName: "properties.ruleSetId", + namePropertiesName: { + serializedName: "properties.name", readOnly: true, type: { name: "String" } }, - ruleSetType: { - serializedName: "properties.ruleSetType", + description: { + serializedName: "properties.description", readOnly: true, type: { name: "String" } }, - ruleSetVersion: { - serializedName: "properties.ruleSetVersion", + endpointA: { + serializedName: "properties.endpointA", readOnly: true, type: { name: "String" } }, - ruleGroups: { - serializedName: "properties.ruleGroups", + endpointB: { + serializedName: "properties.endpointB", + readOnly: true, + type: { + name: "String" + } + }, + startDateTimeUTC: { + serializedName: "properties.startDateTimeUTC", + readOnly: true, + type: { + name: "DateTime" + } + }, + endDateTimeUTC: { + serializedName: "properties.endDateTimeUTC", + readOnly: true, + type: { + name: "DateTime" + } + }, + country: { + serializedName: "properties.country", readOnly: true, + type: { + name: "String" + } + }, + latencyMetrics: { + serializedName: "properties.latencyMetrics", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedRuleGroupDefinition" + className: "LatencyMetric" + } + } + } + } + } + } +}; + +export const Timeseries: coreClient.CompositeMapper = { + 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" } } } @@ -2859,6 +2867,14 @@ export const FrontDoorProperties: coreClient.CompositeMapper = { } } } + }, + extendedProperties: { + serializedName: "extendedProperties", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } } } } diff --git a/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts b/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts index 6364b37d8789..823bb5b46ad8 100644 --- a/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts +++ b/sdk/frontdoor/arm-frontdoor/src/models/parameters.ts @@ -12,17 +12,18 @@ import { OperationQueryParameter } from "@azure/core-client"; import { - Profile as ProfileMapper, - ProfileUpdateModel as ProfileUpdateModelMapper, - Experiment as ExperimentMapper, - ExperimentUpdateModel as ExperimentUpdateModelMapper, + WebApplicationFirewallPolicy as WebApplicationFirewallPolicyMapper, + TagsObject as TagsObjectMapper, CheckNameAvailabilityInput as CheckNameAvailabilityInputMapper, FrontDoor as FrontDoorMapper, ValidateCustomDomainInput as ValidateCustomDomainInputMapper, CustomHttpsConfiguration as CustomHttpsConfigurationMapper, PurgeParameters as PurgeParametersMapper, RulesEngine as RulesEngineMapper, - WebApplicationFirewallPolicy as WebApplicationFirewallPolicyMapper + Profile as ProfileMapper, + ProfileUpdateModel as ProfileUpdateModelMapper, + Experiment as ExperimentMapper, + ExperimentUpdateModel as ExperimentUpdateModelMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -49,10 +50,15 @@ export const $host: OperationURLParameter = { skipEncoding: true }; -export const subscriptionId: OperationURLParameter = { - parameterPath: "subscriptionId", +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { - serializedName: "subscriptionId", + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$"), + MaxLength: 80, + MinLength: 1 + }, + serializedName: "resourceGroupName", required: true, type: { name: "String" @@ -60,41 +66,36 @@ export const subscriptionId: OperationURLParameter = { } }; -export const apiVersion: OperationQueryParameter = { - parameterPath: "apiVersion", +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { - defaultValue: "2019-11-01", - isConstant: true, - serializedName: "api-version", + serializedName: "subscriptionId", + required: true, type: { name: "String" } } }; -export const resourceGroupName: OperationURLParameter = { - parameterPath: "resourceGroupName", +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - constraints: { - Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$"), - MaxLength: 80, - MinLength: 1 - }, - serializedName: "resourceGroupName", - required: true, + defaultValue: "2022-05-01", + isConstant: true, + serializedName: "api-version", type: { name: "String" } } }; -export const profileName: OperationURLParameter = { - parameterPath: "profileName", +export const policyName: OperationURLParameter = { + parameterPath: "policyName", mapper: { constraints: { - Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$") + MaxLength: 128 }, - serializedName: "profileName", + serializedName: "policyName", required: true, type: { name: "String" @@ -116,12 +117,12 @@ export const contentType: OperationParameter = { export const parameters: OperationParameter = { parameterPath: "parameters", - mapper: ProfileMapper + mapper: WebApplicationFirewallPolicyMapper }; export const parameters1: OperationParameter = { parameterPath: "parameters", - mapper: ProfileUpdateModelMapper + mapper: TagsObjectMapper }; export const nextLink: OperationURLParameter = { @@ -136,115 +137,6 @@ export const nextLink: OperationURLParameter = { skipEncoding: true }; -export const experimentName: OperationURLParameter = { - parameterPath: "experimentName", - mapper: { - constraints: { - Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$") - }, - serializedName: "experimentName", - required: true, - type: { - name: "String" - } - } -}; - -export const parameters2: OperationParameter = { - parameterPath: "parameters", - mapper: ExperimentMapper -}; - -export const parameters3: OperationParameter = { - parameterPath: "parameters", - mapper: ExperimentUpdateModelMapper -}; - -export const endDateTimeUTC: OperationQueryParameter = { - parameterPath: ["options", "endDateTimeUTC"], - mapper: { - serializedName: "endDateTimeUTC", - type: { - name: "String" - } - } -}; - -export const country: OperationQueryParameter = { - parameterPath: ["options", "country"], - mapper: { - serializedName: "country", - type: { - name: "String" - } - } -}; - -export const aggregationInterval: OperationQueryParameter = { - parameterPath: "aggregationInterval", - mapper: { - serializedName: "aggregationInterval", - required: true, - type: { - name: "String" - } - } -}; - -export const startDateTimeUTC: OperationQueryParameter = { - parameterPath: "startDateTimeUTC", - mapper: { - serializedName: "startDateTimeUTC", - required: true, - type: { - name: "DateTime" - } - } -}; - -export const endDateTimeUTC1: OperationQueryParameter = { - parameterPath: "endDateTimeUTC", - mapper: { - serializedName: "endDateTimeUTC", - required: true, - type: { - name: "DateTime" - } - } -}; - -export const aggregationInterval1: OperationQueryParameter = { - parameterPath: "aggregationInterval", - mapper: { - serializedName: "aggregationInterval", - required: true, - type: { - name: "String" - } - } -}; - -export const timeseriesType: OperationQueryParameter = { - parameterPath: "timeseriesType", - mapper: { - serializedName: "timeseriesType", - required: true, - type: { - name: "String" - } - } -}; - -export const endpoint: OperationQueryParameter = { - parameterPath: ["options", "endpoint"], - mapper: { - serializedName: "endpoint", - type: { - name: "String" - } - } -}; - export const checkFrontDoorNameAvailabilityInput: OperationParameter = { parameterPath: "checkFrontDoorNameAvailabilityInput", mapper: CheckNameAvailabilityInputMapper @@ -253,7 +145,7 @@ export const checkFrontDoorNameAvailabilityInput: OperationParameter = { export const apiVersion1: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2020-05-01", + defaultValue: "2021-06-01", isConstant: true, serializedName: "api-version", type: { @@ -338,7 +230,7 @@ export const rulesEngineParameters: OperationParameter = { export const apiVersion2: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2020-11-01", + defaultValue: "2019-11-01", isConstant: true, serializedName: "api-version", type: { @@ -347,13 +239,37 @@ export const apiVersion2: OperationQueryParameter = { } }; -export const policyName: OperationURLParameter = { - parameterPath: "policyName", +export const profileName: OperationURLParameter = { + parameterPath: "profileName", mapper: { constraints: { - MaxLength: 128 + Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$") }, - serializedName: "policyName", + serializedName: "profileName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: ProfileMapper +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: ProfileUpdateModelMapper +}; + +export const experimentName: OperationURLParameter = { + parameterPath: "experimentName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$") + }, + serializedName: "experimentName", required: true, type: { name: "String" @@ -363,5 +279,95 @@ export const policyName: OperationURLParameter = { export const parameters4: OperationParameter = { parameterPath: "parameters", - mapper: WebApplicationFirewallPolicyMapper + mapper: ExperimentMapper +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: ExperimentUpdateModelMapper +}; + +export const endDateTimeUTC: OperationQueryParameter = { + parameterPath: ["options", "endDateTimeUTC"], + mapper: { + serializedName: "endDateTimeUTC", + type: { + name: "String" + } + } +}; + +export const country: OperationQueryParameter = { + parameterPath: ["options", "country"], + mapper: { + serializedName: "country", + type: { + name: "String" + } + } +}; + +export const aggregationInterval: OperationQueryParameter = { + parameterPath: "aggregationInterval", + mapper: { + serializedName: "aggregationInterval", + required: true, + type: { + name: "String" + } + } +}; + +export const startDateTimeUTC: OperationQueryParameter = { + parameterPath: "startDateTimeUTC", + mapper: { + serializedName: "startDateTimeUTC", + required: true, + type: { + name: "DateTime" + } + } +}; + +export const endDateTimeUTC1: OperationQueryParameter = { + parameterPath: "endDateTimeUTC", + mapper: { + serializedName: "endDateTimeUTC", + required: true, + type: { + name: "DateTime" + } + } +}; + +export const aggregationInterval1: OperationQueryParameter = { + parameterPath: "aggregationInterval", + mapper: { + serializedName: "aggregationInterval", + required: true, + type: { + name: "String" + } + } +}; + +export const timeseriesType: OperationQueryParameter = { + parameterPath: "timeseriesType", + mapper: { + serializedName: "timeseriesType", + required: true, + type: { + name: "String" + } + } +}; + +export const endpoint: OperationQueryParameter = { + parameterPath: ["options", "endpoint"], + mapper: { + serializedName: "endpoint", + type: { + name: "String" + } + } }; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts index 3e4869e83a65..d11dc41a26e7 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/endpoints.ts @@ -142,8 +142,8 @@ const purgeContentOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept, Parameters.contentType], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts b/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts index 90c84becbb6e..f0e7b1a17cf3 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/experiments.ts @@ -465,11 +465,11 @@ const listByProfileOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept], @@ -487,11 +487,11 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], @@ -519,12 +519,12 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - requestBody: Parameters.parameters2, - queryParameters: [Parameters.apiVersion], + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], @@ -553,12 +553,12 @@ const updateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - requestBody: Parameters.parameters3, - queryParameters: [Parameters.apiVersion], + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], @@ -579,11 +579,11 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], @@ -601,13 +601,13 @@ const listByProfileNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.profileName, - Parameters.nextLink + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.profileName ], headerParameters: [Parameters.accept], serializer diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts b/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts index 5f61f880d249..fd581585d257 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/frontDoors.ts @@ -447,8 +447,8 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName + Parameters.resourceGroupName, + Parameters.subscriptionId ], headerParameters: [Parameters.accept], serializer @@ -468,8 +468,8 @@ const getOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept], @@ -500,8 +500,8 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -524,8 +524,8 @@ const deleteOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept], @@ -547,8 +547,8 @@ const validateCustomDomainOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -589,8 +589,8 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.nextLink ], headerParameters: [Parameters.accept], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts index be898eaf42cd..553e74215718 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/frontendEndpoints.ts @@ -371,8 +371,8 @@ const listByFrontDoorOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept], @@ -393,8 +393,8 @@ const getOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.frontendEndpointName ], @@ -418,8 +418,8 @@ const enableHttpsOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.frontendEndpointName ], @@ -443,8 +443,8 @@ const disableHttpsOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.frontendEndpointName ], @@ -465,8 +465,8 @@ const listByFrontDoorNextOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.nextLink, Parameters.frontDoorName ], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/index.ts b/sdk/frontdoor/arm-frontdoor/src/operations/index.ts index 89a7d4e96e07..9e8efe244ac9 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/index.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/index.ts @@ -6,15 +6,15 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./networkExperimentProfiles"; -export * from "./preconfiguredEndpoints"; -export * from "./experiments"; -export * from "./reports"; +export * from "./policies"; +export * from "./managedRuleSets"; export * from "./frontDoorNameAvailability"; export * from "./frontDoorNameAvailabilityWithSubscription"; export * from "./frontDoors"; export * from "./frontendEndpoints"; export * from "./endpoints"; export * from "./rulesEngines"; -export * from "./policies"; -export * from "./managedRuleSets"; +export * from "./networkExperimentProfiles"; +export * from "./preconfiguredEndpoints"; +export * from "./experiments"; +export * from "./reports"; diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts b/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts index 691b731a899e..47e91b9f80ae 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/managedRuleSets.ts @@ -115,7 +115,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -131,7 +131,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts b/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts index 2a8db0a28ac1..ede588f8d3ba 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/networkExperimentProfiles.ts @@ -498,7 +498,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -515,11 +515,11 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName + Parameters.resourceGroupName, + Parameters.subscriptionId ], headerParameters: [Parameters.accept], serializer @@ -536,11 +536,11 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept], @@ -567,12 +567,12 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - requestBody: Parameters.parameters, - queryParameters: [Parameters.apiVersion], + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -600,12 +600,12 @@ const updateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - requestBody: Parameters.parameters1, - queryParameters: [Parameters.apiVersion], + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -625,11 +625,11 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept], @@ -646,7 +646,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -666,11 +666,11 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.nextLink ], headerParameters: [Parameters.accept], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts b/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts index 8f40a100c41a..b5eccb00107a 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/policies.ts @@ -23,6 +23,9 @@ import { PoliciesGetResponse, PoliciesCreateOrUpdateOptionalParams, PoliciesCreateOrUpdateResponse, + TagsObject, + PoliciesUpdateOptionalParams, + PoliciesUpdateResponse, PoliciesDeleteOptionalParams, PoliciesListNextResponse } from "../models"; @@ -214,6 +217,100 @@ export class PoliciesImpl implements Policies { return poller.pollUntilDone(); } + /** + * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified + * subscription and 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 FrontdoorWebApplicationFirewallPolicy parameters to be patched. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + policyName: string, + parameters: TagsObject, + options?: PoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PoliciesUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, policyName, parameters, options }, + updateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified + * subscription and 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 FrontdoorWebApplicationFirewallPolicy parameters to be patched. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + policyName: string, + parameters: TagsObject, + options?: PoliciesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** * Deletes Policy * @param resourceGroupName Name of the Resource group within the Azure subscription. @@ -328,11 +425,11 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName + Parameters.resourceGroupName, + Parameters.subscriptionId ], headerParameters: [Parameters.accept], serializer @@ -349,11 +446,11 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.policyName ], headerParameters: [Parameters.accept], @@ -380,12 +477,45 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - requestBody: Parameters.parameters4, - queryParameters: [Parameters.apiVersion2], + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, + Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.policyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.WebApplicationFirewallPolicy + }, + 201: { + bodyMapper: Mappers.WebApplicationFirewallPolicy + }, + 202: { + bodyMapper: Mappers.WebApplicationFirewallPolicy + }, + 204: { + bodyMapper: Mappers.WebApplicationFirewallPolicy + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.policyName ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -397,11 +527,11 @@ const deleteOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", httpMethod: "DELETE", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.policyName ], serializer @@ -417,11 +547,11 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.nextLink ], headerParameters: [Parameters.accept], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts b/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts index 09afa6d59823..9404071b2339 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/preconfiguredEndpoints.ts @@ -143,11 +143,11 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName ], headerParameters: [Parameters.accept], @@ -164,13 +164,13 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.profileName, - Parameters.nextLink + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.profileName ], headerParameters: [Parameters.accept], serializer diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts b/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts index 09b059e5db28..a9bdc0101511 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/reports.ts @@ -112,15 +112,15 @@ const getLatencyScorecardsOperationSpec: coreClient.OperationSpec = { } }, queryParameters: [ - Parameters.apiVersion, + Parameters.apiVersion2, Parameters.endDateTimeUTC, Parameters.country, Parameters.aggregationInterval ], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], @@ -140,7 +140,7 @@ const getTimeseriesOperationSpec: coreClient.OperationSpec = { } }, queryParameters: [ - Parameters.apiVersion, + Parameters.apiVersion2, Parameters.country, Parameters.startDateTimeUTC, Parameters.endDateTimeUTC1, @@ -150,8 +150,8 @@ const getTimeseriesOperationSpec: coreClient.OperationSpec = { ], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.profileName, Parameters.experimentName ], diff --git a/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts b/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts index b27fb534605f..5cef43007034 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operations/rulesEngines.ts @@ -378,8 +378,8 @@ const listByFrontDoorOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName ], headerParameters: [Parameters.accept], @@ -400,8 +400,8 @@ const getOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.rulesEngineName ], @@ -433,8 +433,8 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.rulesEngineName ], @@ -458,8 +458,8 @@ const deleteOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.frontDoorName, Parameters.rulesEngineName ], @@ -480,8 +480,8 @@ const listByFrontDoorNextOperationSpec: coreClient.OperationSpec = { queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.subscriptionId, Parameters.nextLink, Parameters.frontDoorName ], diff --git a/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/index.ts b/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/index.ts index 89a7d4e96e07..9e8efe244ac9 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/index.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/index.ts @@ -6,15 +6,15 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./networkExperimentProfiles"; -export * from "./preconfiguredEndpoints"; -export * from "./experiments"; -export * from "./reports"; +export * from "./policies"; +export * from "./managedRuleSets"; export * from "./frontDoorNameAvailability"; export * from "./frontDoorNameAvailabilityWithSubscription"; export * from "./frontDoors"; export * from "./frontendEndpoints"; export * from "./endpoints"; export * from "./rulesEngines"; -export * from "./policies"; -export * from "./managedRuleSets"; +export * from "./networkExperimentProfiles"; +export * from "./preconfiguredEndpoints"; +export * from "./experiments"; +export * from "./reports"; diff --git a/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/policies.ts b/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/policies.ts index 8c22e585725c..ff838421b560 100644 --- a/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/policies.ts +++ b/sdk/frontdoor/arm-frontdoor/src/operationsInterfaces/policies.ts @@ -15,6 +15,9 @@ import { PoliciesGetResponse, PoliciesCreateOrUpdateOptionalParams, PoliciesCreateOrUpdateResponse, + TagsObject, + PoliciesUpdateOptionalParams, + PoliciesUpdateResponse, PoliciesDeleteOptionalParams } from "../models"; @@ -72,6 +75,39 @@ export interface Policies { parameters: WebApplicationFirewallPolicy, options?: PoliciesCreateOrUpdateOptionalParams ): Promise; + /** + * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified + * subscription and 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 FrontdoorWebApplicationFirewallPolicy parameters to be patched. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + policyName: string, + parameters: TagsObject, + options?: PoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PoliciesUpdateResponse + > + >; + /** + * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified + * subscription and 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 FrontdoorWebApplicationFirewallPolicy parameters to be patched. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + policyName: string, + parameters: TagsObject, + options?: PoliciesUpdateOptionalParams + ): Promise; /** * Deletes Policy * @param resourceGroupName Name of the Resource group within the Azure subscription. diff --git a/sdk/frontdoor/arm-frontdoor/test/sampleTest.ts b/sdk/frontdoor/arm-frontdoor/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/frontdoor/arm-frontdoor/test/sampleTest.ts +++ b/sdk/frontdoor/arm-frontdoor/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - AZURE_CLIENT_ID: "azure_client_id", - AZURE_CLIENT_SECRET: "azure_client_secret", - AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", - SUBSCRIPTION_ID: "azure_subscription_id" - }, - customizationsOnRecordings: [ - (recording: any): any => - recording.replace( - /"access_token":"[^"]*"/g, - `"access_token":"access_token"` - ) - ], - queryParametersToSkip: [] +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables }; describe("My test", () => { let recorder: Recorder; - beforeEach(async function() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() { diff --git a/sdk/frontdoor/arm-frontdoor/tsconfig.json b/sdk/frontdoor/arm-frontdoor/tsconfig.json index b62ec6e4fb42..3e6ae96443f3 100644 --- a/sdk/frontdoor/arm-frontdoor/tsconfig.json +++ b/sdk/frontdoor/arm-frontdoor/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-frontdoor": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"