# 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 .resource_py3 import Resource
[docs]class ContainerGroup(Resource):
"""A container group.
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: The resource id.
:vartype id: str
:ivar name: The resource name.
:vartype name: str
:ivar type: The resource type.
:vartype type: str
:param location: The resource location.
:type location: str
:param tags: The resource tags.
:type tags: dict[str, str]
:param identity: The identity of the container group, if configured.
:type identity:
~azure.mgmt.containerinstance.models.ContainerGroupIdentity
:ivar provisioning_state: The provisioning state of the container group.
This only appears in the response.
:vartype provisioning_state: str
:param containers: Required. The containers within the container group.
:type containers: list[~azure.mgmt.containerinstance.models.Container]
:param image_registry_credentials: The image registry credentials by which
the container group is created from.
:type image_registry_credentials:
list[~azure.mgmt.containerinstance.models.ImageRegistryCredential]
:param restart_policy: Restart policy for all containers within the
container group.
- `Always` Always restart
- `OnFailure` Restart on failure
- `Never` Never restart
. Possible values include: 'Always', 'OnFailure', 'Never'
:type restart_policy: str or
~azure.mgmt.containerinstance.models.ContainerGroupRestartPolicy
:param ip_address: The IP address type of the container group.
:type ip_address: ~azure.mgmt.containerinstance.models.IpAddress
:param os_type: Required. The operating system type required by the
containers in the container group. Possible values include: 'Windows',
'Linux'
:type os_type: str or
~azure.mgmt.containerinstance.models.OperatingSystemTypes
:param volumes: The list of volumes that can be mounted by containers in
this container group.
:type volumes: list[~azure.mgmt.containerinstance.models.Volume]
:ivar instance_view: The instance view of the container group. Only valid
in response.
:vartype instance_view:
~azure.mgmt.containerinstance.models.ContainerGroupPropertiesInstanceView
:param diagnostics: The diagnostic information for a container group.
:type diagnostics:
~azure.mgmt.containerinstance.models.ContainerGroupDiagnostics
:param network_profile: The network profile information for a container
group.
:type network_profile:
~azure.mgmt.containerinstance.models.ContainerGroupNetworkProfile
:param dns_config: The DNS config information for a container group.
:type dns_config: ~azure.mgmt.containerinstance.models.DnsConfiguration
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
'containers': {'required': True},
'os_type': {'required': True},
'instance_view': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ContainerGroupIdentity'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'containers': {'key': 'properties.containers', 'type': '[Container]'},
'image_registry_credentials': {'key': 'properties.imageRegistryCredentials', 'type': '[ImageRegistryCredential]'},
'restart_policy': {'key': 'properties.restartPolicy', 'type': 'str'},
'ip_address': {'key': 'properties.ipAddress', 'type': 'IpAddress'},
'os_type': {'key': 'properties.osType', 'type': 'str'},
'volumes': {'key': 'properties.volumes', 'type': '[Volume]'},
'instance_view': {'key': 'properties.instanceView', 'type': 'ContainerGroupPropertiesInstanceView'},
'diagnostics': {'key': 'properties.diagnostics', 'type': 'ContainerGroupDiagnostics'},
'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerGroupNetworkProfile'},
'dns_config': {'key': 'properties.dnsConfig', 'type': 'DnsConfiguration'},
}
def __init__(self, *, containers, os_type, location: str=None, tags=None, identity=None, image_registry_credentials=None, restart_policy=None, ip_address=None, volumes=None, diagnostics=None, network_profile=None, dns_config=None, **kwargs) -> None:
super(ContainerGroup, self).__init__(location=location, tags=tags, **kwargs)
self.identity = identity
self.provisioning_state = None
self.containers = containers
self.image_registry_credentials = image_registry_credentials
self.restart_policy = restart_policy
self.ip_address = ip_address
self.os_type = os_type
self.volumes = volumes
self.instance_view = None
self.diagnostics = diagnostics
self.network_profile = network_profile
self.dns_config = dns_config