1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.appcontainers import ContainerAppsAPIClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-appcontainers
# USAGE
python container_apps_patch.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ContainerAppsAPIClient(
credential=DefaultAzureCredential(),
subscription_id="34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
)
response = client.container_apps.begin_update(
resource_group_name="rg",
container_app_name="testcontainerApp0",
container_app_envelope={
"location": "East US",
"properties": {
"configuration": {
"dapr": {
"appPort": 3000,
"appProtocol": "http",
"enableApiLogging": True,
"enabled": True,
"httpMaxRequestSize": 10,
"httpReadBufferSize": 30,
"logLevel": "debug",
},
"ingress": {
"customDomains": [
{
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com",
"name": "www.my-name.com",
},
{
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com",
"name": "www.my-other-name.com",
},
],
"external": True,
"ipSecurityRestrictions": [
{
"action": "Allow",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/32",
"name": "Allow work IP A subnet",
},
{
"action": "Allow",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/8",
"name": "Allow work IP B subnet",
},
],
"targetPort": 3000,
"traffic": [{"label": "production", "revisionName": "testcontainerApp0-ab1234", "weight": 100}],
},
"maxInactiveRevisions": 10,
},
"template": {
"containers": [
{
"image": "repo/testcontainerApp0:v1",
"name": "testcontainerApp0",
"probes": [
{
"httpGet": {
"httpHeaders": [{"name": "Custom-Header", "value": "Awesome"}],
"path": "/health",
"port": 8080,
},
"initialDelaySeconds": 3,
"periodSeconds": 3,
"type": "Liveness",
}
],
}
],
"initContainers": [
{
"image": "repo/testcontainerApp0:v4",
"name": "testinitcontainerApp0",
"resources": {"cpu": 0.2, "memory": "100Mi"},
}
],
"scale": {
"maxReplicas": 5,
"minReplicas": 1,
"rules": [
{
"custom": {"metadata": {"concurrentRequests": "50"}, "type": "http"},
"name": "httpscalingrule",
}
],
},
},
},
"tags": {"tag1": "value1", "tag2": "value2"},
},
).result()
print(response)
# x-ms-original-file: specification/app/resource-manager/Microsoft.App/stable/2022-10-01/examples/ContainerApps_Patch.json
if __name__ == "__main__":
main()
|