diff --git a/Writerside/adoc.tree b/Writerside/adoc.tree
index d258663..ae65f2e 100644
--- a/Writerside/adoc.tree
+++ b/Writerside/adoc.tree
@@ -9,11 +9,14 @@
+
+
+
+
-
-
+
\ No newline at end of file
diff --git a/Writerside/topics/Akamai.md b/Writerside/topics/Akamai.md
index 0533002..05c8530 100644
--- a/Writerside/topics/Akamai.md
+++ b/Writerside/topics/Akamai.md
@@ -20,6 +20,5 @@ services.AddUmbraco(_env, _config)
```
You need to add following line:
```C#
- .
.AddAkamaiCdnProvider()
```
\ No newline at end of file
diff --git a/Writerside/topics/Azure-Frondoor-Standard-Premium.md b/Writerside/topics/Azure-Frondoor-Standard-Premium.md
new file mode 100644
index 0000000..74f58b8
--- /dev/null
+++ b/Writerside/topics/Azure-Frondoor-Standard-Premium.md
@@ -0,0 +1,24 @@
+# Azure Classic Front Door
+
+Start typing here...
+## Configuration
+### Json Options Schema
+```json
+```
+{src="../../src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json" }
+
+## Installing Provider
+In order to activate provider post installation, you need to add following code to your Startup.cs or Program.cs (for minimal hosting model) file.
+
+In registration of services, after this lines:
+```C#
+services.AddUmbraco(_env, _config)
+ .AddBackOffice()
+ .AddWebsite()
+ .AddComposers()
+```
+You need to add following line:
+```C#
+ .
+ .AddAzureFrontDoorCdnProvider()
+```
\ No newline at end of file
diff --git a/Writerside/topics/Azure-Front-Door.md b/Writerside/topics/Azure-Front-Door.md
index bf2a976..f57c883 100644
--- a/Writerside/topics/Azure-Front-Door.md
+++ b/Writerside/topics/Azure-Front-Door.md
@@ -1,4 +1,4 @@
-# Azure Front Door
+# Azure Frondoor Standard / Premium
Start typing here...
## Configuration
diff --git a/Writerside/topics/Azure.md b/Writerside/topics/Azure.md
new file mode 100644
index 0000000..ce8d345
--- /dev/null
+++ b/Writerside/topics/Azure.md
@@ -0,0 +1,16 @@
+# Azure
+## Configuration
+### Json Options Schema
+```json
+```
+{src="../../src/bielu.Umbraco.Cdn.Azure.Common/schema/appsettings-schema.AzureCdnOptions.json" }
+
+
+#### AuthenticationType
+This is an authentication type for Azure Front Door account. It is required to be able to use Azure Front Door.
+#### ResourceGroupName
+This is a resource group name for Azure Front Door account. It is required to be able to use Azure Front Door.
+#### SubscriptionId
+This is a subscription id for Azure Front Door account. It is required to be able to use Azure Front Door.
+#### UserAssignedClientId
+This is a user assigned client id for Azure Front Door account. It is required to be able to use Azure Front Door.
\ No newline at end of file
diff --git a/src/SchemaGenerator/Program.cs b/src/SchemaGenerator/Program.cs
index 8408474..28350b5 100644
--- a/src/SchemaGenerator/Program.cs
+++ b/src/SchemaGenerator/Program.cs
@@ -3,6 +3,8 @@
using bielu.SchemaGenerator.Build.Services;
using bielu.Umbraco.Cdn.Akamai.Configuration;
using bielu.Umbraco.Cdn.Aws.Configuration;
+using bielu.Umbraco.Cdn.Azure.Cdn.Configuration;
+using bielu.Umbraco.Cdn.Azure.Common.Configuration;
using bielu.Umbraco.Cdn.Azure.Configuration;
using bielu.Umbraco.Cdn.Cloudflare.Configuration;
using bielu.Umbraco.Cdn.Core.Configuration;
@@ -17,6 +19,8 @@ internal class Program
typeof(CloudFrontOptions).Assembly,
typeof(CloudflareOptions).Assembly,
typeof(FrontDoorOptions).Assembly,
+ typeof(AzureBaseOptions).Assembly,
+ typeof(AzureCdnOptions).Assembly,
typeof(BieluCdnOptions).Assembly,
typeof(AkamaiOptions).Assembly,
};
diff --git a/src/SchemaGenerator/SchemaGenerator.csproj b/src/SchemaGenerator/SchemaGenerator.csproj
index 692ab40..f1b3abb 100644
--- a/src/SchemaGenerator/SchemaGenerator.csproj
+++ b/src/SchemaGenerator/SchemaGenerator.csproj
@@ -6,11 +6,13 @@
enable
enable
SchemageGerator
+ false
+
diff --git a/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json b/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json
index 09eeda6..39fabca 100644
--- a/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json
+++ b/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json
@@ -2,7 +2,31 @@
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Bielu:Cdn:Azure:Cdn",
"definitions": {
- "BieluUmbracoCdnAzureModelsAuthenticationType": {
+ "BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "AuthenticationType": {
+ "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType"
+ },
+ "ResourceGroupName": {
+ "type": "string"
+ },
+ "SubscriptionId": {
+ "type": "string"
+ },
+ "UserAssignedClientId": {
+ "type": "string"
+ }
+ }
+ }
+ ]
+ },
+ "BieluUmbracoCdnAzureCommonModelsAuthenticationType": {
"type": "string",
"description": "",
"x-enumNames": [
@@ -39,25 +63,13 @@
},
"allOf": [
{
- "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions"
+ "$ref": "#/definitions/BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions"
},
{
"type": "object",
"properties": {
- "AuthenticationType": {
- "$ref": "#/definitions/BieluUmbracoCdnAzureModelsAuthenticationType"
- },
"FrontDoorName": {
"type": "string"
- },
- "ResourceGroupName": {
- "type": "string"
- },
- "SubscriptionId": {
- "type": "string"
- },
- "UserAssignedClientId": {
- "type": "string"
}
}
}
diff --git a/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json b/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json
new file mode 100644
index 0000000..0cf12ad
--- /dev/null
+++ b/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json
@@ -0,0 +1,62 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "bieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions",
+ "definitions": {
+ "BieluUmbracoCdnAzureCommonModelsAuthenticationType": {
+ "type": "string",
+ "description": "",
+ "x-enumNames": [
+ "ManagedIdentityCredential",
+ "DefaultAzureCredential",
+ "InteractiveBrowserCredential",
+ "SharedTokenCacheCredential",
+ "VisualStudioCredential",
+ "VisualStudioCodeCredential",
+ "AzureCliCredential",
+ "AzurePowerShellCredential",
+ "EnvironmentCredential"
+ ],
+ "enum": [
+ "ManagedIdentityCredential",
+ "DefaultAzureCredential",
+ "InteractiveBrowserCredential",
+ "SharedTokenCacheCredential",
+ "VisualStudioCredential",
+ "VisualStudioCodeCredential",
+ "AzureCliCredential",
+ "AzurePowerShellCredential",
+ "EnvironmentCredential"
+ ]
+ },
+ "BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions": {
+ "type": "object",
+ "properties": {
+ "Disabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "AuthenticationType": {
+ "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType"
+ },
+ "ResourceGroupName": {
+ "type": "string"
+ },
+ "SubscriptionId": {
+ "type": "string"
+ },
+ "UserAssignedClientId": {
+ "type": "string"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props b/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props
new file mode 100644
index 0000000..b818b16
--- /dev/null
+++ b/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json b/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json
index 28c1abb..ed3ee13 100644
--- a/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json
+++ b/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json
@@ -2,7 +2,31 @@
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Bielu:Cdn:Azure:FrontDoor",
"definitions": {
- "BieluUmbracoCdnAzureModelsAuthenticationType": {
+ "BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "AuthenticationType": {
+ "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType"
+ },
+ "ResourceGroupName": {
+ "type": "string"
+ },
+ "SubscriptionId": {
+ "type": "string"
+ },
+ "UserAssignedClientId": {
+ "type": "string"
+ }
+ }
+ }
+ ]
+ },
+ "BieluUmbracoCdnAzureCommonModelsAuthenticationType": {
"type": "string",
"description": "",
"x-enumNames": [
@@ -39,25 +63,13 @@
},
"allOf": [
{
- "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions"
+ "$ref": "#/definitions/BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions"
},
{
"type": "object",
"properties": {
- "AuthenticationType": {
- "$ref": "#/definitions/BieluUmbracoCdnAzureModelsAuthenticationType"
- },
"FrontDoorName": {
"type": "string"
- },
- "ResourceGroupName": {
- "type": "string"
- },
- "SubscriptionId": {
- "type": "string"
- },
- "UserAssignedClientId": {
- "type": "string"
}
}
}
diff --git a/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj b/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj
index cce0ad2..1171801 100644
--- a/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj
+++ b/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj
@@ -3,6 +3,7 @@
net6.0
e8d02d0c-d1e6-464d-95fe-7251b569e56a
+ false