diff --git a/src/containerapp/azext_containerapp/_sdk_enums.py b/src/containerapp/azext_containerapp/_sdk_enums.py
new file mode 100644
index 00000000000..2edbcb24261
--- /dev/null
+++ b/src/containerapp/azext_containerapp/_sdk_enums.py
@@ -0,0 +1,303 @@
+# 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 enum import Enum
+from azure.core import CaseInsensitiveEnumMeta
+
+
+class AccessMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Access mode for storage."""
+
+ READ_ONLY = "ReadOnly"
+ READ_WRITE = "ReadWrite"
+
+
+class Action(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or
+ ALL Deny.
+ """
+
+ ALLOW = "Allow"
+ DENY = "Deny"
+
+
+class ActiveRevisionsMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """ActiveRevisionsMode controls how active revisions are handled for the Container app:
+
+
+ .. raw:: html
+
+ - Multiple: multiple revisions can be active.
- Single: Only one
+ revision can be active at a time. Revision weights can not be used in this mode. If no value if
+ provided, this is the default.
.
+ """
+
+ MULTIPLE = "Multiple"
+ SINGLE = "Single"
+
+
+class Affinity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Sticky Session Affinity."""
+
+ STICKY = "sticky"
+ NONE = "none"
+
+
+class Applicability(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """indicates whether the profile is default for the location."""
+
+ LOCATION_DEFAULT = "LocationDefault"
+ CUSTOM = "Custom"
+
+
+class AppProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Tells Dapr which protocol your application is using. Valid options are http and grpc. Default
+ is http.
+ """
+
+ HTTP = "http"
+ GRPC = "grpc"
+
+
+class BindingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Custom Domain binding type."""
+
+ DISABLED = "Disabled"
+ SNI_ENABLED = "SniEnabled"
+
+
+class CertificateProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of the certificate."""
+
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ DELETE_FAILED = "DeleteFailed"
+ PENDING = "Pending"
+
+
+class CheckNameAvailabilityReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The reason why the given name is not available."""
+
+ INVALID = "Invalid"
+ ALREADY_EXISTS = "AlreadyExists"
+
+
+class ConnectedEnvironmentProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of the Kubernetes Environment."""
+
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ WAITING = "Waiting"
+ INITIALIZATION_IN_PROGRESS = "InitializationInProgress"
+ INFRASTRUCTURE_SETUP_IN_PROGRESS = "InfrastructureSetupInProgress"
+ INFRASTRUCTURE_SETUP_COMPLETE = "InfrastructureSetupComplete"
+ SCHEDULED_FOR_DELETE = "ScheduledForDelete"
+
+
+class ContainerAppProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of the Container App."""
+
+ IN_PROGRESS = "InProgress"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ DELETING = "Deleting"
+
+
+class CookieExpirationConvention(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The convention used when determining the session cookie's expiration."""
+
+ FIXED_TIME = "FixedTime"
+ IDENTITY_PROVIDER_DERIVED = "IdentityProviderDerived"
+
+
+class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of identity that created the resource."""
+
+ USER = "User"
+ APPLICATION = "Application"
+ MANAGED_IDENTITY = "ManagedIdentity"
+ KEY = "Key"
+
+
+class DnsVerificationTestResult(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """DNS verification test result."""
+
+ PASSED = "Passed"
+ FAILED = "Failed"
+ SKIPPED = "Skipped"
+
+
+class EnvironmentProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of the Environment."""
+
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ WAITING = "Waiting"
+ INITIALIZATION_IN_PROGRESS = "InitializationInProgress"
+ INFRASTRUCTURE_SETUP_IN_PROGRESS = "InfrastructureSetupInProgress"
+ INFRASTRUCTURE_SETUP_COMPLETE = "InfrastructureSetupComplete"
+ SCHEDULED_FOR_DELETE = "ScheduledForDelete"
+ UPGRADE_REQUESTED = "UpgradeRequested"
+ UPGRADE_FAILED = "UpgradeFailed"
+
+
+class ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of extendedLocation."""
+
+ CUSTOM_LOCATION = "CustomLocation"
+
+
+class ForwardProxyConvention(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The convention used to determine the url of the request made."""
+
+ NO_PROXY = "NoProxy"
+ STANDARD = "Standard"
+ CUSTOM = "Custom"
+
+
+class IngressClientCertificateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Client certificate mode for mTLS authentication. Ignore indicates server drops client
+ certificate on forwarding. Accept indicates server forwards client certificate but does not
+ require a client certificate. Require indicates server requires a client certificate.
+ """
+
+ IGNORE = "ignore"
+ ACCEPT = "accept"
+ REQUIRE = "require"
+
+
+class IngressTransportMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Ingress transport protocol."""
+
+ AUTO = "auto"
+ HTTP = "http"
+ HTTP2 = "http2"
+ TCP = "tcp"
+
+
+class JobExecutionRunningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Current running State of the job."""
+
+ RUNNING = "Running"
+ PROCESSING = "Processing"
+ STOPPED = "Stopped"
+ DEGRADED = "Degraded"
+ FAILED = "Failed"
+ UNKNOWN = "Unknown"
+ SUCCEEDED = "Succeeded"
+
+
+class JobProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of the Container Apps Job."""
+
+ IN_PROGRESS = "InProgress"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ DELETING = "Deleting"
+
+
+class LogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default
+ is info.
+ """
+
+ INFO = "info"
+ DEBUG = "debug"
+ WARN = "warn"
+ ERROR = "error"
+
+
+class ManagedCertificateDomainControlValidation(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Selected type of domain control validation for managed certificates."""
+
+ CNAME = "CNAME"
+ HTTP = "HTTP"
+ TXT = "TXT"
+
+
+class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of managed service identity (where both SystemAssigned and UserAssigned types are
+ allowed).
+ """
+
+ NONE = "None"
+ SYSTEM_ASSIGNED = "SystemAssigned"
+ USER_ASSIGNED = "UserAssigned"
+ SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
+
+
+class RevisionHealthState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Current health State of the revision."""
+
+ HEALTHY = "Healthy"
+ UNHEALTHY = "Unhealthy"
+ NONE = "None"
+
+
+class RevisionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Current provisioning State of the revision."""
+
+ PROVISIONING = "Provisioning"
+ PROVISIONED = "Provisioned"
+ FAILED = "Failed"
+ DEPROVISIONING = "Deprovisioning"
+ DEPROVISIONED = "Deprovisioned"
+
+
+class Scheme(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Scheme to use for connecting to the host. Defaults to HTTP."""
+
+ HTTP = "HTTP"
+ HTTPS = "HTTPS"
+
+
+class SourceControlOperationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Current provisioning State of the operation."""
+
+ IN_PROGRESS = "InProgress"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+
+
+class StorageType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Storage type for the volume. If not provided, use EmptyDir."""
+
+ AZURE_FILE = "AzureFile"
+ EMPTY_DIR = "EmptyDir"
+ SECRET = "Secret"
+
+
+class TriggerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Trigger type of the job."""
+
+ SCHEDULED = "Scheduled"
+ EVENT = "Event"
+ MANUAL = "Manual"
+
+
+class Type(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of probe."""
+
+ LIVENESS = "Liveness"
+ READINESS = "Readiness"
+ STARTUP = "Startup"
+
+
+class UnauthenticatedClientActionV2(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The action to take when an unauthenticated client attempts to access the app."""
+
+ REDIRECT_TO_LOGIN_PAGE = "RedirectToLoginPage"
+ ALLOW_ANONYMOUS = "AllowAnonymous"
+ RETURN401 = "Return401"
+ RETURN403 = "Return403"
diff --git a/src/containerapp/azext_containerapp/_sdk_models.py b/src/containerapp/azext_containerapp/_sdk_models.py
index 9b6c9b297b1..11c431048ed 100644
--- a/src/containerapp/azext_containerapp/_sdk_models.py
+++ b/src/containerapp/azext_containerapp/_sdk_models.py
@@ -1,165 +1,249 @@
-# --------------------------------------------------------------------------------------------
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License. See License.txt in the project root for license information.
-# --------------------------------------------------------------------------------------------
-
# coding=utf-8
+# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
+# 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.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-# pylint: disable=line-too-long, super-with-arguments, too-many-instance-attributes
-from msrest.serialization import Model
-from msrest.exceptions import HttpOperationError
+import datetime
+import sys
+from typing import Any, Dict, List, Optional, Union
+
+import msrest.serialization as _serialization
+
+from . import _sdk_models, _sdk_enums as _models
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
-class AllowedAudiencesValidation(Model):
+
+class AllowedAudiencesValidation(_serialization.Model):
"""The configuration settings of the Allowed Audiences validation flow.
- :param allowed_audiences: The configuration settings of the allowed list
- of audiences from which to validate the JWT token.
- :type allowed_audiences: list[str]
+ :ivar allowed_audiences: The configuration settings of the allowed list of audiences from which
+ to validate the JWT token.
+ :vartype allowed_audiences: list[str]
"""
_attribute_map = {
- 'allowed_audiences': {'key': 'allowedAudiences', 'type': '[str]'},
+ "allowed_audiences": {"key": "allowedAudiences", "type": "[str]"},
}
- def __init__(self, **kwargs):
- super(AllowedAudiencesValidation, self).__init__(**kwargs)
- self.allowed_audiences = kwargs.get('allowed_audiences', None)
+ def __init__(self, *, allowed_audiences: Optional[List[str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword allowed_audiences: The configuration settings of the allowed list of audiences from
+ which to validate the JWT token.
+ :paramtype allowed_audiences: list[str]
+ """
+ super().__init__(**kwargs)
+ self.allowed_audiences = allowed_audiences
-class Apple(Model):
- """The configuration settings of the Apple provider.
+class AllowedPrincipals(_serialization.Model):
+ """The configuration settings of the Azure Active Directory allowed principals.
- :param state: Disabled if the Apple provider should not be
- enabled despite the set registration; otherwise, Enabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the Apple registration.
- :type registration: ~commondefinitions.models.AppleRegistration
- :param login: The configuration settings of the login flow.
- :type login: ~commondefinitions.models.LoginScopes
+ :ivar groups: The list of the allowed groups.
+ :vartype groups: list[str]
+ :ivar identities: The list of the allowed identities.
+ :vartype identities: list[str]
"""
_attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'AppleRegistration'},
- 'login': {'key': 'login', 'type': 'LoginScopes'},
+ "groups": {"key": "groups", "type": "[str]"},
+ "identities": {"key": "identities", "type": "[str]"},
}
- def __init__(self, **kwargs):
- super(Apple, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
+ def __init__(
+ self, *, groups: Optional[List[str]] = None, identities: Optional[List[str]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword groups: The list of the allowed groups.
+ :paramtype groups: list[str]
+ :keyword identities: The list of the allowed identities.
+ :paramtype identities: list[str]
+ """
+ super().__init__(**kwargs)
+ self.groups = groups
+ self.identities = identities
+
+
+class Apple(_serialization.Model):
+ """The configuration settings of the Apple provider.
+ :ivar enabled: :code:`false` if the Apple provider should not be enabled despite
+ the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the Apple registration.
+ :vartype registration: ~azure.mgmt.appcontainers.models.AppleRegistration
+ :ivar login: The configuration settings of the login flow.
+ :vartype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
-class AppleRegistration(Model):
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "AppleRegistration"},
+ "login": {"key": "login", "type": "LoginScopes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.AppleRegistration"] = None,
+ login: Optional["_models.LoginScopes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Apple provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the Apple registration.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.AppleRegistration
+ :keyword login: The configuration settings of the login flow.
+ :paramtype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.login = login
+
+
+class AppleRegistration(_serialization.Model):
"""The configuration settings of the registration for the Apple provider.
- :param client_id: The Client ID of the app used for login.
- :type client_id: str
- :param client_secret_ref_name: The app secret ref name that contains the
- client secret.
- :type client_secret_ref_name: str
+ :ivar client_id: The Client ID of the app used for login.
+ :vartype client_id: str
+ :ivar client_secret_setting_name: The app setting name that contains the client secret.
+ :vartype client_secret_setting_name: str
"""
_attribute_map = {
- 'client_id': {'key': 'clientId', 'type': 'str'},
- 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'},
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_secret_setting_name": {"key": "clientSecretSettingName", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AppleRegistration, self).__init__(**kwargs)
- self.client_id = kwargs.get('client_id', None)
- self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None)
+ def __init__(
+ self, *, client_id: Optional[str] = None, client_secret_setting_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword client_id: The Client ID of the app used for login.
+ :paramtype client_id: str
+ :keyword client_secret_setting_name: The app setting name that contains the client secret.
+ :paramtype client_secret_setting_name: str
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
+ self.client_secret_setting_name = client_secret_setting_name
-class AppLogsConfiguration(Model):
+class AppLogsConfiguration(_serialization.Model):
"""Configuration of application logs.
- :param destination: Logs destination
- :type destination: str
- :param log_analytics_configuration: Log Analytics configuration
- :type log_analytics_configuration:
- ~commondefinitions.models.LogAnalyticsConfiguration
+ :ivar destination: Logs destination.
+ :vartype destination: str
+ :ivar log_analytics_configuration: Log Analytics configuration.
+ :vartype log_analytics_configuration:
+ ~azure.mgmt.appcontainers.models.LogAnalyticsConfiguration
"""
_attribute_map = {
- 'destination': {'key': 'destination', 'type': 'str'},
- 'log_analytics_configuration': {'key': 'logAnalyticsConfiguration', 'type': 'LogAnalyticsConfiguration'},
- }
-
- def __init__(self, **kwargs):
- super(AppLogsConfiguration, self).__init__(**kwargs)
- self.destination = kwargs.get('destination', None)
- self.log_analytics_configuration = kwargs.get('log_analytics_configuration', None)
-
-
-class AppRegistration(Model):
- """The configuration settings of the app registration for providers that have
- app ids and app secrets.
-
- :param app_id: The App ID of the app used for login.
- :type app_id: str
- :param app_secret_ref_name: The app secret ref name that contains the app
- secret.
- :type app_secret_ref_name: str
+ "destination": {"key": "destination", "type": "str"},
+ "log_analytics_configuration": {"key": "logAnalyticsConfiguration", "type": "LogAnalyticsConfiguration"},
+ }
+
+ def __init__(
+ self,
+ *,
+ destination: Optional[str] = None,
+ log_analytics_configuration: Optional["_models.LogAnalyticsConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword destination: Logs destination.
+ :paramtype destination: str
+ :keyword log_analytics_configuration: Log Analytics configuration.
+ :paramtype log_analytics_configuration:
+ ~azure.mgmt.appcontainers.models.LogAnalyticsConfiguration
+ """
+ super().__init__(**kwargs)
+ self.destination = destination
+ self.log_analytics_configuration = log_analytics_configuration
+
+
+class AppRegistration(_serialization.Model):
+ """The configuration settings of the app registration for providers that have app ids and app
+ secrets.
+
+ :ivar app_id: The App ID of the app used for login.
+ :vartype app_id: str
+ :ivar app_secret_setting_name: The app setting name that contains the app secret.
+ :vartype app_secret_setting_name: str
"""
_attribute_map = {
- 'app_id': {'key': 'appId', 'type': 'str'},
- 'app_secret_ref_name': {'key': 'appSecretRefName', 'type': 'str'},
+ "app_id": {"key": "appId", "type": "str"},
+ "app_secret_setting_name": {"key": "appSecretSettingName", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AppRegistration, self).__init__(**kwargs)
- self.app_id = kwargs.get('app_id', None)
- self.app_secret_ref_name = kwargs.get('app_secret_ref_name', None)
-
+ def __init__(
+ self, *, app_id: Optional[str] = None, app_secret_setting_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword app_id: The App ID of the app used for login.
+ :paramtype app_id: str
+ :keyword app_secret_setting_name: The app setting name that contains the app secret.
+ :paramtype app_secret_setting_name: str
+ """
+ super().__init__(**kwargs)
+ self.app_id = app_id
+ self.app_secret_setting_name = app_secret_setting_name
-class Resource(Model):
- """Resource.
- Common fields that are returned in the response for all Azure Resource
- Manager resources.
+class Resource(_serialization.Model):
+ """Common fields that are returned in the response for all Azure Resource Manager resources.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
}
- def __init__(self, **kwargs):
- super(Resource, self).__init__(**kwargs)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
@@ -167,609 +251,1151 @@ def __init__(self, **kwargs):
class ProxyResource(Resource):
- """Proxy Resource.
+ """The resource model definition for a Azure Resource Manager proxy resource. It will not have
+ tags and a location.
- The resource model definition for a Azure Resource Manager proxy resource.
- It will not have tags and a location.
-
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
}
- # def __init__(self, **kwargs):
- # super(ProxyResource, self).__init__(**kwargs)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
class AuthConfig(ProxyResource):
- """Configuration settings for the Azure ContainerApp Authentication /
- Authorization feature.
+ """Configuration settings for the Azure ContainerApp Service Authentication / Authorization
+ feature.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param state: Enabled if the Authentication / Authorization
- feature is enabled for the current app; otherwise, Disabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.EasyAuthState
- :param global_validation: The configuration settings that determines the
- validation flow of users using ContainerApp Authentication/Authorization.
- :type global_validation: ~commondefinitions.models.GlobalValidation
- :param identity_providers: The configuration settings of each of the
- identity providers used to configure ContainerApp
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar platform: The configuration settings of the platform of ContainerApp Service
Authentication/Authorization.
- :type identity_providers: ~commondefinitions.models.IdentityProviders
- :param login: The configuration settings of the login flow of users using
- ContainerApp Authentication/Authorization.
- :type login: ~commondefinitions.models.Login
- :param http_settings: The configuration settings of the HTTP requests for
- authentication and authorization requests made against ContainerApp
+ :vartype platform: ~azure.mgmt.appcontainers.models.AuthPlatform
+ :ivar global_validation: The configuration settings that determines the validation flow of
+ users using Service Authentication/Authorization.
+ :vartype global_validation: ~azure.mgmt.appcontainers.models.GlobalValidation
+ :ivar identity_providers: The configuration settings of each of the identity providers used to
+ configure ContainerApp Service Authentication/Authorization.
+ :vartype identity_providers: ~azure.mgmt.appcontainers.models.IdentityProviders
+ :ivar login: The configuration settings of the login flow of users using ContainerApp Service
Authentication/Authorization.
- :type http_settings: ~commondefinitions.models.HttpSettings
+ :vartype login: ~azure.mgmt.appcontainers.models.Login
+ :ivar http_settings: The configuration settings of the HTTP requests for authentication and
+ authorization requests made against ContainerApp Service Authentication/Authorization.
+ :vartype http_settings: ~azure.mgmt.appcontainers.models.HttpSettings
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'state': {'key': 'properties.state', 'type': 'str'},
- 'global_validation': {'key': 'properties.globalValidation', 'type': 'GlobalValidation'},
- 'identity_providers': {'key': 'properties.identityProviders', 'type': 'IdentityProviders'},
- 'login': {'key': 'properties.login', 'type': 'Login'},
- 'http_settings': {'key': 'properties.httpSettings', 'type': 'HttpSettings'},
- }
-
- def __init__(self, **kwargs):
- super(AuthConfig, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.global_validation = kwargs.get('global_validation', None)
- self.identity_providers = kwargs.get('identity_providers', None)
- self.login = kwargs.get('login', None)
- self.http_settings = kwargs.get('http_settings', None)
-
-
-class AuthConfigCollection(Model):
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "platform": {"key": "properties.platform", "type": "AuthPlatform"},
+ "global_validation": {"key": "properties.globalValidation", "type": "GlobalValidation"},
+ "identity_providers": {"key": "properties.identityProviders", "type": "IdentityProviders"},
+ "login": {"key": "properties.login", "type": "Login"},
+ "http_settings": {"key": "properties.httpSettings", "type": "HttpSettings"},
+ }
+
+ def __init__(
+ self,
+ *,
+ platform: Optional["_models.AuthPlatform"] = None,
+ global_validation: Optional["_models.GlobalValidation"] = None,
+ identity_providers: Optional["_models.IdentityProviders"] = None,
+ login: Optional["_models.Login"] = None,
+ http_settings: Optional["_models.HttpSettings"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword platform: The configuration settings of the platform of ContainerApp Service
+ Authentication/Authorization.
+ :paramtype platform: ~azure.mgmt.appcontainers.models.AuthPlatform
+ :keyword global_validation: The configuration settings that determines the validation flow of
+ users using Service Authentication/Authorization.
+ :paramtype global_validation: ~azure.mgmt.appcontainers.models.GlobalValidation
+ :keyword identity_providers: The configuration settings of each of the identity providers used
+ to configure ContainerApp Service Authentication/Authorization.
+ :paramtype identity_providers: ~azure.mgmt.appcontainers.models.IdentityProviders
+ :keyword login: The configuration settings of the login flow of users using ContainerApp
+ Service Authentication/Authorization.
+ :paramtype login: ~azure.mgmt.appcontainers.models.Login
+ :keyword http_settings: The configuration settings of the HTTP requests for authentication and
+ authorization requests made against ContainerApp Service Authentication/Authorization.
+ :paramtype http_settings: ~azure.mgmt.appcontainers.models.HttpSettings
+ """
+ super().__init__(**kwargs)
+ self.platform = platform
+ self.global_validation = global_validation
+ self.identity_providers = identity_providers
+ self.login = login
+ self.http_settings = http_settings
+
+
+class AuthConfigCollection(_serialization.Model):
"""AuthConfig collection ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.AuthConfig]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.AuthConfig]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[AuthConfig]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[AuthConfig]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AuthConfigCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.AuthConfig"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.AuthConfig]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class AvailableOperations(Model):
+class AuthPlatform(_serialization.Model):
+ """The configuration settings of the platform of ContainerApp Service
+ Authentication/Authorization.
+
+ :ivar enabled: :code:`true` if the Authentication / Authorization feature is
+ enabled for the current app; otherwise, :code:`false`.
+ :vartype enabled: bool
+ :ivar runtime_version: The RuntimeVersion of the Authentication / Authorization feature in use
+ for the current app.
+ The setting in this value can control the behavior of certain features in the Authentication /
+ Authorization module.
+ :vartype runtime_version: str
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "runtime_version": {"key": "runtimeVersion", "type": "str"},
+ }
+
+ def __init__(self, *, enabled: Optional[bool] = None, runtime_version: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword enabled: :code:`true` if the Authentication / Authorization feature is
+ enabled for the current app; otherwise, :code:`false`.
+ :paramtype enabled: bool
+ :keyword runtime_version: The RuntimeVersion of the Authentication / Authorization feature in
+ use for the current app.
+ The setting in this value can control the behavior of certain features in the Authentication /
+ Authorization module.
+ :paramtype runtime_version: str
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.runtime_version = runtime_version
+
+
+class AvailableOperations(_serialization.Model):
"""Available operations of the service.
- :param value: Collection of available operation details
- :type value: list[~commondefinitions.models.OperationDetail]
- :param next_link: URL client should use to fetch the next page (per server
- side paging).
+ :ivar value: Collection of available operation details.
+ :vartype value: list[~azure.mgmt.appcontainers.models.OperationDetail]
+ :ivar next_link: URL client should use to fetch the next page (per server side paging).
It's null for now, added for future use.
- :type next_link: str
+ :vartype next_link: str
"""
_attribute_map = {
- 'value': {'key': 'value', 'type': '[OperationDetail]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[OperationDetail]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AvailableOperations, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
- self.next_link = kwargs.get('next_link', None)
+ def __init__(
+ self, *, value: Optional[List["_models.OperationDetail"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword value: Collection of available operation details.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.OperationDetail]
+ :keyword next_link: URL client should use to fetch the next page (per server side paging).
+ It's null for now, added for future use.
+ :paramtype next_link: str
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
-class AzureActiveDirectory(Model):
- """The configuration settings of the Azure Active directory provider.
+class AvailableWorkloadProfile(ProxyResource):
+ """A workload profile with specific hardware configure to run container apps.
- :param state: Disabled if the Azure Active Directory provider
- should not be enabled despite the set registration; otherwise,
- Enabled. Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the Azure Active
- Directory app registration.
- :type registration:
- ~commondefinitions.models.AzureActiveDirectoryRegistration
- :param login: The configuration settings of the Azure Active Directory
- login flow.
- :type login: ~commondefinitions.models.AzureActiveDirectoryLogin
- :param validation: The configuration settings of the Azure Active
- Directory token validation flow.
- :type validation: ~commondefinitions.models.AzureActiveDirectoryValidation
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar location: Region of the workload profile.
+ :vartype location: str
+ :ivar properties: Revision resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.AvailableWorkloadProfileProperties
"""
- _attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'AzureActiveDirectoryRegistration'},
- 'login': {'key': 'login', 'type': 'AzureActiveDirectoryLogin'},
- 'validation': {'key': 'validation', 'type': 'AzureActiveDirectoryValidation'},
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
- def __init__(self, **kwargs):
- super(AzureActiveDirectory, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
- self.validation = kwargs.get('validation', None)
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "location": {"key": "location", "type": "str"},
+ "properties": {"key": "properties", "type": "AvailableWorkloadProfileProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: Optional[str] = None,
+ properties: Optional["_models.AvailableWorkloadProfileProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword location: Region of the workload profile.
+ :paramtype location: str
+ :keyword properties: Revision resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.AvailableWorkloadProfileProperties
+ """
+ super().__init__(**kwargs)
+ self.location = location
+ self.properties = properties
+
+
+class AvailableWorkloadProfileProperties(_serialization.Model):
+ """Revision resource specific properties.
+
+ :ivar category: Used to categorize workload profiles.
+ :vartype category: str
+ :ivar applicability: indicates whether the profile is default for the location. Known values
+ are: "LocationDefault" and "Custom".
+ :vartype applicability: str or ~azure.mgmt.appcontainers.models.Applicability
+ :ivar cores: Number of cores in CPU.
+ :vartype cores: int
+ :ivar memory_gi_b: Memory in GiB.
+ :vartype memory_gi_b: int
+ :ivar display_name: The everyday name of the workload profile.
+ :vartype display_name: str
+ """
+ _attribute_map = {
+ "category": {"key": "category", "type": "str"},
+ "applicability": {"key": "applicability", "type": "str"},
+ "cores": {"key": "cores", "type": "int"},
+ "memory_gi_b": {"key": "memoryGiB", "type": "int"},
+ "display_name": {"key": "displayName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[str] = None,
+ applicability: Optional[Union[str, "_models.Applicability"]] = None,
+ cores: Optional[int] = None,
+ memory_gi_b: Optional[int] = None,
+ display_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword category: Used to categorize workload profiles.
+ :paramtype category: str
+ :keyword applicability: indicates whether the profile is default for the location. Known values
+ are: "LocationDefault" and "Custom".
+ :paramtype applicability: str or ~azure.mgmt.appcontainers.models.Applicability
+ :keyword cores: Number of cores in CPU.
+ :paramtype cores: int
+ :keyword memory_gi_b: Memory in GiB.
+ :paramtype memory_gi_b: int
+ :keyword display_name: The everyday name of the workload profile.
+ :paramtype display_name: str
+ """
+ super().__init__(**kwargs)
+ self.category = category
+ self.applicability = applicability
+ self.cores = cores
+ self.memory_gi_b = memory_gi_b
+ self.display_name = display_name
+
+
+class AvailableWorkloadProfilesCollection(_serialization.Model):
+ """Collection of available workload profiles in the location.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
-class AzureActiveDirectoryLogin(Model):
- """The configuration settings of the Azure Active Directory login flow.
+ All required parameters must be populated in order to send to Azure.
- :param login_parameters: Login parameters to send to the OpenID Connect
- authorization endpoint when
- a user logs in. Each parameter must be in the form "key=value".
- :type login_parameters: list[str]
- :param disable_www_authenticate: true if the www-authenticate
- provider should be omitted from the request; otherwise,
- false. Possible values include: 'True', 'False'
- :type disable_www_authenticate: str or
- ~commondefinitions.models.DisableWwwAuthenticateMode
+ :ivar value: Collection of workload profiles. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.AvailableWorkloadProfile]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
_attribute_map = {
- 'login_parameters': {'key': 'loginParameters', 'type': '[str]'},
- 'disable_www_authenticate': {'key': 'disableWwwAuthenticate', 'type': 'str'},
+ "value": {"key": "value", "type": "[AvailableWorkloadProfile]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AzureActiveDirectoryLogin, self).__init__(**kwargs)
- self.login_parameters = kwargs.get('login_parameters', None)
- self.disable_www_authenticate = kwargs.get('disable_www_authenticate', None)
+ def __init__(self, *, value: List["_models.AvailableWorkloadProfile"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of workload profiles. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.AvailableWorkloadProfile]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class AzureActiveDirectory(_serialization.Model):
+ """The configuration settings of the Azure Active directory provider.
+
+ :ivar enabled: :code:`false` if the Azure Active Directory provider should not be
+ enabled despite the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the Azure Active Directory app registration.
+ :vartype registration: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryRegistration
+ :ivar login: The configuration settings of the Azure Active Directory login flow.
+ :vartype login: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryLogin
+ :ivar validation: The configuration settings of the Azure Active Directory token validation
+ flow.
+ :vartype validation: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryValidation
+ :ivar is_auto_provisioned: Gets a value indicating whether the Azure AD configuration was
+ auto-provisioned using 1st party tooling.
+ This is an internal flag primarily intended to support the Azure Management Portal. Users
+ should not
+ read or write to this property.
+ :vartype is_auto_provisioned: bool
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "AzureActiveDirectoryRegistration"},
+ "login": {"key": "login", "type": "AzureActiveDirectoryLogin"},
+ "validation": {"key": "validation", "type": "AzureActiveDirectoryValidation"},
+ "is_auto_provisioned": {"key": "isAutoProvisioned", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.AzureActiveDirectoryRegistration"] = None,
+ login: Optional["_models.AzureActiveDirectoryLogin"] = None,
+ validation: Optional["_models.AzureActiveDirectoryValidation"] = None,
+ is_auto_provisioned: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Azure Active Directory provider should not
+ be enabled despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the Azure Active Directory app
+ registration.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryRegistration
+ :keyword login: The configuration settings of the Azure Active Directory login flow.
+ :paramtype login: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryLogin
+ :keyword validation: The configuration settings of the Azure Active Directory token validation
+ flow.
+ :paramtype validation: ~azure.mgmt.appcontainers.models.AzureActiveDirectoryValidation
+ :keyword is_auto_provisioned: Gets a value indicating whether the Azure AD configuration was
+ auto-provisioned using 1st party tooling.
+ This is an internal flag primarily intended to support the Azure Management Portal. Users
+ should not
+ read or write to this property.
+ :paramtype is_auto_provisioned: bool
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.login = login
+ self.validation = validation
+ self.is_auto_provisioned = is_auto_provisioned
+
+
+class AzureActiveDirectoryLogin(_serialization.Model):
+ """The configuration settings of the Azure Active Directory login flow.
+ :ivar login_parameters: Login parameters to send to the OpenID Connect authorization endpoint
+ when
+ a user logs in. Each parameter must be in the form "key=value".
+ :vartype login_parameters: list[str]
+ :ivar disable_www_authenticate: :code:`true` if the www-authenticate provider
+ should be omitted from the request; otherwise, :code:`false`.
+ :vartype disable_www_authenticate: bool
+ """
-class AzureActiveDirectoryRegistration(Model):
+ _attribute_map = {
+ "login_parameters": {"key": "loginParameters", "type": "[str]"},
+ "disable_www_authenticate": {"key": "disableWWWAuthenticate", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ login_parameters: Optional[List[str]] = None,
+ disable_www_authenticate: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword login_parameters: Login parameters to send to the OpenID Connect authorization
+ endpoint when
+ a user logs in. Each parameter must be in the form "key=value".
+ :paramtype login_parameters: list[str]
+ :keyword disable_www_authenticate: :code:`true` if the www-authenticate provider
+ should be omitted from the request; otherwise, :code:`false`.
+ :paramtype disable_www_authenticate: bool
+ """
+ super().__init__(**kwargs)
+ self.login_parameters = login_parameters
+ self.disable_www_authenticate = disable_www_authenticate
+
+
+class AzureActiveDirectoryRegistration(_serialization.Model):
"""The configuration settings of the Azure Active Directory app registration.
- :param open_id_issuer: The OpenID Connect Issuer URI that represents the
- entity which issues access tokens for this application.
- When using Azure Active Directory, this value is the URI of the directory
- tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.
+ :ivar open_id_issuer: The OpenID Connect Issuer URI that represents the entity which issues
+ access tokens for this application.
+ When using Azure Active Directory, this value is the URI of the directory tenant, e.g.
+ https://login.microsoftonline.com/v2.0/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery:
- http://openid.net/specs/openid-connect-discovery-1_0.html
- :type open_id_issuer: str
- :param client_id: The Client ID of this relying party application, known
- as the client_id.
- This setting is required for enabling OpenID Connection authentication
- with Azure Active Directory or
+ http://openid.net/specs/openid-connect-discovery-1_0.html.
+ :vartype open_id_issuer: str
+ :ivar client_id: The Client ID of this relying party application, known as the client_id.
+ This setting is required for enabling OpenID Connection authentication with Azure Active
+ Directory or
other 3rd party OpenID Connect providers.
- More information on OpenID Connect:
- http://openid.net/specs/openid-connect-core-1_0.html
- :type client_id: str
- :param client_secret_ref_name: The app secret ref name that contains the
- client secret of the relying party application.
- :type client_secret_ref_name: str
- :param client_secret_certificate_thumbprint: An alternative to the client
- secret, that is the thumbprint of a certificate used for signing purposes.
- This property acts as
+ More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html.
+ :vartype client_id: str
+ :ivar client_secret_setting_name: The app setting name that contains the client secret of the
+ relying party application.
+ :vartype client_secret_setting_name: str
+ :ivar client_secret_certificate_thumbprint: An alternative to the client secret, that is the
+ thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
- :type client_secret_certificate_thumbprint: str
- :param client_secret_certificate_subject_alternative_name: An alternative
- to the client secret thumbprint, that is the subject alternative name of a
- certificate used for signing purposes. This property acts as
- a replacement for the Client Secret Certificate Thumbprint. It is also
- optional.
- :type client_secret_certificate_subject_alternative_name: str
- :param client_secret_certificate_issuer: An alternative to the client
- secret thumbprint, that is the issuer of a certificate used for signing
- purposes. This property acts as
- a replacement for the Client Secret Certificate Thumbprint. It is also
- optional.
- :type client_secret_certificate_issuer: str
- """
-
- _attribute_map = {
- 'open_id_issuer': {'key': 'openIdIssuer', 'type': 'str'},
- 'client_id': {'key': 'clientId', 'type': 'str'},
- 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'},
- 'client_secret_certificate_thumbprint': {'key': 'clientSecretCertificateThumbprint', 'type': 'str'},
- 'client_secret_certificate_subject_alternative_name': {'key': 'clientSecretCertificateSubjectAlternativeName', 'type': 'str'},
- 'client_secret_certificate_issuer': {'key': 'clientSecretCertificateIssuer', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(AzureActiveDirectoryRegistration, self).__init__(**kwargs)
- self.open_id_issuer = kwargs.get('open_id_issuer', None)
- self.client_id = kwargs.get('client_id', None)
- self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None)
- self.client_secret_certificate_thumbprint = kwargs.get('client_secret_certificate_thumbprint', None)
- self.client_secret_certificate_subject_alternative_name = kwargs.get('client_secret_certificate_subject_alternative_name', None)
- self.client_secret_certificate_issuer = kwargs.get('client_secret_certificate_issuer', None)
-
-
-class AzureActiveDirectoryValidation(Model):
- """The configuration settings of the Azure Active Directory token validation
- flow.
-
- :param allowed_audiences: The list of audiences that can make successful
+ :vartype client_secret_certificate_thumbprint: str
+ :ivar client_secret_certificate_subject_alternative_name: An alternative to the client secret
+ thumbprint, that is the subject alternative name of a certificate used for signing purposes.
+ This property acts as
+ a replacement for the Client Secret Certificate Thumbprint. It is also optional.
+ :vartype client_secret_certificate_subject_alternative_name: str
+ :ivar client_secret_certificate_issuer: An alternative to the client secret thumbprint, that is
+ the issuer of a certificate used for signing purposes. This property acts as
+ a replacement for the Client Secret Certificate Thumbprint. It is also optional.
+ :vartype client_secret_certificate_issuer: str
+ """
+
+ _attribute_map = {
+ "open_id_issuer": {"key": "openIdIssuer", "type": "str"},
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_secret_setting_name": {"key": "clientSecretSettingName", "type": "str"},
+ "client_secret_certificate_thumbprint": {"key": "clientSecretCertificateThumbprint", "type": "str"},
+ "client_secret_certificate_subject_alternative_name": {
+ "key": "clientSecretCertificateSubjectAlternativeName",
+ "type": "str",
+ },
+ "client_secret_certificate_issuer": {"key": "clientSecretCertificateIssuer", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ open_id_issuer: Optional[str] = None,
+ client_id: Optional[str] = None,
+ client_secret_setting_name: Optional[str] = None,
+ client_secret_certificate_thumbprint: Optional[str] = None,
+ client_secret_certificate_subject_alternative_name: Optional[str] = None,
+ client_secret_certificate_issuer: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword open_id_issuer: The OpenID Connect Issuer URI that represents the entity which issues
+ access tokens for this application.
+ When using Azure Active Directory, this value is the URI of the directory tenant, e.g.
+ https://login.microsoftonline.com/v2.0/{tenant-guid}/.
+ This URI is a case-sensitive identifier for the token issuer.
+ More information on OpenID Connect Discovery:
+ http://openid.net/specs/openid-connect-discovery-1_0.html.
+ :paramtype open_id_issuer: str
+ :keyword client_id: The Client ID of this relying party application, known as the client_id.
+ This setting is required for enabling OpenID Connection authentication with Azure Active
+ Directory or
+ other 3rd party OpenID Connect providers.
+ More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html.
+ :paramtype client_id: str
+ :keyword client_secret_setting_name: The app setting name that contains the client secret of
+ the relying party application.
+ :paramtype client_secret_setting_name: str
+ :keyword client_secret_certificate_thumbprint: An alternative to the client secret, that is the
+ thumbprint of a certificate used for signing purposes. This property acts as
+ a replacement for the Client Secret. It is also optional.
+ :paramtype client_secret_certificate_thumbprint: str
+ :keyword client_secret_certificate_subject_alternative_name: An alternative to the client
+ secret thumbprint, that is the subject alternative name of a certificate used for signing
+ purposes. This property acts as
+ a replacement for the Client Secret Certificate Thumbprint. It is also optional.
+ :paramtype client_secret_certificate_subject_alternative_name: str
+ :keyword client_secret_certificate_issuer: An alternative to the client secret thumbprint, that
+ is the issuer of a certificate used for signing purposes. This property acts as
+ a replacement for the Client Secret Certificate Thumbprint. It is also optional.
+ :paramtype client_secret_certificate_issuer: str
+ """
+ super().__init__(**kwargs)
+ self.open_id_issuer = open_id_issuer
+ self.client_id = client_id
+ self.client_secret_setting_name = client_secret_setting_name
+ self.client_secret_certificate_thumbprint = client_secret_certificate_thumbprint
+ self.client_secret_certificate_subject_alternative_name = client_secret_certificate_subject_alternative_name
+ self.client_secret_certificate_issuer = client_secret_certificate_issuer
+
+
+class AzureActiveDirectoryValidation(_serialization.Model):
+ """The configuration settings of the Azure Active Directory token validation flow.
+
+ :ivar jwt_claim_checks: The configuration settings of the checks that should be made while
+ validating the JWT Claims.
+ :vartype jwt_claim_checks: ~azure.mgmt.appcontainers.models.JwtClaimChecks
+ :ivar allowed_audiences: The list of audiences that can make successful
authentication/authorization requests.
- :type allowed_audiences: list[str]
+ :vartype allowed_audiences: list[str]
+ :ivar default_authorization_policy: The configuration settings of the default authorization
+ policy.
+ :vartype default_authorization_policy:
+ ~azure.mgmt.appcontainers.models.DefaultAuthorizationPolicy
"""
_attribute_map = {
- 'allowed_audiences': {'key': 'allowedAudiences', 'type': '[str]'},
- }
+ "jwt_claim_checks": {"key": "jwtClaimChecks", "type": "JwtClaimChecks"},
+ "allowed_audiences": {"key": "allowedAudiences", "type": "[str]"},
+ "default_authorization_policy": {"key": "defaultAuthorizationPolicy", "type": "DefaultAuthorizationPolicy"},
+ }
+
+ def __init__(
+ self,
+ *,
+ jwt_claim_checks: Optional["_models.JwtClaimChecks"] = None,
+ allowed_audiences: Optional[List[str]] = None,
+ default_authorization_policy: Optional["_models.DefaultAuthorizationPolicy"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword jwt_claim_checks: The configuration settings of the checks that should be made while
+ validating the JWT Claims.
+ :paramtype jwt_claim_checks: ~azure.mgmt.appcontainers.models.JwtClaimChecks
+ :keyword allowed_audiences: The list of audiences that can make successful
+ authentication/authorization requests.
+ :paramtype allowed_audiences: list[str]
+ :keyword default_authorization_policy: The configuration settings of the default authorization
+ policy.
+ :paramtype default_authorization_policy:
+ ~azure.mgmt.appcontainers.models.DefaultAuthorizationPolicy
+ """
+ super().__init__(**kwargs)
+ self.jwt_claim_checks = jwt_claim_checks
+ self.allowed_audiences = allowed_audiences
+ self.default_authorization_policy = default_authorization_policy
+
+
+class AzureCredentials(_serialization.Model):
+ """Container App credentials.
- def __init__(self, **kwargs):
- super(AzureActiveDirectoryValidation, self).__init__(**kwargs)
- self.allowed_audiences = kwargs.get('allowed_audiences', None)
+ :ivar client_id: Client Id.
+ :vartype client_id: str
+ :ivar client_secret: Client Secret.
+ :vartype client_secret: str
+ :ivar tenant_id: Tenant Id.
+ :vartype tenant_id: str
+ :ivar subscription_id: Subscription Id.
+ :vartype subscription_id: str
+ """
+
+ _attribute_map = {
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_secret": {"key": "clientSecret", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: Optional[str] = None,
+ client_secret: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ subscription_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword client_id: Client Id.
+ :paramtype client_id: str
+ :keyword client_secret: Client Secret.
+ :paramtype client_secret: str
+ :keyword tenant_id: Tenant Id.
+ :paramtype tenant_id: str
+ :keyword subscription_id: Subscription Id.
+ :paramtype subscription_id: str
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
+ self.client_secret = client_secret
+ self.tenant_id = tenant_id
+ self.subscription_id = subscription_id
+
+
+class AzureFileProperties(_serialization.Model):
+ """Azure File Properties.
+ :ivar account_name: Storage account name for azure file.
+ :vartype account_name: str
+ :ivar account_key: Storage account key for azure file.
+ :vartype account_key: str
+ :ivar access_mode: Access mode for storage. Known values are: "ReadOnly" and "ReadWrite".
+ :vartype access_mode: str or ~azure.mgmt.appcontainers.models.AccessMode
+ :ivar share_name: Azure file share name.
+ :vartype share_name: str
+ """
-class AzureCredentials(Model):
- """Container App credentials.
+ _attribute_map = {
+ "account_name": {"key": "accountName", "type": "str"},
+ "account_key": {"key": "accountKey", "type": "str"},
+ "access_mode": {"key": "accessMode", "type": "str"},
+ "share_name": {"key": "shareName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ account_name: Optional[str] = None,
+ account_key: Optional[str] = None,
+ access_mode: Optional[Union[str, "_models.AccessMode"]] = None,
+ share_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword account_name: Storage account name for azure file.
+ :paramtype account_name: str
+ :keyword account_key: Storage account key for azure file.
+ :paramtype account_key: str
+ :keyword access_mode: Access mode for storage. Known values are: "ReadOnly" and "ReadWrite".
+ :paramtype access_mode: str or ~azure.mgmt.appcontainers.models.AccessMode
+ :keyword share_name: Azure file share name.
+ :paramtype share_name: str
+ """
+ super().__init__(**kwargs)
+ self.account_name = account_name
+ self.account_key = account_key
+ self.access_mode = access_mode
+ self.share_name = share_name
+
+
+class AzureStaticWebApps(_serialization.Model):
+ """The configuration settings of the Azure Static Web Apps provider.
+
+ :ivar enabled: :code:`false` if the Azure Static Web Apps provider should not be
+ enabled despite the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the Azure Static Web Apps registration.
+ :vartype registration: ~azure.mgmt.appcontainers.models.AzureStaticWebAppsRegistration
+ """
- :param client_id: Client Id.
- :type client_id: str
- :param client_secret: Client Secret.
- :type client_secret: str
- :param tenant_id: Tenant Id.
- :type tenant_id: str
- :param subscription_id: Subscription Id.
- :type subscription_id: str
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "AzureStaticWebAppsRegistration"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.AzureStaticWebAppsRegistration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Azure Static Web Apps provider should not
+ be enabled despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the Azure Static Web Apps registration.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.AzureStaticWebAppsRegistration
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+
+
+class AzureStaticWebAppsRegistration(_serialization.Model):
+ """The configuration settings of the registration for the Azure Static Web Apps provider.
+
+ :ivar client_id: The Client ID of the app used for login.
+ :vartype client_id: str
"""
_attribute_map = {
- 'client_id': {'key': 'clientId', 'type': 'str'},
- 'client_secret': {'key': 'clientSecret', 'type': 'str'},
- 'tenant_id': {'key': 'tenantId', 'type': 'str'},
- 'subscription_id': {'key': 'subscriptionId', 'type': 'str'},
+ "client_id": {"key": "clientId", "type": "str"},
}
- def __init__(self, **kwargs):
- super(AzureCredentials, self).__init__(**kwargs)
- self.client_id = kwargs.get('client_id', None)
- self.client_secret = kwargs.get('client_secret', None)
- self.tenant_id = kwargs.get('tenant_id', None)
- self.subscription_id = kwargs.get('subscription_id', None)
+ def __init__(self, *, client_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword client_id: The Client ID of the app used for login.
+ :paramtype client_id: str
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
-class AzureEntityResource(Resource):
- """Entity Resource.
+class BaseContainer(_serialization.Model):
+ """Container App base container definition.
- The resource model definition for an Azure Resource Manager resource with
- an etag.
+ :ivar image: Container image tag.
+ :vartype image: str
+ :ivar name: Custom container name.
+ :vartype name: str
+ :ivar command: Container start command.
+ :vartype command: list[str]
+ :ivar args: Container start command arguments.
+ :vartype args: list[str]
+ :ivar env: Container environment variables.
+ :vartype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :ivar resources: Container resource requirements.
+ :vartype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :ivar volume_mounts: Container volume mounts.
+ :vartype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ """
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ _attribute_map = {
+ "image": {"key": "image", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "command": {"key": "command", "type": "[str]"},
+ "args": {"key": "args", "type": "[str]"},
+ "env": {"key": "env", "type": "[EnvironmentVar]"},
+ "resources": {"key": "resources", "type": "ContainerResources"},
+ "volume_mounts": {"key": "volumeMounts", "type": "[VolumeMount]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ image: Optional[str] = None,
+ name: Optional[str] = None,
+ command: Optional[List[str]] = None,
+ args: Optional[List[str]] = None,
+ env: Optional[List["_models.EnvironmentVar"]] = None,
+ resources: Optional["_models.ContainerResources"] = None,
+ volume_mounts: Optional[List["_models.VolumeMount"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword image: Container image tag.
+ :paramtype image: str
+ :keyword name: Custom container name.
+ :paramtype name: str
+ :keyword command: Container start command.
+ :paramtype command: list[str]
+ :keyword args: Container start command arguments.
+ :paramtype args: list[str]
+ :keyword env: Container environment variables.
+ :paramtype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :keyword resources: Container resource requirements.
+ :paramtype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :keyword volume_mounts: Container volume mounts.
+ :paramtype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ """
+ super().__init__(**kwargs)
+ self.image = image
+ self.name = name
+ self.command = command
+ self.args = args
+ self.env = env
+ self.resources = resources
+ self.volume_mounts = volume_mounts
+
+
+class BillingMeter(ProxyResource):
+ """Billing meter.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :ivar etag: Resource Etag.
- :vartype etag: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar location: Region for the billing meter.
+ :vartype location: str
+ :ivar properties: Revision resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.BillingMeterProperties
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'etag': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'etag': {'key': 'etag', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(AzureEntityResource, self).__init__(**kwargs)
- self.etag = None
-
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "location": {"key": "location", "type": "str"},
+ "properties": {"key": "properties", "type": "BillingMeterProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: Optional[str] = None,
+ properties: Optional["_models.BillingMeterProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword location: Region for the billing meter.
+ :paramtype location: str
+ :keyword properties: Revision resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.BillingMeterProperties
+ """
+ super().__init__(**kwargs)
+ self.location = location
+ self.properties = properties
+
+
+class BillingMeterCollection(_serialization.Model):
+ """Collection of billing meters.
-class AzureFileProperties(Model):
- """Azure File Properties.
+ All required parameters must be populated in order to send to Azure.
- :param account_name: Storage account name for azure file.
- :type account_name: str
- :param account_key: Storage account key for azure file.
- :type account_key: str
- :param access_mode: Access mode for storage. Possible values include:
- 'ReadOnly', 'ReadWrite'
- :type access_mode: str or ~commondefinitions.models.AccessMode
- :param share_name: Azure file share name.
- :type share_name: str
+ :ivar value: Collection of billing meters. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.BillingMeter]
"""
- _attribute_map = {
- 'account_name': {'key': 'accountName', 'type': 'str'},
- 'account_key': {'key': 'accountKey', 'type': 'str'},
- 'access_mode': {'key': 'accessMode', 'type': 'str'},
- 'share_name': {'key': 'shareName', 'type': 'str'},
+ _validation = {
+ "value": {"required": True},
}
- def __init__(self, **kwargs):
- super(AzureFileProperties, self).__init__(**kwargs)
- self.account_name = kwargs.get('account_name', None)
- self.account_key = kwargs.get('account_key', None)
- self.access_mode = kwargs.get('access_mode', None)
- self.share_name = kwargs.get('share_name', None)
-
-
-class AzureStaticWebApp(Model):
- """The configuration settings of the Azure Static Web Apps provider.
-
- :param state: Disabled if the Azure Static Web Apps provider
- should not be enabled despite the set registration; otherwise,
- Enabled. Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the Azure Static Web
- Apps registration.
- :type registration:
- ~commondefinitions.models.AzureStaticWebAppRegistration
- """
-
_attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'AzureStaticWebAppRegistration'},
+ "value": {"key": "value", "type": "[BillingMeter]"},
}
- def __init__(self, **kwargs):
- super(AzureStaticWebApp, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
+ def __init__(self, *, value: List["_models.BillingMeter"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of billing meters. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.BillingMeter]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class AzureStaticWebAppRegistration(Model):
- """The configuration settings of the registration for the Azure Static Web
- Apps provider.
+class BillingMeterProperties(_serialization.Model):
+ """Revision resource specific properties.
- :param client_id: The Client ID of the app used for login.
- :type client_id: str
+ :ivar category: Used to categorize billing meters.
+ :vartype category: str
+ :ivar meter_type: Billing meter type.
+ :vartype meter_type: str
+ :ivar display_name: The everyday name of the billing meter.
+ :vartype display_name: str
"""
_attribute_map = {
- 'client_id': {'key': 'clientId', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(AzureStaticWebAppRegistration, self).__init__(**kwargs)
- self.client_id = kwargs.get('client_id', None)
+ "category": {"key": "category", "type": "str"},
+ "meter_type": {"key": "meterType", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[str] = None,
+ meter_type: Optional[str] = None,
+ display_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword category: Used to categorize billing meters.
+ :paramtype category: str
+ :keyword meter_type: Billing meter type.
+ :paramtype meter_type: str
+ :keyword display_name: The everyday name of the billing meter.
+ :paramtype display_name: str
+ """
+ super().__init__(**kwargs)
+ self.category = category
+ self.meter_type = meter_type
+ self.display_name = display_name
class TrackedResource(Resource):
- """Tracked Resource.
+ """The resource model definition for an Azure Resource Manager tracked top level resource which
+ has 'tags' and a 'location'.
- The resource model definition for an Azure Resource Manager tracked top
- level resource which has 'tags' and a 'location'.
-
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param tags: Resource tags.
- :type tags: dict[str, str]
- :param location: Required. The geo-location where the resource lives
- :type location: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'location': {'required': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'tags': {'key': 'tags', 'type': '{str}'},
- 'location': {'key': 'location', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(TrackedResource, self).__init__(**kwargs)
- self.tags = kwargs.get('tags', None)
- self.location = kwargs.get('location', None)
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ }
+
+ def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ """
+ super().__init__(**kwargs)
+ self.tags = tags
+ self.location = location
class Certificate(TrackedResource):
- """Certificate used for Custom Domain bindings of Container Apps in a Managed
- Environment.
+ """Certificate used for Custom Domain bindings of Container Apps in a Managed Environment.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param tags: Resource tags.
- :type tags: dict[str, str]
- :param location: Required. The geo-location where the resource lives
- :type location: str
- :param properties: Certificate resource specific properties
- :type properties: ~commondefinitions.models.CertificateProperties
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar properties: Certificate resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.CertificateProperties
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'location': {'required': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'tags': {'key': 'tags', 'type': '{str}'},
- 'location': {'key': 'location', 'type': 'str'},
- 'properties': {'key': 'properties', 'type': 'CertificateProperties'},
- }
-
- def __init__(self, **kwargs):
- super(Certificate, self).__init__(**kwargs)
- self.properties = kwargs.get('properties', None)
-
-
-class CertificateCollection(Model):
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "properties": {"key": "properties", "type": "CertificateProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ properties: Optional["_models.CertificateProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword properties: Certificate resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.CertificateProperties
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.properties = properties
+
+
+class CertificateCollection(_serialization.Model):
"""Collection of Certificates.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.Certificate]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Certificate]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[Certificate]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[Certificate]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(CertificateCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.Certificate"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Certificate]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class CertificatePatch(Model):
+class CertificatePatch(_serialization.Model):
"""A certificate to update.
- :param tags: Application-specific metadata in the form of key-value pairs.
- :type tags: dict[str, str]
+ :ivar tags: Application-specific metadata in the form of key-value pairs.
+ :vartype tags: dict[str, str]
"""
_attribute_map = {
- 'tags': {'key': 'tags', 'type': '{str}'},
+ "tags": {"key": "tags", "type": "{str}"},
}
- def __init__(self, **kwargs):
- super(CertificatePatch, self).__init__(**kwargs)
- self.tags = kwargs.get('tags', None)
+ def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword tags: Application-specific metadata in the form of key-value pairs.
+ :paramtype tags: dict[str, str]
+ """
+ super().__init__(**kwargs)
+ self.tags = tags
-class CertificateProperties(Model):
+class CertificateProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes
"""Certificate resource specific properties.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :param password: Certificate password.
- :type password: str
+ :ivar provisioning_state: Provisioning state of the certificate. Known values are: "Succeeded",
+ "Failed", "Canceled", "DeleteFailed", and "Pending".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.appcontainers.models.CertificateProvisioningState
+ :ivar password: Certificate password.
+ :vartype password: str
:ivar subject_name: Subject name of the certificate.
:vartype subject_name: str
- :param value: PFX or PEM blob
- :type value: bytearray
+ :ivar subject_alternative_names: Subject alternative names the certificate applies to.
+ :vartype subject_alternative_names: list[str]
+ :ivar value: PFX or PEM blob.
+ :vartype value: bytes
:ivar issuer: Certificate issuer.
:vartype issuer: str
:ivar issue_date: Certificate issue Date.
- :vartype issue_date: datetime
+ :vartype issue_date: ~datetime.datetime
:ivar expiration_date: Certificate expiration date.
- :vartype expiration_date: datetime
+ :vartype expiration_date: ~datetime.datetime
:ivar thumbprint: Certificate thumbprint.
:vartype thumbprint: str
:ivar valid: Is the certificate valid?.
@@ -779,32 +1405,44 @@ class CertificateProperties(Model):
"""
_validation = {
- 'subject_name': {'readonly': True},
- 'issuer': {'readonly': True},
- 'issue_date': {'readonly': True},
- 'expiration_date': {'readonly': True},
- 'thumbprint': {'readonly': True},
- 'valid': {'readonly': True},
- 'public_key_hash': {'readonly': True},
+ "provisioning_state": {"readonly": True},
+ "subject_name": {"readonly": True},
+ "subject_alternative_names": {"readonly": True},
+ "issuer": {"readonly": True},
+ "issue_date": {"readonly": True},
+ "expiration_date": {"readonly": True},
+ "thumbprint": {"readonly": True},
+ "valid": {"readonly": True},
+ "public_key_hash": {"readonly": True},
}
_attribute_map = {
- 'password': {'key': 'password', 'type': 'str'},
- 'subject_name': {'key': 'subjectName', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'bytearray'},
- 'issuer': {'key': 'issuer', 'type': 'str'},
- 'issue_date': {'key': 'issueDate', 'type': 'iso-8601'},
- 'expiration_date': {'key': 'expirationDate', 'type': 'iso-8601'},
- 'thumbprint': {'key': 'thumbprint', 'type': 'str'},
- 'valid': {'key': 'valid', 'type': 'bool'},
- 'public_key_hash': {'key': 'publicKeyHash', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(CertificateProperties, self).__init__(**kwargs)
- self.password = kwargs.get('password', None)
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
+ "password": {"key": "password", "type": "str"},
+ "subject_name": {"key": "subjectName", "type": "str"},
+ "subject_alternative_names": {"key": "subjectAlternativeNames", "type": "[str]"},
+ "value": {"key": "value", "type": "bytearray"},
+ "issuer": {"key": "issuer", "type": "str"},
+ "issue_date": {"key": "issueDate", "type": "iso-8601"},
+ "expiration_date": {"key": "expirationDate", "type": "iso-8601"},
+ "thumbprint": {"key": "thumbprint", "type": "str"},
+ "valid": {"key": "valid", "type": "bool"},
+ "public_key_hash": {"key": "publicKeyHash", "type": "str"},
+ }
+
+ def __init__(self, *, password: Optional[str] = None, value: Optional[bytes] = None, **kwargs: Any) -> None:
+ """
+ :keyword password: Certificate password.
+ :paramtype password: str
+ :keyword value: PFX or PEM blob.
+ :paramtype value: bytes
+ """
+ super().__init__(**kwargs)
+ self.provisioning_state = None
+ self.password = password
self.subject_name = None
- self.value = kwargs.get('value', None)
+ self.subject_alternative_names = None
+ self.value = value
self.issuer = None
self.issue_date = None
self.expiration_date = None
@@ -813,2148 +1451,5573 @@ def __init__(self, **kwargs):
self.public_key_hash = None
-class ClientRegistration(Model):
- """The configuration settings of the app registration for providers that have
- client ids and client secrets.
+class CheckNameAvailabilityRequest(_serialization.Model):
+ """The check availability request body.
+
+ :ivar name: The name of the resource for which availability needs to be checked.
+ :vartype name: str
+ :ivar type: The resource type.
+ :vartype type: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ }
+
+ def __init__(self, *, name: Optional[str] = None, type: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword name: The name of the resource for which availability needs to be checked.
+ :paramtype name: str
+ :keyword type: The resource type.
+ :paramtype type: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.type = type
+
+
+class CheckNameAvailabilityResponse(_serialization.Model):
+ """The check availability result.
+
+ :ivar name_available: Indicates if the resource name is available.
+ :vartype name_available: bool
+ :ivar reason: The reason why the given name is not available. Known values are: "Invalid" and
+ "AlreadyExists".
+ :vartype reason: str or ~azure.mgmt.appcontainers.models.CheckNameAvailabilityReason
+ :ivar message: Detailed reason why the given name is available.
+ :vartype message: str
+ """
+
+ _attribute_map = {
+ "name_available": {"key": "nameAvailable", "type": "bool"},
+ "reason": {"key": "reason", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name_available: Optional[bool] = None,
+ reason: Optional[Union[str, "_models.CheckNameAvailabilityReason"]] = None,
+ message: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name_available: Indicates if the resource name is available.
+ :paramtype name_available: bool
+ :keyword reason: The reason why the given name is not available. Known values are: "Invalid"
+ and "AlreadyExists".
+ :paramtype reason: str or ~azure.mgmt.appcontainers.models.CheckNameAvailabilityReason
+ :keyword message: Detailed reason why the given name is available.
+ :paramtype message: str
+ """
+ super().__init__(**kwargs)
+ self.name_available = name_available
+ self.reason = reason
+ self.message = message
+
+
+class ClientRegistration(_serialization.Model):
+ """The configuration settings of the app registration for providers that have client ids and
+ client secrets.
+
+ :ivar client_id: The Client ID of the app used for login.
+ :vartype client_id: str
+ :ivar client_secret_setting_name: The app setting name that contains the client secret.
+ :vartype client_secret_setting_name: str
+ """
+
+ _attribute_map = {
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_secret_setting_name": {"key": "clientSecretSettingName", "type": "str"},
+ }
+
+ def __init__(
+ self, *, client_id: Optional[str] = None, client_secret_setting_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword client_id: The Client ID of the app used for login.
+ :paramtype client_id: str
+ :keyword client_secret_setting_name: The app setting name that contains the client secret.
+ :paramtype client_secret_setting_name: str
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
+ self.client_secret_setting_name = client_secret_setting_name
+
+
+class Configuration(_serialization.Model):
+ """Non versioned Container App configuration properties that define the mutable settings of a
+ Container app.
+
+ :ivar secrets: Collection of secrets used by a Container app.
+ :vartype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :ivar active_revisions_mode: ActiveRevisionsMode controls how active revisions are handled for
+ the Container app:
+
+
+ .. raw:: html
+
+ - Multiple: multiple revisions can be active.
- Single: Only one
+ revision can be active at a time. Revision weights can not be used in this mode. If no value if
+ provided, this is the default.
. Known values are: "Multiple" and "Single".
+ :vartype active_revisions_mode: str or ~azure.mgmt.appcontainers.models.ActiveRevisionsMode
+ :ivar ingress: Ingress configurations.
+ :vartype ingress: ~azure.mgmt.appcontainers.models.Ingress
+ :ivar registries: Collection of private container registry credentials for containers used by
+ the Container app.
+ :vartype registries: list[~azure.mgmt.appcontainers.models.RegistryCredentials]
+ :ivar dapr: Dapr configuration for the Container App.
+ :vartype dapr: ~azure.mgmt.appcontainers.models.Dapr
+ :ivar max_inactive_revisions: Optional. Max inactive revisions a Container App can have.
+ :vartype max_inactive_revisions: int
+ """
+
+ _attribute_map = {
+ "secrets": {"key": "secrets", "type": "[Secret]"},
+ "active_revisions_mode": {"key": "activeRevisionsMode", "type": "str"},
+ "ingress": {"key": "ingress", "type": "Ingress"},
+ "registries": {"key": "registries", "type": "[RegistryCredentials]"},
+ "dapr": {"key": "dapr", "type": "Dapr"},
+ "max_inactive_revisions": {"key": "maxInactiveRevisions", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ secrets: Optional[List["_models.Secret"]] = None,
+ active_revisions_mode: Union[str, "_models.ActiveRevisionsMode"] = "Single",
+ ingress: Optional["_models.Ingress"] = None,
+ registries: Optional[List["_models.RegistryCredentials"]] = None,
+ dapr: Optional["_models.Dapr"] = None,
+ max_inactive_revisions: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword secrets: Collection of secrets used by a Container app.
+ :paramtype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :keyword active_revisions_mode: ActiveRevisionsMode controls how active revisions are handled
+ for the Container app:
+
+
+ .. raw:: html
+
+ - Multiple: multiple revisions can be active.
- Single: Only one
+ revision can be active at a time. Revision weights can not be used in this mode. If no value if
+ provided, this is the default.
. Known values are: "Multiple" and "Single".
+ :paramtype active_revisions_mode: str or ~azure.mgmt.appcontainers.models.ActiveRevisionsMode
+ :keyword ingress: Ingress configurations.
+ :paramtype ingress: ~azure.mgmt.appcontainers.models.Ingress
+ :keyword registries: Collection of private container registry credentials for containers used
+ by the Container app.
+ :paramtype registries: list[~azure.mgmt.appcontainers.models.RegistryCredentials]
+ :keyword dapr: Dapr configuration for the Container App.
+ :paramtype dapr: ~azure.mgmt.appcontainers.models.Dapr
+ :keyword max_inactive_revisions: Optional. Max inactive revisions a Container App can have.
+ :paramtype max_inactive_revisions: int
+ """
+ super().__init__(**kwargs)
+ self.secrets = secrets
+ self.active_revisions_mode = active_revisions_mode
+ self.ingress = ingress
+ self.registries = registries
+ self.dapr = dapr
+ self.max_inactive_revisions = max_inactive_revisions
+
+
+class ConnectedEnvironment(TrackedResource): # pylint: disable=too-many-instance-attributes
+ """An environment for Kubernetes cluster specialized for web workloads by Azure App Service.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar extended_location: The complex type of the extended location.
+ :vartype extended_location: ~azure.mgmt.appcontainers.models.ExtendedLocation
+ :ivar provisioning_state: Provisioning state of the Kubernetes Environment. Known values are:
+ "Succeeded", "Failed", "Canceled", "Waiting", "InitializationInProgress",
+ "InfrastructureSetupInProgress", "InfrastructureSetupComplete", and "ScheduledForDelete".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.appcontainers.models.ConnectedEnvironmentProvisioningState
+ :ivar deployment_errors: Any errors that occurred during deployment or deployment validation.
+ :vartype deployment_errors: str
+ :ivar default_domain: Default Domain Name for the cluster.
+ :vartype default_domain: str
+ :ivar static_ip: Static IP of the connectedEnvironment.
+ :vartype static_ip: str
+ :ivar dapr_ai_connection_string: Application Insights connection string used by Dapr to export
+ Service to Service communication telemetry.
+ :vartype dapr_ai_connection_string: str
+ :ivar custom_domain_configuration: Custom domain configuration for the environment.
+ :vartype custom_domain_configuration:
+ ~azure.mgmt.appcontainers.models.CustomDomainConfiguration
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "provisioning_state": {"readonly": True},
+ "deployment_errors": {"readonly": True},
+ "default_domain": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "deployment_errors": {"key": "properties.deploymentErrors", "type": "str"},
+ "default_domain": {"key": "properties.defaultDomain", "type": "str"},
+ "static_ip": {"key": "properties.staticIp", "type": "str"},
+ "dapr_ai_connection_string": {"key": "properties.daprAIConnectionString", "type": "str"},
+ "custom_domain_configuration": {
+ "key": "properties.customDomainConfiguration",
+ "type": "CustomDomainConfiguration",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ extended_location: Optional["_models.ExtendedLocation"] = None,
+ static_ip: Optional[str] = None,
+ dapr_ai_connection_string: Optional[str] = None,
+ custom_domain_configuration: Optional["_models.CustomDomainConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword extended_location: The complex type of the extended location.
+ :paramtype extended_location: ~azure.mgmt.appcontainers.models.ExtendedLocation
+ :keyword static_ip: Static IP of the connectedEnvironment.
+ :paramtype static_ip: str
+ :keyword dapr_ai_connection_string: Application Insights connection string used by Dapr to
+ export Service to Service communication telemetry.
+ :paramtype dapr_ai_connection_string: str
+ :keyword custom_domain_configuration: Custom domain configuration for the environment.
+ :paramtype custom_domain_configuration:
+ ~azure.mgmt.appcontainers.models.CustomDomainConfiguration
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.extended_location = extended_location
+ self.provisioning_state = None
+ self.deployment_errors = None
+ self.default_domain = None
+ self.static_ip = static_ip
+ self.dapr_ai_connection_string = dapr_ai_connection_string
+ self.custom_domain_configuration = custom_domain_configuration
+
+
+class ConnectedEnvironmentCollection(_serialization.Model):
+ """Collection of connectedEnvironments.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: Collection of resources.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ConnectedEnvironment]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[ConnectedEnvironment]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: Optional[List["_models.ConnectedEnvironment"]] = None, **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ConnectedEnvironment]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class ConnectedEnvironmentStorage(ProxyResource):
+ """Storage resource for connectedEnvironment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar properties: Storage properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.ConnectedEnvironmentStorageProperties
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "properties": {"key": "properties", "type": "ConnectedEnvironmentStorageProperties"},
+ }
+
+ def __init__(
+ self, *, properties: Optional["_models.ConnectedEnvironmentStorageProperties"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword properties: Storage properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.ConnectedEnvironmentStorageProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class ConnectedEnvironmentStorageProperties(_serialization.Model):
+ """Storage properties.
- :param client_id: The Client ID of the app used for login.
- :type client_id: str
- :param client_secret_ref_name: The app secret ref name that contains the
- client secret.
- :type client_secret_ref_name: str
+ :ivar azure_file: Azure file properties.
+ :vartype azure_file: ~azure.mgmt.appcontainers.models.AzureFileProperties
"""
_attribute_map = {
- 'client_id': {'key': 'clientId', 'type': 'str'},
- 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'},
+ "azure_file": {"key": "azureFile", "type": "AzureFileProperties"},
}
- def __init__(self, **kwargs):
- super(ClientRegistration, self).__init__(**kwargs)
- self.client_id = kwargs.get('client_id', None)
- self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None)
+ def __init__(self, *, azure_file: Optional["_models.AzureFileProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword azure_file: Azure file properties.
+ :paramtype azure_file: ~azure.mgmt.appcontainers.models.AzureFileProperties
+ """
+ super().__init__(**kwargs)
+ self.azure_file = azure_file
+
+class ConnectedEnvironmentStoragesCollection(_serialization.Model):
+ """Collection of Storage for Environments.
-class Configuration(Model):
- """Non versioned Container App configuration properties that define the
- mutable settings of a Container app.
+ All required parameters must be populated in order to send to Azure.
- :param secrets: Collection of secrets used by a Container app
- :type secrets: list[~commondefinitions.models.Secret]
- :param active_revisions_mode: ActiveRevisionsMode controls how active
- revisions are handled for the Container app:
- - Multiple: multiple revisions can be active. If no value if
- provided, this is the default
- Single: Only one revision can be
- active at a time. Revision weights can not be used in this
- mode
. Possible values include: 'multiple', 'single'
- :type active_revisions_mode: str or
- ~commondefinitions.models.ActiveRevisionsMode
- :param ingress: Ingress configurations.
- :type ingress: ~commondefinitions.models.Ingress
- :param dapr: Dapr configuration for the Container App.
- :type dapr: ~commondefinitions.models.Dapr
- :param registries: Collection of private container registry credentials
- for containers used by the Container app
- :type registries: list[~commondefinitions.models.RegistryCredentials]
+ :ivar value: Collection of storage resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ConnectedEnvironmentStorage]
"""
+ _validation = {
+ "value": {"required": True},
+ }
+
_attribute_map = {
- 'secrets': {'key': 'secrets', 'type': '[Secret]'},
- 'active_revisions_mode': {'key': 'activeRevisionsMode', 'type': 'str'},
- 'ingress': {'key': 'ingress', 'type': 'Ingress'},
- 'dapr': {'key': 'dapr', 'type': 'Dapr'},
- 'registries': {'key': 'registries', 'type': '[RegistryCredentials]'},
- 'max_inactive_revisions': {'key': 'maxInactiveRevisions', 'type': 'int'},
+ "value": {"key": "value", "type": "[ConnectedEnvironmentStorage]"},
}
- def __init__(self, **kwargs):
- super(Configuration, self).__init__(**kwargs)
- self.secrets = kwargs.get('secrets', None)
- self.active_revisions_mode = kwargs.get('active_revisions_mode', None)
- self.ingress = kwargs.get('ingress', None)
- self.dapr = kwargs.get('dapr', None)
- self.registries = kwargs.get('registries', None)
- self.max_inactive_revisions = kwargs.get('max_inactive_revisions', None)
+ def __init__(self, *, value: List["_models.ConnectedEnvironmentStorage"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of storage resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ConnectedEnvironmentStorage]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class Container(Model):
+class Container(BaseContainer):
"""Container App container definition.
- :param image: Container image tag.
- :type image: str
- :param name: Custom container name.
- :type name: str
- :param command: Container start command.
- :type command: list[str]
- :param args: Container start command arguments.
- :type args: list[str]
- :param env: Container environment variables.
- :type env: list[~commondefinitions.models.EnvironmentVar]
- :param resources: Container resource requirements.
- :type resources: ~commondefinitions.models.ContainerResources
- :param probes: List of probes for the container.
- :type probes: list[~commondefinitions.models.ContainerAppProbe]
- :param volume_mounts: Container volume mounts.
- :type volume_mounts: list[~commondefinitions.models.VolumeMount]
- """
-
- _attribute_map = {
- 'image': {'key': 'image', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'command': {'key': 'command', 'type': '[str]'},
- 'args': {'key': 'args', 'type': '[str]'},
- 'env': {'key': 'env', 'type': '[EnvironmentVar]'},
- 'resources': {'key': 'resources', 'type': 'ContainerResources'},
- 'probes': {'key': 'probes', 'type': '[ContainerAppProbe]'},
- 'volume_mounts': {'key': 'volumeMounts', 'type': '[VolumeMount]'},
- }
-
- def __init__(self, **kwargs):
- super(Container, self).__init__(**kwargs)
- self.image = kwargs.get('image', None)
- self.name = kwargs.get('name', None)
- self.command = kwargs.get('command', None)
- self.args = kwargs.get('args', None)
- self.env = kwargs.get('env', None)
- self.resources = kwargs.get('resources', None)
- self.probes = kwargs.get('probes', None)
- self.volume_mounts = kwargs.get('volume_mounts', None)
-
-
-class ContainerApp(TrackedResource):
+ :ivar image: Container image tag.
+ :vartype image: str
+ :ivar name: Custom container name.
+ :vartype name: str
+ :ivar command: Container start command.
+ :vartype command: list[str]
+ :ivar args: Container start command arguments.
+ :vartype args: list[str]
+ :ivar env: Container environment variables.
+ :vartype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :ivar resources: Container resource requirements.
+ :vartype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :ivar volume_mounts: Container volume mounts.
+ :vartype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ :ivar probes: List of probes for the container.
+ :vartype probes: list[~azure.mgmt.appcontainers.models.ContainerAppProbe]
+ """
+
+ _attribute_map = {
+ "image": {"key": "image", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "command": {"key": "command", "type": "[str]"},
+ "args": {"key": "args", "type": "[str]"},
+ "env": {"key": "env", "type": "[EnvironmentVar]"},
+ "resources": {"key": "resources", "type": "ContainerResources"},
+ "volume_mounts": {"key": "volumeMounts", "type": "[VolumeMount]"},
+ "probes": {"key": "probes", "type": "[ContainerAppProbe]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ image: Optional[str] = None,
+ name: Optional[str] = None,
+ command: Optional[List[str]] = None,
+ args: Optional[List[str]] = None,
+ env: Optional[List["_models.EnvironmentVar"]] = None,
+ resources: Optional["_models.ContainerResources"] = None,
+ volume_mounts: Optional[List["_models.VolumeMount"]] = None,
+ probes: Optional[List["_models.ContainerAppProbe"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword image: Container image tag.
+ :paramtype image: str
+ :keyword name: Custom container name.
+ :paramtype name: str
+ :keyword command: Container start command.
+ :paramtype command: list[str]
+ :keyword args: Container start command arguments.
+ :paramtype args: list[str]
+ :keyword env: Container environment variables.
+ :paramtype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :keyword resources: Container resource requirements.
+ :paramtype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :keyword volume_mounts: Container volume mounts.
+ :paramtype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ :keyword probes: List of probes for the container.
+ :paramtype probes: list[~azure.mgmt.appcontainers.models.ContainerAppProbe]
+ """
+ super().__init__(
+ image=image,
+ name=name,
+ command=command,
+ args=args,
+ env=env,
+ resources=resources,
+ volume_mounts=volume_mounts,
+ **kwargs
+ )
+ self.probes = probes
+
+
+class ContainerApp(TrackedResource): # pylint: disable=too-many-instance-attributes
"""Container App.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param tags: Resource tags.
- :type tags: dict[str, str]
- :param location: Required. The geo-location where the resource lives
- :type location: str
- :param identity: managed identities for the Container App to interact with
- other Azure services without maintaining any secrets or credentials in
- code.
- :type identity: ~commondefinitions.models.ManagedServiceIdentity
- :ivar provisioning_state: Provisioning state of the Container App.
- Possible values include: 'InProgress', 'Succeeded', 'Failed', 'Canceled'
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar extended_location: The complex type of the extended location.
+ :vartype extended_location: ~azure.mgmt.appcontainers.models.ExtendedLocation
+ :ivar identity: managed identities for the Container App to interact with other Azure services
+ without maintaining any secrets or credentials in code.
+ :vartype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :ivar managed_by: The fully qualified resource ID of the resource that manages this resource.
+ Indicates if this resource is managed by another Azure resource. If this is present, complete
+ mode deployment will not delete the resource if it is removed from the template since it is
+ managed by another resource.
+ :vartype managed_by: str
+ :ivar provisioning_state: Provisioning state of the Container App. Known values are:
+ "InProgress", "Succeeded", "Failed", "Canceled", and "Deleting".
:vartype provisioning_state: str or
- ~commondefinitions.models.ContainerAppProvisioningState
- :param managed_environment_id: Resource ID of the Container App's
- environment.
- :type managed_environment_id: str
- :param workload_profile_name: Name of the workload profile used
- :type workload_profile_name: str
- :ivar latest_revision_name: Name of the latest revision of the Container
- App.
+ ~azure.mgmt.appcontainers.models.ContainerAppProvisioningState
+ :ivar managed_environment_id: Deprecated. Resource ID of the Container App's environment.
+ :vartype managed_environment_id: str
+ :ivar environment_id: Resource ID of environment.
+ :vartype environment_id: str
+ :ivar workload_profile_name: Workload profile name to pin for container app execution.
+ :vartype workload_profile_name: str
+ :ivar latest_revision_name: Name of the latest revision of the Container App.
:vartype latest_revision_name: str
- :ivar latest_revision_fqdn: Fully Qualified Domain Name of the latest
- revision of the Container App.
+ :ivar latest_ready_revision_name: Name of the latest ready revision of the Container App.
+ :vartype latest_ready_revision_name: str
+ :ivar latest_revision_fqdn: Fully Qualified Domain Name of the latest revision of the Container
+ App.
:vartype latest_revision_fqdn: str
- :ivar custom_domain_verification_id: Id used to verify domain name
- ownership
+ :ivar custom_domain_verification_id: Id used to verify domain name ownership.
:vartype custom_domain_verification_id: str
- :param configuration: Non versioned Container App configuration
- properties.
- :type configuration: ~commondefinitions.models.Configuration
- :param template: Container App versioned application definition.
- :type template: ~commondefinitions.models.Template
+ :ivar configuration: Non versioned Container App configuration properties.
+ :vartype configuration: ~azure.mgmt.appcontainers.models.Configuration
+ :ivar template: Container App versioned application definition.
+ :vartype template: ~azure.mgmt.appcontainers.models.Template
:ivar outbound_ip_addresses: Outbound IP Addresses for container app.
:vartype outbound_ip_addresses: list[str]
+ :ivar event_stream_endpoint: The endpoint of the eventstream of the container app.
+ :vartype event_stream_endpoint: str
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'location': {'required': True},
- 'provisioning_state': {'readonly': True},
- 'latest_revision_name': {'readonly': True},
- 'latest_revision_fqdn': {'readonly': True},
- 'custom_domain_verification_id': {'readonly': True},
- 'outbound_ip_addresses': {'readonly': True},
- }
-
- _attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'tags': {'key': 'tags', 'type': '{str}'},
- 'location': {'key': 'location', 'type': 'str'},
- 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
- 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
- 'environment_id': {'key': 'properties.environmentId', 'type': 'str'},
- 'workload_profile_name': {'key': 'properties.workloadProfileName', 'type': 'str'},
- 'latest_revision_name': {'key': 'properties.latestRevisionName', 'type': 'str'},
- 'latest_revision_fqdn': {'key': 'properties.latestRevisionFqdn', 'type': 'str'},
- 'custom_domain_verification_id': {'key': 'properties.customDomainVerificationId', 'type': 'str'},
- 'configuration': {'key': 'properties.configuration', 'type': 'Configuration'},
- 'template': {'key': 'properties.template', 'type': 'Template'},
- 'outbound_ip_addresses': {'key': 'properties.outboundIPAddresses', 'type': '[str]'},
- }
-
- def __init__(self, **kwargs):
- super(ContainerApp, self).__init__(**kwargs)
- self.identity = kwargs.get('identity', None)
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "provisioning_state": {"readonly": True},
+ "latest_revision_name": {"readonly": True},
+ "latest_ready_revision_name": {"readonly": True},
+ "latest_revision_fqdn": {"readonly": True},
+ "custom_domain_verification_id": {"readonly": True},
+ "outbound_ip_addresses": {"readonly": True},
+ "event_stream_endpoint": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"},
+ "identity": {"key": "identity", "type": "ManagedServiceIdentity"},
+ "managed_by": {"key": "managedBy", "type": "str"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "managed_environment_id": {"key": "properties.managedEnvironmentId", "type": "str"},
+ "environment_id": {"key": "properties.environmentId", "type": "str"},
+ "workload_profile_name": {"key": "properties.workloadProfileName", "type": "str"},
+ "latest_revision_name": {"key": "properties.latestRevisionName", "type": "str"},
+ "latest_ready_revision_name": {"key": "properties.latestReadyRevisionName", "type": "str"},
+ "latest_revision_fqdn": {"key": "properties.latestRevisionFqdn", "type": "str"},
+ "custom_domain_verification_id": {"key": "properties.customDomainVerificationId", "type": "str"},
+ "configuration": {"key": "properties.configuration", "type": "Configuration"},
+ "template": {"key": "properties.template", "type": "Template"},
+ "outbound_ip_addresses": {"key": "properties.outboundIpAddresses", "type": "[str]"},
+ "event_stream_endpoint": {"key": "properties.eventStreamEndpoint", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ extended_location: Optional["_models.ExtendedLocation"] = None,
+ identity: Optional["_models.ManagedServiceIdentity"] = None,
+ managed_by: Optional[str] = None,
+ managed_environment_id: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ workload_profile_name: Optional[str] = None,
+ configuration: Optional["_models.Configuration"] = None,
+ template: Optional["_models.Template"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword extended_location: The complex type of the extended location.
+ :paramtype extended_location: ~azure.mgmt.appcontainers.models.ExtendedLocation
+ :keyword identity: managed identities for the Container App to interact with other Azure
+ services without maintaining any secrets or credentials in code.
+ :paramtype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :keyword managed_by: The fully qualified resource ID of the resource that manages this
+ resource. Indicates if this resource is managed by another Azure resource. If this is present,
+ complete mode deployment will not delete the resource if it is removed from the template since
+ it is managed by another resource.
+ :paramtype managed_by: str
+ :keyword managed_environment_id: Deprecated. Resource ID of the Container App's environment.
+ :paramtype managed_environment_id: str
+ :keyword environment_id: Resource ID of environment.
+ :paramtype environment_id: str
+ :keyword workload_profile_name: Workload profile name to pin for container app execution.
+ :paramtype workload_profile_name: str
+ :keyword configuration: Non versioned Container App configuration properties.
+ :paramtype configuration: ~azure.mgmt.appcontainers.models.Configuration
+ :keyword template: Container App versioned application definition.
+ :paramtype template: ~azure.mgmt.appcontainers.models.Template
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.extended_location = extended_location
+ self.identity = identity
+ self.managed_by = managed_by
self.provisioning_state = None
- self.environment_id = kwargs.get('environment_id', None)
- self.workload_profile_name = kwargs.get('workload_profile_name', None)
+ self.managed_environment_id = managed_environment_id
+ self.environment_id = environment_id
+ self.workload_profile_name = workload_profile_name
self.latest_revision_name = None
+ self.latest_ready_revision_name = None
self.latest_revision_fqdn = None
self.custom_domain_verification_id = None
- self.configuration = kwargs.get('configuration', None)
- self.template = kwargs.get('template', None)
+ self.configuration = configuration
+ self.template = template
self.outbound_ip_addresses = None
+ self.event_stream_endpoint = None
+
+
+class ContainerAppAuthToken(TrackedResource):
+ """Container App Auth Token.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar token: Auth token value.
+ :vartype token: str
+ :ivar expires: Token expiration date.
+ :vartype expires: ~datetime.datetime
+ """
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "token": {"readonly": True},
+ "expires": {"readonly": True},
+ }
-class ContainerAppCollection(Model):
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "token": {"key": "properties.token", "type": "str"},
+ "expires": {"key": "properties.expires", "type": "iso-8601"},
+ }
+
+ def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.token = None
+ self.expires = None
+
+
+class ContainerAppCollection(_serialization.Model):
"""Container App collection ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.ContainerApp]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ContainerApp]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[ContainerApp]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[ContainerApp]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ContainerAppCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.ContainerApp"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ContainerApp]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class ContainerAppPatch(Model):
- """Container App Patch.
-
- :param tags: Application-specific metadata in the form of key-value pairs.
- :type tags: dict[str, str]
- """
-
- _attribute_map = {
- 'tags': {'key': 'tags', 'type': '{str}'},
- }
-
- def __init__(self, **kwargs):
- super(ContainerAppPatch, self).__init__(**kwargs)
- self.tags = kwargs.get('tags', None)
-
-
-class ContainerAppProbe(Model):
- """Probe describes a health check to be performed against a container to
- determine whether it is alive or ready to receive traffic.
-
- :param failure_threshold: Minimum consecutive failures for the probe to be
- considered failed after having succeeded. Defaults to 3. Minimum value is
- 1. Maximum value is 10.
- :type failure_threshold: int
- :param http_get: HTTPGet specifies the http request to perform.
- :type http_get: ~commondefinitions.models.ContainerAppProbeHttpGet
- :param initial_delay_seconds: Number of seconds after the container has
- started before liveness probes are initiated. Minimum value is 1. Maximum
- value is 60.
- :type initial_delay_seconds: int
- :param period_seconds: How often (in seconds) to perform the probe.
- Default to 10 seconds. Minimum value is 1. Maximum value is 240.
- :type period_seconds: int
- :param success_threshold: Minimum consecutive successes for the probe to
- be considered successful after having failed. Defaults to 1. Must be 1 for
- liveness and startup. Minimum value is 1. Maximum value is 10.
- :type success_threshold: int
- :param tcp_socket: TCPSocket specifies an action involving a TCP port. TCP
- hooks not yet supported.
- :type tcp_socket: ~commondefinitions.models.ContainerAppProbeTcpSocket
- :param termination_grace_period_seconds: Optional duration in seconds the
- pod needs to terminate gracefully upon probe failure. The grace period is
- the duration in seconds after the processes running in the pod are sent a
- termination signal and the time when the processes are forcibly halted
- with a kill signal. Set this value longer than the expected cleanup time
- for your process. If this value is nil, the pod's
- terminationGracePeriodSeconds will be used. Otherwise, this value
- overrides the value provided by the pod spec. Value must be non-negative
- integer. The value zero indicates stop immediately via the kill signal (no
- opportunity to shut down). This is an alpha field and requires enabling
- ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1
- hour)
- :type termination_grace_period_seconds: long
- :param timeout_seconds: Number of seconds after which the probe times out.
- Defaults to 1 second. Minimum value is 1. Maximum value is 240.
- :type timeout_seconds: int
- :param type: The type of probe. Possible values include: 'liveness',
- 'readiness', 'startup'
- :type type: str or ~commondefinitions.models.Type
- """
-
- _attribute_map = {
- 'failure_threshold': {'key': 'failureThreshold', 'type': 'int'},
- 'http_get': {'key': 'httpGet', 'type': 'ContainerAppProbeHttpGet'},
- 'initial_delay_seconds': {'key': 'initialDelaySeconds', 'type': 'int'},
- 'period_seconds': {'key': 'periodSeconds', 'type': 'int'},
- 'success_threshold': {'key': 'successThreshold', 'type': 'int'},
- 'tcp_socket': {'key': 'tcpSocket', 'type': 'ContainerAppProbeTcpSocket'},
- 'termination_grace_period_seconds': {'key': 'terminationGracePeriodSeconds', 'type': 'long'},
- 'timeout_seconds': {'key': 'timeoutSeconds', 'type': 'int'},
- 'type': {'key': 'type', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(ContainerAppProbe, self).__init__(**kwargs)
- self.failure_threshold = kwargs.get('failure_threshold', None)
- self.http_get = kwargs.get('http_get', None)
- self.initial_delay_seconds = kwargs.get('initial_delay_seconds', None)
- self.period_seconds = kwargs.get('period_seconds', None)
- self.success_threshold = kwargs.get('success_threshold', None)
- self.tcp_socket = kwargs.get('tcp_socket', None)
- self.termination_grace_period_seconds = kwargs.get('termination_grace_period_seconds', None)
- self.timeout_seconds = kwargs.get('timeout_seconds', None)
- self.type = kwargs.get('type', None)
-
-
-class ContainerAppProbeHttpGet(Model):
- """HTTPGet specifies the http request to perform.
+class ContainerAppJobExecutions(_serialization.Model):
+ """Container App executions collection ARM resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param host: Host name to connect to, defaults to the pod IP. You probably
- want to set "Host" in httpHeaders instead.
- :type host: str
- :param http_headers: Custom headers to set in the request. HTTP allows
- repeated headers.
- :type http_headers:
- list[~commondefinitions.models.ContainerAppProbeHttpGetHttpHeadersItem]
- :param path: Path to access on the HTTP server.
- :type path: str
- :param port: Required. Name or number of the port to access on the
- container. Number must be in the range 1 to 65535. Name must be an
- IANA_SVC_NAME.
- :type port: int
- :param scheme: Scheme to use for connecting to the host. Defaults to HTTP.
- :type scheme: str
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.JobExecution]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
_validation = {
- 'port': {'required': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'host': {'key': 'host', 'type': 'str'},
- 'http_headers': {'key': 'httpHeaders', 'type': '[ContainerAppProbeHttpGetHttpHeadersItem]'},
- 'path': {'key': 'path', 'type': 'str'},
- 'port': {'key': 'port', 'type': 'int'},
- 'scheme': {'key': 'scheme', 'type': 'str'},
+ "value": {"key": "value", "type": "[JobExecution]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ContainerAppProbeHttpGet, self).__init__(**kwargs)
- self.host = kwargs.get('host', None)
- self.http_headers = kwargs.get('http_headers', None)
- self.path = kwargs.get('path', None)
- self.port = kwargs.get('port', None)
- self.scheme = kwargs.get('scheme', None)
+ def __init__(self, *, value: List["_models.JobExecution"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.JobExecution]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class ContainerAppProbe(_serialization.Model):
+ """Probe describes a health check to be performed against a container to determine whether it is
+ alive or ready to receive traffic.
+
+ :ivar failure_threshold: Minimum consecutive failures for the probe to be considered failed
+ after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.
+ :vartype failure_threshold: int
+ :ivar http_get: HTTPGet specifies the http request to perform.
+ :vartype http_get: ~azure.mgmt.appcontainers.models.ContainerAppProbeHttpGet
+ :ivar initial_delay_seconds: Number of seconds after the container has started before liveness
+ probes are initiated. Minimum value is 1. Maximum value is 60.
+ :vartype initial_delay_seconds: int
+ :ivar period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds.
+ Minimum value is 1. Maximum value is 240.
+ :vartype period_seconds: int
+ :ivar success_threshold: Minimum consecutive successes for the probe to be considered
+ successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum
+ value is 1. Maximum value is 10.
+ :vartype success_threshold: int
+ :ivar tcp_socket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet
+ supported.
+ :vartype tcp_socket: ~azure.mgmt.appcontainers.models.ContainerAppProbeTcpSocket
+ :ivar termination_grace_period_seconds: Optional duration in seconds the pod needs to terminate
+ gracefully upon probe failure. The grace period is the duration in seconds after the processes
+ running in the pod are sent a termination signal and the time when the processes are forcibly
+ halted with a kill signal. Set this value longer than the expected cleanup time for your
+ process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise,
+ this value overrides the value provided by the pod spec. Value must be non-negative integer.
+ The value zero indicates stop immediately via the kill signal (no opportunity to shut down).
+ This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum
+ value is 3600 seconds (1 hour).
+ :vartype termination_grace_period_seconds: int
+ :ivar timeout_seconds: Number of seconds after which the probe times out. Defaults to 1 second.
+ Minimum value is 1. Maximum value is 240.
+ :vartype timeout_seconds: int
+ :ivar type: The type of probe. Known values are: "Liveness", "Readiness", and "Startup".
+ :vartype type: str or ~azure.mgmt.appcontainers.models.Type
+ """
+
+ _attribute_map = {
+ "failure_threshold": {"key": "failureThreshold", "type": "int"},
+ "http_get": {"key": "httpGet", "type": "ContainerAppProbeHttpGet"},
+ "initial_delay_seconds": {"key": "initialDelaySeconds", "type": "int"},
+ "period_seconds": {"key": "periodSeconds", "type": "int"},
+ "success_threshold": {"key": "successThreshold", "type": "int"},
+ "tcp_socket": {"key": "tcpSocket", "type": "ContainerAppProbeTcpSocket"},
+ "termination_grace_period_seconds": {"key": "terminationGracePeriodSeconds", "type": "int"},
+ "timeout_seconds": {"key": "timeoutSeconds", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ failure_threshold: Optional[int] = None,
+ http_get: Optional["_models.ContainerAppProbeHttpGet"] = None,
+ initial_delay_seconds: Optional[int] = None,
+ period_seconds: Optional[int] = None,
+ success_threshold: Optional[int] = None,
+ tcp_socket: Optional["_models.ContainerAppProbeTcpSocket"] = None,
+ termination_grace_period_seconds: Optional[int] = None,
+ timeout_seconds: Optional[int] = None,
+ type: Optional[Union[str, "_models.Type"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword failure_threshold: Minimum consecutive failures for the probe to be considered failed
+ after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.
+ :paramtype failure_threshold: int
+ :keyword http_get: HTTPGet specifies the http request to perform.
+ :paramtype http_get: ~azure.mgmt.appcontainers.models.ContainerAppProbeHttpGet
+ :keyword initial_delay_seconds: Number of seconds after the container has started before
+ liveness probes are initiated. Minimum value is 1. Maximum value is 60.
+ :paramtype initial_delay_seconds: int
+ :keyword period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds.
+ Minimum value is 1. Maximum value is 240.
+ :paramtype period_seconds: int
+ :keyword success_threshold: Minimum consecutive successes for the probe to be considered
+ successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum
+ value is 1. Maximum value is 10.
+ :paramtype success_threshold: int
+ :keyword tcp_socket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet
+ supported.
+ :paramtype tcp_socket: ~azure.mgmt.appcontainers.models.ContainerAppProbeTcpSocket
+ :keyword termination_grace_period_seconds: Optional duration in seconds the pod needs to
+ terminate gracefully upon probe failure. The grace period is the duration in seconds after the
+ processes running in the pod are sent a termination signal and the time when the processes are
+ forcibly halted with a kill signal. Set this value longer than the expected cleanup time for
+ your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used.
+ Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative
+ integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut
+ down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Maximum value is 3600 seconds (1 hour).
+ :paramtype termination_grace_period_seconds: int
+ :keyword timeout_seconds: Number of seconds after which the probe times out. Defaults to 1
+ second. Minimum value is 1. Maximum value is 240.
+ :paramtype timeout_seconds: int
+ :keyword type: The type of probe. Known values are: "Liveness", "Readiness", and "Startup".
+ :paramtype type: str or ~azure.mgmt.appcontainers.models.Type
+ """
+ super().__init__(**kwargs)
+ self.failure_threshold = failure_threshold
+ self.http_get = http_get
+ self.initial_delay_seconds = initial_delay_seconds
+ self.period_seconds = period_seconds
+ self.success_threshold = success_threshold
+ self.tcp_socket = tcp_socket
+ self.termination_grace_period_seconds = termination_grace_period_seconds
+ self.timeout_seconds = timeout_seconds
+ self.type = type
+
+
+class ContainerAppProbeHttpGet(_serialization.Model):
+ """HTTPGet specifies the http request to perform.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in
+ httpHeaders instead.
+ :vartype host: str
+ :ivar http_headers: Custom headers to set in the request. HTTP allows repeated headers.
+ :vartype http_headers:
+ list[~azure.mgmt.appcontainers.models.ContainerAppProbeHttpGetHttpHeadersItem]
+ :ivar path: Path to access on the HTTP server.
+ :vartype path: str
+ :ivar port: Name or number of the port to access on the container. Number must be in the range
+ 1 to 65535. Name must be an IANA_SVC_NAME. Required.
+ :vartype port: int
+ :ivar scheme: Scheme to use for connecting to the host. Defaults to HTTP. Known values are:
+ "HTTP" and "HTTPS".
+ :vartype scheme: str or ~azure.mgmt.appcontainers.models.Scheme
+ """
+ _validation = {
+ "port": {"required": True},
+ }
-class ContainerAppProbeHttpGetHttpHeadersItem(Model):
+ _attribute_map = {
+ "host": {"key": "host", "type": "str"},
+ "http_headers": {"key": "httpHeaders", "type": "[ContainerAppProbeHttpGetHttpHeadersItem]"},
+ "path": {"key": "path", "type": "str"},
+ "port": {"key": "port", "type": "int"},
+ "scheme": {"key": "scheme", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ port: int,
+ host: Optional[str] = None,
+ http_headers: Optional[List["_models.ContainerAppProbeHttpGetHttpHeadersItem"]] = None,
+ path: Optional[str] = None,
+ scheme: Optional[Union[str, "_models.Scheme"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword host: Host name to connect to, defaults to the pod IP. You probably want to set "Host"
+ in httpHeaders instead.
+ :paramtype host: str
+ :keyword http_headers: Custom headers to set in the request. HTTP allows repeated headers.
+ :paramtype http_headers:
+ list[~azure.mgmt.appcontainers.models.ContainerAppProbeHttpGetHttpHeadersItem]
+ :keyword path: Path to access on the HTTP server.
+ :paramtype path: str
+ :keyword port: Name or number of the port to access on the container. Number must be in the
+ range 1 to 65535. Name must be an IANA_SVC_NAME. Required.
+ :paramtype port: int
+ :keyword scheme: Scheme to use for connecting to the host. Defaults to HTTP. Known values are:
+ "HTTP" and "HTTPS".
+ :paramtype scheme: str or ~azure.mgmt.appcontainers.models.Scheme
+ """
+ super().__init__(**kwargs)
+ self.host = host
+ self.http_headers = http_headers
+ self.path = path
+ self.port = port
+ self.scheme = scheme
+
+
+class ContainerAppProbeHttpGetHttpHeadersItem(_serialization.Model):
"""HTTPHeader describes a custom header to be used in HTTP probes.
All required parameters must be populated in order to send to Azure.
- :param name: Required. The header field name
- :type name: str
- :param value: Required. The header field value
- :type value: str
+ :ivar name: The header field name. Required.
+ :vartype name: str
+ :ivar value: The header field value. Required.
+ :vartype value: str
"""
_validation = {
- 'name': {'required': True},
- 'value': {'required': True},
+ "name": {"required": True},
+ "value": {"required": True},
}
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'str'},
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ContainerAppProbeHttpGetHttpHeadersItem, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, name: str, value: str, **kwargs: Any) -> None:
+ """
+ :keyword name: The header field name. Required.
+ :paramtype name: str
+ :keyword value: The header field value. Required.
+ :paramtype value: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.value = value
-class ContainerAppProbeTcpSocket(Model):
- """TCPSocket specifies an action involving a TCP port. TCP hooks not yet
- supported.
+class ContainerAppProbeTcpSocket(_serialization.Model):
+ """TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.
All required parameters must be populated in order to send to Azure.
- :param host: Optional: Host name to connect to, defaults to the pod IP.
- :type host: str
- :param port: Required. Number or name of the port to access on the
- container. Number must be in the range 1 to 65535. Name must be an
- IANA_SVC_NAME.
- :type port: int
+ :ivar host: Optional: Host name to connect to, defaults to the pod IP.
+ :vartype host: str
+ :ivar port: Number or name of the port to access on the container. Number must be in the range
+ 1 to 65535. Name must be an IANA_SVC_NAME. Required.
+ :vartype port: int
"""
_validation = {
- 'port': {'required': True},
+ "port": {"required": True},
}
_attribute_map = {
- 'host': {'key': 'host', 'type': 'str'},
- 'port': {'key': 'port', 'type': 'int'},
+ "host": {"key": "host", "type": "str"},
+ "port": {"key": "port", "type": "int"},
}
- def __init__(self, **kwargs):
- super(ContainerAppProbeTcpSocket, self).__init__(**kwargs)
- self.host = kwargs.get('host', None)
- self.port = kwargs.get('port', None)
+ def __init__(self, *, port: int, host: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword host: Optional: Host name to connect to, defaults to the pod IP.
+ :paramtype host: str
+ :keyword port: Number or name of the port to access on the container. Number must be in the
+ range 1 to 65535. Name must be an IANA_SVC_NAME. Required.
+ :paramtype port: int
+ """
+ super().__init__(**kwargs)
+ self.host = host
+ self.port = port
-class ContainerAppSecret(Model):
+class ContainerAppSecret(_serialization.Model):
"""Container App Secret.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: Secret Name.
:vartype name: str
:ivar value: Secret Value.
:vartype value: str
+ :ivar identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or
+ System to use a system-assigned identity.
+ :vartype identity: str
+ :ivar key_vault_url: Azure Key Vault URL pointing to the secret referenced by the container
+ app.
+ :vartype key_vault_url: str
"""
_validation = {
- 'name': {'readonly': True},
- 'value': {'readonly': True},
+ "name": {"readonly": True},
+ "value": {"readonly": True},
+ "identity": {"readonly": True},
+ "key_vault_url": {"readonly": True},
}
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'str'},
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ "identity": {"key": "identity", "type": "str"},
+ "key_vault_url": {"key": "keyVaultUrl", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ContainerAppSecret, self).__init__(**kwargs)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
self.name = None
self.value = None
+ self.identity = None
+ self.key_vault_url = None
-class ContainerResources(Model):
+class ContainerResources(_serialization.Model):
"""Container App container resource requirements.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :param cpu: Required CPU in cores, e.g. 0.5
- :type cpu: float
- :param memory: Required memory, e.g. "250Mb"
- :type memory: str
- :ivar ephemeral_storage: Ephemeral Storage, e.g. "1Gi"
+ :ivar cpu: Required CPU in cores, e.g. 0.5.
+ :vartype cpu: float
+ :ivar memory: Required memory, e.g. "250Mb".
+ :vartype memory: str
+ :ivar ephemeral_storage: Ephemeral Storage, e.g. "1Gi".
:vartype ephemeral_storage: str
"""
_validation = {
- 'ephemeral_storage': {'readonly': True},
+ "ephemeral_storage": {"readonly": True},
}
_attribute_map = {
- 'cpu': {'key': 'cpu', 'type': 'float'},
- 'memory': {'key': 'memory', 'type': 'str'},
- 'ephemeral_storage': {'key': 'ephemeralStorage', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(ContainerResources, self).__init__(**kwargs)
- self.cpu = kwargs.get('cpu', None)
- self.memory = kwargs.get('memory', None)
+ "cpu": {"key": "cpu", "type": "float"},
+ "memory": {"key": "memory", "type": "str"},
+ "ephemeral_storage": {"key": "ephemeralStorage", "type": "str"},
+ }
+
+ def __init__(self, *, cpu: Optional[float] = None, memory: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword cpu: Required CPU in cores, e.g. 0.5.
+ :paramtype cpu: float
+ :keyword memory: Required memory, e.g. "250Mb".
+ :paramtype memory: str
+ """
+ super().__init__(**kwargs)
+ self.cpu = cpu
+ self.memory = memory
self.ephemeral_storage = None
-class CustomDomain(Model):
- """Custom Domain of a Container App.
+class CookieExpiration(_serialization.Model):
+ """The configuration settings of the session cookie's expiration.
- :param name: Hostname.
- :type name: str
- :param binding_type: Custom Domain binding type. Possible values include:
- 'Disabled', 'SniEnabled'
- :type binding_type: str or ~commondefinitions.models.BindingType
- :param certificate_id: Resource Id of the Certificate to be bound to this
- hostname. Must exist in the Managed Environment.
- :type certificate_id: str
+ :ivar convention: The convention used when determining the session cookie's expiration. Known
+ values are: "FixedTime" and "IdentityProviderDerived".
+ :vartype convention: str or ~azure.mgmt.appcontainers.models.CookieExpirationConvention
+ :ivar time_to_expiration: The time after the request is made when the session cookie should
+ expire.
+ :vartype time_to_expiration: str
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'binding_type': {'key': 'bindingType', 'type': 'str'},
- 'certificate_id': {'key': 'certificateId', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(CustomDomain, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.binding_type = kwargs.get('binding_type', None)
- self.certificate_id = kwargs.get('certificate_id', None)
-
-
-class IPSecurityRestrictions(Model):
- """IP Restrictions of a Container App.
+ "convention": {"key": "convention", "type": "str"},
+ "time_to_expiration": {"key": "timeToExpiration", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ convention: Optional[Union[str, "_models.CookieExpirationConvention"]] = None,
+ time_to_expiration: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword convention: The convention used when determining the session cookie's expiration.
+ Known values are: "FixedTime" and "IdentityProviderDerived".
+ :paramtype convention: str or ~azure.mgmt.appcontainers.models.CookieExpirationConvention
+ :keyword time_to_expiration: The time after the request is made when the session cookie should
+ expire.
+ :paramtype time_to_expiration: str
+ """
+ super().__init__(**kwargs)
+ self.convention = convention
+ self.time_to_expiration = time_to_expiration
+
+
+class CorsPolicy(_serialization.Model):
+ """Cross-Origin-Resource-Sharing policy.
- :param name: ipAddressRange
- :type name: str
- :param name: action
- :type name: str
- :param name: name
- :type name: str
- :param name: description
- :type name: str
+ All required parameters must be populated in order to send to Azure.
+ :ivar allowed_origins: Specifies the content for the access-control-allow-origins header.
+ Required.
+ :vartype allowed_origins: list[str]
+ :ivar allowed_methods: Specifies the content for the access-control-allow-methods header.
+ :vartype allowed_methods: list[str]
+ :ivar allowed_headers: Specifies the content for the access-control-allow-headers header.
+ :vartype allowed_headers: list[str]
+ :ivar expose_headers: Specifies the content for the access-control-expose-headers header.
+ :vartype expose_headers: list[str]
+ :ivar max_age: Specifies the content for the access-control-max-age header.
+ :vartype max_age: int
+ :ivar allow_credentials: Specifies whether the resource allows credentials.
+ :vartype allow_credentials: bool
"""
- _attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'ipAddressRange': {'key': 'ipAddressRange', 'type': 'str'},
- 'action': {'key': 'action', 'type': 'str'},
- 'description': {'key': 'description', 'type': 'str'},
+ _validation = {
+ "allowed_origins": {"required": True},
}
- def __init__(self, **kwargs):
- super(IPSecurityRestrictions, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.ipAddressRange = kwargs.get('ipAddressRange', None)
- self.action = kwargs.get('action', None)
- self.description = kwargs.get('description', None)
-
-
-class StickySessions(Model):
- """Sticky Sessions of a Container App.
+ _attribute_map = {
+ "allowed_origins": {"key": "allowedOrigins", "type": "[str]"},
+ "allowed_methods": {"key": "allowedMethods", "type": "[str]"},
+ "allowed_headers": {"key": "allowedHeaders", "type": "[str]"},
+ "expose_headers": {"key": "exposeHeaders", "type": "[str]"},
+ "max_age": {"key": "maxAge", "type": "int"},
+ "allow_credentials": {"key": "allowCredentials", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ allowed_origins: List[str],
+ allowed_methods: Optional[List[str]] = None,
+ allowed_headers: Optional[List[str]] = None,
+ expose_headers: Optional[List[str]] = None,
+ max_age: Optional[int] = None,
+ allow_credentials: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword allowed_origins: Specifies the content for the access-control-allow-origins header.
+ Required.
+ :paramtype allowed_origins: list[str]
+ :keyword allowed_methods: Specifies the content for the access-control-allow-methods header.
+ :paramtype allowed_methods: list[str]
+ :keyword allowed_headers: Specifies the content for the access-control-allow-headers header.
+ :paramtype allowed_headers: list[str]
+ :keyword expose_headers: Specifies the content for the access-control-expose-headers header.
+ :paramtype expose_headers: list[str]
+ :keyword max_age: Specifies the content for the access-control-max-age header.
+ :paramtype max_age: int
+ :keyword allow_credentials: Specifies whether the resource allows credentials.
+ :paramtype allow_credentials: bool
+ """
+ super().__init__(**kwargs)
+ self.allowed_origins = allowed_origins
+ self.allowed_methods = allowed_methods
+ self.allowed_headers = allowed_headers
+ self.expose_headers = expose_headers
+ self.max_age = max_age
+ self.allow_credentials = allow_credentials
+
+
+class CustomDomain(_serialization.Model):
+ """Custom Domain of a Container App.
- :param name: affinity
- :type name: str
+ All required parameters must be populated in order to send to Azure.
+ :ivar name: Hostname. Required.
+ :vartype name: str
+ :ivar binding_type: Custom Domain binding type. Known values are: "Disabled" and "SniEnabled".
+ :vartype binding_type: str or ~azure.mgmt.appcontainers.models.BindingType
+ :ivar certificate_id: Resource Id of the Certificate to be bound to this hostname. Must exist
+ in the Managed Environment.
+ :vartype certificate_id: str
"""
- _attribute_map = {
- 'affinity': {'key': 'affinity', 'type': 'str'},
+ _validation = {
+ "name": {"required": True},
}
- def __init__(self, **kwargs):
- super(StickySessions, self).__init__(**kwargs)
- self.affinity = kwargs.get('affinity', None)
-
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "binding_type": {"key": "bindingType", "type": "str"},
+ "certificate_id": {"key": "certificateId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ binding_type: Optional[Union[str, "_models.BindingType"]] = None,
+ certificate_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Hostname. Required.
+ :paramtype name: str
+ :keyword binding_type: Custom Domain binding type. Known values are: "Disabled" and
+ "SniEnabled".
+ :paramtype binding_type: str or ~azure.mgmt.appcontainers.models.BindingType
+ :keyword certificate_id: Resource Id of the Certificate to be bound to this hostname. Must
+ exist in the Managed Environment.
+ :paramtype certificate_id: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.binding_type = binding_type
+ self.certificate_id = certificate_id
+
+
+class CustomDomainConfiguration(_serialization.Model):
+ """Configuration properties for apps environment custom domain.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar custom_domain_verification_id: Id used to verify domain name ownership.
+ :vartype custom_domain_verification_id: str
+ :ivar dns_suffix: Dns suffix for the environment domain.
+ :vartype dns_suffix: str
+ :ivar certificate_value: PFX or PEM blob.
+ :vartype certificate_value: bytes
+ :ivar certificate_password: Certificate password.
+ :vartype certificate_password: str
+ :ivar expiration_date: Certificate expiration date.
+ :vartype expiration_date: ~datetime.datetime
+ :ivar thumbprint: Certificate thumbprint.
+ :vartype thumbprint: str
+ :ivar subject_name: Subject name of the certificate.
+ :vartype subject_name: str
+ """
+
+ _validation = {
+ "custom_domain_verification_id": {"readonly": True},
+ "expiration_date": {"readonly": True},
+ "thumbprint": {"readonly": True},
+ "subject_name": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "custom_domain_verification_id": {"key": "customDomainVerificationId", "type": "str"},
+ "dns_suffix": {"key": "dnsSuffix", "type": "str"},
+ "certificate_value": {"key": "certificateValue", "type": "bytearray"},
+ "certificate_password": {"key": "certificatePassword", "type": "str"},
+ "expiration_date": {"key": "expirationDate", "type": "iso-8601"},
+ "thumbprint": {"key": "thumbprint", "type": "str"},
+ "subject_name": {"key": "subjectName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ dns_suffix: Optional[str] = None,
+ certificate_value: Optional[bytes] = None,
+ certificate_password: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword dns_suffix: Dns suffix for the environment domain.
+ :paramtype dns_suffix: str
+ :keyword certificate_value: PFX or PEM blob.
+ :paramtype certificate_value: bytes
+ :keyword certificate_password: Certificate password.
+ :paramtype certificate_password: str
+ """
+ super().__init__(**kwargs)
+ self.custom_domain_verification_id = None
+ self.dns_suffix = dns_suffix
+ self.certificate_value = certificate_value
+ self.certificate_password = certificate_password
+ self.expiration_date = None
+ self.thumbprint = None
+ self.subject_name = None
-class CustomHostnameAnalysisResult(ProxyResource):
+
+class CustomHostnameAnalysisResult(_serialization.Model): # pylint: disable=too-many-instance-attributes
"""Custom domain analysis.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
- :vartype id: str
- :ivar name: The name of the resource
- :vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :ivar host_name: Host name that was analyzed
+ :ivar host_name: Host name that was analyzed.
:vartype host_name: str
- :ivar is_hostname_already_verified: true if hostname is
- already verified; otherwise, false.
+ :ivar is_hostname_already_verified: :code:`true` if hostname is already verified;
+ otherwise, :code:`false`.
:vartype is_hostname_already_verified: bool
- :ivar custom_domain_verification_test: DNS verification test result.
- Possible values include: 'Passed', 'Failed', 'Skipped'
+ :ivar custom_domain_verification_test: DNS verification test result. Known values are:
+ "Passed", "Failed", and "Skipped".
:vartype custom_domain_verification_test: str or
- ~commondefinitions.models.DnsVerificationTestResult
- :ivar custom_domain_verification_failure_info: Raw failure information if
- DNS verification fails.
+ ~azure.mgmt.appcontainers.models.DnsVerificationTestResult
+ :ivar custom_domain_verification_failure_info: Raw failure information if DNS verification
+ fails.
:vartype custom_domain_verification_failure_info:
- ~commondefinitions.models.DefaultErrorResponse
- :ivar has_conflict_on_managed_environment: true if there is a
- conflict on the Container App's managed environment; otherwise,
- false.
+ ~azure.mgmt.appcontainers.models.CustomHostnameAnalysisResultCustomDomainVerificationFailureInfo
+ :ivar has_conflict_on_managed_environment: :code:`true` if there is a conflict on
+ the Container App's managed environment; otherwise, :code:`false`.
:vartype has_conflict_on_managed_environment: bool
- :ivar conflicting_container_app_resource_id: Name of the conflicting
- Container App on the Managed Environment if it's within the same
- subscription.
+ :ivar conflict_with_environment_custom_domain: :code:`true` if there is a conflict
+ on the Container App's managed environment level custom domain; otherwise,
+ :code:`false`.
+ :vartype conflict_with_environment_custom_domain: bool
+ :ivar conflicting_container_app_resource_id: Name of the conflicting Container App on the
+ Managed Environment if it's within the same subscription.
:vartype conflicting_container_app_resource_id: str
- :param c_name_records: CName records visible for this hostname.
- :type c_name_records: list[str]
- :param txt_records: TXT records visible for this hostname.
- :type txt_records: list[str]
- :param a_records: A records visible for this hostname.
- :type a_records: list[str]
- :param alternate_cname_records: Alternate CName records visible for this
- hostname.
- :type alternate_cname_records: list[str]
- :param alternate_txt_records: Alternate TXT records visible for this
- hostname.
- :type alternate_txt_records: list[str]
- """
-
- _validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'host_name': {'readonly': True},
- 'is_hostname_already_verified': {'readonly': True},
- 'custom_domain_verification_test': {'readonly': True},
- 'custom_domain_verification_failure_info': {'readonly': True},
- 'has_conflict_on_managed_environment': {'readonly': True},
- 'conflicting_container_app_resource_id': {'readonly': True},
- }
-
- _attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'host_name': {'key': 'properties.hostName', 'type': 'str'},
- 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'},
- 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'},
- 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'DefaultErrorResponse'},
- 'has_conflict_on_managed_environment': {'key': 'properties.hasConflictOnManagedEnvironment', 'type': 'bool'},
- 'conflicting_container_app_resource_id': {'key': 'properties.conflictingContainerAppResourceId', 'type': 'str'},
- 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'},
- 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'},
- 'a_records': {'key': 'properties.aRecords', 'type': '[str]'},
- 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'},
- 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'},
- }
-
- def __init__(self, **kwargs):
- super(CustomHostnameAnalysisResult, self).__init__(**kwargs)
+ :ivar c_name_records: CName records visible for this hostname.
+ :vartype c_name_records: list[str]
+ :ivar txt_records: TXT records visible for this hostname.
+ :vartype txt_records: list[str]
+ :ivar a_records: A records visible for this hostname.
+ :vartype a_records: list[str]
+ :ivar alternate_c_name_records: Alternate CName records visible for this hostname.
+ :vartype alternate_c_name_records: list[str]
+ :ivar alternate_txt_records: Alternate TXT records visible for this hostname.
+ :vartype alternate_txt_records: list[str]
+ """
+
+ _validation = {
+ "host_name": {"readonly": True},
+ "is_hostname_already_verified": {"readonly": True},
+ "custom_domain_verification_test": {"readonly": True},
+ "custom_domain_verification_failure_info": {"readonly": True},
+ "has_conflict_on_managed_environment": {"readonly": True},
+ "conflict_with_environment_custom_domain": {"readonly": True},
+ "conflicting_container_app_resource_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "host_name": {"key": "hostName", "type": "str"},
+ "is_hostname_already_verified": {"key": "isHostnameAlreadyVerified", "type": "bool"},
+ "custom_domain_verification_test": {"key": "customDomainVerificationTest", "type": "str"},
+ "custom_domain_verification_failure_info": {
+ "key": "customDomainVerificationFailureInfo",
+ "type": "CustomHostnameAnalysisResultCustomDomainVerificationFailureInfo",
+ },
+ "has_conflict_on_managed_environment": {"key": "hasConflictOnManagedEnvironment", "type": "bool"},
+ "conflict_with_environment_custom_domain": {"key": "conflictWithEnvironmentCustomDomain", "type": "bool"},
+ "conflicting_container_app_resource_id": {"key": "conflictingContainerAppResourceId", "type": "str"},
+ "c_name_records": {"key": "cNameRecords", "type": "[str]"},
+ "txt_records": {"key": "txtRecords", "type": "[str]"},
+ "a_records": {"key": "aRecords", "type": "[str]"},
+ "alternate_c_name_records": {"key": "alternateCNameRecords", "type": "[str]"},
+ "alternate_txt_records": {"key": "alternateTxtRecords", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ c_name_records: Optional[List[str]] = None,
+ txt_records: Optional[List[str]] = None,
+ a_records: Optional[List[str]] = None,
+ alternate_c_name_records: Optional[List[str]] = None,
+ alternate_txt_records: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword c_name_records: CName records visible for this hostname.
+ :paramtype c_name_records: list[str]
+ :keyword txt_records: TXT records visible for this hostname.
+ :paramtype txt_records: list[str]
+ :keyword a_records: A records visible for this hostname.
+ :paramtype a_records: list[str]
+ :keyword alternate_c_name_records: Alternate CName records visible for this hostname.
+ :paramtype alternate_c_name_records: list[str]
+ :keyword alternate_txt_records: Alternate TXT records visible for this hostname.
+ :paramtype alternate_txt_records: list[str]
+ """
+ super().__init__(**kwargs)
self.host_name = None
self.is_hostname_already_verified = None
self.custom_domain_verification_test = None
self.custom_domain_verification_failure_info = None
self.has_conflict_on_managed_environment = None
+ self.conflict_with_environment_custom_domain = None
self.conflicting_container_app_resource_id = None
- self.c_name_records = kwargs.get('c_name_records', None)
- self.txt_records = kwargs.get('txt_records', None)
- self.a_records = kwargs.get('a_records', None)
- self.alternate_cname_records = kwargs.get('alternate_cname_records', None)
- self.alternate_txt_records = kwargs.get('alternate_txt_records', None)
+ self.c_name_records = c_name_records
+ self.txt_records = txt_records
+ self.a_records = a_records
+ self.alternate_c_name_records = alternate_c_name_records
+ self.alternate_txt_records = alternate_txt_records
-class CustomOpenIdConnectProvider(Model):
- """The configuration settings of the custom Open ID Connect provider.
+class CustomHostnameAnalysisResultCustomDomainVerificationFailureInfo(_serialization.Model):
+ """Raw failure information if DNS verification fails.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
- :param state: Disabled if the custom Open ID Connect provider
- should not be enabled despite the set registration; otherwise,
- Enabled. Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the custom Open ID Connect provider.
- :type registration: ~commondefinitions.models.OpenIdConnectRegistration
- :param login: The configuration settings of the login flow of the custom
- Open ID Connect provider.
- :type login: ~commondefinitions.models.OpenIdConnectLogin
+ :ivar code: Standardized string to programmatically identify the error.
+ :vartype code: str
+ :ivar message: Detailed error description and debugging information.
+ :vartype message: str
+ :ivar target: Detailed error description and debugging information.
+ :vartype target: str
+ :ivar details: Details or the error.
+ :vartype details:
+ list[~azure.mgmt.appcontainers.models.CustomHostnameAnalysisResultCustomDomainVerificationFailureInfoDetailsItem]
"""
- _attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'OpenIdConnectRegistration'},
- 'login': {'key': 'login', 'type': 'OpenIdConnectLogin'},
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
}
- def __init__(self, **kwargs):
- super(CustomOpenIdConnectProvider, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {
+ "key": "details",
+ "type": "[CustomHostnameAnalysisResultCustomDomainVerificationFailureInfoDetailsItem]",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ details: Optional[
+ List["_models.CustomHostnameAnalysisResultCustomDomainVerificationFailureInfoDetailsItem"]
+ ] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword details: Details or the error.
+ :paramtype details:
+ list[~azure.mgmt.appcontainers.models.CustomHostnameAnalysisResultCustomDomainVerificationFailureInfoDetailsItem]
+ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = details
-class CustomScaleRule(Model):
- """Container App container Custom scaling rule.
+class CustomHostnameAnalysisResultCustomDomainVerificationFailureInfoDetailsItem(_serialization.Model):
+ """Detailed errors.
- :param type: Type of the custom scale rule
- eg: azure-servicebus, redis etc.
- :type type: str
- :param metadata: Metadata properties to describe custom scale rule.
- :type metadata: dict[str, str]
- :param auth: Authentication secrets for the custom scale rule.
- :type auth: list[~commondefinitions.models.ScaleRuleAuth]
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Standardized string to programmatically identify the error.
+ :vartype code: str
+ :ivar message: Detailed error description and debugging information.
+ :vartype message: str
+ :ivar target: Detailed error description and debugging information.
+ :vartype target: str
"""
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
+ }
+
_attribute_map = {
- 'type': {'key': 'type', 'type': 'str'},
- 'metadata': {'key': 'metadata', 'type': '{str}'},
- 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'},
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
}
- def __init__(self, **kwargs):
- super(CustomScaleRule, self).__init__(**kwargs)
- self.type = kwargs.get('type', None)
- self.metadata = kwargs.get('metadata', None)
- self.auth = kwargs.get('auth', None)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+
+class CustomOpenIdConnectProvider(_serialization.Model):
+ """The configuration settings of the custom Open ID Connect provider.
-class Dapr(Model):
+ :ivar enabled: :code:`false` if the custom Open ID provider provider should not be
+ enabled; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the app registration for the custom Open ID
+ Connect provider.
+ :vartype registration: ~azure.mgmt.appcontainers.models.OpenIdConnectRegistration
+ :ivar login: The configuration settings of the login flow of the custom Open ID Connect
+ provider.
+ :vartype login: ~azure.mgmt.appcontainers.models.OpenIdConnectLogin
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "OpenIdConnectRegistration"},
+ "login": {"key": "login", "type": "OpenIdConnectLogin"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.OpenIdConnectRegistration"] = None,
+ login: Optional["_models.OpenIdConnectLogin"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the custom Open ID provider provider should not
+ be enabled; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the app registration for the custom Open
+ ID Connect provider.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.OpenIdConnectRegistration
+ :keyword login: The configuration settings of the login flow of the custom Open ID Connect
+ provider.
+ :paramtype login: ~azure.mgmt.appcontainers.models.OpenIdConnectLogin
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.login = login
+
+
+class CustomScaleRule(_serialization.Model):
+ """Container App container Custom scaling rule.
+
+ :ivar type: Type of the custom scale rule
+ eg: azure-servicebus, redis etc.
+ :vartype type: str
+ :ivar metadata: Metadata properties to describe custom scale rule.
+ :vartype metadata: dict[str, str]
+ :ivar auth: Authentication secrets for the custom scale rule.
+ :vartype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "metadata": {"key": "metadata", "type": "{str}"},
+ "auth": {"key": "auth", "type": "[ScaleRuleAuth]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Optional[str] = None,
+ metadata: Optional[Dict[str, str]] = None,
+ auth: Optional[List["_models.ScaleRuleAuth"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword type: Type of the custom scale rule
+ eg: azure-servicebus, redis etc.
+ :paramtype type: str
+ :keyword metadata: Metadata properties to describe custom scale rule.
+ :paramtype metadata: dict[str, str]
+ :keyword auth: Authentication secrets for the custom scale rule.
+ :paramtype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.metadata = metadata
+ self.auth = auth
+
+
+class Dapr(_serialization.Model):
"""Container App Dapr configuration.
- :param enabled: Boolean indicating if the Dapr side car is enabled
- :type enabled: bool
- :param app_id: Dapr application identifier
- :type app_id: str
- :param app_protocol: Tells Dapr which protocol your application is using.
- Valid options are http and grpc. Default is http. Possible values include:
- 'http', 'grpc'
- :type app_protocol: str or ~commondefinitions.models.AppProtocol
- :param app_port: Tells Dapr which port your application is listening on
- :type app_port: int
- """
-
- _attribute_map = {
- 'enabled': {'key': 'enabled', 'type': 'bool'},
- 'app_id': {'key': 'appId', 'type': 'str'},
- 'app_protocol': {'key': 'appProtocol', 'type': 'str'},
- 'app_port': {'key': 'appPort', 'type': 'int'},
- 'http_read_buffer_size': {'key': 'httpReadBufferSize', 'type': 'int'},
- 'http_max_request_size': {'key': 'httpMaxRequestSize', 'type': 'int'},
- 'log_level': {'key': 'logLevel', 'type': 'str'},
- 'enable_api_logging': {'key': 'enableApiLogging', 'type': 'bool'},
- }
-
- def __init__(self, **kwargs):
- super(Dapr, self).__init__(**kwargs)
- self.enabled = kwargs.get('enabled', None)
- self.app_id = kwargs.get('app_id', None)
- self.app_protocol = kwargs.get('app_protocol', None)
- self.app_port = kwargs.get('app_port', None)
- self.http_read_buffer_size = kwargs.get('http_read_buffer_size', None)
- self.http_max_request_size = kwargs.get('http_max_request_size', None)
- self.log_level = kwargs.get('log_level', None)
- self.enable_api_logging = kwargs.get('enable_api_logging', None)
-
-
-class DaprComponent(ProxyResource):
+ :ivar enabled: Boolean indicating if the Dapr side car is enabled.
+ :vartype enabled: bool
+ :ivar app_id: Dapr application identifier.
+ :vartype app_id: str
+ :ivar app_protocol: Tells Dapr which protocol your application is using. Valid options are http
+ and grpc. Default is http. Known values are: "http" and "grpc".
+ :vartype app_protocol: str or ~azure.mgmt.appcontainers.models.AppProtocol
+ :ivar app_port: Tells Dapr which port your application is listening on.
+ :vartype app_port: int
+ :ivar http_read_buffer_size: Dapr max size of http header read buffer in KB to handle when
+ sending multi-KB headers. Default is 65KB.
+ :vartype http_read_buffer_size: int
+ :ivar http_max_request_size: Increasing max size of request body http and grpc servers
+ parameter in MB to handle uploading of big files. Default is 4 MB.
+ :vartype http_max_request_size: int
+ :ivar log_level: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn,
+ error. Default is info. Known values are: "info", "debug", "warn", and "error".
+ :vartype log_level: str or ~azure.mgmt.appcontainers.models.LogLevel
+ :ivar enable_api_logging: Enables API logging for the Dapr sidecar.
+ :vartype enable_api_logging: bool
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "app_id": {"key": "appId", "type": "str"},
+ "app_protocol": {"key": "appProtocol", "type": "str"},
+ "app_port": {"key": "appPort", "type": "int"},
+ "http_read_buffer_size": {"key": "httpReadBufferSize", "type": "int"},
+ "http_max_request_size": {"key": "httpMaxRequestSize", "type": "int"},
+ "log_level": {"key": "logLevel", "type": "str"},
+ "enable_api_logging": {"key": "enableApiLogging", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: bool = False,
+ app_id: Optional[str] = None,
+ app_protocol: Union[str, "_models.AppProtocol"] = "http",
+ app_port: Optional[int] = None,
+ http_read_buffer_size: Optional[int] = None,
+ http_max_request_size: Optional[int] = None,
+ log_level: Optional[Union[str, "_models.LogLevel"]] = None,
+ enable_api_logging: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: Boolean indicating if the Dapr side car is enabled.
+ :paramtype enabled: bool
+ :keyword app_id: Dapr application identifier.
+ :paramtype app_id: str
+ :keyword app_protocol: Tells Dapr which protocol your application is using. Valid options are
+ http and grpc. Default is http. Known values are: "http" and "grpc".
+ :paramtype app_protocol: str or ~azure.mgmt.appcontainers.models.AppProtocol
+ :keyword app_port: Tells Dapr which port your application is listening on.
+ :paramtype app_port: int
+ :keyword http_read_buffer_size: Dapr max size of http header read buffer in KB to handle when
+ sending multi-KB headers. Default is 65KB.
+ :paramtype http_read_buffer_size: int
+ :keyword http_max_request_size: Increasing max size of request body http and grpc servers
+ parameter in MB to handle uploading of big files. Default is 4 MB.
+ :paramtype http_max_request_size: int
+ :keyword log_level: Sets the log level for the Dapr sidecar. Allowed values are debug, info,
+ warn, error. Default is info. Known values are: "info", "debug", "warn", and "error".
+ :paramtype log_level: str or ~azure.mgmt.appcontainers.models.LogLevel
+ :keyword enable_api_logging: Enables API logging for the Dapr sidecar.
+ :paramtype enable_api_logging: bool
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.app_id = app_id
+ self.app_protocol = app_protocol
+ self.app_port = app_port
+ self.http_read_buffer_size = http_read_buffer_size
+ self.http_max_request_size = http_max_request_size
+ self.log_level = log_level
+ self.enable_api_logging = enable_api_logging
+
+
+class DaprComponent(ProxyResource): # pylint: disable=too-many-instance-attributes
"""Dapr Component.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param component_type: Component type
- :type component_type: str
- :param version: Component version
- :type version: str
- :param ignore_errors: Boolean describing if the component errors are
- ignores
- :type ignore_errors: bool
- :param init_timeout: Initialization timeout
- :type init_timeout: str
- :param secrets: Collection of secrets used by a Dapr component
- :type secrets: list[~commondefinitions.models.Secret]
- :param metadata: Component metadata
- :type metadata: list[~commondefinitions.models.DaprMetadata]
- :param scopes: Names of container apps that can use this Dapr component
- :type scopes: list[str]
- """
-
- _validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- }
-
- _attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'component_type': {'key': 'properties.componentType', 'type': 'str'},
- 'version': {'key': 'properties.version', 'type': 'str'},
- 'ignore_errors': {'key': 'properties.ignoreErrors', 'type': 'bool'},
- 'init_timeout': {'key': 'properties.initTimeout', 'type': 'str'},
- 'secrets': {'key': 'properties.secrets', 'type': '[Secret]'},
- 'metadata': {'key': 'properties.metadata', 'type': '[DaprMetadata]'},
- 'scopes': {'key': 'properties.scopes', 'type': '[str]'},
- }
-
- def __init__(self, **kwargs):
- super(DaprComponent, self).__init__(**kwargs)
- self.component_type = kwargs.get('component_type', None)
- self.version = kwargs.get('version', None)
- self.ignore_errors = kwargs.get('ignore_errors', None)
- self.init_timeout = kwargs.get('init_timeout', None)
- self.secrets = kwargs.get('secrets', None)
- self.metadata = kwargs.get('metadata', None)
- self.scopes = kwargs.get('scopes', None)
-
-
-class DaprComponentsCollection(Model):
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar component_type: Component type.
+ :vartype component_type: str
+ :ivar version: Component version.
+ :vartype version: str
+ :ivar ignore_errors: Boolean describing if the component errors are ignores.
+ :vartype ignore_errors: bool
+ :ivar init_timeout: Initialization timeout.
+ :vartype init_timeout: str
+ :ivar secrets: Collection of secrets used by a Dapr component.
+ :vartype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :ivar secret_store_component: Name of a Dapr component to retrieve component secrets from.
+ :vartype secret_store_component: str
+ :ivar metadata: Component metadata.
+ :vartype metadata: list[~azure.mgmt.appcontainers.models.DaprMetadata]
+ :ivar scopes: Names of container apps that can use this Dapr component.
+ :vartype scopes: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "component_type": {"key": "properties.componentType", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "ignore_errors": {"key": "properties.ignoreErrors", "type": "bool"},
+ "init_timeout": {"key": "properties.initTimeout", "type": "str"},
+ "secrets": {"key": "properties.secrets", "type": "[Secret]"},
+ "secret_store_component": {"key": "properties.secretStoreComponent", "type": "str"},
+ "metadata": {"key": "properties.metadata", "type": "[DaprMetadata]"},
+ "scopes": {"key": "properties.scopes", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ component_type: Optional[str] = None,
+ version: Optional[str] = None,
+ ignore_errors: bool = False,
+ init_timeout: Optional[str] = None,
+ secrets: Optional[List["_models.Secret"]] = None,
+ secret_store_component: Optional[str] = None,
+ metadata: Optional[List["_models.DaprMetadata"]] = None,
+ scopes: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword component_type: Component type.
+ :paramtype component_type: str
+ :keyword version: Component version.
+ :paramtype version: str
+ :keyword ignore_errors: Boolean describing if the component errors are ignores.
+ :paramtype ignore_errors: bool
+ :keyword init_timeout: Initialization timeout.
+ :paramtype init_timeout: str
+ :keyword secrets: Collection of secrets used by a Dapr component.
+ :paramtype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :keyword secret_store_component: Name of a Dapr component to retrieve component secrets from.
+ :paramtype secret_store_component: str
+ :keyword metadata: Component metadata.
+ :paramtype metadata: list[~azure.mgmt.appcontainers.models.DaprMetadata]
+ :keyword scopes: Names of container apps that can use this Dapr component.
+ :paramtype scopes: list[str]
+ """
+ super().__init__(**kwargs)
+ self.component_type = component_type
+ self.version = version
+ self.ignore_errors = ignore_errors
+ self.init_timeout = init_timeout
+ self.secrets = secrets
+ self.secret_store_component = secret_store_component
+ self.metadata = metadata
+ self.scopes = scopes
+
+
+class DaprComponentsCollection(_serialization.Model):
"""Dapr Components ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.DaprComponent]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.DaprComponent]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[DaprComponent]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[DaprComponent]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(DaprComponentsCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.DaprComponent"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.DaprComponent]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class DaprMetadata(Model):
+class DaprConfiguration(_serialization.Model):
+ """Configuration properties Dapr component.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar version: The version of Dapr.
+ :vartype version: str
+ """
+
+ _validation = {
+ "version": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "version": {"key": "version", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.version = None
+
+
+class DaprMetadata(_serialization.Model):
"""Dapr component metadata.
- :param name: Metadata property name.
- :type name: str
- :param value: Metadata property value.
- :type value: str
- :param secret_ref: Name of the Dapr Component secret from which to pull
- the metadata property value.
- :type secret_ref: str
+ :ivar name: Metadata property name.
+ :vartype name: str
+ :ivar value: Metadata property value.
+ :vartype value: str
+ :ivar secret_ref: Name of the Dapr Component secret from which to pull the metadata property
+ value.
+ :vartype secret_ref: str
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'str'},
- 'secret_ref': {'key': 'secretRef', 'type': 'str'},
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ "secret_ref": {"key": "secretRef", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ value: Optional[str] = None,
+ secret_ref: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Metadata property name.
+ :paramtype name: str
+ :keyword value: Metadata property value.
+ :paramtype value: str
+ :keyword secret_ref: Name of the Dapr Component secret from which to pull the metadata property
+ value.
+ :paramtype secret_ref: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.value = value
+ self.secret_ref = secret_ref
+
+
+class DaprSecret(_serialization.Model):
+ """Dapr component Secret for ListSecrets Action.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: Secret Name.
+ :vartype name: str
+ :ivar value: Secret Value.
+ :vartype value: str
+ """
+
+ _validation = {
+ "name": {"readonly": True},
+ "value": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.name = None
+ self.value = None
+
+
+class DaprSecretsCollection(_serialization.Model):
+ """Dapr component Secrets Collection for ListSecrets Action.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar value: Collection of secrets used by a Dapr component. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.DaprSecret]
+ """
+
+ _validation = {
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[DaprSecret]"},
}
- def __init__(self, **kwargs):
- super(DaprMetadata, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.value = kwargs.get('value', None)
- self.secret_ref = kwargs.get('secret_ref', None)
+ def __init__(self, *, value: List["_models.DaprSecret"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of secrets used by a Dapr component. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.DaprSecret]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class DefaultErrorResponse(Model):
+class DefaultAuthorizationPolicy(_serialization.Model):
+ """The configuration settings of the Azure Active Directory default authorization policy.
+
+ :ivar allowed_principals: The configuration settings of the Azure Active Directory allowed
+ principals.
+ :vartype allowed_principals: ~azure.mgmt.appcontainers.models.AllowedPrincipals
+ :ivar allowed_applications: The configuration settings of the Azure Active Directory allowed
+ applications.
+ :vartype allowed_applications: list[str]
+ """
+
+ _attribute_map = {
+ "allowed_principals": {"key": "allowedPrincipals", "type": "AllowedPrincipals"},
+ "allowed_applications": {"key": "allowedApplications", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ allowed_principals: Optional["_models.AllowedPrincipals"] = None,
+ allowed_applications: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword allowed_principals: The configuration settings of the Azure Active Directory allowed
+ principals.
+ :paramtype allowed_principals: ~azure.mgmt.appcontainers.models.AllowedPrincipals
+ :keyword allowed_applications: The configuration settings of the Azure Active Directory allowed
+ applications.
+ :paramtype allowed_applications: list[str]
+ """
+ super().__init__(**kwargs)
+ self.allowed_principals = allowed_principals
+ self.allowed_applications = allowed_applications
+
+
+class DefaultErrorResponse(_serialization.Model):
"""App Service error response.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar error: Error model.
- :vartype error: ~commondefinitions.models.DefaultErrorResponseError
+ :vartype error: ~azure.mgmt.appcontainers.models.DefaultErrorResponseError
+ """
+
+ _validation = {
+ "error": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "error": {"key": "error", "type": "DefaultErrorResponseError"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.error = None
+
+
+class DefaultErrorResponseError(_serialization.Model):
+ """Error model.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Standardized string to programmatically identify the error.
+ :vartype code: str
+ :ivar message: Detailed error description and debugging information.
+ :vartype message: str
+ :ivar target: Detailed error description and debugging information.
+ :vartype target: str
+ :ivar details: Details or the error.
+ :vartype details: list[~azure.mgmt.appcontainers.models.DefaultErrorResponseErrorDetailsItem]
+ :ivar innererror: More information to debug error.
+ :vartype innererror: str
+ """
+
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
+ "innererror": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {"key": "details", "type": "[DefaultErrorResponseErrorDetailsItem]"},
+ "innererror": {"key": "innererror", "type": "str"},
+ }
+
+ def __init__(
+ self, *, details: Optional[List["_models.DefaultErrorResponseErrorDetailsItem"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword details: Details or the error.
+ :paramtype details: list[~azure.mgmt.appcontainers.models.DefaultErrorResponseErrorDetailsItem]
+ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = details
+ self.innererror = None
+
+
+class DefaultErrorResponseErrorDetailsItem(_serialization.Model):
+ """Detailed errors.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Standardized string to programmatically identify the error.
+ :vartype code: str
+ :ivar message: Detailed error description and debugging information.
+ :vartype message: str
+ :ivar target: Detailed error description and debugging information.
+ :vartype target: str
+ """
+
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+
+
+class DiagnosticDataProviderMetadata(_serialization.Model):
+ """Details of a diagnostics data provider.
+
+ :ivar provider_name: Name of data provider.
+ :vartype provider_name: str
+ :ivar property_bag: Collection of properties.
+ :vartype property_bag:
+ list[~azure.mgmt.appcontainers.models.DiagnosticDataProviderMetadataPropertyBagItem]
+ """
+
+ _attribute_map = {
+ "provider_name": {"key": "providerName", "type": "str"},
+ "property_bag": {"key": "propertyBag", "type": "[DiagnosticDataProviderMetadataPropertyBagItem]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ provider_name: Optional[str] = None,
+ property_bag: Optional[List["_models.DiagnosticDataProviderMetadataPropertyBagItem"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword provider_name: Name of data provider.
+ :paramtype provider_name: str
+ :keyword property_bag: Collection of properties.
+ :paramtype property_bag:
+ list[~azure.mgmt.appcontainers.models.DiagnosticDataProviderMetadataPropertyBagItem]
+ """
+ super().__init__(**kwargs)
+ self.provider_name = provider_name
+ self.property_bag = property_bag
+
+
+class DiagnosticDataProviderMetadataPropertyBagItem(_serialization.Model):
+ """Property details.
+
+ :ivar name: Property name.
+ :vartype name: str
+ :ivar value: Property value.
+ :vartype value: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ }
+
+ def __init__(self, *, name: Optional[str] = None, value: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword name: Property name.
+ :paramtype name: str
+ :keyword value: Property value.
+ :paramtype value: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.value = value
+
+
+class DiagnosticDataTableResponseColumn(_serialization.Model):
+ """Diagnostics data column.
+
+ :ivar column_name: Column name.
+ :vartype column_name: str
+ :ivar data_type: Data type of the column.
+ :vartype data_type: str
+ :ivar column_type: Column type.
+ :vartype column_type: str
+ """
+
+ _attribute_map = {
+ "column_name": {"key": "columnName", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "column_type": {"key": "columnType", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ column_name: Optional[str] = None,
+ data_type: Optional[str] = None,
+ column_type: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword column_name: Column name.
+ :paramtype column_name: str
+ :keyword data_type: Data type of the column.
+ :paramtype data_type: str
+ :keyword column_type: Column type.
+ :paramtype column_type: str
+ """
+ super().__init__(**kwargs)
+ self.column_name = column_name
+ self.data_type = data_type
+ self.column_type = column_type
+
+
+class DiagnosticDataTableResponseObject(_serialization.Model):
+ """Diagnostics data table.
+
+ :ivar table_name: Table name.
+ :vartype table_name: str
+ :ivar columns: Columns in the table.
+ :vartype columns: list[~azure.mgmt.appcontainers.models.DiagnosticDataTableResponseColumn]
+ :ivar rows: Rows in the table.
+ :vartype rows: list[JSON]
+ """
+
+ _attribute_map = {
+ "table_name": {"key": "tableName", "type": "str"},
+ "columns": {"key": "columns", "type": "[DiagnosticDataTableResponseColumn]"},
+ "rows": {"key": "rows", "type": "[object]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ table_name: Optional[str] = None,
+ columns: Optional[List["_models.DiagnosticDataTableResponseColumn"]] = None,
+ rows: Optional[List[JSON]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword table_name: Table name.
+ :paramtype table_name: str
+ :keyword columns: Columns in the table.
+ :paramtype columns: list[~azure.mgmt.appcontainers.models.DiagnosticDataTableResponseColumn]
+ :keyword rows: Rows in the table.
+ :paramtype rows: list[JSON]
+ """
+ super().__init__(**kwargs)
+ self.table_name = table_name
+ self.columns = columns
+ self.rows = rows
+
+
+class DiagnosticRendering(_serialization.Model):
+ """Rendering details of a diagnostics table.
+
+ :ivar type: Rendering type.
+ :vartype type: int
+ :ivar title: Title of the table.
+ :vartype title: str
+ :ivar description: Description of the table.
+ :vartype description: str
+ :ivar is_visible: Flag if the table should be rendered.
+ :vartype is_visible: bool
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "int"},
+ "title": {"key": "title", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "is_visible": {"key": "isVisible", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Optional[int] = None,
+ title: Optional[str] = None,
+ description: Optional[str] = None,
+ is_visible: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword type: Rendering type.
+ :paramtype type: int
+ :keyword title: Title of the table.
+ :paramtype title: str
+ :keyword description: Description of the table.
+ :paramtype description: str
+ :keyword is_visible: Flag if the table should be rendered.
+ :paramtype is_visible: bool
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.title = title
+ self.description = description
+ self.is_visible = is_visible
+
+
+class Diagnostics(ProxyResource):
+ """Diagnostics data for a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar properties: Diagnostics resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.DiagnosticsProperties
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "properties": {"key": "properties", "type": "DiagnosticsProperties"},
+ }
+
+ def __init__(self, *, properties: Optional["_models.DiagnosticsProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword properties: Diagnostics resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.DiagnosticsProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class DiagnosticsCollection(_serialization.Model):
+ """Diagnostics data collection for a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar value: Collection of diagnostic data. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Diagnostics]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[Diagnostics]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.Diagnostics"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of diagnostic data. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Diagnostics]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class DiagnosticsDataApiResponse(_serialization.Model):
+ """Diagnostics data returned from a detector.
+
+ :ivar table: Table response.
+ :vartype table: ~azure.mgmt.appcontainers.models.DiagnosticDataTableResponseObject
+ :ivar rendering_properties: Details of the table response.
+ :vartype rendering_properties: ~azure.mgmt.appcontainers.models.DiagnosticRendering
+ """
+
+ _attribute_map = {
+ "table": {"key": "table", "type": "DiagnosticDataTableResponseObject"},
+ "rendering_properties": {"key": "renderingProperties", "type": "DiagnosticRendering"},
+ }
+
+ def __init__(
+ self,
+ *,
+ table: Optional["_models.DiagnosticDataTableResponseObject"] = None,
+ rendering_properties: Optional["_models.DiagnosticRendering"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword table: Table response.
+ :paramtype table: ~azure.mgmt.appcontainers.models.DiagnosticDataTableResponseObject
+ :keyword rendering_properties: Details of the table response.
+ :paramtype rendering_properties: ~azure.mgmt.appcontainers.models.DiagnosticRendering
+ """
+ super().__init__(**kwargs)
+ self.table = table
+ self.rendering_properties = rendering_properties
+
+
+class DiagnosticsDefinition(_serialization.Model):
+ """Metadata of the diagnostics response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Unique detector name.
+ :vartype id: str
+ :ivar name: Display Name of the detector.
+ :vartype name: str
+ :ivar description: Details of the diagnostics info.
+ :vartype description: str
+ :ivar author: Authors' names of the detector.
+ :vartype author: str
+ :ivar category: Category of the detector.
+ :vartype category: str
+ :ivar support_topic_list: List of support topics.
+ :vartype support_topic_list: list[~azure.mgmt.appcontainers.models.DiagnosticSupportTopic]
+ :ivar analysis_types: List of analysis types.
+ :vartype analysis_types: list[str]
+ :ivar type: Authors' names of the detector.
+ :vartype type: str
+ :ivar score: Authors' names of the detector.
+ :vartype score: float
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "description": {"readonly": True},
+ "author": {"readonly": True},
+ "category": {"readonly": True},
+ "type": {"readonly": True},
+ "score": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "author": {"key": "author", "type": "str"},
+ "category": {"key": "category", "type": "str"},
+ "support_topic_list": {"key": "supportTopicList", "type": "[DiagnosticSupportTopic]"},
+ "analysis_types": {"key": "analysisTypes", "type": "[str]"},
+ "type": {"key": "type", "type": "str"},
+ "score": {"key": "score", "type": "float"},
+ }
+
+ def __init__(
+ self,
+ *,
+ support_topic_list: Optional[List["_models.DiagnosticSupportTopic"]] = None,
+ analysis_types: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword support_topic_list: List of support topics.
+ :paramtype support_topic_list: list[~azure.mgmt.appcontainers.models.DiagnosticSupportTopic]
+ :keyword analysis_types: List of analysis types.
+ :paramtype analysis_types: list[str]
+ """
+ super().__init__(**kwargs)
+ self.id = None
+ self.name = None
+ self.description = None
+ self.author = None
+ self.category = None
+ self.support_topic_list = support_topic_list
+ self.analysis_types = analysis_types
+ self.type = None
+ self.score = None
+
+
+class DiagnosticsProperties(_serialization.Model):
+ """Diagnostics resource specific properties.
+
+ :ivar metadata: Metadata of the diagnostics response.
+ :vartype metadata: ~azure.mgmt.appcontainers.models.DiagnosticsDefinition
+ :ivar dataset: Set of data collections associated with the response.
+ :vartype dataset: list[~azure.mgmt.appcontainers.models.DiagnosticsDataApiResponse]
+ :ivar status: Status of the diagnostics response.
+ :vartype status: ~azure.mgmt.appcontainers.models.DiagnosticsStatus
+ :ivar data_provider_metadata: List of data providers' metadata.
+ :vartype data_provider_metadata:
+ ~azure.mgmt.appcontainers.models.DiagnosticDataProviderMetadata
+ """
+
+ _attribute_map = {
+ "metadata": {"key": "metadata", "type": "DiagnosticsDefinition"},
+ "dataset": {"key": "dataset", "type": "[DiagnosticsDataApiResponse]"},
+ "status": {"key": "status", "type": "DiagnosticsStatus"},
+ "data_provider_metadata": {"key": "dataProviderMetadata", "type": "DiagnosticDataProviderMetadata"},
+ }
+
+ def __init__(
+ self,
+ *,
+ metadata: Optional["_models.DiagnosticsDefinition"] = None,
+ dataset: Optional[List["_models.DiagnosticsDataApiResponse"]] = None,
+ status: Optional["_models.DiagnosticsStatus"] = None,
+ data_provider_metadata: Optional["_models.DiagnosticDataProviderMetadata"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword metadata: Metadata of the diagnostics response.
+ :paramtype metadata: ~azure.mgmt.appcontainers.models.DiagnosticsDefinition
+ :keyword dataset: Set of data collections associated with the response.
+ :paramtype dataset: list[~azure.mgmt.appcontainers.models.DiagnosticsDataApiResponse]
+ :keyword status: Status of the diagnostics response.
+ :paramtype status: ~azure.mgmt.appcontainers.models.DiagnosticsStatus
+ :keyword data_provider_metadata: List of data providers' metadata.
+ :paramtype data_provider_metadata:
+ ~azure.mgmt.appcontainers.models.DiagnosticDataProviderMetadata
+ """
+ super().__init__(**kwargs)
+ self.metadata = metadata
+ self.dataset = dataset
+ self.status = status
+ self.data_provider_metadata = data_provider_metadata
+
+
+class DiagnosticsStatus(_serialization.Model):
+ """Rendering details of a diagnostics table.
+
+ :ivar message: Diagnostic message.
+ :vartype message: str
+ :ivar status_id: Status.
+ :vartype status_id: int
+ """
+
+ _attribute_map = {
+ "message": {"key": "message", "type": "str"},
+ "status_id": {"key": "statusId", "type": "int"},
+ }
+
+ def __init__(self, *, message: Optional[str] = None, status_id: Optional[int] = None, **kwargs: Any) -> None:
+ """
+ :keyword message: Diagnostic message.
+ :paramtype message: str
+ :keyword status_id: Status.
+ :paramtype status_id: int
+ """
+ super().__init__(**kwargs)
+ self.message = message
+ self.status_id = status_id
+
+
+class DiagnosticSupportTopic(_serialization.Model):
+ """Support topic information.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Unique topic identifier.
+ :vartype id: str
+ :ivar pes_id: PES identifier.
+ :vartype pes_id: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "pes_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "pes_id": {"key": "pesId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.id = None
+ self.pes_id = None
+
+
+class EnvironmentAuthToken(TrackedResource):
+ """Environment Auth Token.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar token: Auth token value.
+ :vartype token: str
+ :ivar expires: Token expiration date.
+ :vartype expires: ~datetime.datetime
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "token": {"readonly": True},
+ "expires": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "token": {"key": "properties.token", "type": "str"},
+ "expires": {"key": "properties.expires", "type": "iso-8601"},
+ }
+
+ def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.token = None
+ self.expires = None
+
+
+class EnvironmentVar(_serialization.Model):
+ """Container App container environment variable.
+
+ :ivar name: Environment variable name.
+ :vartype name: str
+ :ivar value: Non-secret environment variable value.
+ :vartype value: str
+ :ivar secret_ref: Name of the Container App secret from which to pull the environment variable
+ value.
+ :vartype secret_ref: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ "secret_ref": {"key": "secretRef", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ value: Optional[str] = None,
+ secret_ref: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Environment variable name.
+ :paramtype name: str
+ :keyword value: Non-secret environment variable value.
+ :paramtype value: str
+ :keyword secret_ref: Name of the Container App secret from which to pull the environment
+ variable value.
+ :paramtype secret_ref: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.value = value
+ self.secret_ref = secret_ref
+
+
+class ErrorAdditionalInfo(_serialization.Model):
+ """The resource management error additional info.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar type: The additional info type.
+ :vartype type: str
+ :ivar info: The additional info.
+ :vartype info: JSON
+ """
+
+ _validation = {
+ "type": {"readonly": True},
+ "info": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "info": {"key": "info", "type": "object"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.type = None
+ self.info = None
+
+
+class ErrorDetail(_serialization.Model):
+ """The error detail.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: The error code.
+ :vartype code: str
+ :ivar message: The error message.
+ :vartype message: str
+ :ivar target: The error target.
+ :vartype target: str
+ :ivar details: The error details.
+ :vartype details: list[~azure.mgmt.appcontainers.models.ErrorDetail]
+ :ivar additional_info: The error additional info.
+ :vartype additional_info: list[~azure.mgmt.appcontainers.models.ErrorAdditionalInfo]
+ """
+
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
+ "details": {"readonly": True},
+ "additional_info": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {"key": "details", "type": "[ErrorDetail]"},
+ "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = None
+ self.additional_info = None
+
+
+class ErrorResponse(_serialization.Model):
+ """Common error response for all Azure Resource Manager APIs to return error details for failed
+ operations. (This also follows the OData error response format.).
+
+ :ivar error: The error object.
+ :vartype error: ~azure.mgmt.appcontainers.models.ErrorDetail
+ """
+
+ _attribute_map = {
+ "error": {"key": "error", "type": "ErrorDetail"},
+ }
+
+ def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None:
+ """
+ :keyword error: The error object.
+ :paramtype error: ~azure.mgmt.appcontainers.models.ErrorDetail
+ """
+ super().__init__(**kwargs)
+ self.error = error
+
+
+class ExtendedLocation(_serialization.Model):
+ """The complex type of the extended location.
+
+ :ivar name: The name of the extended location.
+ :vartype name: str
+ :ivar type: The type of the extended location. "CustomLocation"
+ :vartype type: str or ~azure.mgmt.appcontainers.models.ExtendedLocationTypes
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: The name of the extended location.
+ :paramtype name: str
+ :keyword type: The type of the extended location. "CustomLocation"
+ :paramtype type: str or ~azure.mgmt.appcontainers.models.ExtendedLocationTypes
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.type = type
+
+
+class Facebook(_serialization.Model):
+ """The configuration settings of the Facebook provider.
+
+ :ivar enabled: :code:`false` if the Facebook provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the app registration for the Facebook
+ provider.
+ :vartype registration: ~azure.mgmt.appcontainers.models.AppRegistration
+ :ivar graph_api_version: The version of the Facebook api to be used while logging in.
+ :vartype graph_api_version: str
+ :ivar login: The configuration settings of the login flow.
+ :vartype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "AppRegistration"},
+ "graph_api_version": {"key": "graphApiVersion", "type": "str"},
+ "login": {"key": "login", "type": "LoginScopes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.AppRegistration"] = None,
+ graph_api_version: Optional[str] = None,
+ login: Optional["_models.LoginScopes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Facebook provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the app registration for the Facebook
+ provider.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.AppRegistration
+ :keyword graph_api_version: The version of the Facebook api to be used while logging in.
+ :paramtype graph_api_version: str
+ :keyword login: The configuration settings of the login flow.
+ :paramtype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.graph_api_version = graph_api_version
+ self.login = login
+
+
+class ForwardProxy(_serialization.Model):
+ """The configuration settings of a forward proxy used to make the requests.
+
+ :ivar convention: The convention used to determine the url of the request made. Known values
+ are: "NoProxy", "Standard", and "Custom".
+ :vartype convention: str or ~azure.mgmt.appcontainers.models.ForwardProxyConvention
+ :ivar custom_host_header_name: The name of the header containing the host of the request.
+ :vartype custom_host_header_name: str
+ :ivar custom_proto_header_name: The name of the header containing the scheme of the request.
+ :vartype custom_proto_header_name: str
+ """
+
+ _attribute_map = {
+ "convention": {"key": "convention", "type": "str"},
+ "custom_host_header_name": {"key": "customHostHeaderName", "type": "str"},
+ "custom_proto_header_name": {"key": "customProtoHeaderName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ convention: Optional[Union[str, "_models.ForwardProxyConvention"]] = None,
+ custom_host_header_name: Optional[str] = None,
+ custom_proto_header_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword convention: The convention used to determine the url of the request made. Known values
+ are: "NoProxy", "Standard", and "Custom".
+ :paramtype convention: str or ~azure.mgmt.appcontainers.models.ForwardProxyConvention
+ :keyword custom_host_header_name: The name of the header containing the host of the request.
+ :paramtype custom_host_header_name: str
+ :keyword custom_proto_header_name: The name of the header containing the scheme of the request.
+ :paramtype custom_proto_header_name: str
+ """
+ super().__init__(**kwargs)
+ self.convention = convention
+ self.custom_host_header_name = custom_host_header_name
+ self.custom_proto_header_name = custom_proto_header_name
+
+
+class GitHub(_serialization.Model):
+ """The configuration settings of the GitHub provider.
+
+ :ivar enabled: :code:`false` if the GitHub provider should not be enabled despite
+ the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the app registration for the GitHub provider.
+ :vartype registration: ~azure.mgmt.appcontainers.models.ClientRegistration
+ :ivar login: The configuration settings of the login flow.
+ :vartype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "ClientRegistration"},
+ "login": {"key": "login", "type": "LoginScopes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.ClientRegistration"] = None,
+ login: Optional["_models.LoginScopes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the GitHub provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the app registration for the GitHub
+ provider.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.ClientRegistration
+ :keyword login: The configuration settings of the login flow.
+ :paramtype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.login = login
+
+
+class GithubActionConfiguration(_serialization.Model):
+ """Configuration properties that define the mutable settings of a Container App SourceControl.
+
+ :ivar registry_info: Registry configurations.
+ :vartype registry_info: ~azure.mgmt.appcontainers.models.RegistryInfo
+ :ivar azure_credentials: AzureCredentials configurations.
+ :vartype azure_credentials: ~azure.mgmt.appcontainers.models.AzureCredentials
+ :ivar context_path: Context path.
+ :vartype context_path: str
+ :ivar image: Image name.
+ :vartype image: str
+ :ivar publish_type: Code or Image.
+ :vartype publish_type: str
+ :ivar os: Operation system.
+ :vartype os: str
+ :ivar runtime_stack: Runtime stack.
+ :vartype runtime_stack: str
+ :ivar runtime_version: Runtime version.
+ :vartype runtime_version: str
+ """
+
+ _attribute_map = {
+ "registry_info": {"key": "registryInfo", "type": "RegistryInfo"},
+ "azure_credentials": {"key": "azureCredentials", "type": "AzureCredentials"},
+ "context_path": {"key": "contextPath", "type": "str"},
+ "image": {"key": "image", "type": "str"},
+ "publish_type": {"key": "publishType", "type": "str"},
+ "os": {"key": "os", "type": "str"},
+ "runtime_stack": {"key": "runtimeStack", "type": "str"},
+ "runtime_version": {"key": "runtimeVersion", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ registry_info: Optional["_models.RegistryInfo"] = None,
+ azure_credentials: Optional["_models.AzureCredentials"] = None,
+ context_path: Optional[str] = None,
+ image: Optional[str] = None,
+ publish_type: Optional[str] = None,
+ os: Optional[str] = None,
+ runtime_stack: Optional[str] = None,
+ runtime_version: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword registry_info: Registry configurations.
+ :paramtype registry_info: ~azure.mgmt.appcontainers.models.RegistryInfo
+ :keyword azure_credentials: AzureCredentials configurations.
+ :paramtype azure_credentials: ~azure.mgmt.appcontainers.models.AzureCredentials
+ :keyword context_path: Context path.
+ :paramtype context_path: str
+ :keyword image: Image name.
+ :paramtype image: str
+ :keyword publish_type: Code or Image.
+ :paramtype publish_type: str
+ :keyword os: Operation system.
+ :paramtype os: str
+ :keyword runtime_stack: Runtime stack.
+ :paramtype runtime_stack: str
+ :keyword runtime_version: Runtime version.
+ :paramtype runtime_version: str
+ """
+ super().__init__(**kwargs)
+ self.registry_info = registry_info
+ self.azure_credentials = azure_credentials
+ self.context_path = context_path
+ self.image = image
+ self.publish_type = publish_type
+ self.os = os
+ self.runtime_stack = runtime_stack
+ self.runtime_version = runtime_version
+
+
+class GlobalValidation(_serialization.Model):
+ """The configuration settings that determines the validation flow of users using ContainerApp
+ Service Authentication/Authorization.
+
+ :ivar unauthenticated_client_action: The action to take when an unauthenticated client attempts
+ to access the app. Known values are: "RedirectToLoginPage", "AllowAnonymous", "Return401", and
+ "Return403".
+ :vartype unauthenticated_client_action: str or
+ ~azure.mgmt.appcontainers.models.UnauthenticatedClientActionV2
+ :ivar redirect_to_provider: The default authentication provider to use when multiple providers
+ are configured.
+ This setting is only needed if multiple providers are configured and the unauthenticated
+ client
+ action is set to "RedirectToLoginPage".
+ :vartype redirect_to_provider: str
+ :ivar excluded_paths: The paths for which unauthenticated flow would not be redirected to the
+ login page.
+ :vartype excluded_paths: list[str]
+ """
+
+ _attribute_map = {
+ "unauthenticated_client_action": {"key": "unauthenticatedClientAction", "type": "str"},
+ "redirect_to_provider": {"key": "redirectToProvider", "type": "str"},
+ "excluded_paths": {"key": "excludedPaths", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ unauthenticated_client_action: Optional[Union[str, "_models.UnauthenticatedClientActionV2"]] = None,
+ redirect_to_provider: Optional[str] = None,
+ excluded_paths: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword unauthenticated_client_action: The action to take when an unauthenticated client
+ attempts to access the app. Known values are: "RedirectToLoginPage", "AllowAnonymous",
+ "Return401", and "Return403".
+ :paramtype unauthenticated_client_action: str or
+ ~azure.mgmt.appcontainers.models.UnauthenticatedClientActionV2
+ :keyword redirect_to_provider: The default authentication provider to use when multiple
+ providers are configured.
+ This setting is only needed if multiple providers are configured and the unauthenticated
+ client
+ action is set to "RedirectToLoginPage".
+ :paramtype redirect_to_provider: str
+ :keyword excluded_paths: The paths for which unauthenticated flow would not be redirected to
+ the login page.
+ :paramtype excluded_paths: list[str]
+ """
+ super().__init__(**kwargs)
+ self.unauthenticated_client_action = unauthenticated_client_action
+ self.redirect_to_provider = redirect_to_provider
+ self.excluded_paths = excluded_paths
+
+
+class Google(_serialization.Model):
+ """The configuration settings of the Google provider.
+
+ :ivar enabled: :code:`false` if the Google provider should not be enabled despite
+ the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the app registration for the Google provider.
+ :vartype registration: ~azure.mgmt.appcontainers.models.ClientRegistration
+ :ivar login: The configuration settings of the login flow.
+ :vartype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ :ivar validation: The configuration settings of the Azure Active Directory token validation
+ flow.
+ :vartype validation: ~azure.mgmt.appcontainers.models.AllowedAudiencesValidation
+ """
+
+ _attribute_map = {
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "ClientRegistration"},
+ "login": {"key": "login", "type": "LoginScopes"},
+ "validation": {"key": "validation", "type": "AllowedAudiencesValidation"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.ClientRegistration"] = None,
+ login: Optional["_models.LoginScopes"] = None,
+ validation: Optional["_models.AllowedAudiencesValidation"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Google provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the app registration for the Google
+ provider.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.ClientRegistration
+ :keyword login: The configuration settings of the login flow.
+ :paramtype login: ~azure.mgmt.appcontainers.models.LoginScopes
+ :keyword validation: The configuration settings of the Azure Active Directory token validation
+ flow.
+ :paramtype validation: ~azure.mgmt.appcontainers.models.AllowedAudiencesValidation
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+ self.login = login
+ self.validation = validation
+
+
+class HttpScaleRule(_serialization.Model):
+ """Container App container Http scaling rule.
+
+ :ivar metadata: Metadata properties to describe http scale rule.
+ :vartype metadata: dict[str, str]
+ :ivar auth: Authentication secrets for the custom scale rule.
+ :vartype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+
+ _attribute_map = {
+ "metadata": {"key": "metadata", "type": "{str}"},
+ "auth": {"key": "auth", "type": "[ScaleRuleAuth]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ metadata: Optional[Dict[str, str]] = None,
+ auth: Optional[List["_models.ScaleRuleAuth"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword metadata: Metadata properties to describe http scale rule.
+ :paramtype metadata: dict[str, str]
+ :keyword auth: Authentication secrets for the custom scale rule.
+ :paramtype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+ super().__init__(**kwargs)
+ self.metadata = metadata
+ self.auth = auth
+
+
+class HttpSettings(_serialization.Model):
+ """The configuration settings of the HTTP requests for authentication and authorization requests
+ made against ContainerApp Service Authentication/Authorization.
+
+ :ivar require_https: :code:`false` if the authentication/authorization responses
+ not having the HTTPS scheme are permissible; otherwise, :code:`true`.
+ :vartype require_https: bool
+ :ivar routes: The configuration settings of the paths HTTP requests.
+ :vartype routes: ~azure.mgmt.appcontainers.models.HttpSettingsRoutes
+ :ivar forward_proxy: The configuration settings of a forward proxy used to make the requests.
+ :vartype forward_proxy: ~azure.mgmt.appcontainers.models.ForwardProxy
+ """
+
+ _attribute_map = {
+ "require_https": {"key": "requireHttps", "type": "bool"},
+ "routes": {"key": "routes", "type": "HttpSettingsRoutes"},
+ "forward_proxy": {"key": "forwardProxy", "type": "ForwardProxy"},
+ }
+
+ def __init__(
+ self,
+ *,
+ require_https: Optional[bool] = None,
+ routes: Optional["_models.HttpSettingsRoutes"] = None,
+ forward_proxy: Optional["_models.ForwardProxy"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword require_https: :code:`false` if the authentication/authorization
+ responses not having the HTTPS scheme are permissible; otherwise, :code:`true`.
+ :paramtype require_https: bool
+ :keyword routes: The configuration settings of the paths HTTP requests.
+ :paramtype routes: ~azure.mgmt.appcontainers.models.HttpSettingsRoutes
+ :keyword forward_proxy: The configuration settings of a forward proxy used to make the
+ requests.
+ :paramtype forward_proxy: ~azure.mgmt.appcontainers.models.ForwardProxy
+ """
+ super().__init__(**kwargs)
+ self.require_https = require_https
+ self.routes = routes
+ self.forward_proxy = forward_proxy
+
+
+class HttpSettingsRoutes(_serialization.Model):
+ """The configuration settings of the paths HTTP requests.
+
+ :ivar api_prefix: The prefix that should precede all the authentication/authorization paths.
+ :vartype api_prefix: str
+ """
+
+ _attribute_map = {
+ "api_prefix": {"key": "apiPrefix", "type": "str"},
+ }
+
+ def __init__(self, *, api_prefix: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword api_prefix: The prefix that should precede all the authentication/authorization paths.
+ :paramtype api_prefix: str
+ """
+ super().__init__(**kwargs)
+ self.api_prefix = api_prefix
+
+
+class IdentityProviders(_serialization.Model):
+ """The configuration settings of each of the identity providers used to configure ContainerApp
+ Service Authentication/Authorization.
+
+ :ivar azure_active_directory: The configuration settings of the Azure Active directory
+ provider.
+ :vartype azure_active_directory: ~azure.mgmt.appcontainers.models.AzureActiveDirectory
+ :ivar facebook: The configuration settings of the Facebook provider.
+ :vartype facebook: ~azure.mgmt.appcontainers.models.Facebook
+ :ivar git_hub: The configuration settings of the GitHub provider.
+ :vartype git_hub: ~azure.mgmt.appcontainers.models.GitHub
+ :ivar google: The configuration settings of the Google provider.
+ :vartype google: ~azure.mgmt.appcontainers.models.Google
+ :ivar twitter: The configuration settings of the Twitter provider.
+ :vartype twitter: ~azure.mgmt.appcontainers.models.Twitter
+ :ivar apple: The configuration settings of the Apple provider.
+ :vartype apple: ~azure.mgmt.appcontainers.models.Apple
+ :ivar azure_static_web_apps: The configuration settings of the Azure Static Web Apps provider.
+ :vartype azure_static_web_apps: ~azure.mgmt.appcontainers.models.AzureStaticWebApps
+ :ivar custom_open_id_connect_providers: The map of the name of the alias of each custom Open ID
+ Connect provider to the
+ configuration settings of the custom Open ID Connect provider.
+ :vartype custom_open_id_connect_providers: dict[str,
+ ~azure.mgmt.appcontainers.models.CustomOpenIdConnectProvider]
+ """
+
+ _attribute_map = {
+ "azure_active_directory": {"key": "azureActiveDirectory", "type": "AzureActiveDirectory"},
+ "facebook": {"key": "facebook", "type": "Facebook"},
+ "git_hub": {"key": "gitHub", "type": "GitHub"},
+ "google": {"key": "google", "type": "Google"},
+ "twitter": {"key": "twitter", "type": "Twitter"},
+ "apple": {"key": "apple", "type": "Apple"},
+ "azure_static_web_apps": {"key": "azureStaticWebApps", "type": "AzureStaticWebApps"},
+ "custom_open_id_connect_providers": {
+ "key": "customOpenIdConnectProviders",
+ "type": "{CustomOpenIdConnectProvider}",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ azure_active_directory: Optional["_models.AzureActiveDirectory"] = None,
+ facebook: Optional["_models.Facebook"] = None,
+ git_hub: Optional["_models.GitHub"] = None,
+ google: Optional["_models.Google"] = None,
+ twitter: Optional["_models.Twitter"] = None,
+ apple: Optional["_models.Apple"] = None,
+ azure_static_web_apps: Optional["_models.AzureStaticWebApps"] = None,
+ custom_open_id_connect_providers: Optional[Dict[str, "_models.CustomOpenIdConnectProvider"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword azure_active_directory: The configuration settings of the Azure Active directory
+ provider.
+ :paramtype azure_active_directory: ~azure.mgmt.appcontainers.models.AzureActiveDirectory
+ :keyword facebook: The configuration settings of the Facebook provider.
+ :paramtype facebook: ~azure.mgmt.appcontainers.models.Facebook
+ :keyword git_hub: The configuration settings of the GitHub provider.
+ :paramtype git_hub: ~azure.mgmt.appcontainers.models.GitHub
+ :keyword google: The configuration settings of the Google provider.
+ :paramtype google: ~azure.mgmt.appcontainers.models.Google
+ :keyword twitter: The configuration settings of the Twitter provider.
+ :paramtype twitter: ~azure.mgmt.appcontainers.models.Twitter
+ :keyword apple: The configuration settings of the Apple provider.
+ :paramtype apple: ~azure.mgmt.appcontainers.models.Apple
+ :keyword azure_static_web_apps: The configuration settings of the Azure Static Web Apps
+ provider.
+ :paramtype azure_static_web_apps: ~azure.mgmt.appcontainers.models.AzureStaticWebApps
+ :keyword custom_open_id_connect_providers: The map of the name of the alias of each custom Open
+ ID Connect provider to the
+ configuration settings of the custom Open ID Connect provider.
+ :paramtype custom_open_id_connect_providers: dict[str,
+ ~azure.mgmt.appcontainers.models.CustomOpenIdConnectProvider]
+ """
+ super().__init__(**kwargs)
+ self.azure_active_directory = azure_active_directory
+ self.facebook = facebook
+ self.git_hub = git_hub
+ self.google = google
+ self.twitter = twitter
+ self.apple = apple
+ self.azure_static_web_apps = azure_static_web_apps
+ self.custom_open_id_connect_providers = custom_open_id_connect_providers
+
+
+class Ingress(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Container App Ingress configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar fqdn: Hostname.
+ :vartype fqdn: str
+ :ivar external: Bool indicating if app exposes an external http endpoint.
+ :vartype external: bool
+ :ivar target_port: Target Port in containers for traffic from ingress.
+ :vartype target_port: int
+ :ivar exposed_port: Exposed Port in containers for TCP traffic from ingress.
+ :vartype exposed_port: int
+ :ivar transport: Ingress transport protocol. Known values are: "auto", "http", "http2", and
+ "tcp".
+ :vartype transport: str or ~azure.mgmt.appcontainers.models.IngressTransportMethod
+ :ivar traffic: Traffic weights for app's revisions.
+ :vartype traffic: list[~azure.mgmt.appcontainers.models.TrafficWeight]
+ :ivar custom_domains: custom domain bindings for Container Apps' hostnames.
+ :vartype custom_domains: list[~azure.mgmt.appcontainers.models.CustomDomain]
+ :ivar allow_insecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP
+ connections are automatically redirected to HTTPS connections.
+ :vartype allow_insecure: bool
+ :ivar ip_security_restrictions: Rules to restrict incoming IP address.
+ :vartype ip_security_restrictions:
+ list[~azure.mgmt.appcontainers.models.IpSecurityRestrictionRule]
+ :ivar sticky_sessions: Sticky Sessions for Single Revision Mode.
+ :vartype sticky_sessions: ~azure.mgmt.appcontainers.models.IngressStickySessions
+ :ivar client_certificate_mode: Client certificate mode for mTLS authentication. Ignore
+ indicates server drops client certificate on forwarding. Accept indicates server forwards
+ client certificate but does not require a client certificate. Require indicates server requires
+ a client certificate. Known values are: "ignore", "accept", and "require".
+ :vartype client_certificate_mode: str or
+ ~azure.mgmt.appcontainers.models.IngressClientCertificateMode
+ :ivar cors_policy: CORS policy for container app.
+ :vartype cors_policy: ~azure.mgmt.appcontainers.models.CorsPolicy
+ """
+
+ _validation = {
+ "fqdn": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "fqdn": {"key": "fqdn", "type": "str"},
+ "external": {"key": "external", "type": "bool"},
+ "target_port": {"key": "targetPort", "type": "int"},
+ "exposed_port": {"key": "exposedPort", "type": "int"},
+ "transport": {"key": "transport", "type": "str"},
+ "traffic": {"key": "traffic", "type": "[TrafficWeight]"},
+ "custom_domains": {"key": "customDomains", "type": "[CustomDomain]"},
+ "allow_insecure": {"key": "allowInsecure", "type": "bool"},
+ "ip_security_restrictions": {"key": "ipSecurityRestrictions", "type": "[IpSecurityRestrictionRule]"},
+ "sticky_sessions": {"key": "stickySessions", "type": "IngressStickySessions"},
+ "client_certificate_mode": {"key": "clientCertificateMode", "type": "str"},
+ "cors_policy": {"key": "corsPolicy", "type": "CorsPolicy"},
+ }
+
+ def __init__(
+ self,
+ *,
+ external: bool = False,
+ target_port: Optional[int] = None,
+ exposed_port: Optional[int] = None,
+ transport: Union[str, "_models.IngressTransportMethod"] = "auto",
+ traffic: Optional[List["_models.TrafficWeight"]] = None,
+ custom_domains: Optional[List["_models.CustomDomain"]] = None,
+ allow_insecure: bool = False,
+ ip_security_restrictions: Optional[List["_models.IpSecurityRestrictionRule"]] = None,
+ sticky_sessions: Optional["_models.IngressStickySessions"] = None,
+ client_certificate_mode: Optional[Union[str, "_models.IngressClientCertificateMode"]] = None,
+ cors_policy: Optional["_models.CorsPolicy"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword external: Bool indicating if app exposes an external http endpoint.
+ :paramtype external: bool
+ :keyword target_port: Target Port in containers for traffic from ingress.
+ :paramtype target_port: int
+ :keyword exposed_port: Exposed Port in containers for TCP traffic from ingress.
+ :paramtype exposed_port: int
+ :keyword transport: Ingress transport protocol. Known values are: "auto", "http", "http2", and
+ "tcp".
+ :paramtype transport: str or ~azure.mgmt.appcontainers.models.IngressTransportMethod
+ :keyword traffic: Traffic weights for app's revisions.
+ :paramtype traffic: list[~azure.mgmt.appcontainers.models.TrafficWeight]
+ :keyword custom_domains: custom domain bindings for Container Apps' hostnames.
+ :paramtype custom_domains: list[~azure.mgmt.appcontainers.models.CustomDomain]
+ :keyword allow_insecure: Bool indicating if HTTP connections to is allowed. If set to false
+ HTTP connections are automatically redirected to HTTPS connections.
+ :paramtype allow_insecure: bool
+ :keyword ip_security_restrictions: Rules to restrict incoming IP address.
+ :paramtype ip_security_restrictions:
+ list[~azure.mgmt.appcontainers.models.IpSecurityRestrictionRule]
+ :keyword sticky_sessions: Sticky Sessions for Single Revision Mode.
+ :paramtype sticky_sessions: ~azure.mgmt.appcontainers.models.IngressStickySessions
+ :keyword client_certificate_mode: Client certificate mode for mTLS authentication. Ignore
+ indicates server drops client certificate on forwarding. Accept indicates server forwards
+ client certificate but does not require a client certificate. Require indicates server requires
+ a client certificate. Known values are: "ignore", "accept", and "require".
+ :paramtype client_certificate_mode: str or
+ ~azure.mgmt.appcontainers.models.IngressClientCertificateMode
+ :keyword cors_policy: CORS policy for container app.
+ :paramtype cors_policy: ~azure.mgmt.appcontainers.models.CorsPolicy
+ """
+ super().__init__(**kwargs)
+ self.fqdn = None
+ self.external = external
+ self.target_port = target_port
+ self.exposed_port = exposed_port
+ self.transport = transport
+ self.traffic = traffic
+ self.custom_domains = custom_domains
+ self.allow_insecure = allow_insecure
+ self.ip_security_restrictions = ip_security_restrictions
+ self.sticky_sessions = sticky_sessions
+ self.client_certificate_mode = client_certificate_mode
+ self.cors_policy = cors_policy
+
+
+class IngressStickySessions(_serialization.Model):
+ """Sticky Sessions for Single Revision Mode.
+
+ :ivar affinity: Sticky Session Affinity. Known values are: "sticky" and "none".
+ :vartype affinity: str or ~azure.mgmt.appcontainers.models.Affinity
+ """
+
+ _attribute_map = {
+ "affinity": {"key": "affinity", "type": "str"},
+ }
+
+ def __init__(self, *, affinity: Optional[Union[str, "_models.Affinity"]] = None, **kwargs: Any) -> None:
+ """
+ :keyword affinity: Sticky Session Affinity. Known values are: "sticky" and "none".
+ :paramtype affinity: str or ~azure.mgmt.appcontainers.models.Affinity
+ """
+ super().__init__(**kwargs)
+ self.affinity = affinity
+
+
+class InitContainer(BaseContainer):
+ """Container App init container definition.
+
+ :ivar image: Container image tag.
+ :vartype image: str
+ :ivar name: Custom container name.
+ :vartype name: str
+ :ivar command: Container start command.
+ :vartype command: list[str]
+ :ivar args: Container start command arguments.
+ :vartype args: list[str]
+ :ivar env: Container environment variables.
+ :vartype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :ivar resources: Container resource requirements.
+ :vartype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :ivar volume_mounts: Container volume mounts.
+ :vartype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ """
+
+ _attribute_map = {
+ "image": {"key": "image", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "command": {"key": "command", "type": "[str]"},
+ "args": {"key": "args", "type": "[str]"},
+ "env": {"key": "env", "type": "[EnvironmentVar]"},
+ "resources": {"key": "resources", "type": "ContainerResources"},
+ "volume_mounts": {"key": "volumeMounts", "type": "[VolumeMount]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ image: Optional[str] = None,
+ name: Optional[str] = None,
+ command: Optional[List[str]] = None,
+ args: Optional[List[str]] = None,
+ env: Optional[List["_models.EnvironmentVar"]] = None,
+ resources: Optional["_models.ContainerResources"] = None,
+ volume_mounts: Optional[List["_models.VolumeMount"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword image: Container image tag.
+ :paramtype image: str
+ :keyword name: Custom container name.
+ :paramtype name: str
+ :keyword command: Container start command.
+ :paramtype command: list[str]
+ :keyword args: Container start command arguments.
+ :paramtype args: list[str]
+ :keyword env: Container environment variables.
+ :paramtype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :keyword resources: Container resource requirements.
+ :paramtype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ :keyword volume_mounts: Container volume mounts.
+ :paramtype volume_mounts: list[~azure.mgmt.appcontainers.models.VolumeMount]
+ """
+ super().__init__(
+ image=image,
+ name=name,
+ command=command,
+ args=args,
+ env=env,
+ resources=resources,
+ volume_mounts=volume_mounts,
+ **kwargs
+ )
+
+
+class IpSecurityRestrictionRule(_serialization.Model):
+ """Rule to restrict incoming IP address.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Name for the IP restriction rule. Required.
+ :vartype name: str
+ :ivar description: Describe the IP restriction rule that is being sent to the container-app.
+ This is an optional field.
+ :vartype description: str
+ :ivar ip_address_range: CIDR notation to match incoming IP address. Required.
+ :vartype ip_address_range: str
+ :ivar action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of
+ ALL Allow or ALL Deny. Required. Known values are: "Allow" and "Deny".
+ :vartype action: str or ~azure.mgmt.appcontainers.models.Action
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "ip_address_range": {"required": True},
+ "action": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "ip_address_range": {"key": "ipAddressRange", "type": "str"},
+ "action": {"key": "action", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ ip_address_range: str,
+ action: Union[str, "_models.Action"],
+ description: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Name for the IP restriction rule. Required.
+ :paramtype name: str
+ :keyword description: Describe the IP restriction rule that is being sent to the container-app.
+ This is an optional field.
+ :paramtype description: str
+ :keyword ip_address_range: CIDR notation to match incoming IP address. Required.
+ :paramtype ip_address_range: str
+ :keyword action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist
+ of ALL Allow or ALL Deny. Required. Known values are: "Allow" and "Deny".
+ :paramtype action: str or ~azure.mgmt.appcontainers.models.Action
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.description = description
+ self.ip_address_range = ip_address_range
+ self.action = action
+
+
+class Job(TrackedResource): # pylint: disable=too-many-instance-attributes
+ """Container App Job.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar identity: Managed identities needed by a container app job to interact with other Azure
+ services to not maintain any secrets or credentials in code.
+ :vartype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :ivar provisioning_state: Provisioning state of the Container Apps Job. Known values are:
+ "InProgress", "Succeeded", "Failed", "Canceled", and "Deleting".
+ :vartype provisioning_state: str or ~azure.mgmt.appcontainers.models.JobProvisioningState
+ :ivar environment_id: Resource ID of environment.
+ :vartype environment_id: str
+ :ivar workload_profile_name: Workload profile name to pin for container apps job execution.
+ :vartype workload_profile_name: str
+ :ivar configuration: Container Apps Job configuration properties.
+ :vartype configuration: ~azure.mgmt.appcontainers.models.JobConfiguration
+ :ivar template: Container Apps job definition.
+ :vartype template: ~azure.mgmt.appcontainers.models.JobTemplate
+ :ivar outbound_ip_addresses: Outbound IP Addresses of a container apps job.
+ :vartype outbound_ip_addresses: list[str]
+ :ivar event_stream_endpoint: The endpoint of the eventstream of the container apps job.
+ :vartype event_stream_endpoint: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "provisioning_state": {"readonly": True},
+ "outbound_ip_addresses": {"readonly": True},
+ "event_stream_endpoint": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "identity": {"key": "identity", "type": "ManagedServiceIdentity"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "environment_id": {"key": "properties.environmentId", "type": "str"},
+ "workload_profile_name": {"key": "properties.workloadProfileName", "type": "str"},
+ "configuration": {"key": "properties.configuration", "type": "JobConfiguration"},
+ "template": {"key": "properties.template", "type": "JobTemplate"},
+ "outbound_ip_addresses": {"key": "properties.outboundIpAddresses", "type": "[str]"},
+ "event_stream_endpoint": {"key": "properties.eventStreamEndpoint", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["_models.ManagedServiceIdentity"] = None,
+ environment_id: Optional[str] = None,
+ workload_profile_name: Optional[str] = None,
+ configuration: Optional["_models.JobConfiguration"] = None,
+ template: Optional["_models.JobTemplate"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword identity: Managed identities needed by a container app job to interact with other
+ Azure services to not maintain any secrets or credentials in code.
+ :paramtype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :keyword environment_id: Resource ID of environment.
+ :paramtype environment_id: str
+ :keyword workload_profile_name: Workload profile name to pin for container apps job execution.
+ :paramtype workload_profile_name: str
+ :keyword configuration: Container Apps Job configuration properties.
+ :paramtype configuration: ~azure.mgmt.appcontainers.models.JobConfiguration
+ :keyword template: Container Apps job definition.
+ :paramtype template: ~azure.mgmt.appcontainers.models.JobTemplate
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.provisioning_state = None
+ self.environment_id = environment_id
+ self.workload_profile_name = workload_profile_name
+ self.configuration = configuration
+ self.template = template
+ self.outbound_ip_addresses = None
+ self.event_stream_endpoint = None
+
+
+class JobConfiguration(_serialization.Model):
+ """Non versioned Container Apps Job configuration properties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets: Collection of secrets used by a Container Apps Job.
+ :vartype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :ivar trigger_type: Trigger type of the job. Known values are: "Scheduled", "Event", and
+ "Manual".
+ :vartype trigger_type: str or ~azure.mgmt.appcontainers.models.TriggerType
+ :ivar replica_timeout: Maximum number of seconds a replica is allowed to run. Required.
+ :vartype replica_timeout: int
+ :ivar replica_retry_limit: Maximum number of retries before failing the job.
+ :vartype replica_retry_limit: int
+ :ivar manual_trigger_config: Manual trigger configuration for a single execution job.
+ Properties replicaCompletionCount and parallelism would be set to 1 by default.
+ :vartype manual_trigger_config:
+ ~azure.mgmt.appcontainers.models.JobConfigurationManualTriggerConfig
+ :ivar schedule_trigger_config: Cron formatted repeating trigger schedule ("\ * * * * *") for
+ cronjobs. Properties completions and parallelism would be set to 1 by default.
+ :vartype schedule_trigger_config:
+ ~azure.mgmt.appcontainers.models.JobConfigurationScheduleTriggerConfig
+ :ivar registries: Collection of private container registry credentials used by a Container apps
+ job.
+ :vartype registries: list[~azure.mgmt.appcontainers.models.RegistryCredentials]
+ """
+
+ _validation = {
+ "trigger_type": {"required": True},
+ "replica_timeout": {"required": True},
+ }
+
+ _attribute_map = {
+ "secrets": {"key": "secrets", "type": "[Secret]"},
+ "trigger_type": {"key": "triggerType", "type": "str"},
+ "replica_timeout": {"key": "replicaTimeout", "type": "int"},
+ "replica_retry_limit": {"key": "replicaRetryLimit", "type": "int"},
+ "manual_trigger_config": {"key": "manualTriggerConfig", "type": "JobConfigurationManualTriggerConfig"},
+ "schedule_trigger_config": {"key": "scheduleTriggerConfig", "type": "JobConfigurationScheduleTriggerConfig"},
+ "registries": {"key": "registries", "type": "[RegistryCredentials]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ trigger_type: Union[str, "_models.TriggerType"] = "Manual",
+ replica_timeout: int,
+ secrets: Optional[List["_models.Secret"]] = None,
+ replica_retry_limit: Optional[int] = None,
+ manual_trigger_config: Optional["_models.JobConfigurationManualTriggerConfig"] = None,
+ schedule_trigger_config: Optional["_models.JobConfigurationScheduleTriggerConfig"] = None,
+ registries: Optional[List["_models.RegistryCredentials"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword secrets: Collection of secrets used by a Container Apps Job.
+ :paramtype secrets: list[~azure.mgmt.appcontainers.models.Secret]
+ :keyword trigger_type: Trigger type of the job. Known values are: "Scheduled", "Event", and
+ "Manual".
+ :paramtype trigger_type: str or ~azure.mgmt.appcontainers.models.TriggerType
+ :keyword replica_timeout: Maximum number of seconds a replica is allowed to run. Required.
+ :paramtype replica_timeout: int
+ :keyword replica_retry_limit: Maximum number of retries before failing the job.
+ :paramtype replica_retry_limit: int
+ :keyword manual_trigger_config: Manual trigger configuration for a single execution job.
+ Properties replicaCompletionCount and parallelism would be set to 1 by default.
+ :paramtype manual_trigger_config:
+ ~azure.mgmt.appcontainers.models.JobConfigurationManualTriggerConfig
+ :keyword schedule_trigger_config: Cron formatted repeating trigger schedule ("\ * * * * *") for
+ cronjobs. Properties completions and parallelism would be set to 1 by default.
+ :paramtype schedule_trigger_config:
+ ~azure.mgmt.appcontainers.models.JobConfigurationScheduleTriggerConfig
+ :keyword registries: Collection of private container registry credentials used by a Container
+ apps job.
+ :paramtype registries: list[~azure.mgmt.appcontainers.models.RegistryCredentials]
+ """
+ super().__init__(**kwargs)
+ self.secrets = secrets
+ self.trigger_type = trigger_type
+ self.replica_timeout = replica_timeout
+ self.replica_retry_limit = replica_retry_limit
+ self.manual_trigger_config = manual_trigger_config
+ self.schedule_trigger_config = schedule_trigger_config
+ self.registries = registries
+
+
+class JobConfigurationManualTriggerConfig(_serialization.Model):
+ """Manual trigger configuration for a single execution job. Properties replicaCompletionCount and
+ parallelism would be set to 1 by default.
+
+ :ivar replica_completion_count: Minimum number of successful replica completions before overall
+ job completion.
+ :vartype replica_completion_count: int
+ :ivar parallelism: Number of parallel replicas of a job that can run at a given time.
+ :vartype parallelism: int
+ """
+
+ _attribute_map = {
+ "replica_completion_count": {"key": "replicaCompletionCount", "type": "int"},
+ "parallelism": {"key": "parallelism", "type": "int"},
+ }
+
+ def __init__(
+ self, *, replica_completion_count: Optional[int] = None, parallelism: Optional[int] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword replica_completion_count: Minimum number of successful replica completions before
+ overall job completion.
+ :paramtype replica_completion_count: int
+ :keyword parallelism: Number of parallel replicas of a job that can run at a given time.
+ :paramtype parallelism: int
+ """
+ super().__init__(**kwargs)
+ self.replica_completion_count = replica_completion_count
+ self.parallelism = parallelism
+
+
+class JobConfigurationScheduleTriggerConfig(_serialization.Model):
+ """Cron formatted repeating trigger schedule ("\ * * * * *") for cronjobs. Properties completions
+ and parallelism would be set to 1 by default.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar replica_completion_count: Minimum number of successful replica completions before overall
+ job completion.
+ :vartype replica_completion_count: int
+ :ivar cron_expression: Cron formatted repeating schedule ("\ * * * * *") of a Cron Job.
+ Required.
+ :vartype cron_expression: str
+ :ivar parallelism: Number of parallel replicas of a job that can run at a given time.
+ :vartype parallelism: int
+ """
+
+ _validation = {
+ "cron_expression": {"required": True},
+ }
+
+ _attribute_map = {
+ "replica_completion_count": {"key": "replicaCompletionCount", "type": "int"},
+ "cron_expression": {"key": "cronExpression", "type": "str"},
+ "parallelism": {"key": "parallelism", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ cron_expression: str,
+ replica_completion_count: Optional[int] = None,
+ parallelism: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword replica_completion_count: Minimum number of successful replica completions before
+ overall job completion.
+ :paramtype replica_completion_count: int
+ :keyword cron_expression: Cron formatted repeating schedule ("\ * * * * *") of a Cron Job.
+ Required.
+ :paramtype cron_expression: str
+ :keyword parallelism: Number of parallel replicas of a job that can run at a given time.
+ :paramtype parallelism: int
+ """
+ super().__init__(**kwargs)
+ self.replica_completion_count = replica_completion_count
+ self.cron_expression = cron_expression
+ self.parallelism = parallelism
+
+
+class JobExecution(_serialization.Model):
+ """Container Apps Jobs execution.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: Job execution Name.
+ :vartype name: str
+ :ivar id: Job execution Id.
+ :vartype id: str
+ :ivar type: Job Type.
+ :vartype type: str
+ :ivar status: Current running State of the job. Known values are: "Running", "Processing",
+ "Stopped", "Degraded", "Failed", "Unknown", and "Succeeded".
+ :vartype status: str or ~azure.mgmt.appcontainers.models.JobExecutionRunningState
+ :ivar start_time: Job execution start time.
+ :vartype start_time: ~datetime.datetime
+ :ivar end_time: Job execution start time.
+ :vartype end_time: ~datetime.datetime
+ :ivar template: Job's execution container.
+ :vartype template: ~azure.mgmt.appcontainers.models.JobExecutionTemplate
+ """
+
+ _validation = {
+ "status": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "template": {"key": "template", "type": "JobExecutionTemplate"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ id: Optional[str] = None, # pylint: disable=redefined-builtin
+ type: Optional[str] = None,
+ start_time: Optional[datetime.datetime] = None,
+ end_time: Optional[datetime.datetime] = None,
+ template: Optional["_models.JobExecutionTemplate"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Job execution Name.
+ :paramtype name: str
+ :keyword id: Job execution Id.
+ :paramtype id: str
+ :keyword type: Job Type.
+ :paramtype type: str
+ :keyword start_time: Job execution start time.
+ :paramtype start_time: ~datetime.datetime
+ :keyword end_time: Job execution start time.
+ :paramtype end_time: ~datetime.datetime
+ :keyword template: Job's execution container.
+ :paramtype template: ~azure.mgmt.appcontainers.models.JobExecutionTemplate
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.id = id
+ self.type = type
+ self.status = None
+ self.start_time = start_time
+ self.end_time = end_time
+ self.template = template
+
+
+class JobExecutionBase(_serialization.Model):
+ """Container App's Job execution name.
+
+ :ivar name: Job execution name.
+ :vartype name: str
+ :ivar id: Job execution Id.
+ :vartype id: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ id: Optional[str] = None, # pylint: disable=redefined-builtin
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Job execution name.
+ :paramtype name: str
+ :keyword id: Job execution Id.
+ :paramtype id: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.id = id
+
+
+class JobExecutionContainer(_serialization.Model):
+ """Container Apps Jobs execution container definition.
+
+ :ivar image: Container image tag.
+ :vartype image: str
+ :ivar name: Custom container name.
+ :vartype name: str
+ :ivar command: Container start command.
+ :vartype command: list[str]
+ :ivar args: Container start command arguments.
+ :vartype args: list[str]
+ :ivar env: Container environment variables.
+ :vartype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :ivar resources: Container resource requirements.
+ :vartype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ """
+
+ _attribute_map = {
+ "image": {"key": "image", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "command": {"key": "command", "type": "[str]"},
+ "args": {"key": "args", "type": "[str]"},
+ "env": {"key": "env", "type": "[EnvironmentVar]"},
+ "resources": {"key": "resources", "type": "ContainerResources"},
+ }
+
+ def __init__(
+ self,
+ *,
+ image: Optional[str] = None,
+ name: Optional[str] = None,
+ command: Optional[List[str]] = None,
+ args: Optional[List[str]] = None,
+ env: Optional[List["_models.EnvironmentVar"]] = None,
+ resources: Optional["_models.ContainerResources"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword image: Container image tag.
+ :paramtype image: str
+ :keyword name: Custom container name.
+ :paramtype name: str
+ :keyword command: Container start command.
+ :paramtype command: list[str]
+ :keyword args: Container start command arguments.
+ :paramtype args: list[str]
+ :keyword env: Container environment variables.
+ :paramtype env: list[~azure.mgmt.appcontainers.models.EnvironmentVar]
+ :keyword resources: Container resource requirements.
+ :paramtype resources: ~azure.mgmt.appcontainers.models.ContainerResources
+ """
+ super().__init__(**kwargs)
+ self.image = image
+ self.name = name
+ self.command = command
+ self.args = args
+ self.env = env
+ self.resources = resources
+
+
+class JobExecutionNamesCollection(_serialization.Model):
+ """Container App executions names list.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.JobExecutionBase]
"""
_validation = {
- 'error': {'readonly': True},
+ "value": {"required": True},
}
_attribute_map = {
- 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'},
+ "value": {"key": "value", "type": "[JobExecutionBase]"},
}
- def __init__(self, **kwargs):
- super(DefaultErrorResponse, self).__init__(**kwargs)
- self.error = None
+ def __init__(self, *, value: List["_models.JobExecutionBase"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.JobExecutionBase]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class DefaultErrorResponseException(HttpOperationError):
- """Server responsed with exception of type: 'DefaultErrorResponse'.
+class JobExecutionTemplate(_serialization.Model):
+ """Job's execution template, containing container configuration for a job's execution.
- :param deserialize: A deserializer
- :param response: Server response to be deserialized.
+ :ivar containers: List of container definitions for the Container Apps Job.
+ :vartype containers: list[~azure.mgmt.appcontainers.models.JobExecutionContainer]
+ :ivar init_containers: List of specialized containers that run before job containers.
+ :vartype init_containers: list[~azure.mgmt.appcontainers.models.JobExecutionContainer]
"""
- def __init__(self, deserialize, response, *args):
-
- super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args)
+ _attribute_map = {
+ "containers": {"key": "containers", "type": "[JobExecutionContainer]"},
+ "init_containers": {"key": "initContainers", "type": "[JobExecutionContainer]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ containers: Optional[List["_models.JobExecutionContainer"]] = None,
+ init_containers: Optional[List["_models.JobExecutionContainer"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword containers: List of container definitions for the Container Apps Job.
+ :paramtype containers: list[~azure.mgmt.appcontainers.models.JobExecutionContainer]
+ :keyword init_containers: List of specialized containers that run before job containers.
+ :paramtype init_containers: list[~azure.mgmt.appcontainers.models.JobExecutionContainer]
+ """
+ super().__init__(**kwargs)
+ self.containers = containers
+ self.init_containers = init_containers
+
+
+class JobPatchProperties(_serialization.Model):
+ """Container Apps Job resource specific properties.
+
+ :ivar identity: Managed identities needed by a container app job to interact with other Azure
+ services to not maintain any secrets or credentials in code.
+ :vartype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.appcontainers.models.JobPatchPropertiesProperties
+ """
+ _attribute_map = {
+ "identity": {"key": "identity", "type": "ManagedServiceIdentity"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "JobPatchPropertiesProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ identity: Optional["_models.ManagedServiceIdentity"] = None,
+ tags: Optional[Dict[str, str]] = None,
+ properties: Optional["_models.JobPatchPropertiesProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword identity: Managed identities needed by a container app job to interact with other
+ Azure services to not maintain any secrets or credentials in code.
+ :paramtype identity: ~azure.mgmt.appcontainers.models.ManagedServiceIdentity
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.appcontainers.models.JobPatchPropertiesProperties
+ """
+ super().__init__(**kwargs)
+ self.identity = identity
+ self.tags = tags
+ self.properties = properties
+
+
+class JobPatchPropertiesProperties(_serialization.Model):
+ """JobPatchPropertiesProperties.
+
+ :ivar environment_id: Resource ID of environment.
+ :vartype environment_id: str
+ :ivar configuration: Container Apps Job configuration properties.
+ :vartype configuration: ~azure.mgmt.appcontainers.models.JobConfiguration
+ :ivar template: Container Apps job definition.
+ :vartype template: ~azure.mgmt.appcontainers.models.JobTemplate
+ :ivar outbound_ip_addresses: Outbound IP Addresses of a container apps job.
+ :vartype outbound_ip_addresses: list[str]
+ :ivar event_stream_endpoint: The endpoint of the eventstream of the container apps job.
+ :vartype event_stream_endpoint: str
+ """
-class DefaultErrorResponseError(Model):
- """Error model.
+ _attribute_map = {
+ "environment_id": {"key": "environmentId", "type": "str"},
+ "configuration": {"key": "configuration", "type": "JobConfiguration"},
+ "template": {"key": "template", "type": "JobTemplate"},
+ "outbound_ip_addresses": {"key": "outboundIpAddresses", "type": "[str]"},
+ "event_stream_endpoint": {"key": "eventStreamEndpoint", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ environment_id: Optional[str] = None,
+ configuration: Optional["_models.JobConfiguration"] = None,
+ template: Optional["_models.JobTemplate"] = None,
+ outbound_ip_addresses: Optional[List[str]] = None,
+ event_stream_endpoint: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword environment_id: Resource ID of environment.
+ :paramtype environment_id: str
+ :keyword configuration: Container Apps Job configuration properties.
+ :paramtype configuration: ~azure.mgmt.appcontainers.models.JobConfiguration
+ :keyword template: Container Apps job definition.
+ :paramtype template: ~azure.mgmt.appcontainers.models.JobTemplate
+ :keyword outbound_ip_addresses: Outbound IP Addresses of a container apps job.
+ :paramtype outbound_ip_addresses: list[str]
+ :keyword event_stream_endpoint: The endpoint of the eventstream of the container apps job.
+ :paramtype event_stream_endpoint: str
+ """
+ super().__init__(**kwargs)
+ self.environment_id = environment_id
+ self.configuration = configuration
+ self.template = template
+ self.outbound_ip_addresses = outbound_ip_addresses
+ self.event_stream_endpoint = event_stream_endpoint
+
+
+class JobsCollection(_serialization.Model):
+ """Container Apps Jobs collection ARM resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ All required parameters must be populated in order to send to Azure.
- :ivar code: Standardized string to programmatically identify the error.
- :vartype code: str
- :ivar message: Detailed error description and debugging information.
- :vartype message: str
- :ivar target: Detailed error description and debugging information.
- :vartype target: str
- :param details: Details or the error
- :type details:
- list[~commondefinitions.models.DefaultErrorResponseErrorDetailsItem]
- :ivar innererror: More information to debug error.
- :vartype innererror: str
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Job]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
_validation = {
- 'code': {'readonly': True},
- 'message': {'readonly': True},
- 'target': {'readonly': True},
- 'innererror': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'code': {'key': 'code', 'type': 'str'},
- 'message': {'key': 'message', 'type': 'str'},
- 'target': {'key': 'target', 'type': 'str'},
- 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'},
- 'innererror': {'key': 'innererror', 'type': 'str'},
+ "value": {"key": "value", "type": "[Job]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(DefaultErrorResponseError, self).__init__(**kwargs)
- self.code = None
- self.message = None
- self.target = None
- self.details = kwargs.get('details', None)
- self.innererror = None
+ def __init__(self, *, value: List["_models.Job"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Job]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
-class DefaultErrorResponseErrorDetailsItem(Model):
- """Detailed errors.
+class JobSecretsCollection(_serialization.Model):
+ """Container Apps Job Secrets Collection ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ All required parameters must be populated in order to send to Azure.
- :ivar code: Standardized string to programmatically identify the error.
- :vartype code: str
- :ivar message: Detailed error description and debugging information.
- :vartype message: str
- :ivar target: Detailed error description and debugging information.
- :vartype target: str
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Secret]
"""
_validation = {
- 'code': {'readonly': True},
- 'message': {'readonly': True},
- 'target': {'readonly': True},
+ "value": {"required": True},
}
_attribute_map = {
- 'code': {'key': 'code', 'type': 'str'},
- 'message': {'key': 'message', 'type': 'str'},
- 'target': {'key': 'target', 'type': 'str'},
+ "value": {"key": "value", "type": "[Secret]"},
}
- def __init__(self, **kwargs):
- super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs)
- self.code = None
- self.message = None
- self.target = None
+ def __init__(self, *, value: List["_models.Secret"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Secret]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class EnvironmentVar(Model):
- """Container App container environment variable.
+class JobTemplate(_serialization.Model):
+ """Container Apps Job versioned application definition. Defines the desired state of an immutable
+ revision. Any changes to this section Will result in a new revision being created.
- :param name: Environment variable name.
- :type name: str
- :param value: Non-secret environment variable value.
- :type value: str
- :param secret_ref: Name of the Container App secret from which to pull the
- environment variable value.
- :type secret_ref: str
+ :ivar init_containers: List of specialized containers that run before app containers.
+ :vartype init_containers: list[~azure.mgmt.appcontainers.models.InitContainer]
+ :ivar containers: List of container definitions for the Container App.
+ :vartype containers: list[~azure.mgmt.appcontainers.models.Container]
+ :ivar volumes: List of volume definitions for the Container App.
+ :vartype volumes: list[~azure.mgmt.appcontainers.models.Volume]
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'str'},
- 'secret_ref': {'key': 'secretRef', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(EnvironmentVar, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.value = kwargs.get('value', None)
- self.secret_ref = kwargs.get('secret_ref', None)
-
-
-class Facebook(Model):
- """The configuration settings of the Facebook provider.
-
- :param state: Disabled if the Facebook provider should not be
- enabled despite the set registration; otherwise, Enabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the Facebook provider.
- :type registration: ~commondefinitions.models.AppRegistration
- :param graph_api_version: The version of the Facebook api to be used while
- logging in.
- :type graph_api_version: str
- :param login: The configuration settings of the login flow.
- :type login: ~commondefinitions.models.LoginScopes
+ "init_containers": {"key": "initContainers", "type": "[InitContainer]"},
+ "containers": {"key": "containers", "type": "[Container]"},
+ "volumes": {"key": "volumes", "type": "[Volume]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ init_containers: Optional[List["_models.InitContainer"]] = None,
+ containers: Optional[List["_models.Container"]] = None,
+ volumes: Optional[List["_models.Volume"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword init_containers: List of specialized containers that run before app containers.
+ :paramtype init_containers: list[~azure.mgmt.appcontainers.models.InitContainer]
+ :keyword containers: List of container definitions for the Container App.
+ :paramtype containers: list[~azure.mgmt.appcontainers.models.Container]
+ :keyword volumes: List of volume definitions for the Container App.
+ :paramtype volumes: list[~azure.mgmt.appcontainers.models.Volume]
+ """
+ super().__init__(**kwargs)
+ self.init_containers = init_containers
+ self.containers = containers
+ self.volumes = volumes
+
+
+class JwtClaimChecks(_serialization.Model):
+ """The configuration settings of the checks that should be made while validating the JWT Claims.
+
+ :ivar allowed_groups: The list of the allowed groups.
+ :vartype allowed_groups: list[str]
+ :ivar allowed_client_applications: The list of the allowed client applications.
+ :vartype allowed_client_applications: list[str]
"""
_attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'AppRegistration'},
- 'graph_api_version': {'key': 'graphApiVersion', 'type': 'str'},
- 'login': {'key': 'login', 'type': 'LoginScopes'},
- }
-
- def __init__(self, **kwargs):
- super(Facebook, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.graph_api_version = kwargs.get('graph_api_version', None)
- self.login = kwargs.get('login', None)
-
-
-class GitHub(Model):
- """The configuration settings of the GitHub provider.
-
- :param state: Disabled if the GitHub provider should not be
- enabled despite the set registration; otherwise, Enabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the GitHub provider.
- :type registration: ~commondefinitions.models.ClientRegistration
- :param login: The configuration settings of the login flow.
- :type login: ~commondefinitions.models.LoginScopes
- """
-
- _attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'ClientRegistration'},
- 'login': {'key': 'login', 'type': 'LoginScopes'},
- }
-
- def __init__(self, **kwargs):
- super(GitHub, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
-
-
-class GithubActionConfiguration(Model):
- """Configuration properties that define the mutable settings of a Container
- App SourceControl.
-
- :param registry_info: Registry configurations.
- :type registry_info: ~commondefinitions.models.RegistryInfo
- :param azure_credentials: AzureCredentials configurations.
- :type azure_credentials: ~commondefinitions.models.AzureCredentials
- :param dockerfile_path: Docker file path
- :type dockerfile_path: str
- :param publish_type: Code or Image
- :type publish_type: str
- :param os: Operation system
- :type os: str
- :param runtime_stack: Runtime stack
- :type runtime_stack: str
- :param runtime_version: Runtime Version
- :type runtime_version: str
- """
-
- _attribute_map = {
- 'registry_info': {'key': 'registryInfo', 'type': 'RegistryInfo'},
- 'azure_credentials': {'key': 'azureCredentials', 'type': 'AzureCredentials'},
- 'dockerfile_path': {'key': 'dockerfilePath', 'type': 'str'},
- 'publish_type': {'key': 'publishType', 'type': 'str'},
- 'os': {'key': 'os', 'type': 'str'},
- 'runtime_stack': {'key': 'runtimeStack', 'type': 'str'},
- 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(GithubActionConfiguration, self).__init__(**kwargs)
- self.registry_info = kwargs.get('registry_info', None)
- self.azure_credentials = kwargs.get('azure_credentials', None)
- self.dockerfile_path = kwargs.get('dockerfile_path', None)
- self.publish_type = kwargs.get('publish_type', None)
- self.os = kwargs.get('os', None)
- self.runtime_stack = kwargs.get('runtime_stack', None)
- self.runtime_version = kwargs.get('runtime_version', None)
-
-
-class GlobalValidation(Model):
- """The configuration settings that determines the validation flow of users
- using ContainerApp Authentication/Authorization.
-
- :param unauthenticated_client_action: The action to take when an
- unauthenticated client attempts to access the app. Possible values
- include: 'RedirectToLoginPage', 'AllowAnonymous', 'Return401', 'Return403'
- :type unauthenticated_client_action: str or
- ~commondefinitions.models.UnauthenticatedClientAction
- :param redirect_to_provider: The default authentication provider to use
- when multiple providers are configured.
- This setting is only needed if multiple providers are configured and the
- unauthenticated client
- action is set to "RedirectToLoginPage".
- :type redirect_to_provider: str
+ "allowed_groups": {"key": "allowedGroups", "type": "[str]"},
+ "allowed_client_applications": {"key": "allowedClientApplications", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ allowed_groups: Optional[List[str]] = None,
+ allowed_client_applications: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword allowed_groups: The list of the allowed groups.
+ :paramtype allowed_groups: list[str]
+ :keyword allowed_client_applications: The list of the allowed client applications.
+ :paramtype allowed_client_applications: list[str]
+ """
+ super().__init__(**kwargs)
+ self.allowed_groups = allowed_groups
+ self.allowed_client_applications = allowed_client_applications
+
+
+class KedaConfiguration(_serialization.Model):
+ """Configuration properties Keda component.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar version: The version of Keda.
+ :vartype version: str
"""
- _attribute_map = {
- 'unauthenticated_client_action': {'key': 'unauthenticatedClientAction', 'type': 'str'},
- 'redirect_to_provider': {'key': 'redirectToProvider', 'type': 'str'},
+ _validation = {
+ "version": {"readonly": True},
}
- def __init__(self, **kwargs):
- super(GlobalValidation, self).__init__(**kwargs)
- self.unauthenticated_client_action = kwargs.get('unauthenticated_client_action', None)
- self.redirect_to_provider = kwargs.get('redirect_to_provider', None)
-
-
-class Google(Model):
- """The configuration settings of the Google provider.
-
- :param state: Disabled if the Google provider should not be
- enabled despite the set registration; otherwise, Enabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the Google provider.
- :type registration: ~commondefinitions.models.ClientRegistration
- :param login: The configuration settings of the login flow.
- :type login: ~commondefinitions.models.LoginScopes
- :param validation: The configuration settings of the Azure Active
- Directory token validation flow.
- :type validation: ~commondefinitions.models.AllowedAudiencesValidation
- """
-
_attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'ClientRegistration'},
- 'login': {'key': 'login', 'type': 'LoginScopes'},
- 'validation': {'key': 'validation', 'type': 'AllowedAudiencesValidation'},
+ "version": {"key": "version", "type": "str"},
}
- def __init__(self, **kwargs):
- super(Google, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
- self.validation = kwargs.get('validation', None)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.version = None
-class HttpScaleRule(Model):
- """Container App container Custom scaling rule.
+class LogAnalyticsConfiguration(_serialization.Model):
+ """Log analytics configuration.
- :param metadata: Metadata properties to describe http scale rule.
- :type metadata: dict[str, str]
- :param auth: Authentication secrets for the custom scale rule.
- :type auth: list[~commondefinitions.models.ScaleRuleAuth]
+ :ivar customer_id: Log analytics customer id.
+ :vartype customer_id: str
+ :ivar shared_key: Log analytics customer key.
+ :vartype shared_key: str
"""
_attribute_map = {
- 'metadata': {'key': 'metadata', 'type': '{str}'},
- 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'},
+ "customer_id": {"key": "customerId", "type": "str"},
+ "shared_key": {"key": "sharedKey", "type": "str"},
}
- def __init__(self, **kwargs):
- super(HttpScaleRule, self).__init__(**kwargs)
- self.metadata = kwargs.get('metadata', None)
- self.auth = kwargs.get('auth', None)
+ def __init__(self, *, customer_id: Optional[str] = None, shared_key: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword customer_id: Log analytics customer id.
+ :paramtype customer_id: str
+ :keyword shared_key: Log analytics customer key.
+ :paramtype shared_key: str
+ """
+ super().__init__(**kwargs)
+ self.customer_id = customer_id
+ self.shared_key = shared_key
-class HttpSettings(Model):
- """The configuration settings of the HTTP requests for authentication and
- authorization requests made against ContainerApp
+class Login(_serialization.Model):
+ """The configuration settings of the login flow of users using ContainerApp Service
Authentication/Authorization.
- :param require_https: false if the
- authentication/authorization responses not having the HTTPS scheme are
- permissible; otherwise, true. Possible values include:
- 'True', 'False'
- :type require_https: str or ~commondefinitions.models.RequireHttpsMode
- :param route: The configuration settings of the paths HTTP requests.
- :type route: ~commondefinitions.models.HttpSettingsRoute
+ :ivar routes: The routes that specify the endpoints used for login and logout requests.
+ :vartype routes: ~azure.mgmt.appcontainers.models.LoginRoutes
+ :ivar preserve_url_fragments_for_logins: :code:`true` if the fragments from the
+ request are preserved after the login request is made; otherwise, :code:`false`.
+ :vartype preserve_url_fragments_for_logins: bool
+ :ivar allowed_external_redirect_urls: External URLs that can be redirected to as part of
+ logging in or logging out of the app. Note that the query string part of the URL is ignored.
+ This is an advanced setting typically only needed by Windows Store application backends.
+ Note that URLs within the current domain are always implicitly allowed.
+ :vartype allowed_external_redirect_urls: list[str]
+ :ivar cookie_expiration: The configuration settings of the session cookie's expiration.
+ :vartype cookie_expiration: ~azure.mgmt.appcontainers.models.CookieExpiration
+ :ivar nonce: The configuration settings of the nonce used in the login flow.
+ :vartype nonce: ~azure.mgmt.appcontainers.models.Nonce
+ """
+
+ _attribute_map = {
+ "routes": {"key": "routes", "type": "LoginRoutes"},
+ "preserve_url_fragments_for_logins": {"key": "preserveUrlFragmentsForLogins", "type": "bool"},
+ "allowed_external_redirect_urls": {"key": "allowedExternalRedirectUrls", "type": "[str]"},
+ "cookie_expiration": {"key": "cookieExpiration", "type": "CookieExpiration"},
+ "nonce": {"key": "nonce", "type": "Nonce"},
+ }
+
+ def __init__(
+ self,
+ *,
+ routes: Optional["_models.LoginRoutes"] = None,
+ preserve_url_fragments_for_logins: Optional[bool] = None,
+ allowed_external_redirect_urls: Optional[List[str]] = None,
+ cookie_expiration: Optional["_models.CookieExpiration"] = None,
+ nonce: Optional["_models.Nonce"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword routes: The routes that specify the endpoints used for login and logout requests.
+ :paramtype routes: ~azure.mgmt.appcontainers.models.LoginRoutes
+ :keyword preserve_url_fragments_for_logins: :code:`true` if the fragments from the
+ request are preserved after the login request is made; otherwise, :code:`false`.
+ :paramtype preserve_url_fragments_for_logins: bool
+ :keyword allowed_external_redirect_urls: External URLs that can be redirected to as part of
+ logging in or logging out of the app. Note that the query string part of the URL is ignored.
+ This is an advanced setting typically only needed by Windows Store application backends.
+ Note that URLs within the current domain are always implicitly allowed.
+ :paramtype allowed_external_redirect_urls: list[str]
+ :keyword cookie_expiration: The configuration settings of the session cookie's expiration.
+ :paramtype cookie_expiration: ~azure.mgmt.appcontainers.models.CookieExpiration
+ :keyword nonce: The configuration settings of the nonce used in the login flow.
+ :paramtype nonce: ~azure.mgmt.appcontainers.models.Nonce
+ """
+ super().__init__(**kwargs)
+ self.routes = routes
+ self.preserve_url_fragments_for_logins = preserve_url_fragments_for_logins
+ self.allowed_external_redirect_urls = allowed_external_redirect_urls
+ self.cookie_expiration = cookie_expiration
+ self.nonce = nonce
+
+
+class LoginRoutes(_serialization.Model):
+ """The routes that specify the endpoints used for login and logout requests.
+
+ :ivar logout_endpoint: The endpoint at which a logout request should be made.
+ :vartype logout_endpoint: str
"""
_attribute_map = {
- 'require_https': {'key': 'requireHttps', 'type': 'str'},
- 'route': {'key': 'route', 'type': 'HttpSettingsRoute'},
+ "logout_endpoint": {"key": "logoutEndpoint", "type": "str"},
}
- def __init__(self, **kwargs):
- super(HttpSettings, self).__init__(**kwargs)
- self.require_https = kwargs.get('require_https', None)
- self.route = kwargs.get('route', None)
+ def __init__(self, *, logout_endpoint: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword logout_endpoint: The endpoint at which a logout request should be made.
+ :paramtype logout_endpoint: str
+ """
+ super().__init__(**kwargs)
+ self.logout_endpoint = logout_endpoint
-class HttpSettingsRoute(Model):
- """The configuration settings of the paths HTTP requests.
+class LoginScopes(_serialization.Model):
+ """The configuration settings of the login flow, including the scopes that should be requested.
- :param api_prefix: The prefix that should precede all the
- authentication/authorization paths.
- :type api_prefix: str
- """
-
- _attribute_map = {
- 'api_prefix': {'key': 'apiPrefix', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(HttpSettingsRoute, self).__init__(**kwargs)
- self.api_prefix = kwargs.get('api_prefix', None)
-
-
-class IdentityProviders(Model):
- """The configuration settings of each of the identity providers used to
- configure ContainerApp Authentication/Authorization.
-
- :param azure_active_directory: The configuration settings of the Azure
- Active directory provider.
- :type azure_active_directory:
- ~commondefinitions.models.AzureActiveDirectory
- :param facebook: The configuration settings of the Facebook provider.
- :type facebook: ~commondefinitions.models.Facebook
- :param git_hub: The configuration settings of the GitHub provider.
- :type git_hub: ~commondefinitions.models.GitHub
- :param google: The configuration settings of the Google provider.
- :type google: ~commondefinitions.models.Google
- :param legacy_microsoft_account: The configuration settings of the legacy
- Microsoft Account provider.
- :type legacy_microsoft_account:
- ~commondefinitions.models.LegacyMicrosoftAccount
- :param twitter: The configuration settings of the Twitter provider.
- :type twitter: ~commondefinitions.models.Twitter
- :param apple: The configuration settings of the Apple provider.
- :type apple: ~commondefinitions.models.Apple
- :param azure_static_web_app: The configuration settings of the Azure
- Static Web Apps provider.
- :type azure_static_web_app: ~commondefinitions.models.AzureStaticWebApp
- :param custom_open_id_connect_providers: The map of the name of the alias
- of each custom Open ID Connect provider to the
- configuration settings of the custom Open ID Connect provider.
- :type custom_open_id_connect_providers: dict[str,
- ~commondefinitions.models.CustomOpenIdConnectProvider]
+ :ivar scopes: A list of the scopes that should be requested while authenticating.
+ :vartype scopes: list[str]
"""
_attribute_map = {
- 'azure_active_directory': {'key': 'azureActiveDirectory', 'type': 'AzureActiveDirectory'},
- 'facebook': {'key': 'facebook', 'type': 'Facebook'},
- 'git_hub': {'key': 'gitHub', 'type': 'GitHub'},
- 'google': {'key': 'google', 'type': 'Google'},
- 'legacy_microsoft_account': {'key': 'legacyMicrosoftAccount', 'type': 'LegacyMicrosoftAccount'},
- 'twitter': {'key': 'twitter', 'type': 'Twitter'},
- 'apple': {'key': 'apple', 'type': 'Apple'},
- 'azure_static_web_app': {'key': 'azureStaticWebApp', 'type': 'AzureStaticWebApp'},
- 'custom_open_id_connect_providers': {'key': 'customOpenIdConnectProviders', 'type': '{CustomOpenIdConnectProvider}'},
+ "scopes": {"key": "scopes", "type": "[str]"},
}
- def __init__(self, **kwargs):
- super(IdentityProviders, self).__init__(**kwargs)
- self.azure_active_directory = kwargs.get('azure_active_directory', None)
- self.facebook = kwargs.get('facebook', None)
- self.git_hub = kwargs.get('git_hub', None)
- self.google = kwargs.get('google', None)
- self.legacy_microsoft_account = kwargs.get('legacy_microsoft_account', None)
- self.twitter = kwargs.get('twitter', None)
- self.apple = kwargs.get('apple', None)
- self.azure_static_web_app = kwargs.get('azure_static_web_app', None)
- self.custom_open_id_connect_providers = kwargs.get('custom_open_id_connect_providers', None)
+ def __init__(self, *, scopes: Optional[List[str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword scopes: A list of the scopes that should be requested while authenticating.
+ :paramtype scopes: list[str]
+ """
+ super().__init__(**kwargs)
+ self.scopes = scopes
-class Ingress(Model):
- """Container App Ingress configuration.
+class ManagedCertificate(TrackedResource):
+ """Managed certificates used for Custom Domain bindings of Container Apps in a Managed
+ Environment.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar fqdn: Hostname.
- :vartype fqdn: str
- :param external: Bool indicating if app exposes an external http endpoint.
- Default value: False .
- :type external: bool
- :param target_port: Target Port in containers for traffic from ingress
- :type target_port: int
- :param transport: Ingress transport protocol. Possible values include:
- 'auto', 'http', 'http2'
- :type transport: str or ~commondefinitions.models.IngressTransportMethod
- :param traffic: Traffic weights for app's revisions
- :type traffic: list[~commondefinitions.models.TrafficWeight]
- :param custom_domains: custom domain bindings for Container Apps'
- hostnames.
- :type custom_domains: list[~commondefinitions.models.CustomDomain]
- :param allow_insecure: Bool indicating if HTTP connections to is allowed.
- If set to false HTTP connections are automatically redirected to HTTPS
- connections
- :type allow_insecure: bool
- :type sticky_sessions: sticky session affinity for Container App. Possible values include:
- 'none', 'Sticky'
- """
-
- _validation = {
- 'fqdn': {'readonly': True},
- }
-
- _attribute_map = {
- 'fqdn': {'key': 'fqdn', 'type': 'str'},
- 'external': {'key': 'external', 'type': 'bool'},
- 'target_port': {'key': 'targetPort', 'type': 'int'},
- 'exposed_port': {'key': 'exposedPort', 'type': 'int'},
- 'transport': {'key': 'transport', 'type': 'str'},
- 'traffic': {'key': 'traffic', 'type': '[TrafficWeight]'},
- 'custom_domains': {'key': 'customDomains', 'type': '[CustomDomain]'},
- 'allow_insecure': {'key': 'allowInsecure', 'type': 'bool'},
- 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IPSecurityRestrictions]'},
- 'client_certificate_mode': {'key': 'clientCertificateMode', 'type': 'str'},
- 'cors_policy': {'key': 'corsPolicy', 'type': 'CorsPolicy'},
- 'sticky_sessions': {'key': 'stickySessions', 'type': 'StickySessions'},
- }
-
- def __init__(self, **kwargs):
- super(Ingress, self).__init__(**kwargs)
- self.fqdn = None
- self.external = kwargs.get('external', False)
- self.exposedPort = kwargs.get('exposed_port', None)
- self.target_port = kwargs.get('target_port', None)
- self.transport = kwargs.get('transport', None)
- self.traffic = kwargs.get('traffic', None)
- self.custom_domains = kwargs.get('custom_domains', None)
- self.allow_insecure = kwargs.get('allow_insecure', None)
- self.ipSecurityRestrictions = kwargs.get('ip_security_restrictions', None)
- self.clientCertificateMode = kwargs.get('client_certificate_mode', None)
- self.corsPolicy = kwargs.get('cors_policy', None)
- self.stickySessions = kwargs.get('sticky_sessions', None)
-
-
-class LegacyMicrosoftAccount(Model):
- """The configuration settings of the legacy Microsoft Account provider.
-
- :param state: Disabled if the legacy Microsoft Account
- provider should not be enabled despite the set registration; otherwise,
- Enabled. Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the legacy Microsoft Account provider.
- :type registration: ~commondefinitions.models.ClientRegistration
- :param login: The configuration settings of the login flow.
- :type login: ~commondefinitions.models.LoginScopes
- :param validation: The configuration settings of the legacy Microsoft
- Account provider token validation flow.
- :type validation: ~commondefinitions.models.AllowedAudiencesValidation
- """
-
- _attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'ClientRegistration'},
- 'login': {'key': 'login', 'type': 'LoginScopes'},
- 'validation': {'key': 'validation', 'type': 'AllowedAudiencesValidation'},
- }
-
- def __init__(self, **kwargs):
- super(LegacyMicrosoftAccount, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
- self.login = kwargs.get('login', None)
- self.validation = kwargs.get('validation', None)
-
-
-class LogAnalyticsConfiguration(Model):
- """Log analytics configuration.
+ All required parameters must be populated in order to send to Azure.
- :param customer_id: Log analytics customer id
- :type customer_id: str
- :param shared_key: Log analytics customer key
- :type shared_key: str
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar properties: Certificate resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.ManagedCertificateProperties
"""
- _attribute_map = {
- 'customer_id': {'key': 'customerId', 'type': 'str'},
- 'shared_key': {'key': 'sharedKey', 'type': 'str'},
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
}
- def __init__(self, **kwargs):
- super(LogAnalyticsConfiguration, self).__init__(**kwargs)
- self.customer_id = kwargs.get('customer_id', None)
- self.shared_key = kwargs.get('shared_key', None)
-
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "properties": {"key": "properties", "type": "ManagedCertificateProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ properties: Optional["_models.ManagedCertificateProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword properties: Certificate resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.ManagedCertificateProperties
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.properties = properties
+
+
+class ManagedCertificateCollection(_serialization.Model):
+ """Collection of Managed Certificates.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
-class Login(Model):
- """The configuration settings of the login flow of users using ContainerApp
- Authentication/Authorization.
+ All required parameters must be populated in order to send to Azure.
- :param route: The route that specify the endpoint used for login and
- logout requests.
- :type route: ~commondefinitions.models.LoginRoute
- :param preserve_url_fragments_for_logins: True if the
- fragments from the request are preserved after the login request is made;
- otherwise, False. Possible values include: 'True', 'False'
- :type preserve_url_fragments_for_logins: str or
- ~commondefinitions.models.PreserveUrlFragmentsForLoginsMode
- :param allowed_external_redirect_urls: External URLs that can be
- redirected to as part of logging in or logging out of the app. Note that
- the query string part of the URL is ignored.
- This is an advanced setting typically only needed by Windows Store
- application backends.
- Note that URLs within the current domain are always implicitly allowed.
- :type allowed_external_redirect_urls: list[str]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ManagedCertificate]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
_attribute_map = {
- 'route': {'key': 'route', 'type': 'LoginRoute'},
- 'preserve_url_fragments_for_logins': {'key': 'preserveUrlFragmentsForLogins', 'type': 'str'},
- 'allowed_external_redirect_urls': {'key': 'allowedExternalRedirectUrls', 'type': '[str]'},
+ "value": {"key": "value", "type": "[ManagedCertificate]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(Login, self).__init__(**kwargs)
- self.route = kwargs.get('route', None)
- self.preserve_url_fragments_for_logins = kwargs.get('preserve_url_fragments_for_logins', None)
- self.allowed_external_redirect_urls = kwargs.get('allowed_external_redirect_urls', None)
+ def __init__(self, *, value: List["_models.ManagedCertificate"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ManagedCertificate]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
-class LoginRoute(Model):
- """The route that specify the endpoint used for login and logout requests.
+class ManagedCertificatePatch(_serialization.Model):
+ """A managed certificate to update.
- :param logout_endpoint: The endpoint at which a logout request should be
- made.
- :type logout_endpoint: str
+ :ivar tags: Application-specific metadata in the form of key-value pairs.
+ :vartype tags: dict[str, str]
"""
_attribute_map = {
- 'logout_endpoint': {'key': 'logoutEndpoint', 'type': 'str'},
+ "tags": {"key": "tags", "type": "{str}"},
}
- def __init__(self, **kwargs):
- super(LoginRoute, self).__init__(**kwargs)
- self.logout_endpoint = kwargs.get('logout_endpoint', None)
+ def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
+ """
+ :keyword tags: Application-specific metadata in the form of key-value pairs.
+ :paramtype tags: dict[str, str]
+ """
+ super().__init__(**kwargs)
+ self.tags = tags
-class LoginScopes(Model):
- """The configuration settings of the login flow, including the scopes that
- should be requested.
+class ManagedCertificateProperties(_serialization.Model):
+ """Certificate resource specific properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
- :param scopes: A list of the scopes that should be requested while
- authenticating.
- :type scopes: list[str]
+ :ivar provisioning_state: Provisioning state of the certificate. Known values are: "Succeeded",
+ "Failed", "Canceled", "DeleteFailed", and "Pending".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.appcontainers.models.CertificateProvisioningState
+ :ivar subject_name: Subject name of the certificate.
+ :vartype subject_name: str
+ :ivar error: Any error occurred during the certificate provision.
+ :vartype error: str
+ :ivar domain_control_validation: Selected type of domain control validation for managed
+ certificates. Known values are: "CNAME", "HTTP", and "TXT".
+ :vartype domain_control_validation: str or
+ ~azure.mgmt.appcontainers.models.ManagedCertificateDomainControlValidation
+ :ivar validation_token: A TXT token used for DNS TXT domain control validation when issuing
+ this type of managed certificates.
+ :vartype validation_token: str
"""
- _attribute_map = {
- 'scopes': {'key': 'scopes', 'type': '[str]'},
+ _validation = {
+ "provisioning_state": {"readonly": True},
+ "error": {"readonly": True},
+ "validation_token": {"readonly": True},
}
- def __init__(self, **kwargs):
- super(LoginScopes, self).__init__(**kwargs)
- self.scopes = kwargs.get('scopes', None)
+ _attribute_map = {
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
+ "subject_name": {"key": "subjectName", "type": "str"},
+ "error": {"key": "error", "type": "str"},
+ "domain_control_validation": {"key": "domainControlValidation", "type": "str"},
+ "validation_token": {"key": "validationToken", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ subject_name: Optional[str] = None,
+ domain_control_validation: Optional[Union[str, "_models.ManagedCertificateDomainControlValidation"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword subject_name: Subject name of the certificate.
+ :paramtype subject_name: str
+ :keyword domain_control_validation: Selected type of domain control validation for managed
+ certificates. Known values are: "CNAME", "HTTP", and "TXT".
+ :paramtype domain_control_validation: str or
+ ~azure.mgmt.appcontainers.models.ManagedCertificateDomainControlValidation
+ """
+ super().__init__(**kwargs)
+ self.provisioning_state = None
+ self.subject_name = subject_name
+ self.error = None
+ self.domain_control_validation = domain_control_validation
+ self.validation_token = None
-class ManagedEnvironment(TrackedResource):
+class ManagedEnvironment(TrackedResource): # pylint: disable=too-many-instance-attributes
"""An environment for hosting container apps.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param tags: Resource tags.
- :type tags: dict[str, str]
- :param location: Required. The geo-location where the resource lives
- :type location: str
- :ivar provisioning_state: Provisioning state of the Environment. Possible
- values include: 'Succeeded', 'Failed', 'Canceled', 'Waiting',
- 'InitializationInProgress', 'InfrastructureSetupInProgress',
- 'InfrastructureSetupComplete', 'ScheduledForDelete', 'UpgradeRequested',
- 'UpgradeFailed'
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :vartype location: str
+ :ivar kind: Kind of the Environment.
+ :vartype kind: str
+ :ivar provisioning_state: Provisioning state of the Environment. Known values are: "Succeeded",
+ "Failed", "Canceled", "Waiting", "InitializationInProgress", "InfrastructureSetupInProgress",
+ "InfrastructureSetupComplete", "ScheduledForDelete", "UpgradeRequested", and "UpgradeFailed".
:vartype provisioning_state: str or
- ~commondefinitions.models.EnvironmentProvisioningState
- :param dapr_ai_instrumentation_key: Azure Monitor instrumentation key used
- by Dapr to export Service to Service communication telemetry
- :type dapr_ai_instrumentation_key: str
- :param vnet_configuration: Vnet configuration for the environment
- :type vnet_configuration: ~commondefinitions.models.VnetConfiguration
- :ivar deployment_errors: Any errors that occurred during deployment or
- deployment validation
+ ~azure.mgmt.appcontainers.models.EnvironmentProvisioningState
+ :ivar dapr_ai_instrumentation_key: Azure Monitor instrumentation key used by Dapr to export
+ Service to Service communication telemetry.
+ :vartype dapr_ai_instrumentation_key: str
+ :ivar dapr_ai_connection_string: Application Insights connection string used by Dapr to export
+ Service to Service communication telemetry.
+ :vartype dapr_ai_connection_string: str
+ :ivar vnet_configuration: Vnet configuration for the environment.
+ :vartype vnet_configuration: ~azure.mgmt.appcontainers.models.VnetConfiguration
+ :ivar deployment_errors: Any errors that occurred during deployment or deployment validation.
:vartype deployment_errors: str
- :ivar default_domain: Default Domain Name for the cluster
+ :ivar default_domain: Default Domain Name for the cluster.
:vartype default_domain: str
- :ivar static_ip: Static IP of the Environment
+ :ivar static_ip: Static IP of the Environment.
:vartype static_ip: str
- :param app_logs_configuration: Cluster configuration which enables the log
- daemon to export
+ :ivar app_logs_configuration: Cluster configuration which enables the log daemon to export
app logs to a destination. Currently only "log-analytics" is
- supported
- :type app_logs_configuration:
- ~commondefinitions.models.AppLogsConfiguration
+ supported.
+ :vartype app_logs_configuration: ~azure.mgmt.appcontainers.models.AppLogsConfiguration
+ :ivar zone_redundant: Whether or not this Managed Environment is zone-redundant.
+ :vartype zone_redundant: bool
+ :ivar custom_domain_configuration: Custom domain configuration for the environment.
+ :vartype custom_domain_configuration:
+ ~azure.mgmt.appcontainers.models.CustomDomainConfiguration
+ :ivar event_stream_endpoint: The endpoint of the eventstream of the Environment.
+ :vartype event_stream_endpoint: str
+ :ivar workload_profiles: Workload profiles configured for the Managed Environment.
+ :vartype workload_profiles: list[~azure.mgmt.appcontainers.models.WorkloadProfile]
+ :ivar keda_configuration: The configuration of Keda component.
+ :vartype keda_configuration: ~azure.mgmt.appcontainers.models.KedaConfiguration
+ :ivar dapr_configuration: The configuration of Dapr component.
+ :vartype dapr_configuration: ~azure.mgmt.appcontainers.models.DaprConfiguration
+ :ivar infrastructure_resource_group: Name of the platform-managed resource group created for
+ the Managed Environment to host infrastructure resources. If a subnet ID is provided, this
+ resource group will be created in the same subscription as the subnet.
+ :vartype infrastructure_resource_group: str
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'location': {'required': True},
- 'provisioning_state': {'readonly': True},
- 'deployment_errors': {'readonly': True},
- 'default_domain': {'readonly': True},
- 'static_ip': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "location": {"required": True},
+ "provisioning_state": {"readonly": True},
+ "deployment_errors": {"readonly": True},
+ "default_domain": {"readonly": True},
+ "static_ip": {"readonly": True},
+ "event_stream_endpoint": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'tags': {'key': 'tags', 'type': '{str}'},
- 'location': {'key': 'location', 'type': 'str'},
- 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
- 'dapr_ai_instrumentation_key': {'key': 'properties.daprAIInstrumentationKey', 'type': 'str'},
- 'vnet_configuration': {'key': 'properties.vnetConfiguration', 'type': 'VnetConfiguration'},
- 'deployment_errors': {'key': 'properties.deploymentErrors', 'type': 'str'},
- 'default_domain': {'key': 'properties.defaultDomain', 'type': 'str'},
- 'static_ip': {'key': 'properties.staticIp', 'type': 'str'},
- 'app_logs_configuration': {'key': 'properties.appLogsConfiguration', 'type': 'AppLogsConfiguration'},
- }
-
- def __init__(self, **kwargs):
- super(ManagedEnvironment, self).__init__(**kwargs)
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "location": {"key": "location", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "dapr_ai_instrumentation_key": {"key": "properties.daprAIInstrumentationKey", "type": "str"},
+ "dapr_ai_connection_string": {"key": "properties.daprAIConnectionString", "type": "str"},
+ "vnet_configuration": {"key": "properties.vnetConfiguration", "type": "VnetConfiguration"},
+ "deployment_errors": {"key": "properties.deploymentErrors", "type": "str"},
+ "default_domain": {"key": "properties.defaultDomain", "type": "str"},
+ "static_ip": {"key": "properties.staticIp", "type": "str"},
+ "app_logs_configuration": {"key": "properties.appLogsConfiguration", "type": "AppLogsConfiguration"},
+ "zone_redundant": {"key": "properties.zoneRedundant", "type": "bool"},
+ "custom_domain_configuration": {
+ "key": "properties.customDomainConfiguration",
+ "type": "CustomDomainConfiguration",
+ },
+ "event_stream_endpoint": {"key": "properties.eventStreamEndpoint", "type": "str"},
+ "workload_profiles": {"key": "properties.workloadProfiles", "type": "[WorkloadProfile]"},
+ "keda_configuration": {"key": "properties.kedaConfiguration", "type": "KedaConfiguration"},
+ "dapr_configuration": {"key": "properties.daprConfiguration", "type": "DaprConfiguration"},
+ "infrastructure_resource_group": {"key": "properties.infrastructureResourceGroup", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ kind: Optional[str] = None,
+ dapr_ai_instrumentation_key: Optional[str] = None,
+ dapr_ai_connection_string: Optional[str] = None,
+ vnet_configuration: Optional["_models.VnetConfiguration"] = None,
+ app_logs_configuration: Optional["_models.AppLogsConfiguration"] = None,
+ zone_redundant: Optional[bool] = None,
+ custom_domain_configuration: Optional["_models.CustomDomainConfiguration"] = None,
+ workload_profiles: Optional[List["_models.WorkloadProfile"]] = None,
+ keda_configuration: Optional["_models.KedaConfiguration"] = None,
+ dapr_configuration: Optional["_models.DaprConfiguration"] = None,
+ infrastructure_resource_group: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :paramtype location: str
+ :keyword kind: Kind of the Environment.
+ :paramtype kind: str
+ :keyword dapr_ai_instrumentation_key: Azure Monitor instrumentation key used by Dapr to export
+ Service to Service communication telemetry.
+ :paramtype dapr_ai_instrumentation_key: str
+ :keyword dapr_ai_connection_string: Application Insights connection string used by Dapr to
+ export Service to Service communication telemetry.
+ :paramtype dapr_ai_connection_string: str
+ :keyword vnet_configuration: Vnet configuration for the environment.
+ :paramtype vnet_configuration: ~azure.mgmt.appcontainers.models.VnetConfiguration
+ :keyword app_logs_configuration: Cluster configuration which enables the log daemon to export
+ app logs to a destination. Currently only "log-analytics" is
+ supported.
+ :paramtype app_logs_configuration: ~azure.mgmt.appcontainers.models.AppLogsConfiguration
+ :keyword zone_redundant: Whether or not this Managed Environment is zone-redundant.
+ :paramtype zone_redundant: bool
+ :keyword custom_domain_configuration: Custom domain configuration for the environment.
+ :paramtype custom_domain_configuration:
+ ~azure.mgmt.appcontainers.models.CustomDomainConfiguration
+ :keyword workload_profiles: Workload profiles configured for the Managed Environment.
+ :paramtype workload_profiles: list[~azure.mgmt.appcontainers.models.WorkloadProfile]
+ :keyword keda_configuration: The configuration of Keda component.
+ :paramtype keda_configuration: ~azure.mgmt.appcontainers.models.KedaConfiguration
+ :keyword dapr_configuration: The configuration of Dapr component.
+ :paramtype dapr_configuration: ~azure.mgmt.appcontainers.models.DaprConfiguration
+ :keyword infrastructure_resource_group: Name of the platform-managed resource group created for
+ the Managed Environment to host infrastructure resources. If a subnet ID is provided, this
+ resource group will be created in the same subscription as the subnet.
+ :paramtype infrastructure_resource_group: str
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.kind = kind
self.provisioning_state = None
- self.dapr_ai_instrumentation_key = kwargs.get('dapr_ai_instrumentation_key', None)
- self.vnet_configuration = kwargs.get('vnet_configuration', None)
+ self.dapr_ai_instrumentation_key = dapr_ai_instrumentation_key
+ self.dapr_ai_connection_string = dapr_ai_connection_string
+ self.vnet_configuration = vnet_configuration
self.deployment_errors = None
self.default_domain = None
self.static_ip = None
- self.app_logs_configuration = kwargs.get('app_logs_configuration', None)
-
-
-class ManagedEnvironmentPatch(Model):
- """An environment for hosting container apps.
-
- :param tags: Application-specific metadata in the form of key-value pairs.
- :type tags: dict[str, str]
- """
-
- _attribute_map = {
- 'tags': {'key': 'tags', 'type': '{str}'},
- }
+ self.app_logs_configuration = app_logs_configuration
+ self.zone_redundant = zone_redundant
+ self.custom_domain_configuration = custom_domain_configuration
+ self.event_stream_endpoint = None
+ self.workload_profiles = workload_profiles
+ self.keda_configuration = keda_configuration
+ self.dapr_configuration = dapr_configuration
+ self.infrastructure_resource_group = infrastructure_resource_group
- def __init__(self, **kwargs):
- super(ManagedEnvironmentPatch, self).__init__(**kwargs)
- self.tags = kwargs.get('tags', None)
-
-class ManagedEnvironmentsCollection(Model):
+class ManagedEnvironmentsCollection(_serialization.Model):
"""Collection of Environments.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.ManagedEnvironment]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ManagedEnvironment]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[ManagedEnvironment]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[ManagedEnvironment]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ManagedEnvironmentsCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.ManagedEnvironment"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ManagedEnvironment]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
class ManagedEnvironmentStorage(ProxyResource):
"""Storage resource for managedEnvironment.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :param properties: Storage properties
- :type properties:
- ~commondefinitions.models.ManagedEnvironmentStorageProperties
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar properties: Storage properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.ManagedEnvironmentStorageProperties
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'properties': {'key': 'properties', 'type': 'ManagedEnvironmentStorageProperties'},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "properties": {"key": "properties", "type": "ManagedEnvironmentStorageProperties"},
}
- def __init__(self, **kwargs):
- super(ManagedEnvironmentStorage, self).__init__(**kwargs)
- self.properties = kwargs.get('properties', None)
+ def __init__(
+ self, *, properties: Optional["_models.ManagedEnvironmentStorageProperties"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword properties: Storage properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.ManagedEnvironmentStorageProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
-class ManagedEnvironmentStorageProperties(Model):
+class ManagedEnvironmentStorageProperties(_serialization.Model):
"""Storage properties.
- :param azure_file: Azure file properties
- :type azure_file: ~commondefinitions.models.AzureFileProperties
+ :ivar azure_file: Azure file properties.
+ :vartype azure_file: ~azure.mgmt.appcontainers.models.AzureFileProperties
"""
_attribute_map = {
- 'azure_file': {'key': 'azureFile', 'type': 'AzureFileProperties'},
+ "azure_file": {"key": "azureFile", "type": "AzureFileProperties"},
}
- def __init__(self, **kwargs):
- super(ManagedEnvironmentStorageProperties, self).__init__(**kwargs)
- self.azure_file = kwargs.get('azure_file', None)
+ def __init__(self, *, azure_file: Optional["_models.AzureFileProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword azure_file: Azure file properties.
+ :paramtype azure_file: ~azure.mgmt.appcontainers.models.AzureFileProperties
+ """
+ super().__init__(**kwargs)
+ self.azure_file = azure_file
-class ManagedEnvironmentStoragesCollection(Model):
+class ManagedEnvironmentStoragesCollection(_serialization.Model):
"""Collection of Storage for Environments.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of storage resources.
- :type value: list[~commondefinitions.models.ManagedEnvironmentStorage]
+ :ivar value: Collection of storage resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ManagedEnvironmentStorage]
"""
_validation = {
- 'value': {'required': True},
+ "value": {"required": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[ManagedEnvironmentStorage]'},
+ "value": {"key": "value", "type": "[ManagedEnvironmentStorage]"},
}
- def __init__(self, **kwargs):
- super(ManagedEnvironmentStoragesCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.ManagedEnvironmentStorage"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of storage resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ManagedEnvironmentStorage]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class ManagedServiceIdentity(Model):
+class ManagedServiceIdentity(_serialization.Model):
"""Managed service identity (system assigned and/or user assigned identities).
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :ivar principal_id: The service principal ID of the system assigned
- identity. This property will only be provided for a system assigned
- identity.
+ :ivar principal_id: The service principal ID of the system assigned identity. This property
+ will only be provided for a system assigned identity.
:vartype principal_id: str
- :ivar tenant_id: The tenant ID of the system assigned identity. This
- property will only be provided for a system assigned identity.
+ :ivar tenant_id: The tenant ID of the system assigned identity. This property will only be
+ provided for a system assigned identity.
:vartype tenant_id: str
- :param type: Required. Possible values include: 'None', 'SystemAssigned',
- 'UserAssigned', 'SystemAssigned,UserAssigned'
- :type type: str or ~commondefinitions.models.ManagedServiceIdentityType
- :param user_assigned_identities:
- :type user_assigned_identities: dict[str,
- ~commondefinitions.models.UserAssignedIdentity]
+ :ivar type: Type of managed service identity (where both SystemAssigned and UserAssigned types
+ are allowed). Required. Known values are: "None", "SystemAssigned", "UserAssigned", and
+ "SystemAssigned,UserAssigned".
+ :vartype type: str or ~azure.mgmt.appcontainers.models.ManagedServiceIdentityType
+ :ivar user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :vartype user_assigned_identities: dict[str,
+ ~azure.mgmt.appcontainers.models.UserAssignedIdentity]
"""
_validation = {
- 'principal_id': {'readonly': True},
- 'tenant_id': {'readonly': True},
- 'type': {'required': True},
+ "principal_id": {"readonly": True},
+ "tenant_id": {"readonly": True},
+ "type": {"required": True},
}
_attribute_map = {
- 'principal_id': {'key': 'principalId', 'type': 'str'},
- 'tenant_id': {'key': 'tenantId', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'},
- }
-
- def __init__(self, **kwargs):
- super(ManagedServiceIdentity, self).__init__(**kwargs)
+ "principal_id": {"key": "principalId", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "user_assigned_identities": {"key": "userAssignedIdentities", "type": "{UserAssignedIdentity}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Union[str, "_models.ManagedServiceIdentityType"],
+ user_assigned_identities: Optional[Dict[str, "_models.UserAssignedIdentity"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword type: Type of managed service identity (where both SystemAssigned and UserAssigned
+ types are allowed). Required. Known values are: "None", "SystemAssigned", "UserAssigned", and
+ "SystemAssigned,UserAssigned".
+ :paramtype type: str or ~azure.mgmt.appcontainers.models.ManagedServiceIdentityType
+ :keyword user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :paramtype user_assigned_identities: dict[str,
+ ~azure.mgmt.appcontainers.models.UserAssignedIdentity]
+ """
+ super().__init__(**kwargs)
self.principal_id = None
self.tenant_id = None
- self.type = kwargs.get('type', None)
- self.user_assigned_identities = kwargs.get('user_assigned_identities', None)
+ self.type = type
+ self.user_assigned_identities = user_assigned_identities
-class OpenIdConnectClientCredential(Model):
- """The authentication client credentials of the custom Open ID Connect
- provider.
+class Nonce(_serialization.Model):
+ """The configuration settings of the nonce used in the login flow.
- :param client_secret_ref_name: The app setting that contains the client
- secret for the custom Open ID Connect provider.
- :type client_secret_ref_name: str
+ :ivar validate_nonce: :code:`false` if the nonce should not be validated while
+ completing the login flow; otherwise, :code:`true`.
+ :vartype validate_nonce: bool
+ :ivar nonce_expiration_interval: The time after the request is made when the nonce should
+ expire.
+ :vartype nonce_expiration_interval: str
"""
_attribute_map = {
- 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(OpenIdConnectClientCredential, self).__init__(**kwargs)
- self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None)
-
-
-class OpenIdConnectConfig(Model):
- """The configuration settings of the endpoints used for the custom Open ID
- Connect provider.
-
- :param authorization_endpoint: The endpoint to be used to make an
- authorization request.
- :type authorization_endpoint: str
- :param token_endpoint: The endpoint to be used to request a token.
- :type token_endpoint: str
- :param issuer: The endpoint that issues the token.
- :type issuer: str
- :param certification_uri: The endpoint that provides the keys necessary to
- validate the token.
- :type certification_uri: str
- :param well_known_open_id_configuration: The endpoint that contains all
- the configuration endpoints for the provider.
- :type well_known_open_id_configuration: str
+ "validate_nonce": {"key": "validateNonce", "type": "bool"},
+ "nonce_expiration_interval": {"key": "nonceExpirationInterval", "type": "str"},
+ }
+
+ def __init__(
+ self, *, validate_nonce: Optional[bool] = None, nonce_expiration_interval: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword validate_nonce: :code:`false` if the nonce should not be validated while
+ completing the login flow; otherwise, :code:`true`.
+ :paramtype validate_nonce: bool
+ :keyword nonce_expiration_interval: The time after the request is made when the nonce should
+ expire.
+ :paramtype nonce_expiration_interval: str
+ """
+ super().__init__(**kwargs)
+ self.validate_nonce = validate_nonce
+ self.nonce_expiration_interval = nonce_expiration_interval
+
+
+class OpenIdConnectClientCredential(_serialization.Model):
+ """The authentication client credentials of the custom Open ID Connect provider.
+
+ :ivar method: The method that should be used to authenticate the user. Default value is
+ "ClientSecretPost".
+ :vartype method: str
+ :ivar client_secret_setting_name: The app setting that contains the client secret for the
+ custom Open ID Connect provider.
+ :vartype client_secret_setting_name: str
"""
_attribute_map = {
- 'authorization_endpoint': {'key': 'authorizationEndpoint', 'type': 'str'},
- 'token_endpoint': {'key': 'tokenEndpoint', 'type': 'str'},
- 'issuer': {'key': 'issuer', 'type': 'str'},
- 'certification_uri': {'key': 'certificationUri', 'type': 'str'},
- 'well_known_open_id_configuration': {'key': 'wellKnownOpenIdConfiguration', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(OpenIdConnectConfig, self).__init__(**kwargs)
- self.authorization_endpoint = kwargs.get('authorization_endpoint', None)
- self.token_endpoint = kwargs.get('token_endpoint', None)
- self.issuer = kwargs.get('issuer', None)
- self.certification_uri = kwargs.get('certification_uri', None)
- self.well_known_open_id_configuration = kwargs.get('well_known_open_id_configuration', None)
-
-
-class OpenIdConnectLogin(Model):
- """The configuration settings of the login flow of the custom Open ID Connect
- provider.
+ "method": {"key": "method", "type": "str"},
+ "client_secret_setting_name": {"key": "clientSecretSettingName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ method: Optional[Literal["ClientSecretPost"]] = None,
+ client_secret_setting_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword method: The method that should be used to authenticate the user. Default value is
+ "ClientSecretPost".
+ :paramtype method: str
+ :keyword client_secret_setting_name: The app setting that contains the client secret for the
+ custom Open ID Connect provider.
+ :paramtype client_secret_setting_name: str
+ """
+ super().__init__(**kwargs)
+ self.method = method
+ self.client_secret_setting_name = client_secret_setting_name
+
+
+class OpenIdConnectConfig(_serialization.Model):
+ """The configuration settings of the endpoints used for the custom Open ID Connect provider.
+
+ :ivar authorization_endpoint: The endpoint to be used to make an authorization request.
+ :vartype authorization_endpoint: str
+ :ivar token_endpoint: The endpoint to be used to request a token.
+ :vartype token_endpoint: str
+ :ivar issuer: The endpoint that issues the token.
+ :vartype issuer: str
+ :ivar certification_uri: The endpoint that provides the keys necessary to validate the token.
+ :vartype certification_uri: str
+ :ivar well_known_open_id_configuration: The endpoint that contains all the configuration
+ endpoints for the provider.
+ :vartype well_known_open_id_configuration: str
+ """
- :param name_claim_type: The name of the claim that contains the users
- name.
- :type name_claim_type: str
- :param scopes: A list of the scopes that should be requested while
- authenticating.
- :type scopes: list[str]
+ _attribute_map = {
+ "authorization_endpoint": {"key": "authorizationEndpoint", "type": "str"},
+ "token_endpoint": {"key": "tokenEndpoint", "type": "str"},
+ "issuer": {"key": "issuer", "type": "str"},
+ "certification_uri": {"key": "certificationUri", "type": "str"},
+ "well_known_open_id_configuration": {"key": "wellKnownOpenIdConfiguration", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ authorization_endpoint: Optional[str] = None,
+ token_endpoint: Optional[str] = None,
+ issuer: Optional[str] = None,
+ certification_uri: Optional[str] = None,
+ well_known_open_id_configuration: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword authorization_endpoint: The endpoint to be used to make an authorization request.
+ :paramtype authorization_endpoint: str
+ :keyword token_endpoint: The endpoint to be used to request a token.
+ :paramtype token_endpoint: str
+ :keyword issuer: The endpoint that issues the token.
+ :paramtype issuer: str
+ :keyword certification_uri: The endpoint that provides the keys necessary to validate the
+ token.
+ :paramtype certification_uri: str
+ :keyword well_known_open_id_configuration: The endpoint that contains all the configuration
+ endpoints for the provider.
+ :paramtype well_known_open_id_configuration: str
+ """
+ super().__init__(**kwargs)
+ self.authorization_endpoint = authorization_endpoint
+ self.token_endpoint = token_endpoint
+ self.issuer = issuer
+ self.certification_uri = certification_uri
+ self.well_known_open_id_configuration = well_known_open_id_configuration
+
+
+class OpenIdConnectLogin(_serialization.Model):
+ """The configuration settings of the login flow of the custom Open ID Connect provider.
+
+ :ivar name_claim_type: The name of the claim that contains the users name.
+ :vartype name_claim_type: str
+ :ivar scopes: A list of the scopes that should be requested while authenticating.
+ :vartype scopes: list[str]
"""
_attribute_map = {
- 'name_claim_type': {'key': 'nameClaimType', 'type': 'str'},
- 'scopes': {'key': 'scopes', 'type': '[str]'},
+ "name_claim_type": {"key": "nameClaimType", "type": "str"},
+ "scopes": {"key": "scopes", "type": "[str]"},
}
- def __init__(self, **kwargs):
- super(OpenIdConnectLogin, self).__init__(**kwargs)
- self.name_claim_type = kwargs.get('name_claim_type', None)
- self.scopes = kwargs.get('scopes', None)
+ def __init__(
+ self, *, name_claim_type: Optional[str] = None, scopes: Optional[List[str]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword name_claim_type: The name of the claim that contains the users name.
+ :paramtype name_claim_type: str
+ :keyword scopes: A list of the scopes that should be requested while authenticating.
+ :paramtype scopes: list[str]
+ """
+ super().__init__(**kwargs)
+ self.name_claim_type = name_claim_type
+ self.scopes = scopes
-class OpenIdConnectRegistration(Model):
- """The configuration settings of the app registration for the custom Open ID
- Connect provider.
+class OpenIdConnectRegistration(_serialization.Model):
+ """The configuration settings of the app registration for the custom Open ID Connect provider.
- :param client_id: The client id of the custom Open ID Connect provider.
- :type client_id: str
- :param client_credential: The authentication credentials of the custom
- Open ID Connect provider.
- :type client_credential:
- ~commondefinitions.models.OpenIdConnectClientCredential
- :param open_id_connect_configuration: The configuration settings of the
- endpoints used for the custom Open ID Connect provider.
- :type open_id_connect_configuration:
- ~commondefinitions.models.OpenIdConnectConfig
+ :ivar client_id: The client id of the custom Open ID Connect provider.
+ :vartype client_id: str
+ :ivar client_credential: The authentication credentials of the custom Open ID Connect provider.
+ :vartype client_credential: ~azure.mgmt.appcontainers.models.OpenIdConnectClientCredential
+ :ivar open_id_connect_configuration: The configuration settings of the endpoints used for the
+ custom Open ID Connect provider.
+ :vartype open_id_connect_configuration: ~azure.mgmt.appcontainers.models.OpenIdConnectConfig
"""
_attribute_map = {
- 'client_id': {'key': 'clientId', 'type': 'str'},
- 'client_credential': {'key': 'clientCredential', 'type': 'OpenIdConnectClientCredential'},
- 'open_id_connect_configuration': {'key': 'openIdConnectConfiguration', 'type': 'OpenIdConnectConfig'},
- }
-
- def __init__(self, **kwargs):
- super(OpenIdConnectRegistration, self).__init__(**kwargs)
- self.client_id = kwargs.get('client_id', None)
- self.client_credential = kwargs.get('client_credential', None)
- self.open_id_connect_configuration = kwargs.get('open_id_connect_configuration', None)
-
-
-class OperationDetail(Model):
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_credential": {"key": "clientCredential", "type": "OpenIdConnectClientCredential"},
+ "open_id_connect_configuration": {"key": "openIdConnectConfiguration", "type": "OpenIdConnectConfig"},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: Optional[str] = None,
+ client_credential: Optional["_models.OpenIdConnectClientCredential"] = None,
+ open_id_connect_configuration: Optional["_models.OpenIdConnectConfig"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword client_id: The client id of the custom Open ID Connect provider.
+ :paramtype client_id: str
+ :keyword client_credential: The authentication credentials of the custom Open ID Connect
+ provider.
+ :paramtype client_credential: ~azure.mgmt.appcontainers.models.OpenIdConnectClientCredential
+ :keyword open_id_connect_configuration: The configuration settings of the endpoints used for
+ the custom Open ID Connect provider.
+ :paramtype open_id_connect_configuration: ~azure.mgmt.appcontainers.models.OpenIdConnectConfig
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
+ self.client_credential = client_credential
+ self.open_id_connect_configuration = open_id_connect_configuration
+
+
+class OperationDetail(_serialization.Model):
"""Operation detail payload.
- :param name: Name of the operation
- :type name: str
- :param is_data_action: Indicates whether the operation is a data action
- :type is_data_action: bool
- :param display: Display of the operation
- :type display: ~commondefinitions.models.OperationDisplay
- :param origin: Origin of the operation
- :type origin: str
+ :ivar name: Name of the operation.
+ :vartype name: str
+ :ivar is_data_action: Indicates whether the operation is a data action.
+ :vartype is_data_action: bool
+ :ivar display: Display of the operation.
+ :vartype display: ~azure.mgmt.appcontainers.models.OperationDisplay
+ :ivar origin: Origin of the operation.
+ :vartype origin: str
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'is_data_action': {'key': 'isDataAction', 'type': 'bool'},
- 'display': {'key': 'display', 'type': 'OperationDisplay'},
- 'origin': {'key': 'origin', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(OperationDetail, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.is_data_action = kwargs.get('is_data_action', None)
- self.display = kwargs.get('display', None)
- self.origin = kwargs.get('origin', None)
-
-
-class OperationDisplay(Model):
+ "name": {"key": "name", "type": "str"},
+ "is_data_action": {"key": "isDataAction", "type": "bool"},
+ "display": {"key": "display", "type": "OperationDisplay"},
+ "origin": {"key": "origin", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ is_data_action: Optional[bool] = None,
+ display: Optional["_models.OperationDisplay"] = None,
+ origin: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Name of the operation.
+ :paramtype name: str
+ :keyword is_data_action: Indicates whether the operation is a data action.
+ :paramtype is_data_action: bool
+ :keyword display: Display of the operation.
+ :paramtype display: ~azure.mgmt.appcontainers.models.OperationDisplay
+ :keyword origin: Origin of the operation.
+ :paramtype origin: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.is_data_action = is_data_action
+ self.display = display
+ self.origin = origin
+
+
+class OperationDisplay(_serialization.Model):
"""Operation display payload.
- :param provider: Resource provider of the operation
- :type provider: str
- :param resource: Resource of the operation
- :type resource: str
- :param operation: Localized friendly name for the operation
- :type operation: str
- :param description: Localized friendly description for the operation
- :type description: str
+ :ivar provider: Resource provider of the operation.
+ :vartype provider: str
+ :ivar resource: Resource of the operation.
+ :vartype resource: str
+ :ivar operation: Localized friendly name for the operation.
+ :vartype operation: str
+ :ivar description: Localized friendly description for the operation.
+ :vartype description: str
"""
_attribute_map = {
- 'provider': {'key': 'provider', 'type': 'str'},
- 'resource': {'key': 'resource', 'type': 'str'},
- 'operation': {'key': 'operation', 'type': 'str'},
- 'description': {'key': 'description', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(OperationDisplay, self).__init__(**kwargs)
- self.provider = kwargs.get('provider', None)
- self.resource = kwargs.get('resource', None)
- self.operation = kwargs.get('operation', None)
- self.description = kwargs.get('description', None)
-
-
-class QueueScaleRule(Model):
+ "provider": {"key": "provider", "type": "str"},
+ "resource": {"key": "resource", "type": "str"},
+ "operation": {"key": "operation", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ provider: Optional[str] = None,
+ resource: Optional[str] = None,
+ operation: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword provider: Resource provider of the operation.
+ :paramtype provider: str
+ :keyword resource: Resource of the operation.
+ :paramtype resource: str
+ :keyword operation: Localized friendly name for the operation.
+ :paramtype operation: str
+ :keyword description: Localized friendly description for the operation.
+ :paramtype description: str
+ """
+ super().__init__(**kwargs)
+ self.provider = provider
+ self.resource = resource
+ self.operation = operation
+ self.description = description
+
+
+class QueueScaleRule(_serialization.Model):
"""Container App container Azure Queue based scaling rule.
- :param queue_name: Queue name.
- :type queue_name: str
- :param queue_length: Queue length.
- :type queue_length: int
- :param auth: Authentication secrets for the queue scale rule.
- :type auth: list[~commondefinitions.models.ScaleRuleAuth]
+ :ivar queue_name: Queue name.
+ :vartype queue_name: str
+ :ivar queue_length: Queue length.
+ :vartype queue_length: int
+ :ivar auth: Authentication secrets for the queue scale rule.
+ :vartype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
"""
_attribute_map = {
- 'queue_name': {'key': 'queueName', 'type': 'str'},
- 'queue_length': {'key': 'queueLength', 'type': 'int'},
- 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'},
- }
-
- def __init__(self, **kwargs):
- super(QueueScaleRule, self).__init__(**kwargs)
- self.queue_name = kwargs.get('queue_name', None)
- self.queue_length = kwargs.get('queue_length', None)
- self.auth = kwargs.get('auth', None)
-
-
-class RegistryCredentials(Model):
+ "queue_name": {"key": "queueName", "type": "str"},
+ "queue_length": {"key": "queueLength", "type": "int"},
+ "auth": {"key": "auth", "type": "[ScaleRuleAuth]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ queue_name: Optional[str] = None,
+ queue_length: Optional[int] = None,
+ auth: Optional[List["_models.ScaleRuleAuth"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword queue_name: Queue name.
+ :paramtype queue_name: str
+ :keyword queue_length: Queue length.
+ :paramtype queue_length: int
+ :keyword auth: Authentication secrets for the queue scale rule.
+ :paramtype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+ super().__init__(**kwargs)
+ self.queue_name = queue_name
+ self.queue_length = queue_length
+ self.auth = auth
+
+
+class RegistryCredentials(_serialization.Model):
"""Container App Private Registry.
- :param server: Container Registry Server
- :type server: str
- :param username: Container Registry Username
- :type username: str
- :param password_secret_ref: The name of the Secret that contains the
- registry login password
- :type password_secret_ref: str
+ :ivar server: Container Registry Server.
+ :vartype server: str
+ :ivar username: Container Registry Username.
+ :vartype username: str
+ :ivar password_secret_ref: The name of the Secret that contains the registry login password.
+ :vartype password_secret_ref: str
+ :ivar identity: A Managed Identity to use to authenticate with Azure Container Registry. For
+ user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned
+ identities, use 'system'.
+ :vartype identity: str
"""
_attribute_map = {
- 'server': {'key': 'server', 'type': 'str'},
- 'username': {'key': 'username', 'type': 'str'},
- 'password_secret_ref': {'key': 'passwordSecretRef', 'type': 'str'},
- 'identity': {'key': 'identity', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(RegistryCredentials, self).__init__(**kwargs)
- self.server = kwargs.get('server', None)
- self.username = kwargs.get('username', None)
- self.password_secret_ref = kwargs.get('password_secret_ref', None)
- self.identity = kwargs.get('identity', None)
-
-
-class RegistryInfo(Model):
+ "server": {"key": "server", "type": "str"},
+ "username": {"key": "username", "type": "str"},
+ "password_secret_ref": {"key": "passwordSecretRef", "type": "str"},
+ "identity": {"key": "identity", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ server: Optional[str] = None,
+ username: Optional[str] = None,
+ password_secret_ref: Optional[str] = None,
+ identity: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword server: Container Registry Server.
+ :paramtype server: str
+ :keyword username: Container Registry Username.
+ :paramtype username: str
+ :keyword password_secret_ref: The name of the Secret that contains the registry login password.
+ :paramtype password_secret_ref: str
+ :keyword identity: A Managed Identity to use to authenticate with Azure Container Registry. For
+ user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned
+ identities, use 'system'.
+ :paramtype identity: str
+ """
+ super().__init__(**kwargs)
+ self.server = server
+ self.username = username
+ self.password_secret_ref = password_secret_ref
+ self.identity = identity
+
+
+class RegistryInfo(_serialization.Model):
"""Container App registry information.
- :param registry_url: registry server Url.
- :type registry_url: str
- :param registry_user_name: registry username.
- :type registry_user_name: str
- :param registry_password: registry secret.
- :type registry_password: str
+ :ivar registry_url: registry server Url.
+ :vartype registry_url: str
+ :ivar registry_user_name: registry username.
+ :vartype registry_user_name: str
+ :ivar registry_password: registry secret.
+ :vartype registry_password: str
"""
_attribute_map = {
- 'registry_url': {'key': 'registryUrl', 'type': 'str'},
- 'registry_user_name': {'key': 'registryUserName', 'type': 'str'},
- 'registry_password': {'key': 'registryPassword', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(RegistryInfo, self).__init__(**kwargs)
- self.registry_url = kwargs.get('registry_url', None)
- self.registry_user_name = kwargs.get('registry_user_name', None)
- self.registry_password = kwargs.get('registry_password', None)
+ "registry_url": {"key": "registryUrl", "type": "str"},
+ "registry_user_name": {"key": "registryUserName", "type": "str"},
+ "registry_password": {"key": "registryPassword", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ registry_url: Optional[str] = None,
+ registry_user_name: Optional[str] = None,
+ registry_password: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword registry_url: registry server Url.
+ :paramtype registry_url: str
+ :keyword registry_user_name: registry username.
+ :paramtype registry_user_name: str
+ :keyword registry_password: registry secret.
+ :paramtype registry_password: str
+ """
+ super().__init__(**kwargs)
+ self.registry_url = registry_url
+ self.registry_user_name = registry_user_name
+ self.registry_password = registry_password
class Replica(ProxyResource):
"""Container App Revision Replica.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :ivar created_time: Timestamp describing when the pod was created by
- controller
- :vartype created_time: datetime
- :param containers: The containers collection under a replica.
- :type containers: list[~commondefinitions.models.ReplicaContainer]
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar created_time: Timestamp describing when the pod was created by controller.
+ :vartype created_time: ~datetime.datetime
+ :ivar containers: The containers collection under a replica.
+ :vartype containers: list[~azure.mgmt.appcontainers.models.ReplicaContainer]
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'created_time': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "created_time": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'},
- 'containers': {'key': 'properties.containers', 'type': '[ReplicaContainer]'},
- }
-
- def __init__(self, **kwargs):
- super(Replica, self).__init__(**kwargs)
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "created_time": {"key": "properties.createdTime", "type": "iso-8601"},
+ "containers": {"key": "properties.containers", "type": "[ReplicaContainer]"},
+ }
+
+ def __init__(self, *, containers: Optional[List["_models.ReplicaContainer"]] = None, **kwargs: Any) -> None:
+ """
+ :keyword containers: The containers collection under a replica.
+ :paramtype containers: list[~azure.mgmt.appcontainers.models.ReplicaContainer]
+ """
+ super().__init__(**kwargs)
self.created_time = None
- self.containers = kwargs.get('containers', None)
+ self.containers = containers
-class ReplicaCollection(Model):
+class ReplicaCollection(_serialization.Model):
"""Container App Revision Replicas collection ARM resource.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.Replica]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Replica]
"""
_validation = {
- 'value': {'required': True},
+ "value": {"required": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[Replica]'},
+ "value": {"key": "value", "type": "[Replica]"},
}
- def __init__(self, **kwargs):
- super(ReplicaCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.Replica"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Replica]
+ """
+ super().__init__(**kwargs)
+ self.value = value
-class ReplicaContainer(Model):
+class ReplicaContainer(_serialization.Model):
"""Container object under Container App Revision Replica.
- :param name: The Name of the Container
- :type name: str
- :param container_id: The Id of the Container
- :type container_id: str
- :param ready: The container ready status
- :type ready: bool
- :param started: The container start status
- :type started: bool
- :param restart_count: The container restart count
- :type restart_count: int
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: The Name of the Container.
+ :vartype name: str
+ :ivar container_id: The Id of the Container.
+ :vartype container_id: str
+ :ivar ready: The container ready status.
+ :vartype ready: bool
+ :ivar started: The container start status.
+ :vartype started: bool
+ :ivar restart_count: The container restart count.
+ :vartype restart_count: int
+ :ivar log_stream_endpoint: Log Stream endpoint.
+ :vartype log_stream_endpoint: str
+ :ivar exec_endpoint: Container exec endpoint.
+ :vartype exec_endpoint: str
"""
- _attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'container_id': {'key': 'containerId', 'type': 'str'},
- 'ready': {'key': 'ready', 'type': 'bool'},
- 'started': {'key': 'started', 'type': 'bool'},
- 'restart_count': {'key': 'restartCount', 'type': 'int'},
+ _validation = {
+ "log_stream_endpoint": {"readonly": True},
+ "exec_endpoint": {"readonly": True},
}
- def __init__(self, **kwargs):
- super(ReplicaContainer, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.container_id = kwargs.get('container_id', None)
- self.ready = kwargs.get('ready', None)
- self.started = kwargs.get('started', None)
- self.restart_count = kwargs.get('restart_count', None)
-
-
-class Revision(ProxyResource):
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "container_id": {"key": "containerId", "type": "str"},
+ "ready": {"key": "ready", "type": "bool"},
+ "started": {"key": "started", "type": "bool"},
+ "restart_count": {"key": "restartCount", "type": "int"},
+ "log_stream_endpoint": {"key": "logStreamEndpoint", "type": "str"},
+ "exec_endpoint": {"key": "execEndpoint", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ container_id: Optional[str] = None,
+ ready: Optional[bool] = None,
+ started: Optional[bool] = None,
+ restart_count: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: The Name of the Container.
+ :paramtype name: str
+ :keyword container_id: The Id of the Container.
+ :paramtype container_id: str
+ :keyword ready: The container ready status.
+ :paramtype ready: bool
+ :keyword started: The container start status.
+ :paramtype started: bool
+ :keyword restart_count: The container restart count.
+ :paramtype restart_count: int
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.container_id = container_id
+ self.ready = ready
+ self.started = started
+ self.restart_count = restart_count
+ self.log_stream_endpoint = None
+ self.exec_endpoint = None
+
+
+class Revision(ProxyResource): # pylint: disable=too-many-instance-attributes
"""Container App Revision.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
:ivar created_time: Timestamp describing when the revision was created
- by controller
- :vartype created_time: datetime
- :ivar fqdn: Fully qualified domain name of the revision
+ by controller.
+ :vartype created_time: ~datetime.datetime
+ :ivar last_active_time: Timestamp describing when the revision was last active. Only meaningful
+ when revision is inactive.
+ :vartype last_active_time: ~datetime.datetime
+ :ivar fqdn: Fully qualified domain name of the revision.
:vartype fqdn: str
- :ivar template: Container App Revision Template with all possible settings
- and the
+ :ivar template: Container App Revision Template with all possible settings and the
defaults if user did not provide them. The defaults are populated
- as they were at the creation time
- :vartype template: ~commondefinitions.models.Template
- :ivar active: Boolean describing if the Revision is Active
+ as they were at the creation time.
+ :vartype template: ~azure.mgmt.appcontainers.models.Template
+ :ivar active: Boolean describing if the Revision is Active.
:vartype active: bool
- :ivar replicas: Number of pods currently running for this revision
+ :ivar replicas: Number of pods currently running for this revision.
:vartype replicas: int
- :ivar traffic_weight: Traffic weight assigned to this revision
+ :ivar traffic_weight: Traffic weight assigned to this revision.
:vartype traffic_weight: int
- :ivar provisioning_error: Optional Field - Platform Error Message
+ :ivar provisioning_error: Optional Field - Platform Error Message.
:vartype provisioning_error: str
- :ivar health_state: Current health State of the revision. Possible values
- include: 'Healthy', 'Unhealthy', 'None'
- :vartype health_state: str or
- ~commondefinitions.models.RevisionHealthState
- :ivar provisioning_state: Current provisioning State of the revision.
- Possible values include: 'Provisioning', 'Provisioned', 'Failed',
- 'Deprovisioning', 'Deprovisioned'
- :vartype provisioning_state: str or
- ~commondefinitions.models.RevisionProvisioningState
- """
-
- _validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'created_time': {'readonly': True},
- 'fqdn': {'readonly': True},
- 'template': {'readonly': True},
- 'active': {'readonly': True},
- 'replicas': {'readonly': True},
- 'traffic_weight': {'readonly': True},
- 'provisioning_error': {'readonly': True},
- 'health_state': {'readonly': True},
- 'provisioning_state': {'readonly': True},
- }
-
- _attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'},
- 'fqdn': {'key': 'properties.fqdn', 'type': 'str'},
- 'template': {'key': 'properties.template', 'type': 'Template'},
- 'active': {'key': 'properties.active', 'type': 'bool'},
- 'replicas': {'key': 'properties.replicas', 'type': 'int'},
- 'traffic_weight': {'key': 'properties.trafficWeight', 'type': 'int'},
- 'provisioning_error': {'key': 'properties.provisioningError', 'type': 'str'},
- 'health_state': {'key': 'properties.healthState', 'type': 'str'},
- 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(Revision, self).__init__(**kwargs)
+ :ivar health_state: Current health State of the revision. Known values are: "Healthy",
+ "Unhealthy", and "None".
+ :vartype health_state: str or ~azure.mgmt.appcontainers.models.RevisionHealthState
+ :ivar provisioning_state: Current provisioning State of the revision. Known values are:
+ "Provisioning", "Provisioned", "Failed", "Deprovisioning", and "Deprovisioned".
+ :vartype provisioning_state: str or ~azure.mgmt.appcontainers.models.RevisionProvisioningState
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "created_time": {"readonly": True},
+ "last_active_time": {"readonly": True},
+ "fqdn": {"readonly": True},
+ "template": {"readonly": True},
+ "active": {"readonly": True},
+ "replicas": {"readonly": True},
+ "traffic_weight": {"readonly": True},
+ "provisioning_error": {"readonly": True},
+ "health_state": {"readonly": True},
+ "provisioning_state": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "created_time": {"key": "properties.createdTime", "type": "iso-8601"},
+ "last_active_time": {"key": "properties.lastActiveTime", "type": "iso-8601"},
+ "fqdn": {"key": "properties.fqdn", "type": "str"},
+ "template": {"key": "properties.template", "type": "Template"},
+ "active": {"key": "properties.active", "type": "bool"},
+ "replicas": {"key": "properties.replicas", "type": "int"},
+ "traffic_weight": {"key": "properties.trafficWeight", "type": "int"},
+ "provisioning_error": {"key": "properties.provisioningError", "type": "str"},
+ "health_state": {"key": "properties.healthState", "type": "str"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
self.created_time = None
+ self.last_active_time = None
self.fqdn = None
self.template = None
self.active = None
@@ -2965,401 +7028,651 @@ def __init__(self, **kwargs):
self.provisioning_state = None
-class RevisionCollection(Model):
+class RevisionCollection(_serialization.Model):
"""Container App Revisions collection ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.Revision]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.Revision]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[Revision]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[Revision]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(RevisionCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.Revision"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.Revision]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class Scale(Model):
+class Scale(_serialization.Model):
"""Container App scaling configurations.
- :param min_replicas: Optional. Minimum number of container replicas.
- :type min_replicas: int
- :param max_replicas: Optional. Maximum number of container replicas.
- Defaults to 10 if not set.
- :type max_replicas: int
- :param rules: Scaling rules.
- :type rules: list[~commondefinitions.models.ScaleRule]
+ :ivar min_replicas: Optional. Minimum number of container replicas.
+ :vartype min_replicas: int
+ :ivar max_replicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.
+ :vartype max_replicas: int
+ :ivar rules: Scaling rules.
+ :vartype rules: list[~azure.mgmt.appcontainers.models.ScaleRule]
"""
_attribute_map = {
- 'min_replicas': {'key': 'minReplicas', 'type': 'int'},
- 'max_replicas': {'key': 'maxReplicas', 'type': 'int'},
- 'rules': {'key': 'rules', 'type': '[ScaleRule]'},
- }
-
- def __init__(self, **kwargs):
- super(Scale, self).__init__(**kwargs)
- self.min_replicas = kwargs.get('min_replicas', None)
- self.max_replicas = kwargs.get('max_replicas', None)
- self.rules = kwargs.get('rules', None)
-
-
-class ScaleRule(Model):
+ "min_replicas": {"key": "minReplicas", "type": "int"},
+ "max_replicas": {"key": "maxReplicas", "type": "int"},
+ "rules": {"key": "rules", "type": "[ScaleRule]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ min_replicas: Optional[int] = None,
+ max_replicas: int = 10,
+ rules: Optional[List["_models.ScaleRule"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword min_replicas: Optional. Minimum number of container replicas.
+ :paramtype min_replicas: int
+ :keyword max_replicas: Optional. Maximum number of container replicas. Defaults to 10 if not
+ set.
+ :paramtype max_replicas: int
+ :keyword rules: Scaling rules.
+ :paramtype rules: list[~azure.mgmt.appcontainers.models.ScaleRule]
+ """
+ super().__init__(**kwargs)
+ self.min_replicas = min_replicas
+ self.max_replicas = max_replicas
+ self.rules = rules
+
+
+class ScaleRule(_serialization.Model):
"""Container App container scaling rule.
- :param name: Scale Rule Name
- :type name: str
- :param azure_queue: Azure Queue based scaling.
- :type azure_queue: ~commondefinitions.models.QueueScaleRule
- :param custom: Custom scale rule.
- :type custom: ~commondefinitions.models.CustomScaleRule
- :param http: HTTP requests based scaling.
- :type http: ~commondefinitions.models.HttpScaleRule
+ :ivar name: Scale Rule Name.
+ :vartype name: str
+ :ivar azure_queue: Azure Queue based scaling.
+ :vartype azure_queue: ~azure.mgmt.appcontainers.models.QueueScaleRule
+ :ivar custom: Custom scale rule.
+ :vartype custom: ~azure.mgmt.appcontainers.models.CustomScaleRule
+ :ivar http: HTTP requests based scaling.
+ :vartype http: ~azure.mgmt.appcontainers.models.HttpScaleRule
+ :ivar tcp: Tcp requests based scaling.
+ :vartype tcp: ~azure.mgmt.appcontainers.models.TcpScaleRule
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'azure_queue': {'key': 'azureQueue', 'type': 'QueueScaleRule'},
- 'custom': {'key': 'custom', 'type': 'CustomScaleRule'},
- 'http': {'key': 'http', 'type': 'HttpScaleRule'},
- }
-
- def __init__(self, **kwargs):
- super(ScaleRule, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.azure_queue = kwargs.get('azure_queue', None)
- self.custom = kwargs.get('custom', None)
- self.http = kwargs.get('http', None)
-
-
-class ScaleRuleAuth(Model):
+ "name": {"key": "name", "type": "str"},
+ "azure_queue": {"key": "azureQueue", "type": "QueueScaleRule"},
+ "custom": {"key": "custom", "type": "CustomScaleRule"},
+ "http": {"key": "http", "type": "HttpScaleRule"},
+ "tcp": {"key": "tcp", "type": "TcpScaleRule"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ azure_queue: Optional["_models.QueueScaleRule"] = None,
+ custom: Optional["_models.CustomScaleRule"] = None,
+ http: Optional["_models.HttpScaleRule"] = None,
+ tcp: Optional["_models.TcpScaleRule"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Scale Rule Name.
+ :paramtype name: str
+ :keyword azure_queue: Azure Queue based scaling.
+ :paramtype azure_queue: ~azure.mgmt.appcontainers.models.QueueScaleRule
+ :keyword custom: Custom scale rule.
+ :paramtype custom: ~azure.mgmt.appcontainers.models.CustomScaleRule
+ :keyword http: HTTP requests based scaling.
+ :paramtype http: ~azure.mgmt.appcontainers.models.HttpScaleRule
+ :keyword tcp: Tcp requests based scaling.
+ :paramtype tcp: ~azure.mgmt.appcontainers.models.TcpScaleRule
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.azure_queue = azure_queue
+ self.custom = custom
+ self.http = http
+ self.tcp = tcp
+
+
+class ScaleRuleAuth(_serialization.Model):
"""Auth Secrets for Container App Scale Rule.
- :param secret_ref: Name of the Container App secret from which to pull the
- auth params.
- :type secret_ref: str
- :param trigger_parameter: Trigger Parameter that uses the secret
- :type trigger_parameter: str
+ :ivar secret_ref: Name of the Container App secret from which to pull the auth params.
+ :vartype secret_ref: str
+ :ivar trigger_parameter: Trigger Parameter that uses the secret.
+ :vartype trigger_parameter: str
"""
_attribute_map = {
- 'secret_ref': {'key': 'secretRef', 'type': 'str'},
- 'trigger_parameter': {'key': 'triggerParameter', 'type': 'str'},
+ "secret_ref": {"key": "secretRef", "type": "str"},
+ "trigger_parameter": {"key": "triggerParameter", "type": "str"},
}
- def __init__(self, **kwargs):
- super(ScaleRuleAuth, self).__init__(**kwargs)
- self.secret_ref = kwargs.get('secret_ref', None)
- self.trigger_parameter = kwargs.get('trigger_parameter', None)
+ def __init__(
+ self, *, secret_ref: Optional[str] = None, trigger_parameter: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword secret_ref: Name of the Container App secret from which to pull the auth params.
+ :paramtype secret_ref: str
+ :keyword trigger_parameter: Trigger Parameter that uses the secret.
+ :paramtype trigger_parameter: str
+ """
+ super().__init__(**kwargs)
+ self.secret_ref = secret_ref
+ self.trigger_parameter = trigger_parameter
-class Secret(Model):
+class Secret(_serialization.Model):
"""Secret definition.
- :param name: Secret Name.
- :type name: str
- :param value: Secret Value.
- :type value: str
- :param keyVaultUrl: Secret KeyVaultUrl.
- :type keyVaultUrl: str
- :param identity: Identity talking to keyVault.
- :type identity: str
+ :ivar name: Secret Name.
+ :vartype name: str
+ :ivar value: Secret Value.
+ :vartype value: str
+ :ivar identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or
+ System to use a system-assigned identity.
+ :vartype identity: str
+ :ivar key_vault_url: Azure Key Vault URL pointing to the secret referenced by the container
+ app.
+ :vartype key_vault_url: str
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'value': {'key': 'value', 'type': 'str'},
- 'keyVaultUrl': {'key': 'keyVaultUrl', 'type': 'str'},
- 'identity': {'key': 'identity', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(Secret, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.value = kwargs.get('value', None)
- self.keyVaultUrl = kwargs.get('keyVaultUrl', None)
- self.identity = kwargs.get('identity', None)
-
-
-class SecretsCollection(Model):
+ "name": {"key": "name", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ "identity": {"key": "identity", "type": "str"},
+ "key_vault_url": {"key": "keyVaultUrl", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ value: Optional[str] = None,
+ identity: Optional[str] = None,
+ key_vault_url: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Secret Name.
+ :paramtype name: str
+ :keyword value: Secret Value.
+ :paramtype value: str
+ :keyword identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or
+ System to use a system-assigned identity.
+ :paramtype identity: str
+ :keyword key_vault_url: Azure Key Vault URL pointing to the secret referenced by the container
+ app.
+ :paramtype key_vault_url: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.value = value
+ self.identity = identity
+ self.key_vault_url = key_vault_url
+
+
+class SecretsCollection(_serialization.Model):
"""Container App Secrets Collection ARM resource.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.ContainerAppSecret]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.ContainerAppSecret]
"""
_validation = {
- 'value': {'required': True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[ContainerAppSecret]"},
}
+ def __init__(self, *, value: List["_models.ContainerAppSecret"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.ContainerAppSecret]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+
+
+class SecretVolumeItem(_serialization.Model):
+ """Secret to be added to volume.
+
+ :ivar secret_ref: Name of the Container App secret from which to pull the secret value.
+ :vartype secret_ref: str
+ :ivar path: Path to project secret to. If no path is provided, path defaults to name of secret
+ listed in secretRef.
+ :vartype path: str
+ """
+
_attribute_map = {
- 'value': {'key': 'value', 'type': '[ContainerAppSecret]'},
+ "secret_ref": {"key": "secretRef", "type": "str"},
+ "path": {"key": "path", "type": "str"},
}
- def __init__(self, **kwargs):
- super(SecretsCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, secret_ref: Optional[str] = None, path: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword secret_ref: Name of the Container App secret from which to pull the secret value.
+ :paramtype secret_ref: str
+ :keyword path: Path to project secret to. If no path is provided, path defaults to name of
+ secret listed in secretRef.
+ :paramtype path: str
+ """
+ super().__init__(**kwargs)
+ self.secret_ref = secret_ref
+ self.path = path
class SourceControl(ProxyResource):
"""Container App SourceControl.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
- :ivar name: The name of the resource
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar type: The type of the resource. E.g.
- "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy
- and modifiedBy information.
- :vartype system_data: ~commondefinitions.models.SystemData
- :ivar operation_state: Current provisioning State of the operation.
- Possible values include: 'InProgress', 'Succeeded', 'Failed', 'Canceled'
- :vartype operation_state: str or
- ~commondefinitions.models.SourceControlOperationState
- :param repo_url: The repo url which will be integrated to ContainerApp.
- :type repo_url: str
- :param branch: The branch which will trigger the auto deployment
- :type branch: str
- :param github_action_configuration: Container App Revision Template with
- all possible settings and the
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar operation_state: Current provisioning State of the operation. Known values are:
+ "InProgress", "Succeeded", "Failed", and "Canceled".
+ :vartype operation_state: str or ~azure.mgmt.appcontainers.models.SourceControlOperationState
+ :ivar repo_url: The repo url which will be integrated to ContainerApp.
+ :vartype repo_url: str
+ :ivar branch: The branch which will trigger the auto deployment.
+ :vartype branch: str
+ :ivar github_action_configuration: Container App Revision Template with all possible settings
+ and the
defaults if user did not provide them. The defaults are populated
- as they were at the creation time
- :type github_action_configuration:
- ~commondefinitions.models.GithubActionConfiguration
+ as they were at the creation time.
+ :vartype github_action_configuration:
+ ~azure.mgmt.appcontainers.models.GithubActionConfiguration
"""
_validation = {
- 'id': {'readonly': True},
- 'name': {'readonly': True},
- 'type': {'readonly': True},
- 'system_data': {'readonly': True},
- 'operation_state': {'readonly': True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "operation_state": {"readonly": True},
}
_attribute_map = {
- 'id': {'key': 'id', 'type': 'str'},
- 'name': {'key': 'name', 'type': 'str'},
- 'type': {'key': 'type', 'type': 'str'},
- 'system_data': {'key': 'systemData', 'type': 'SystemData'},
- 'operation_state': {'key': 'properties.operationState', 'type': 'str'},
- 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'},
- 'branch': {'key': 'properties.branch', 'type': 'str'},
- 'github_action_configuration': {'key': 'properties.githubActionConfiguration', 'type': 'GithubActionConfiguration'},
- }
-
- def __init__(self, **kwargs):
- super(SourceControl, self).__init__(**kwargs)
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "operation_state": {"key": "properties.operationState", "type": "str"},
+ "repo_url": {"key": "properties.repoUrl", "type": "str"},
+ "branch": {"key": "properties.branch", "type": "str"},
+ "github_action_configuration": {
+ "key": "properties.githubActionConfiguration",
+ "type": "GithubActionConfiguration",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ repo_url: Optional[str] = None,
+ branch: Optional[str] = None,
+ github_action_configuration: Optional["_models.GithubActionConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword repo_url: The repo url which will be integrated to ContainerApp.
+ :paramtype repo_url: str
+ :keyword branch: The branch which will trigger the auto deployment.
+ :paramtype branch: str
+ :keyword github_action_configuration: Container App Revision Template with all possible
+ settings and the
+ defaults if user did not provide them. The defaults are populated
+ as they were at the creation time.
+ :paramtype github_action_configuration:
+ ~azure.mgmt.appcontainers.models.GithubActionConfiguration
+ """
+ super().__init__(**kwargs)
self.operation_state = None
- self.repo_url = kwargs.get('repo_url', None)
- self.branch = kwargs.get('branch', None)
- self.github_action_configuration = kwargs.get('github_action_configuration', None)
+ self.repo_url = repo_url
+ self.branch = branch
+ self.github_action_configuration = github_action_configuration
-class SourceControlCollection(Model):
+class SourceControlCollection(_serialization.Model):
"""SourceControl collection ARM resource.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param value: Required. Collection of resources.
- :type value: list[~commondefinitions.models.SourceControl]
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.SourceControl]
:ivar next_link: Link to next page of resources.
:vartype next_link: str
"""
_validation = {
- 'value': {'required': True},
- 'next_link': {'readonly': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'value': {'key': 'value', 'type': '[SourceControl]'},
- 'next_link': {'key': 'nextLink', 'type': 'str'},
+ "value": {"key": "value", "type": "[SourceControl]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(SourceControlCollection, self).__init__(**kwargs)
- self.value = kwargs.get('value', None)
+ def __init__(self, *, value: List["_models.SourceControl"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.SourceControl]
+ """
+ super().__init__(**kwargs)
+ self.value = value
self.next_link = None
-class SystemData(Model):
+class SystemData(_serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
- :param created_by: The identity that created the resource.
- :type created_by: str
- :param created_by_type: The type of identity that created the resource.
- Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
- :type created_by_type: str or ~commondefinitions.models.CreatedByType
- :param created_at: The timestamp of resource creation (UTC).
- :type created_at: datetime
- :param last_modified_by: The identity that last modified the resource.
- :type last_modified_by: str
- :param last_modified_by_type: The type of identity that last modified the
- resource. Possible values include: 'User', 'Application',
- 'ManagedIdentity', 'Key'
- :type last_modified_by_type: str or
- ~commondefinitions.models.CreatedByType
- :param last_modified_at: The timestamp of resource last modification (UTC)
- :type last_modified_at: datetime
- """
-
- _attribute_map = {
- 'created_by': {'key': 'createdBy', 'type': 'str'},
- 'created_by_type': {'key': 'createdByType', 'type': 'str'},
- 'created_at': {'key': 'createdAt', 'type': 'iso-8601'},
- 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'},
- 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'},
- 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'},
- }
-
- def __init__(self, **kwargs):
- super(SystemData, self).__init__(**kwargs)
- self.created_by = kwargs.get('created_by', None)
- self.created_by_type = kwargs.get('created_by_type', None)
- self.created_at = kwargs.get('created_at', None)
- self.last_modified_by = kwargs.get('last_modified_by', None)
- self.last_modified_by_type = kwargs.get('last_modified_by_type', None)
- self.last_modified_at = kwargs.get('last_modified_at', None)
-
-
-class Template(Model):
+ :ivar created_by: The identity that created the resource.
+ :vartype created_by: str
+ :ivar created_by_type: The type of identity that created the resource. Known values are:
+ "User", "Application", "ManagedIdentity", and "Key".
+ :vartype created_by_type: str or ~azure.mgmt.appcontainers.models.CreatedByType
+ :ivar created_at: The timestamp of resource creation (UTC).
+ :vartype created_at: ~datetime.datetime
+ :ivar last_modified_by: The identity that last modified the resource.
+ :vartype last_modified_by: str
+ :ivar last_modified_by_type: The type of identity that last modified the resource. Known values
+ are: "User", "Application", "ManagedIdentity", and "Key".
+ :vartype last_modified_by_type: str or ~azure.mgmt.appcontainers.models.CreatedByType
+ :ivar last_modified_at: The timestamp of resource last modification (UTC).
+ :vartype last_modified_at: ~datetime.datetime
+ """
+
+ _attribute_map = {
+ "created_by": {"key": "createdBy", "type": "str"},
+ "created_by_type": {"key": "createdByType", "type": "str"},
+ "created_at": {"key": "createdAt", "type": "iso-8601"},
+ "last_modified_by": {"key": "lastModifiedBy", "type": "str"},
+ "last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
+ "last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ created_by: Optional[str] = None,
+ created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
+ created_at: Optional[datetime.datetime] = None,
+ last_modified_by: Optional[str] = None,
+ last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
+ last_modified_at: Optional[datetime.datetime] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword created_by: The identity that created the resource.
+ :paramtype created_by: str
+ :keyword created_by_type: The type of identity that created the resource. Known values are:
+ "User", "Application", "ManagedIdentity", and "Key".
+ :paramtype created_by_type: str or ~azure.mgmt.appcontainers.models.CreatedByType
+ :keyword created_at: The timestamp of resource creation (UTC).
+ :paramtype created_at: ~datetime.datetime
+ :keyword last_modified_by: The identity that last modified the resource.
+ :paramtype last_modified_by: str
+ :keyword last_modified_by_type: The type of identity that last modified the resource. Known
+ values are: "User", "Application", "ManagedIdentity", and "Key".
+ :paramtype last_modified_by_type: str or ~azure.mgmt.appcontainers.models.CreatedByType
+ :keyword last_modified_at: The timestamp of resource last modification (UTC).
+ :paramtype last_modified_at: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.created_by = created_by
+ self.created_by_type = created_by_type
+ self.created_at = created_at
+ self.last_modified_by = last_modified_by
+ self.last_modified_by_type = last_modified_by_type
+ self.last_modified_at = last_modified_at
+
+
+class TcpScaleRule(_serialization.Model):
+ """Container App container Tcp scaling rule.
+
+ :ivar metadata: Metadata properties to describe tcp scale rule.
+ :vartype metadata: dict[str, str]
+ :ivar auth: Authentication secrets for the tcp scale rule.
+ :vartype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+
+ _attribute_map = {
+ "metadata": {"key": "metadata", "type": "{str}"},
+ "auth": {"key": "auth", "type": "[ScaleRuleAuth]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ metadata: Optional[Dict[str, str]] = None,
+ auth: Optional[List["_models.ScaleRuleAuth"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword metadata: Metadata properties to describe tcp scale rule.
+ :paramtype metadata: dict[str, str]
+ :keyword auth: Authentication secrets for the tcp scale rule.
+ :paramtype auth: list[~azure.mgmt.appcontainers.models.ScaleRuleAuth]
+ """
+ super().__init__(**kwargs)
+ self.metadata = metadata
+ self.auth = auth
+
+
+class Template(_serialization.Model):
"""Container App versioned application definition.
Defines the desired state of an immutable revision.
Any changes to this section Will result in a new revision being created.
- :param revision_suffix: User friendly suffix that is appended to the
- revision name
- :type revision_suffix: str
- :param containers: List of container definitions for the Container App.
- :type containers: list[~commondefinitions.models.Container]
- :param scale: Scaling properties for the Container App.
- :type scale: ~commondefinitions.models.Scale
- :param volumes: List of volume definitions for the Container App.
- :type volumes: list[~commondefinitions.models.Volume]
+ :ivar revision_suffix: User friendly suffix that is appended to the revision name.
+ :vartype revision_suffix: str
+ :ivar init_containers: List of specialized containers that run before app containers.
+ :vartype init_containers: list[~azure.mgmt.appcontainers.models.InitContainer]
+ :ivar containers: List of container definitions for the Container App.
+ :vartype containers: list[~azure.mgmt.appcontainers.models.Container]
+ :ivar scale: Scaling properties for the Container App.
+ :vartype scale: ~azure.mgmt.appcontainers.models.Scale
+ :ivar volumes: List of volume definitions for the Container App.
+ :vartype volumes: list[~azure.mgmt.appcontainers.models.Volume]
"""
_attribute_map = {
- 'revision_suffix': {'key': 'revisionSuffix', 'type': 'str'},
- 'containers': {'key': 'containers', 'type': '[Container]'},
- 'initContainers': {'key': 'initContainers', 'type': '[Container]'},
- 'scale': {'key': 'scale', 'type': 'Scale'},
- 'volumes': {'key': 'volumes', 'type': '[Volume]'},
- }
-
- def __init__(self, **kwargs):
- super(Template, self).__init__(**kwargs)
- self.revision_suffix = kwargs.get('revision_suffix', None)
- self.containers = kwargs.get('containers', None)
- self.scale = kwargs.get('scale', None)
- self.volumes = kwargs.get('volumes', None)
-
-
-class TrafficWeight(Model):
+ "revision_suffix": {"key": "revisionSuffix", "type": "str"},
+ "init_containers": {"key": "initContainers", "type": "[InitContainer]"},
+ "containers": {"key": "containers", "type": "[Container]"},
+ "scale": {"key": "scale", "type": "Scale"},
+ "volumes": {"key": "volumes", "type": "[Volume]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ revision_suffix: Optional[str] = None,
+ init_containers: Optional[List["_models.InitContainer"]] = None,
+ containers: Optional[List["_models.Container"]] = None,
+ scale: Optional["_models.Scale"] = None,
+ volumes: Optional[List["_models.Volume"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword revision_suffix: User friendly suffix that is appended to the revision name.
+ :paramtype revision_suffix: str
+ :keyword init_containers: List of specialized containers that run before app containers.
+ :paramtype init_containers: list[~azure.mgmt.appcontainers.models.InitContainer]
+ :keyword containers: List of container definitions for the Container App.
+ :paramtype containers: list[~azure.mgmt.appcontainers.models.Container]
+ :keyword scale: Scaling properties for the Container App.
+ :paramtype scale: ~azure.mgmt.appcontainers.models.Scale
+ :keyword volumes: List of volume definitions for the Container App.
+ :paramtype volumes: list[~azure.mgmt.appcontainers.models.Volume]
+ """
+ super().__init__(**kwargs)
+ self.revision_suffix = revision_suffix
+ self.init_containers = init_containers
+ self.containers = containers
+ self.scale = scale
+ self.volumes = volumes
+
+
+class TrafficWeight(_serialization.Model):
"""Traffic weight assigned to a revision.
- :param revision_name: Name of a revision
- :type revision_name: str
- :param weight: Traffic weight assigned to a revision
- :type weight: int
- :param latest_revision: Indicates that the traffic weight belongs to a
- latest stable revision. Default value: False .
- :type latest_revision: bool
+ :ivar revision_name: Name of a revision.
+ :vartype revision_name: str
+ :ivar weight: Traffic weight assigned to a revision.
+ :vartype weight: int
+ :ivar latest_revision: Indicates that the traffic weight belongs to a latest stable revision.
+ :vartype latest_revision: bool
+ :ivar label: Associates a traffic label with a revision.
+ :vartype label: str
"""
_attribute_map = {
- 'revision_name': {'key': 'revisionName', 'type': 'str'},
- 'weight': {'key': 'weight', 'type': 'int'},
- 'latest_revision': {'key': 'latestRevision', 'type': 'bool'},
- }
-
- def __init__(self, **kwargs):
- super(TrafficWeight, self).__init__(**kwargs)
- self.revision_name = kwargs.get('revision_name', None)
- self.weight = kwargs.get('weight', None)
- self.latest_revision = kwargs.get('latest_revision', False)
-
-
-class Twitter(Model):
+ "revision_name": {"key": "revisionName", "type": "str"},
+ "weight": {"key": "weight", "type": "int"},
+ "latest_revision": {"key": "latestRevision", "type": "bool"},
+ "label": {"key": "label", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ revision_name: Optional[str] = None,
+ weight: Optional[int] = None,
+ latest_revision: bool = False,
+ label: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword revision_name: Name of a revision.
+ :paramtype revision_name: str
+ :keyword weight: Traffic weight assigned to a revision.
+ :paramtype weight: int
+ :keyword latest_revision: Indicates that the traffic weight belongs to a latest stable
+ revision.
+ :paramtype latest_revision: bool
+ :keyword label: Associates a traffic label with a revision.
+ :paramtype label: str
+ """
+ super().__init__(**kwargs)
+ self.revision_name = revision_name
+ self.weight = weight
+ self.latest_revision = latest_revision
+ self.label = label
+
+
+class Twitter(_serialization.Model):
"""The configuration settings of the Twitter provider.
- :param state: Disabled if the Twitter provider should not be
- enabled despite the set registration; otherwise, Enabled.
- Possible values include: 'Enabled', 'Disabled'
- :type state: str or ~commondefinitions.models.IdentityProviderState
- :param registration: The configuration settings of the app registration
- for the Twitter provider.
- :type registration: ~commondefinitions.models.TwitterRegistration
+ :ivar enabled: :code:`false` if the Twitter provider should not be enabled despite
+ the set registration; otherwise, :code:`true`.
+ :vartype enabled: bool
+ :ivar registration: The configuration settings of the app registration for the Twitter
+ provider.
+ :vartype registration: ~azure.mgmt.appcontainers.models.TwitterRegistration
"""
_attribute_map = {
- 'state': {'key': 'state', 'type': 'str'},
- 'registration': {'key': 'registration', 'type': 'TwitterRegistration'},
- }
-
- def __init__(self, **kwargs):
- super(Twitter, self).__init__(**kwargs)
- self.state = kwargs.get('state', None)
- self.registration = kwargs.get('registration', None)
-
-
-class TwitterRegistration(Model):
- """The configuration settings of the app registration for the Twitter
- provider.
-
- :param consumer_key: The OAuth 1.0a consumer key of the Twitter
- application used for sign-in.
+ "enabled": {"key": "enabled", "type": "bool"},
+ "registration": {"key": "registration", "type": "TwitterRegistration"},
+ }
+
+ def __init__(
+ self,
+ *,
+ enabled: Optional[bool] = None,
+ registration: Optional["_models.TwitterRegistration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword enabled: :code:`false` if the Twitter provider should not be enabled
+ despite the set registration; otherwise, :code:`true`.
+ :paramtype enabled: bool
+ :keyword registration: The configuration settings of the app registration for the Twitter
+ provider.
+ :paramtype registration: ~azure.mgmt.appcontainers.models.TwitterRegistration
+ """
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.registration = registration
+
+
+class TwitterRegistration(_serialization.Model):
+ """The configuration settings of the app registration for the Twitter provider.
+
+ :ivar consumer_key: The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
- Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
- :type consumer_key: str
- :param consumer_secret_ref_name: The app secret ref name that contains the
- OAuth 1.0a consumer secret of the Twitter
+ Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in.
+ :vartype consumer_key: str
+ :ivar consumer_secret_setting_name: The app setting name that contains the OAuth 1.0a consumer
+ secret of the Twitter
application used for sign-in.
- :type consumer_secret_ref_name: str
+ :vartype consumer_secret_setting_name: str
"""
_attribute_map = {
- 'consumer_key': {'key': 'consumerKey', 'type': 'str'},
- 'consumer_secret_ref_name': {'key': 'consumerSecretRefName', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(TwitterRegistration, self).__init__(**kwargs)
- self.consumer_key = kwargs.get('consumer_key', None)
- self.consumer_secret_ref_name = kwargs.get('consumer_secret_ref_name', None)
-
-
-class UserAssignedIdentity(Model):
+ "consumer_key": {"key": "consumerKey", "type": "str"},
+ "consumer_secret_setting_name": {"key": "consumerSecretSettingName", "type": "str"},
+ }
+
+ def __init__(
+ self, *, consumer_key: Optional[str] = None, consumer_secret_setting_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword consumer_key: The OAuth 1.0a consumer key of the Twitter application used for sign-in.
+ This setting is required for enabling Twitter Sign-In.
+ Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in.
+ :paramtype consumer_key: str
+ :keyword consumer_secret_setting_name: The app setting name that contains the OAuth 1.0a
+ consumer secret of the Twitter
+ application used for sign-in.
+ :paramtype consumer_secret_setting_name: str
+ """
+ super().__init__(**kwargs)
+ self.consumer_key = consumer_key
+ self.consumer_secret_setting_name = consumer_secret_setting_name
+
+
+class UserAssignedIdentity(_serialization.Model):
"""User assigned identity properties.
- Variables are only populated by the server, and will be ignored when
- sending a request.
+ Variables are only populated by the server, and will be ignored when sending a request.
:ivar principal_id: The principal ID of the assigned identity.
:vartype principal_id: str
@@ -3368,154 +7681,331 @@ class UserAssignedIdentity(Model):
"""
_validation = {
- 'principal_id': {'readonly': True},
- 'client_id': {'readonly': True},
+ "principal_id": {"readonly": True},
+ "client_id": {"readonly": True},
}
_attribute_map = {
- 'principal_id': {'key': 'principalId', 'type': 'str'},
- 'client_id': {'key': 'clientId', 'type': 'str'},
+ "principal_id": {"key": "principalId", "type": "str"},
+ "client_id": {"key": "clientId", "type": "str"},
}
- def __init__(self, **kwargs):
- super(UserAssignedIdentity, self).__init__(**kwargs)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
self.principal_id = None
self.client_id = None
-class VnetConfiguration(Model):
+class VnetConfiguration(_serialization.Model):
"""Configuration properties for apps environment to join a Virtual Network.
- :param internal: Boolean indicating the environment only has an internal
- load balancer. These environments do not have a public static IP resource,
- must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if
- enabling this property
- :type internal: bool
- :param infrastructure_subnet_id: Resource ID of a subnet for
- infrastructure components. This subnet must be in the same VNET as the
- subnet defined in runtimeSubnetId. Must not overlap with any other
- provided IP ranges.
- :type infrastructure_subnet_id: str
- :param runtime_subnet_id: Resource ID of a subnet that Container App
- containers are injected into. This subnet must be in the same VNET as the
- subnet defined in infrastructureSubnetId. Must not overlap with any other
- provided IP ranges.
- :type runtime_subnet_id: str
- :param docker_bridge_cidr: CIDR notation IP range assigned to the Docker
- bridge, network. Must not overlap with any other provided IP ranges.
- :type docker_bridge_cidr: str
- :param platform_reserved_cidr: IP range in CIDR notation that can be
- reserved for environment infrastructure IP addresses. Must not overlap
- with any other provided IP ranges.
- :type platform_reserved_cidr: str
- :param platform_reserved_dns_ip: An IP address from the IP range defined
- by platformReservedCidr that will be reserved for the internal DNS server.
- :type platform_reserved_dns_ip: str
- """
-
- _attribute_map = {
- 'internal': {'key': 'internal', 'type': 'bool'},
- 'infrastructure_subnet_id': {'key': 'infrastructureSubnetId', 'type': 'str'},
- 'runtime_subnet_id': {'key': 'runtimeSubnetId', 'type': 'str'},
- 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'},
- 'platform_reserved_cidr': {'key': 'platformReservedCidr', 'type': 'str'},
- 'platform_reserved_dns_ip': {'key': 'platformReservedDnsIP', 'type': 'str'},
- }
-
- def __init__(self, **kwargs):
- super(VnetConfiguration, self).__init__(**kwargs)
- self.internal = kwargs.get('internal', None)
- self.infrastructure_subnet_id = kwargs.get('infrastructure_subnet_id', None)
- self.runtime_subnet_id = kwargs.get('runtime_subnet_id', None)
- self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', None)
- self.platform_reserved_cidr = kwargs.get('platform_reserved_cidr', None)
- self.platform_reserved_dns_ip = kwargs.get('platform_reserved_dns_ip', None)
-
-
-class Volume(Model):
+ :ivar internal: Boolean indicating the environment only has an internal load balancer. These
+ environments do not have a public static IP resource. They must provide infrastructureSubnetId
+ if enabling this property.
+ :vartype internal: bool
+ :ivar infrastructure_subnet_id: Resource ID of a subnet for infrastructure components. Must not
+ overlap with any other provided IP ranges.
+ :vartype infrastructure_subnet_id: str
+ :ivar docker_bridge_cidr: CIDR notation IP range assigned to the Docker bridge, network. Must
+ not overlap with any other provided IP ranges.
+ :vartype docker_bridge_cidr: str
+ :ivar platform_reserved_cidr: IP range in CIDR notation that can be reserved for environment
+ infrastructure IP addresses. Must not overlap with any other provided IP ranges.
+ :vartype platform_reserved_cidr: str
+ :ivar platform_reserved_dns_ip: An IP address from the IP range defined by platformReservedCidr
+ that will be reserved for the internal DNS server.
+ :vartype platform_reserved_dns_ip: str
+ """
+
+ _attribute_map = {
+ "internal": {"key": "internal", "type": "bool"},
+ "infrastructure_subnet_id": {"key": "infrastructureSubnetId", "type": "str"},
+ "docker_bridge_cidr": {"key": "dockerBridgeCidr", "type": "str"},
+ "platform_reserved_cidr": {"key": "platformReservedCidr", "type": "str"},
+ "platform_reserved_dns_ip": {"key": "platformReservedDnsIP", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ internal: Optional[bool] = None,
+ infrastructure_subnet_id: Optional[str] = None,
+ docker_bridge_cidr: Optional[str] = None,
+ platform_reserved_cidr: Optional[str] = None,
+ platform_reserved_dns_ip: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword internal: Boolean indicating the environment only has an internal load balancer. These
+ environments do not have a public static IP resource. They must provide infrastructureSubnetId
+ if enabling this property.
+ :paramtype internal: bool
+ :keyword infrastructure_subnet_id: Resource ID of a subnet for infrastructure components. Must
+ not overlap with any other provided IP ranges.
+ :paramtype infrastructure_subnet_id: str
+ :keyword docker_bridge_cidr: CIDR notation IP range assigned to the Docker bridge, network.
+ Must not overlap with any other provided IP ranges.
+ :paramtype docker_bridge_cidr: str
+ :keyword platform_reserved_cidr: IP range in CIDR notation that can be reserved for environment
+ infrastructure IP addresses. Must not overlap with any other provided IP ranges.
+ :paramtype platform_reserved_cidr: str
+ :keyword platform_reserved_dns_ip: An IP address from the IP range defined by
+ platformReservedCidr that will be reserved for the internal DNS server.
+ :paramtype platform_reserved_dns_ip: str
+ """
+ super().__init__(**kwargs)
+ self.internal = internal
+ self.infrastructure_subnet_id = infrastructure_subnet_id
+ self.docker_bridge_cidr = docker_bridge_cidr
+ self.platform_reserved_cidr = platform_reserved_cidr
+ self.platform_reserved_dns_ip = platform_reserved_dns_ip
+
+
+class Volume(_serialization.Model):
"""Volume definitions for the Container App.
- :param name: Volume name.
- :type name: str
- :param storage_type: Storage type for the volume. If not provided, use
- EmptyDir. Possible values include: 'AzureFile', 'EmptyDir'
- :type storage_type: str or ~commondefinitions.models.StorageType
- :param storage_name: Name of storage resource. No need to provide for
- EmptyDir.
- :type storage_name: str
+ :ivar name: Volume name.
+ :vartype name: str
+ :ivar storage_type: Storage type for the volume. If not provided, use EmptyDir. Known values
+ are: "AzureFile", "EmptyDir", and "Secret".
+ :vartype storage_type: str or ~azure.mgmt.appcontainers.models.StorageType
+ :ivar storage_name: Name of storage resource. No need to provide for EmptyDir and Secret.
+ :vartype storage_name: str
+ :ivar secrets: List of secrets to be added in volume. If no secrets are provided, all secrets
+ in collection will be added to volume.
+ :vartype secrets: list[~azure.mgmt.appcontainers.models.SecretVolumeItem]
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "storage_type": {"key": "storageType", "type": "str"},
+ "storage_name": {"key": "storageName", "type": "str"},
+ "secrets": {"key": "secrets", "type": "[SecretVolumeItem]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ storage_type: Optional[Union[str, "_models.StorageType"]] = None,
+ storage_name: Optional[str] = None,
+ secrets: Optional[List["_models.SecretVolumeItem"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Volume name.
+ :paramtype name: str
+ :keyword storage_type: Storage type for the volume. If not provided, use EmptyDir. Known values
+ are: "AzureFile", "EmptyDir", and "Secret".
+ :paramtype storage_type: str or ~azure.mgmt.appcontainers.models.StorageType
+ :keyword storage_name: Name of storage resource. No need to provide for EmptyDir and Secret.
+ :paramtype storage_name: str
+ :keyword secrets: List of secrets to be added in volume. If no secrets are provided, all
+ secrets in collection will be added to volume.
+ :paramtype secrets: list[~azure.mgmt.appcontainers.models.SecretVolumeItem]
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.storage_type = storage_type
+ self.storage_name = storage_name
+ self.secrets = secrets
+
+
+class VolumeMount(_serialization.Model):
+ """Volume mount for the Container App.
+
+ :ivar volume_name: This must match the Name of a Volume.
+ :vartype volume_name: str
+ :ivar mount_path: Path within the container at which the volume should be mounted.Must not
+ contain ':'.
+ :vartype mount_path: str
"""
_attribute_map = {
- 'name': {'key': 'name', 'type': 'str'},
- 'storage_type': {'key': 'storageType', 'type': 'str'},
- 'storage_name': {'key': 'storageName', 'type': 'str'},
+ "volume_name": {"key": "volumeName", "type": "str"},
+ "mount_path": {"key": "mountPath", "type": "str"},
}
- def __init__(self, **kwargs):
- super(Volume, self).__init__(**kwargs)
- self.name = kwargs.get('name', None)
- self.storage_type = kwargs.get('storage_type', None)
- self.storage_name = kwargs.get('storage_name', None)
+ def __init__(self, *, volume_name: Optional[str] = None, mount_path: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword volume_name: This must match the Name of a Volume.
+ :paramtype volume_name: str
+ :keyword mount_path: Path within the container at which the volume should be mounted.Must not
+ contain ':'.
+ :paramtype mount_path: str
+ """
+ super().__init__(**kwargs)
+ self.volume_name = volume_name
+ self.mount_path = mount_path
-class VolumeMount(Model):
- """Volume mount for the Container App.
+class WorkloadProfile(_serialization.Model):
+ """Workload profile to scope container app execution.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Workload profile type for the workloads to run on. Required.
+ :vartype name: str
+ :ivar workload_profile_type: Workload profile type for the workloads to run on. Required.
+ :vartype workload_profile_type: str
+ :ivar minimum_count: The minimum capacity.
+ :vartype minimum_count: int
+ :ivar maximum_count: The maximum capacity.
+ :vartype maximum_count: int
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "workload_profile_type": {"required": True},
+ }
- :param volume_name: This must match the Name of a Volume.
- :type volume_name: str
- :param mount_path: Path within the container at which the volume should be
- mounted.Must not contain ':'.
- :type mount_path: str
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "workload_profile_type": {"key": "workloadProfileType", "type": "str"},
+ "minimum_count": {"key": "minimumCount", "type": "int"},
+ "maximum_count": {"key": "maximumCount", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ workload_profile_type: str,
+ minimum_count: Optional[int] = None,
+ maximum_count: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Workload profile type for the workloads to run on. Required.
+ :paramtype name: str
+ :keyword workload_profile_type: Workload profile type for the workloads to run on. Required.
+ :paramtype workload_profile_type: str
+ :keyword minimum_count: The minimum capacity.
+ :paramtype minimum_count: int
+ :keyword maximum_count: The maximum capacity.
+ :paramtype maximum_count: int
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.workload_profile_type = workload_profile_type
+ self.minimum_count = minimum_count
+ self.maximum_count = maximum_count
+
+
+class WorkloadProfileStates(ProxyResource):
+ """Collection of all the workload Profile States for a Managed Environment..
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.appcontainers.models.SystemData
+ :ivar properties: Workload Profile resource specific properties.
+ :vartype properties: ~azure.mgmt.appcontainers.models.WorkloadProfileStatesProperties
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
_attribute_map = {
- 'volume_name': {'key': 'volumeName', 'type': 'str'},
- 'mount_path': {'key': 'mountPath', 'type': 'str'},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "properties": {"key": "properties", "type": "WorkloadProfileStatesProperties"},
}
- def __init__(self, **kwargs):
- super(VolumeMount, self).__init__(**kwargs)
- self.volume_name = kwargs.get('volume_name', None)
- self.mount_path = kwargs.get('mount_path', None)
+ def __init__(
+ self, *, properties: Optional["_models.WorkloadProfileStatesProperties"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword properties: Workload Profile resource specific properties.
+ :paramtype properties: ~azure.mgmt.appcontainers.models.WorkloadProfileStatesProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
-class CorsPolicy(Model):
- """Cross-Origin-Resource-Sharing policy.
+class WorkloadProfileStatesCollection(_serialization.Model):
+ """Collection of workloadProfileStates.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- :param allowed_origins: allowed origins. Required.
- :type allowed_origins: list[str]
- :param allowed_methods: allowed HTTP methods.
- :type allowed_methods: list[str]
- :param allowed_headers: allowed HTTP headers.
- :type allowed_headers: list[str]
- :param expose_headers: expose HTTP headers.
- :type expose_headers: list[str]
- :param max_age: max time client can cache the result.
- :type max_age: int
- :param allow_credentials: allow credential or not.
- :type allow_credentials: bool
+ :ivar value: Collection of resources. Required.
+ :vartype value: list[~azure.mgmt.appcontainers.models.WorkloadProfileStates]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
_validation = {
- 'allowed_origins': {'required': True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'},
- 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'},
- 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'},
- 'expose_headers': {'key': 'exposeHeaders', 'type': '[str]'},
- 'max_age': {'key': 'maxAge', 'type': 'int'},
- 'allow_credentials': {'key': 'allowCredentials', 'type': 'bool'},
+ "value": {"key": "value", "type": "[WorkloadProfileStates]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- super(CorsPolicy, self).__init__(**kwargs)
- self.allowed_origins = kwargs.get('allowed_origins', None)
- self.allowed_methods = kwargs.get('allowed_methods', None)
- self.allowed_headers = kwargs.get('allowed_headers', None)
- self.expose_headers = kwargs.get('expose_headers', None)
- self.max_age = kwargs.get('max_age', None)
- self.allow_credentials = kwargs.get('allow_credentials', None)
+ def __init__(self, *, value: List["_models.WorkloadProfileStates"], **kwargs: Any) -> None:
+ """
+ :keyword value: Collection of resources. Required.
+ :paramtype value: list[~azure.mgmt.appcontainers.models.WorkloadProfileStates]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class WorkloadProfileStatesProperties(_serialization.Model):
+ """Workload Profile resource specific properties.
+
+ :ivar minimum_count: Minimum count of instances.
+ :vartype minimum_count: int
+ :ivar maximum_count: Maximum count of nodes.
+ :vartype maximum_count: int
+ :ivar current_count: Current count of nodes.
+ :vartype current_count: int
+ """
+
+ _attribute_map = {
+ "minimum_count": {"key": "minimumCount", "type": "int"},
+ "maximum_count": {"key": "maximumCount", "type": "int"},
+ "current_count": {"key": "currentCount", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ minimum_count: Optional[int] = None,
+ maximum_count: Optional[int] = None,
+ current_count: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword minimum_count: Minimum count of instances.
+ :paramtype minimum_count: int
+ :keyword maximum_count: Maximum count of nodes.
+ :paramtype maximum_count: int
+ :keyword current_count: Current count of nodes.
+ :paramtype current_count: int
+ """
+ super().__init__(**kwargs)
+ self.minimum_count = minimum_count
+ self.maximum_count = maximum_count
+ self.current_count = current_count
diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py
index 1c4a78e3f39..06318a5abc9 100644
--- a/src/containerapp/azext_containerapp/custom.py
+++ b/src/containerapp/azext_containerapp/custom.py
@@ -94,16 +94,28 @@ def process_loaded_yaml(yaml_containerapp):
# Update (PATCH) ignores them so it's okay to remove them as well
yaml_containerapp['identity']['userAssignedIdentities'][identity] = {}
- nested_properties = ["provisioningState", "managedEnvironmentId", "environmentId", "latestRevisionName", "latestRevisionFqdn",
- "customDomainVerificationId", "configuration", "template", "outboundIPAddresses", "workloadProfileName"]
+ nested_properties = ["provisioningState",
+ "managedEnvironmentId",
+ "environmentId",
+ "latestRevisionName",
+ "latestRevisionFqdn",
+ "customDomainVerificationId",
+ "configuration",
+ "template",
+ "outboundIPAddresses",
+ "workloadProfileName",
+ "latestReadyRevisionName",
+ "eventStreamEndpoint"]
for nested_property in nested_properties:
tmp = yaml_containerapp.get(nested_property)
- if tmp:
+ if nested_property in yaml_containerapp:
yaml_containerapp['properties'][nested_property] = tmp
del yaml_containerapp[nested_property]
if "managedEnvironmentId" in yaml_containerapp['properties']:
- yaml_containerapp['properties']["environmentId"] = yaml_containerapp['properties']['managedEnvironmentId']
+ tmp = yaml_containerapp['properties']['managedEnvironmentId']
+ if tmp:
+ yaml_containerapp['properties']["environmentId"] = tmp
del yaml_containerapp['properties']['managedEnvironmentId']
return yaml_containerapp