Skip to content

Commit 7424889

Browse files
authored
Yunhe/cdn 2021 06 01 (Azure#8)
* add forwardingProtocol to OriginGroupOverride * added new cache behavior attributes and case transform enum values * update cache behavior * update route and route configuration override rule swagger definition * update * made changes to route and rule to remove EnableCache filed. To disable cache, leave CacheConfiguration to null. * add cache duration to route * update routeConfigOverride action * update route and action * update action swagger * update swagger spec * update examples * update comments * updated examples
1 parent 49b72e3 commit 7424889

7 files changed

Lines changed: 184 additions & 120 deletions

File tree

specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/afdx.json

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2243,6 +2243,9 @@
22432243
"200": {
22442244
"description": "Delete successful."
22452245
},
2246+
"202": {
2247+
"description": "Accepted"
2248+
},
22462249
"204": {
22472250
"description": "No Content. The request has been accepted but the rule set was not found."
22482251
},
@@ -4034,13 +4037,13 @@
40344037
"description": "Customer Certificate used for https",
40354038
"allOf": [
40364039
{
4037-
"$ref": "#/definitions/Certificate",
4040+
"$ref": "#/definitions/Certificate"
40384041
}
40394042
],
40404043
"properties": {
40414044
"secretSource": {
40424045
"description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​",
4043-
"$ref": "./cdn.json#/definitions/ResourceReference",
4046+
"$ref": "./cdn.json#/definitions/ResourceReference"
40444047
},
40454048
"secretVersion": {
40464049
"description": "Certificate version.",
@@ -5057,14 +5060,10 @@
50575060
"description": "A route pattern of the rule. Must not have any * except possibly after the final / at the end of the path."
50585061
}
50595062
},
5060-
"enableCache": {
5061-
"description": "A boolean field for enable or disable cache. If enableCache is true, cacheConfiguration cannot be null.",
5062-
"type": "boolean"
5063-
},
50645063
"cacheConfiguration": {
5065-
"description": "The caching configuration for this route.",
5064+
"description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.",
50665065
"type": "object",
5067-
"$ref": "./cdn.json#/definitions/CacheConfiguration"
5066+
"$ref": "#/definitions/CacheConfiguration"
50685067
},
50695068
"forwardingProtocol": {
50705069
"description": "Protocol this rule will use when forwarding traffic to backends.",
@@ -5117,6 +5116,37 @@
51175116
}
51185117
}
51195118
},
5119+
"CacheConfiguration": {
5120+
"description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.",
5121+
"type": "object",
5122+
"properties": {
5123+
"queryStringCachingBehavior": {
5124+
"description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.",
5125+
"enum": [
5126+
"IgnoreQueryString",
5127+
"UseQueryString",
5128+
"IgnoreSpecifiedQueryStrings",
5129+
"IncludeSpecifiedQueryStrings"
5130+
],
5131+
"type": "string",
5132+
"x-ms-enum": {
5133+
"name": "afdQueryStringCachingBehavior",
5134+
"modelAsString": true
5135+
}
5136+
},
5137+
"queryParameters": {
5138+
"description": "query parameters to include or exclude (comma separated).",
5139+
"type": "string"
5140+
},
5141+
"compressionSettings": {
5142+
"description": "compression settings.",
5143+
"type": "object",
5144+
"items": {
5145+
"$ref": "#/definitions/CompressionSettings"
5146+
}
5147+
}
5148+
}
5149+
},
51205150
"RuleListResult": {
51215151
"description": "Result of the request to list rules. It contains a list of rule objects and a URL link to get the next set of results.",
51225152
"properties": {

specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3779,13 +3779,13 @@
37793779
"enum": [
37803780
"CacheExpiration",
37813781
"CacheKeyQueryString",
3782-
"ModifyCacheConfiguration",
37833782
"ModifyRequestHeader",
37843783
"ModifyResponseHeader",
37853784
"UrlRedirect",
37863785
"UrlRewrite",
37873786
"UrlSigning",
3788-
"OriginGroupOverride"
3787+
"OriginGroupOverride",
3788+
"RouteConfigurationOverride"
37893789
],
37903790
"x-ms-enum": {
37913791
"name": "DeliveryRuleAction",
@@ -3981,19 +3981,6 @@
39813981
"description": "defines the OriginGroup that would override the DefaultOriginGroup.",
39823982
"type": "object",
39833983
"$ref": "#/definitions/ResourceReference"
3984-
},
3985-
"forwardingProtocol": {
3986-
"description": "Protocol this rule will use when forwarding traffic to backends.",
3987-
"type": "object",
3988-
"enum": [
3989-
"HttpOnly",
3990-
"HttpsOnly",
3991-
"MatchRequest"
3992-
],
3993-
"x-ms-enum": {
3994-
"name": "ForwardingProtocol",
3995-
"modelAsString": true
3996-
}
39973984
}
39983985
}
39993986
},
@@ -4231,9 +4218,9 @@
42314218
}
42324219
}
42334220
},
4234-
"DeliveryRuleCacheConfigurationAction": {
4235-
"description": "Defines the cache configuration action for the delivery rule. Only applicable to AFDX - need to update this later",
4236-
"x-ms-discriminator-value": "ModifyCacheConfiguration",
4221+
"DeliveryRuleRouteConfigurationOverrideAction": {
4222+
"description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.",
4223+
"x-ms-discriminator-value": "RouteConfigurationOverride",
42374224
"allOf": [
42384225
{
42394226
"$ref": "#/definitions/DeliveryRuleAction"
@@ -4245,12 +4232,12 @@
42454232
"properties": {
42464233
"parameters": {
42474234
"description": "Defines the parameters for the action.",
4248-
"$ref": "#/definitions/CacheConfigurationActionParameters"
4235+
"$ref": "#/definitions/RouteConfigurationOverrideActionParameters"
42494236
}
42504237
}
42514238
},
4252-
"CacheConfigurationActionParameters": {
4253-
"description": "Defines the parameters for the cache configuration action. To disable caching, do not provide a cacheConfiguration object.",
4239+
"RouteConfigurationOverrideActionParameters": {
4240+
"description": "Defines the parameters for the route configuration override action.",
42544241
"required": [
42554242
"typeName"
42564243
],
@@ -4261,38 +4248,75 @@
42614248
"DeliveryRuleCacheConfigurationActionParameters"
42624249
]
42634250
},
4264-
"enableCache": {
4265-
"description": "A boolean field for enable or disable cache. If enableCache is true, cacheConfiguration cannot be null.",
4266-
"type": "boolean"
4251+
"originGroupOverride": {
4252+
"description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.",
4253+
"type": "object",
4254+
"$ref": "#/definitions/OriginGroupOverride"
42674255
},
42684256
"cacheConfiguration": {
4269-
"description": "The caching configuration associated with this rule.",
4257+
"description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.",
4258+
"type": "object",
42704259
"$ref": "#/definitions/CacheConfiguration"
42714260
}
42724261
}
42734262
},
4263+
"OriginGroupOverride": {
4264+
"description": "Defines the parameters for the origin group override configuration.",
4265+
"properties": {
4266+
"originGroup": {
4267+
"description": "defines the OriginGroup that would override the DefaultOriginGroup on route.",
4268+
"type": "object",
4269+
"$ref": "#/definitions/ResourceReference"
4270+
},
4271+
"forwardingProtocol": {
4272+
"description": "Protocol this rule will use when forwarding traffic to backends.",
4273+
"type": "object",
4274+
"enum": [
4275+
"HttpOnly",
4276+
"HttpsOnly",
4277+
"MatchRequest"
4278+
],
4279+
"x-ms-enum": {
4280+
"name": "ForwardingProtocol",
4281+
"modelAsString": true
4282+
}
4283+
}
4284+
}
4285+
},
42744286
"CacheConfiguration": {
42754287
"description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.",
42764288
"type": "object",
42774289
"properties": {
42784290
"queryStringCachingBehavior": {
4279-
"description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
4291+
"description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.",
42804292
"enum": [
4281-
"IgnoreQueryStrings",
4282-
"CacheEveryUniqueUrl",
4293+
"IgnoreQueryString",
4294+
"UseQueryString",
42834295
"IgnoreSpecifiedQueryStrings",
42844296
"IncludeSpecifiedQueryStrings"
42854297
],
42864298
"type": "string",
42874299
"x-ms-enum": {
4288-
"name": "afdQueryStringCachingBehavior",
4300+
"name": "ruleQueryStringCachingBehavior",
42894301
"modelAsString": true
42904302
}
42914303
},
42924304
"queryParameters": {
42934305
"description": "query parameters to include or exclude (comma separated).",
42944306
"type": "string"
42954307
},
4308+
"IsCompressionEnabled": {
4309+
"description": "Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.",
4310+
"type": "string",
4311+
"enum": [
4312+
"Enabled",
4313+
"Disabled"
4314+
],
4315+
"x-ms-enum": {
4316+
"name": "ruleIsCompressionEnabled",
4317+
"modelAsString": true
4318+
}
4319+
},
42964320
"cacheBehavior": {
42974321
"description": "Caching behavior for the requests",
42984322
"type": "string",
@@ -4302,31 +4326,14 @@
43024326
"OverrideIfOriginMissing"
43034327
],
43044328
"x-ms-enum": {
4305-
"name": "cacheBehavior",
4329+
"name": "ruleCacheBehavior",
43064330
"modelAsString": true
43074331
}
43084332
},
43094333
"cacheDuration": {
43104334
"description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss",
43114335
"type": "string",
43124336
"format": "duration"
4313-
},
4314-
"compressionSettings": {
4315-
"description": "settings for compression.",
4316-
"type": "object",
4317-
"properties": {
4318-
"contentTypesToCompress": {
4319-
"description": "List of content types on which compression applies. The value should be a valid MIME type.",
4320-
"type": "array",
4321-
"items": {
4322-
"type": "string"
4323-
}
4324-
},
4325-
"isCompressionEnabled": {
4326-
"description": "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.",
4327-
"type": "boolean"
4328-
}
4329-
}
43304337
}
43314338
}
43324339
},

specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Create.json

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,17 @@
2929
"patternsToMatch": [
3030
"/*"
3131
],
32-
"compressionSettings": {
33-
"contentTypesToCompress": [
34-
"text/html",
35-
"application/octet-stream"
36-
],
37-
"isCompressionEnabled": true
32+
"cacheConfiguration":{
33+
"compressionSettings": {
34+
"contentTypesToCompress": [
35+
"text/html",
36+
"application/octet-stream"
37+
],
38+
"isCompressionEnabled": true
39+
},
40+
"queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings",
41+
"queryParameters": "querystring=test"
3842
},
39-
"queryStringCachingBehavior": "IgnoreQueryString",
4043
"forwardingProtocol": "MatchRequest",
4144
"linkToDefaultDomain": "Enabled",
4245
"httpsRedirect": "Enabled",
@@ -72,14 +75,17 @@
7275
"patternsToMatch": [
7376
"/*"
7477
],
75-
"compressionSettings": {
76-
"contentTypesToCompress": [
77-
"text/html",
78-
"application/octet-stream"
79-
],
80-
"isCompressionEnabled": true
78+
"cacheConfiguration":{
79+
"compressionSettings": {
80+
"contentTypesToCompress": [
81+
"text/html",
82+
"application/octet-stream"
83+
],
84+
"isCompressionEnabled": true
85+
},
86+
"queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings",
87+
"queryParameters": "querystring=test"
8188
},
82-
"queryStringCachingBehavior": "IgnoreQueryString",
8389
"forwardingProtocol": "MatchRequest",
8490
"linkToDefaultDomain": "Enabled",
8591
"httpsRedirect": "Enabled",
@@ -116,19 +122,22 @@
116122
"patternsToMatch": [
117123
"/*"
118124
],
119-
"compressionSettings": {
120-
"contentTypesToCompress": [
121-
"text/html",
122-
"application/octet-stream"
123-
],
124-
"isCompressionEnabled": true
125+
"cacheConfiguration":{
126+
"compressionSettings": {
127+
"contentTypesToCompress": [
128+
"text/html",
129+
"application/octet-stream"
130+
],
131+
"isCompressionEnabled": true
132+
},
133+
"queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings",
134+
"queryParameters": "querystring=test"
125135
},
126-
"queryStringCachingBehavior": "IgnoreQueryString",
127136
"forwardingProtocol": "MatchRequest",
128137
"linkToDefaultDomain": "Enabled",
129138
"httpsRedirect": "Enabled",
130139
"enabledState": "Enabled",
131-
"provisioningState": "Creating",
140+
"provisioningState": "Succeeded",
132141
"deploymentStatus": "NotStarted"
133142
}
134143
}
@@ -160,14 +169,17 @@
160169
"patternsToMatch": [
161170
"/*"
162171
],
163-
"compressionSettings": {
164-
"contentTypesToCompress": [
165-
"text/html",
166-
"application/octet-stream"
167-
],
168-
"isCompressionEnabled": true
172+
"cacheConfiguration":{
173+
"compressionSettings": {
174+
"contentTypesToCompress": [
175+
"text/html",
176+
"application/octet-stream"
177+
],
178+
"isCompressionEnabled": true
179+
},
180+
"queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings",
181+
"queryParameters": "querystring=test"
169182
},
170-
"queryStringCachingBehavior": "IgnoreQueryString",
171183
"forwardingProtocol": "MatchRequest",
172184
"linkToDefaultDomain": "Enabled",
173185
"httpsRedirect": "Enabled",

specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Get.json

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,17 @@
3535
"patternsToMatch": [
3636
"/*"
3737
],
38-
"compressionSettings": {
39-
"contentTypesToCompress": [
40-
"text/html",
41-
"application/octet-stream"
42-
],
43-
"isCompressionEnabled": true
38+
"cacheConfiguration":{
39+
"compressionSettings": {
40+
"contentTypesToCompress": [
41+
"text/html",
42+
"application/octet-stream"
43+
],
44+
"isCompressionEnabled": true
45+
},
46+
"queryStringCachingBehavior": "IgnoreQueryString",
47+
"queryParameters": null
4448
},
45-
"queryStringCachingBehavior": "IgnoreQueryString",
4649
"forwardingProtocol": "MatchRequest",
4750
"linkToDefaultDomain": "Enabled",
4851
"httpsRedirect": "Enabled",

0 commit comments

Comments
 (0)