Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add function app config to latest Web API #27358

Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
31ed99f
Add functionAppConfig definition
Francisco-Gamino Jan 9, 2024
8926857
Add create or update function app example
Francisco-Gamino Jan 11, 2024
84c84e3
Add create or update function app to examples
Francisco-Gamino Jan 12, 2024
79bdc9c
Fix example
Francisco-Gamino Jan 19, 2024
2e2ca7f
Addressed PR comments
Francisco-Gamino Jan 20, 2024
eafa030
Add runtime section
Francisco-Gamino Jan 20, 2024
34129a4
Add runtime section to example
Francisco-Gamino Jan 20, 2024
f6a8fa7
Update definition
Francisco-Gamino Jan 20, 2024
ac9bdda
Update example
Francisco-Gamino Jan 20, 2024
2664b5f
Fix systemAssignedIdentity case
Francisco-Gamino Jan 20, 2024
3d5ab35
Fix example authentication type
Francisco-Gamino Jan 20, 2024
ecdda3a
Fix example StorageAccountAccessKey authentication type
Francisco-Gamino Jan 20, 2024
317b394
Remove additional property name
Francisco-Gamino Jan 20, 2024
2f7ba6a
Rename StorageAccountAccessKey to StorageAccountConnectionString
Francisco-Gamino Jan 22, 2024
5a4c4f1
Update example
Francisco-Gamino Jan 22, 2024
eb7d499
Update casing
Francisco-Gamino Jan 22, 2024
dc5058a
Update example casing
Francisco-Gamino Jan 22, 2024
71234cc
Update enum definition
Francisco-Gamino Jan 23, 2024
7ea0fa5
Make deployment storage type an enum
Francisco-Gamino Jan 23, 2024
e9f47c3
Remove systemAssignedIdentity authentication type (not needed)
Francisco-Gamino Jan 23, 2024
3982a92
Rename enum names
Francisco-Gamino Jan 25, 2024
46d9882
Rename runtime name enum
Francisco-Gamino Jan 25, 2024
6dee33c
Update descriptions for AlwaysReady
Francisco-Gamino Jan 25, 2024
182d891
Update descriptions
Francisco-Gamino Jan 25, 2024
b2570c6
Update functionAppConfig authentication type
Francisco-Gamino Jan 30, 2024
11ba1aa
Update example to create a Flex Consumption app
Francisco-Gamino Feb 1, 2024
e075db4
Rename file to CreateOrUpdateFlexConsumptionFunctionApp.json
Francisco-Gamino Feb 1, 2024
3c0f603
Update create function app examples
Francisco-Gamino Feb 2, 2024
a1af2b4
Remove alwaysReady and triggers from the request payload
Francisco-Gamino Feb 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2923,6 +2923,10 @@
"$ref": "#/definitions/SiteConfig",
"description": "Configuration of the app."
},
"functionAppConfig": {
"$ref": "#/definitions/FunctionAppConfig",
"description": "Configuration specific of the Azure Function app."
},
"daprConfig": {
"$ref": "#/definitions/DaprConfig",
"description": "Dapr configuration of the app."
Expand Down Expand Up @@ -3586,6 +3590,157 @@
}
}
},
"FunctionsDeployment": {
"description": "Configuration section for Azure Function app deployment.",
"type": "object",
"properties": {
"storage": {
"description": "Storage for deployed package used by the Azure Function app.",
"type": "object",
"properties": {
"type": {
"description": "Property to select Azure Storage Type. Available options: blobContainer.",
"type": "string",
"enum": [
"blobContainer"
],
"x-ms-enum": {
"name": "type",
"modelAsString": true
}
},
"value": {
"description": "Property to set the URL for the selected Azure Storage Type. Example: For blobContainer, value will be like https://<storageAccountName>.blob.core.windows.net/<containerName>.",
"type": "string",
"format": "uri"
},
"authentication": {
"description": "Authentication method to access the storage for deployment.",
"type": "object",
"properties": {
"type": {
"description": "Property to select Authentication Type to access the selected storage. Available options: SystemAssignedIdentity, UserAssignedIdentity, StorageAccountConnectionString.",
"type": "string",
"enum": [
"SystemAssignedIdentity",
"UserAssignedIdentity",
"StorageAccountConnectionString"
],
"x-ms-enum": {
"name": "type",
"modelAsString": true
}
},
"userAssignedIdentityResourceId": {
"description": "Use this property for UserAssignedIdentity. Set the resource ID of the identity. Do not set a value for this property when using other authentication type.",
"type": "string"
Francisco-Gamino marked this conversation as resolved.
Show resolved Hide resolved
},
"storageAccountConnectionStringName": {
Francisco-Gamino marked this conversation as resolved.
Show resolved Hide resolved
"description": "Use this property for StorageAccountConnectionString. Set the name of the app setting that has the storage account connection string. Do not set a value for this property when using other authentication type.",
"type": "string"
}
Francisco-Gamino marked this conversation as resolved.
Show resolved Hide resolved
}
}
}
}
}
},
"FunctionsAlwaysReadyConfig": {
"description": "Sets the number of 'Always Ready' instances for a specific Azure Function or a specific trigger type.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Either an Azure Functions trigger or an Azure Function name is required. For example, use 'http' for a http trigger. For an Azure Function name, use 'function__functionName'."
},
"instanceCount": {
Francisco-Gamino marked this conversation as resolved.
Show resolved Hide resolved
"type": "number",
"description": "Sets the number of 'Always Ready' instances for a given trigger or a specific Azure Function."
}
}
},
"FunctionsScaleAndConcurrency": {
"description": "Scale and concurrency settings for an Azure Functions app.",
"type": "object",
"properties": {
"alwaysReady": {
"description": "'Always Ready' configuration for an Azure Function app.",
"type": "array",
"items": {
"$ref": "#/definitions/FunctionsAlwaysReadyConfig"
}
},
"maximumInstanceCount": {
"description": "The maximum number of VM instances for the Azure Functions app.",
"type": "number"
},
"instanceMemoryMB": {
"description": "Set the amount of memory allocated to each instance of the function app in MiB; CPU and network bandwidth are allocated proportionally.",
"type": "number"
},
"triggers": {
"type": "object",
"description": "Scale and concurrency settings for Azure Functions triggers.",
"properties": {
"http": {
"type": "object",
"description": "Scale and concurrency settings for the HTTP trigger.",
"properties": {
"perInstanceConcurrency": {
"type": "number",
"description": "The maximum number of concurrent HTTP trigger invocations per VM instance."
}
}
}
}
}
}
},
"FunctionsRuntime": {
"description": "Azure Function app runtime name and version.",
"type": "object",
"properties": {
"name": {
"description": "Function app runtime name. Available options: dotnet-isolated, node, java, powershell, python, custom",
"type": "string",
"enum": [
"dotnet-isolated",
"node",
"java",
"powershell",
"python",
"custom"
],
"x-ms-enum": {
"name": "name",
"modelAsString": true
}
},
"version": {
"description": "Function app runtime version. Example: 3.10 (for Python)",
"type": "string",
"x-nullable": true
}
}
},
"FunctionAppConfig": {
"description": "Function App configuration.",
"type": "object",
"properties": {
"deployment": {
"$ref": "#/definitions/FunctionsDeployment",
"description": "Azure Functions deployment configuration."
},
"runtime": {
"$ref": "#/definitions/FunctionsRuntime",
"description": "Azure Function runtime settings."
},
"scaleAndConcurrency": {
"$ref": "#/definitions/FunctionsScaleAndConcurrency",
"description": "Azure Functions scale and concurrency settings."
}
}
},
"DaprConfig": {
"description": "App Dapr configuration.",
"type": "object",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,9 @@
"Create or Update web app": {
"$ref": "./examples/CreateOrUpdateWebApp.json"
},
"Create or Update function app": {
"$ref": "./examples/CreateOrUpdateFunctionApp.json"
},
"Clone web app": {
"$ref": "./examples/CloneWebApp.json"
}
Expand Down
Loading