# 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 msrest.serialization import Model
[docs]class Actor(Model):
"""The agent that initiated the event. For most situations, this could be from
the authorization context of the request.
:param name: The subject or username associated with the request context
that generated the event.
:type name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(self, *, name: str=None, **kwargs) -> None:
super(Actor, self).__init__(**kwargs)
self.name = name
[docs]class BaseImageDependency(Model):
"""Properties that describe a base image dependency.
:param type: The type of the base image dependency. Possible values
include: 'BuildTime', 'RunTime'
:type type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BaseImageDependencyType
:param registry: The registry login server.
:type registry: str
:param repository: The repository name.
:type repository: str
:param tag: The tag name.
:type tag: str
:param digest: The sha256-based digest of the image manifest.
:type digest: str
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'registry': {'key': 'registry', 'type': 'str'},
'repository': {'key': 'repository', 'type': 'str'},
'tag': {'key': 'tag', 'type': 'str'},
'digest': {'key': 'digest', 'type': 'str'},
}
def __init__(self, *, type=None, registry: str=None, repository: str=None, tag: str=None, digest: str=None, **kwargs) -> None:
super(BaseImageDependency, self).__init__(**kwargs)
self.type = type
self.registry = registry
self.repository = repository
self.tag = tag
self.digest = digest
[docs]class ProxyResource(Model):
"""The resource model definition for a ARM proxy resource. It will have
everything other than required location and tags.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The resource ID.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, **kwargs) -> None:
super(ProxyResource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[docs]class Build(ProxyResource):
"""Build resource properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The resource ID.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param build_id: The unique identifier for the build.
:type build_id: str
:param status: The current status of the build. Possible values include:
'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled',
'Error', 'Timeout'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildStatus
:param last_updated_time: The last updated time for the build.
:type last_updated_time: datetime
:param build_type: The type of build. Possible values include:
'AutoBuild', 'QuickBuild'
:type build_type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildType
:param create_time: The time the build was created.
:type create_time: datetime
:param start_time: The time the build started.
:type start_time: datetime
:param finish_time: The time the build finished.
:type finish_time: datetime
:param output_images: The list of all images that were generated from the
build.
:type output_images:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImageDescriptor]
:param build_task: The build task with which the build was started.
:type build_task: str
:param image_update_trigger: The image update trigger that caused the
build.
:type image_update_trigger:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImageUpdateTrigger
:param git_commit_trigger: The git commit trigger that caused the build.
:type git_commit_trigger:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.GitCommitTrigger
:param is_archive_enabled: The value that indicates whether archiving is
enabled or not. Default value: False .
:type is_archive_enabled: bool
:param platform: The platform properties against which the build will
happen.
:type platform:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PlatformProperties
:param provisioning_state: The provisioning state of a build. Possible
values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed',
'Canceled'
:type provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'build_id': {'key': 'properties.buildId', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'str'},
'last_updated_time': {'key': 'properties.lastUpdatedTime', 'type': 'iso-8601'},
'build_type': {'key': 'properties.buildType', 'type': 'str'},
'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'},
'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'},
'finish_time': {'key': 'properties.finishTime', 'type': 'iso-8601'},
'output_images': {'key': 'properties.outputImages', 'type': '[ImageDescriptor]'},
'build_task': {'key': 'properties.buildTask', 'type': 'str'},
'image_update_trigger': {'key': 'properties.imageUpdateTrigger', 'type': 'ImageUpdateTrigger'},
'git_commit_trigger': {'key': 'properties.gitCommitTrigger', 'type': 'GitCommitTrigger'},
'is_archive_enabled': {'key': 'properties.isArchiveEnabled', 'type': 'bool'},
'platform': {'key': 'properties.platform', 'type': 'PlatformProperties'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, build_id: str=None, status=None, last_updated_time=None, build_type=None, create_time=None, start_time=None, finish_time=None, output_images=None, build_task: str=None, image_update_trigger=None, git_commit_trigger=None, is_archive_enabled: bool=False, platform=None, provisioning_state=None, **kwargs) -> None:
super(Build, self).__init__(**kwargs)
self.build_id = build_id
self.status = status
self.last_updated_time = last_updated_time
self.build_type = build_type
self.create_time = create_time
self.start_time = start_time
self.finish_time = finish_time
self.output_images = output_images
self.build_task = build_task
self.image_update_trigger = image_update_trigger
self.git_commit_trigger = git_commit_trigger
self.is_archive_enabled = is_archive_enabled
self.platform = platform
self.provisioning_state = provisioning_state
[docs]class BuildArgument(Model):
"""Properties of a build argument.
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 type: Required. The type of the argument. Default value:
"DockerBuildArgument" .
:vartype type: str
:param name: Required. The name of the argument.
:type name: str
:param value: Required. The value of the argument.
:type value: str
:param is_secret: Flag to indicate whether the argument represents a
secret and want to be removed from build logs. Default value: False .
:type is_secret: bool
"""
_validation = {
'type': {'required': True, 'constant': True},
'name': {'required': True},
'value': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'value': {'key': 'value', 'type': 'str'},
'is_secret': {'key': 'isSecret', 'type': 'bool'},
}
type = "DockerBuildArgument"
def __init__(self, *, name: str, value: str, is_secret: bool=False, **kwargs) -> None:
super(BuildArgument, self).__init__(**kwargs)
self.name = name
self.value = value
self.is_secret = is_secret
[docs]class BuildFilter(Model):
"""Properties that are enabled for Odata querying.
:param build_id: The unique identifier for the build.
:type build_id: str
:param build_type: The type of build. Possible values include:
'AutoBuild', 'QuickBuild'
:type build_type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildType
:param status: The current status of the build. Possible values include:
'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled',
'Error', 'Timeout'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildStatus
:param create_time: The create time for a build.
:type create_time: datetime
:param finish_time: The time the build finished.
:type finish_time: datetime
:param output_image_manifests: The list of comma-separated image manifests
that were generated from the build.
:type output_image_manifests: str
:param is_archive_enabled: The value that indicates whether archiving is
enabled or not.
:type is_archive_enabled: bool
:param build_task_name: The name of the build task that the build
corresponds to.
:type build_task_name: str
"""
_attribute_map = {
'build_id': {'key': 'buildId', 'type': 'str'},
'build_type': {'key': 'buildType', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'create_time': {'key': 'createTime', 'type': 'iso-8601'},
'finish_time': {'key': 'finishTime', 'type': 'iso-8601'},
'output_image_manifests': {'key': 'outputImageManifests', 'type': 'str'},
'is_archive_enabled': {'key': 'isArchiveEnabled', 'type': 'bool'},
'build_task_name': {'key': 'buildTaskName', 'type': 'str'},
}
def __init__(self, *, build_id: str=None, build_type=None, status=None, create_time=None, finish_time=None, output_image_manifests: str=None, is_archive_enabled: bool=None, build_task_name: str=None, **kwargs) -> None:
super(BuildFilter, self).__init__(**kwargs)
self.build_id = build_id
self.build_type = build_type
self.status = status
self.create_time = create_time
self.finish_time = finish_time
self.output_image_manifests = output_image_manifests
self.is_archive_enabled = is_archive_enabled
self.build_task_name = build_task_name
[docs]class BuildGetLogResult(Model):
"""The result of get log link operation.
:param log_link: The link to logs for a azure container registry build.
:type log_link: str
"""
_attribute_map = {
'log_link': {'key': 'logLink', 'type': 'str'},
}
def __init__(self, *, log_link: str=None, **kwargs) -> None:
super(BuildGetLogResult, self).__init__(**kwargs)
self.log_link = log_link
[docs]class BuildStep(ProxyResource):
"""Build step resource properties.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar id: The resource ID.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param properties: The properties of a build step.
:type properties:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildStepProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BuildStepProperties'},
}
def __init__(self, *, properties=None, **kwargs) -> None:
super(BuildStep, self).__init__(**kwargs)
self.properties = properties
[docs]class BuildStepProperties(Model):
"""Base properties for any build step.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: DockerBuildStep
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 provisioning_state: The provisioning state of the build step.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
:param type: Required. Constant filled by server.
:type type: str
"""
_validation = {
'provisioning_state': {'readonly': True},
'type': {'required': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
_subtype_map = {
'type': {'Docker': 'DockerBuildStep'}
}
def __init__(self, **kwargs) -> None:
super(BuildStepProperties, self).__init__(**kwargs)
self.provisioning_state = None
self.type = None
[docs]class BuildStepPropertiesUpdateParameters(Model):
"""The properties for updating a build step.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: DockerBuildStepUpdateParameters
All required parameters must be populated in order to send to Azure.
:param type: Required. Constant filled by server.
:type type: str
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
}
_subtype_map = {
'type': {'Docker': 'DockerBuildStepUpdateParameters'}
}
def __init__(self, **kwargs) -> None:
super(BuildStepPropertiesUpdateParameters, self).__init__(**kwargs)
self.type = None
[docs]class BuildStepUpdateParameters(Model):
"""The parameters for updating a build step.
:param properties: The properties for updating a build step.
:type properties:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildStepPropertiesUpdateParameters
:param tags: The ARM resource tags.
:type tags: dict[str, str]
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'BuildStepPropertiesUpdateParameters'},
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, properties=None, tags=None, **kwargs) -> None:
super(BuildStepUpdateParameters, self).__init__(**kwargs)
self.properties = properties
self.tags = tags
[docs]class Resource(Model):
"""An Azure 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 id: The resource ID.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param location: Required. The location of the resource. This cannot be
changed after the resource is created.
:type location: str
:param tags: The tags of the resource.
:type tags: dict[str, str]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
}
def __init__(self, *, location: str, tags=None, **kwargs) -> None:
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.location = location
self.tags = tags
[docs]class BuildTask(Resource):
"""The build task that has the resource properties and all build items. The
build task will have all information to schedule a build against it.
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 name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param location: Required. The location of the resource. This cannot be
changed after the resource is created.
:type location: str
:param tags: The tags of the resource.
:type tags: dict[str, str]
:ivar provisioning_state: The provisioning state of the build task.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
:ivar creation_date: The creation date of build task.
:vartype creation_date: datetime
:param alias: Required. The alternative updatable name for a build task.
:type alias: str
:param status: The current status of build task. Possible values include:
'Disabled', 'Enabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildTaskStatus
:param source_repository: Required. The properties that describes the
source(code) for the build task.
:type source_repository:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SourceRepositoryProperties
:param platform: Required. The platform properties against which the build
has to happen.
:type platform:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PlatformProperties
:param timeout: Build timeout in seconds. Default value: 3600 .
:type timeout: int
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'provisioning_state': {'readonly': True},
'creation_date': {'readonly': True},
'alias': {'required': True},
'source_repository': {'required': True},
'platform': {'required': True},
'timeout': {'maximum': 28800, 'minimum': 300},
}
_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}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
'alias': {'key': 'properties.alias', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'str'},
'source_repository': {'key': 'properties.sourceRepository', 'type': 'SourceRepositoryProperties'},
'platform': {'key': 'properties.platform', 'type': 'PlatformProperties'},
'timeout': {'key': 'properties.timeout', 'type': 'int'},
}
def __init__(self, *, location: str, alias: str, source_repository, platform, tags=None, status=None, timeout: int=3600, **kwargs) -> None:
super(BuildTask, self).__init__(location=location, tags=tags, **kwargs)
self.provisioning_state = None
self.creation_date = None
self.alias = alias
self.status = status
self.source_repository = source_repository
self.platform = platform
self.timeout = timeout
[docs]class QueueBuildRequest(Model):
"""The queue build request parameters.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: BuildTaskBuildRequest, QuickBuildRequest
All required parameters must be populated in order to send to Azure.
:param type: Required. Constant filled by server.
:type type: str
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
}
_subtype_map = {
'type': {'BuildTask': 'BuildTaskBuildRequest', 'QuickBuild': 'QuickBuildRequest'}
}
def __init__(self, **kwargs) -> None:
super(QueueBuildRequest, self).__init__(**kwargs)
self.type = None
[docs]class BuildTaskBuildRequest(QueueBuildRequest):
"""The queue build parameters based on a build task.
All required parameters must be populated in order to send to Azure.
:param type: Required. Constant filled by server.
:type type: str
:param build_task_name: Required. The name of build task against which
build has to be queued.
:type build_task_name: str
"""
_validation = {
'type': {'required': True},
'build_task_name': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'build_task_name': {'key': 'buildTaskName', 'type': 'str'},
}
def __init__(self, *, build_task_name: str, **kwargs) -> None:
super(BuildTaskBuildRequest, self).__init__(**kwargs)
self.build_task_name = build_task_name
self.type = 'BuildTask'
[docs]class BuildTaskFilter(Model):
"""The filter that can be used for listing build tasks.
:param alias: The alternative name for build task.
:type alias: str
"""
_attribute_map = {
'alias': {'key': 'alias', 'type': 'str'},
}
def __init__(self, *, alias: str=None, **kwargs) -> None:
super(BuildTaskFilter, self).__init__(**kwargs)
self.alias = alias
[docs]class BuildTaskUpdateParameters(Model):
"""The parameters for updating a build task.
:param alias: The alternative updatable name for a build task.
:type alias: str
:param status: The current status of build task. Possible values include:
'Disabled', 'Enabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildTaskStatus
:param platform: The platform properties against which the build has to
happen.
:type platform:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PlatformProperties
:param timeout: Build timeout in seconds.
:type timeout: int
:param source_repository: The properties that describes the source(code)
for the build task.
:type source_repository:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SourceRepositoryUpdateParameters
:param tags: The ARM resource tags.
:type tags: dict[str, str]
"""
_validation = {
'timeout': {'maximum': 28800, 'minimum': 300},
}
_attribute_map = {
'alias': {'key': 'properties.alias', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'str'},
'platform': {'key': 'properties.platform', 'type': 'PlatformProperties'},
'timeout': {'key': 'properties.timeout', 'type': 'int'},
'source_repository': {'key': 'properties.sourceRepository', 'type': 'SourceRepositoryUpdateParameters'},
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, alias: str=None, status=None, platform=None, timeout: int=None, source_repository=None, tags=None, **kwargs) -> None:
super(BuildTaskUpdateParameters, self).__init__(**kwargs)
self.alias = alias
self.status = status
self.platform = platform
self.timeout = timeout
self.source_repository = source_repository
self.tags = tags
[docs]class BuildUpdateParameters(Model):
"""The set of build properties that can be updated.
:param is_archive_enabled: The value that indicates whether archiving is
enabled or not.
:type is_archive_enabled: bool
"""
_attribute_map = {
'is_archive_enabled': {'key': 'isArchiveEnabled', 'type': 'bool'},
}
def __init__(self, *, is_archive_enabled: bool=None, **kwargs) -> None:
super(BuildUpdateParameters, self).__init__(**kwargs)
self.is_archive_enabled = is_archive_enabled
[docs]class CallbackConfig(Model):
"""The configuration of service URI and custom headers for the webhook.
All required parameters must be populated in order to send to Azure.
:param service_uri: Required. The service URI for the webhook to post
notifications.
:type service_uri: str
:param custom_headers: Custom headers that will be added to the webhook
notifications.
:type custom_headers: dict[str, str]
"""
_validation = {
'service_uri': {'required': True},
}
_attribute_map = {
'service_uri': {'key': 'serviceUri', 'type': 'str'},
'custom_headers': {'key': 'customHeaders', 'type': '{str}'},
}
def __init__(self, *, service_uri: str, custom_headers=None, **kwargs) -> None:
super(CallbackConfig, self).__init__(**kwargs)
self.service_uri = service_uri
self.custom_headers = custom_headers
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class DockerBuildStep(BuildStepProperties):
"""The Docker build step.
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 provisioning_state: The provisioning state of the build step.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
:param type: Required. Constant filled by server.
:type type: str
:param branch: The repository branch name.
:type branch: str
:param image_names: The fully qualified image names including the
repository and tag.
:type image_names: list[str]
:param is_push_enabled: The value of this property indicates whether the
image built should be pushed to the registry or not. Default value: True .
:type is_push_enabled: bool
:param no_cache: The value of this property indicates whether the image
cache is enabled or not. Default value: False .
:type no_cache: bool
:param docker_file_path: The Docker file path relative to the source
control root.
:type docker_file_path: str
:param context_path: The relative context path for a docker build in the
source.
:type context_path: str
:param build_arguments: The custom arguments for building this build step.
:type build_arguments:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildArgument]
:ivar base_image_dependencies: List of base image dependencies for a step.
:vartype base_image_dependencies:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.BaseImageDependency]
:param base_image_trigger: The type of the auto trigger for base image
dependency updates. Possible values include: 'All', 'Runtime', 'None'
:type base_image_trigger: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BaseImageTriggerType
"""
_validation = {
'provisioning_state': {'readonly': True},
'type': {'required': True},
'base_image_dependencies': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'branch': {'key': 'branch', 'type': 'str'},
'image_names': {'key': 'imageNames', 'type': '[str]'},
'is_push_enabled': {'key': 'isPushEnabled', 'type': 'bool'},
'no_cache': {'key': 'noCache', 'type': 'bool'},
'docker_file_path': {'key': 'dockerFilePath', 'type': 'str'},
'context_path': {'key': 'contextPath', 'type': 'str'},
'build_arguments': {'key': 'buildArguments', 'type': '[BuildArgument]'},
'base_image_dependencies': {'key': 'baseImageDependencies', 'type': '[BaseImageDependency]'},
'base_image_trigger': {'key': 'baseImageTrigger', 'type': 'str'},
}
def __init__(self, *, branch: str=None, image_names=None, is_push_enabled: bool=True, no_cache: bool=False, docker_file_path: str=None, context_path: str=None, build_arguments=None, base_image_trigger=None, **kwargs) -> None:
super(DockerBuildStep, self).__init__(**kwargs)
self.branch = branch
self.image_names = image_names
self.is_push_enabled = is_push_enabled
self.no_cache = no_cache
self.docker_file_path = docker_file_path
self.context_path = context_path
self.build_arguments = build_arguments
self.base_image_dependencies = None
self.base_image_trigger = base_image_trigger
self.type = 'Docker'
[docs]class DockerBuildStepUpdateParameters(BuildStepPropertiesUpdateParameters):
"""The properties for updating a docker build step.
All required parameters must be populated in order to send to Azure.
:param type: Required. Constant filled by server.
:type type: str
:param branch: The repository branch name.
:type branch: str
:param image_names: The fully qualified image names including the
repository and tag.
:type image_names: list[str]
:param is_push_enabled: The value of this property indicates whether the
image built should be pushed to the registry or not.
:type is_push_enabled: bool
:param no_cache: The value of this property indicates whether the image
cache is enabled or not.
:type no_cache: bool
:param docker_file_path: The Docker file path relative to the source
control root.
:type docker_file_path: str
:param context_path: The relative context path for a docker build in the
source.
:type context_path: str
:param build_arguments: The custom arguments for building this build step.
:type build_arguments:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildArgument]
:param base_image_trigger: The type of the auto trigger for base image
dependency updates. Possible values include: 'All', 'Runtime', 'None'
:type base_image_trigger: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.BaseImageTriggerType
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'branch': {'key': 'branch', 'type': 'str'},
'image_names': {'key': 'imageNames', 'type': '[str]'},
'is_push_enabled': {'key': 'isPushEnabled', 'type': 'bool'},
'no_cache': {'key': 'noCache', 'type': 'bool'},
'docker_file_path': {'key': 'dockerFilePath', 'type': 'str'},
'context_path': {'key': 'contextPath', 'type': 'str'},
'build_arguments': {'key': 'buildArguments', 'type': '[BuildArgument]'},
'base_image_trigger': {'key': 'baseImageTrigger', 'type': 'str'},
}
def __init__(self, *, branch: str=None, image_names=None, is_push_enabled: bool=None, no_cache: bool=None, docker_file_path: str=None, context_path: str=None, build_arguments=None, base_image_trigger=None, **kwargs) -> None:
super(DockerBuildStepUpdateParameters, self).__init__(**kwargs)
self.branch = branch
self.image_names = image_names
self.is_push_enabled = is_push_enabled
self.no_cache = no_cache
self.docker_file_path = docker_file_path
self.context_path = context_path
self.build_arguments = build_arguments
self.base_image_trigger = base_image_trigger
self.type = 'Docker'
[docs]class EventInfo(Model):
"""The basic information of an event.
:param id: The event ID.
:type id: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(self, *, id: str=None, **kwargs) -> None:
super(EventInfo, self).__init__(**kwargs)
self.id = id
[docs]class Event(EventInfo):
"""The event for a webhook.
:param id: The event ID.
:type id: str
:param event_request_message: The event request message sent to the
service URI.
:type event_request_message:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.EventRequestMessage
:param event_response_message: The event response message received from
the service URI.
:type event_response_message:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.EventResponseMessage
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'event_request_message': {'key': 'eventRequestMessage', 'type': 'EventRequestMessage'},
'event_response_message': {'key': 'eventResponseMessage', 'type': 'EventResponseMessage'},
}
def __init__(self, *, id: str=None, event_request_message=None, event_response_message=None, **kwargs) -> None:
super(Event, self).__init__(id=id, **kwargs)
self.event_request_message = event_request_message
self.event_response_message = event_response_message
[docs]class EventContent(Model):
"""The content of the event request message.
:param id: The event ID.
:type id: str
:param timestamp: The time at which the event occurred.
:type timestamp: datetime
:param action: The action that encompasses the provided event.
:type action: str
:param target: The target of the event.
:type target:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Target
:param request: The request that generated the event.
:type request:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Request
:param actor: The agent that initiated the event. For most situations,
this could be from the authorization context of the request.
:type actor:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Actor
:param source: The registry node that generated the event. Put
differently, while the actor initiates the event, the source generates it.
:type source:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Source
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'action': {'key': 'action', 'type': 'str'},
'target': {'key': 'target', 'type': 'Target'},
'request': {'key': 'request', 'type': 'Request'},
'actor': {'key': 'actor', 'type': 'Actor'},
'source': {'key': 'source', 'type': 'Source'},
}
def __init__(self, *, id: str=None, timestamp=None, action: str=None, target=None, request=None, actor=None, source=None, **kwargs) -> None:
super(EventContent, self).__init__(**kwargs)
self.id = id
self.timestamp = timestamp
self.action = action
self.target = target
self.request = request
self.actor = actor
self.source = source
[docs]class EventRequestMessage(Model):
"""The event request message sent to the service URI.
:param content: The content of the event request message.
:type content:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.EventContent
:param headers: The headers of the event request message.
:type headers: dict[str, str]
:param method: The HTTP method used to send the event request message.
:type method: str
:param request_uri: The URI used to send the event request message.
:type request_uri: str
:param version: The HTTP message version.
:type version: str
"""
_attribute_map = {
'content': {'key': 'content', 'type': 'EventContent'},
'headers': {'key': 'headers', 'type': '{str}'},
'method': {'key': 'method', 'type': 'str'},
'request_uri': {'key': 'requestUri', 'type': 'str'},
'version': {'key': 'version', 'type': 'str'},
}
def __init__(self, *, content=None, headers=None, method: str=None, request_uri: str=None, version: str=None, **kwargs) -> None:
super(EventRequestMessage, self).__init__(**kwargs)
self.content = content
self.headers = headers
self.method = method
self.request_uri = request_uri
self.version = version
[docs]class EventResponseMessage(Model):
"""The event response message received from the service URI.
:param content: The content of the event response message.
:type content: str
:param headers: The headers of the event response message.
:type headers: dict[str, str]
:param reason_phrase: The reason phrase of the event response message.
:type reason_phrase: str
:param status_code: The status code of the event response message.
:type status_code: str
:param version: The HTTP message version.
:type version: str
"""
_attribute_map = {
'content': {'key': 'content', 'type': 'str'},
'headers': {'key': 'headers', 'type': '{str}'},
'reason_phrase': {'key': 'reasonPhrase', 'type': 'str'},
'status_code': {'key': 'statusCode', 'type': 'str'},
'version': {'key': 'version', 'type': 'str'},
}
def __init__(self, *, content: str=None, headers=None, reason_phrase: str=None, status_code: str=None, version: str=None, **kwargs) -> None:
super(EventResponseMessage, self).__init__(**kwargs)
self.content = content
self.headers = headers
self.reason_phrase = reason_phrase
self.status_code = status_code
self.version = version
[docs]class GitCommitTrigger(Model):
"""The git commit trigger that caused a build.
:param id: The unique ID of the trigger.
:type id: str
:param commit_id: The unique ID that identifies a commit.
:type commit_id: str
:param repository_url: The repository URL.
:type repository_url: str
:param branch_name: The branch name in the repository.
:type branch_name: str
:param provider_type: The source control provider type.
:type provider_type: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'commit_id': {'key': 'commitId', 'type': 'str'},
'repository_url': {'key': 'repositoryUrl', 'type': 'str'},
'branch_name': {'key': 'branchName', 'type': 'str'},
'provider_type': {'key': 'providerType', 'type': 'str'},
}
def __init__(self, *, id: str=None, commit_id: str=None, repository_url: str=None, branch_name: str=None, provider_type: str=None, **kwargs) -> None:
super(GitCommitTrigger, self).__init__(**kwargs)
self.id = id
self.commit_id = commit_id
self.repository_url = repository_url
self.branch_name = branch_name
self.provider_type = provider_type
[docs]class ImageDescriptor(Model):
"""Properties for a registry image.
:param registry: The registry login server.
:type registry: str
:param repository: The repository name.
:type repository: str
:param tag: The tag name.
:type tag: str
:param digest: The sha256-based digest of the image manifest.
:type digest: str
"""
_attribute_map = {
'registry': {'key': 'registry', 'type': 'str'},
'repository': {'key': 'repository', 'type': 'str'},
'tag': {'key': 'tag', 'type': 'str'},
'digest': {'key': 'digest', 'type': 'str'},
}
def __init__(self, *, registry: str=None, repository: str=None, tag: str=None, digest: str=None, **kwargs) -> None:
super(ImageDescriptor, self).__init__(**kwargs)
self.registry = registry
self.repository = repository
self.tag = tag
self.digest = digest
[docs]class ImageUpdateTrigger(Model):
"""The image update trigger that caused a build.
:param id: The unique ID of the trigger.
:type id: str
:param timestamp: The timestamp when the image update happened.
:type timestamp: datetime
:param images: The list of image updates that caused the build.
:type images:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImageDescriptor]
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'images': {'key': 'images', 'type': '[ImageDescriptor]'},
}
def __init__(self, *, id: str=None, timestamp=None, images=None, **kwargs) -> None:
super(ImageUpdateTrigger, self).__init__(**kwargs)
self.id = id
self.timestamp = timestamp
self.images = images
[docs]class ImportImageParameters(Model):
"""ImportImageParameters.
All required parameters must be populated in order to send to Azure.
:param source: Required. The source of the image.
:type source:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImportSource
:param target_tags: List of strings of the form repo[:tag]. When tag is
omitted the source will be used (or 'latest' if source tag is also
omitted).
:type target_tags: list[str]
:param untagged_target_repositories: List of strings of repository names
to do a manifest only copy. No tag will be created.
:type untagged_target_repositories: list[str]
:param mode: When Force, any existing target tags will be overwritten.
When NoForce, any existing target tags will fail the operation before any
copying begins. Possible values include: 'NoForce', 'Force'. Default
value: "NoForce" .
:type mode: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImportMode
"""
_validation = {
'source': {'required': True},
}
_attribute_map = {
'source': {'key': 'source', 'type': 'ImportSource'},
'target_tags': {'key': 'targetTags', 'type': '[str]'},
'untagged_target_repositories': {'key': 'untaggedTargetRepositories', 'type': '[str]'},
'mode': {'key': 'mode', 'type': 'str'},
}
def __init__(self, *, source, target_tags=None, untagged_target_repositories=None, mode="NoForce", **kwargs) -> None:
super(ImportImageParameters, self).__init__(**kwargs)
self.source = source
self.target_tags = target_tags
self.untagged_target_repositories = untagged_target_repositories
self.mode = mode
[docs]class ImportSource(Model):
"""ImportSource.
All required parameters must be populated in order to send to Azure.
:param resource_id: The resource identifier of the source Azure Container
Registry.
:type resource_id: str
:param registry_uri: The address of the source registry (e.g.
'mcr.microsoft.com').
:type registry_uri: str
:param credentials: Credentials used when importing from a registry uri.
:type credentials:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ImportSourceCredentials
:param source_image: Required. Repository name of the source image.
Specify an image by repository ('hello-world'). This will use the 'latest'
tag.
Specify an image by tag ('hello-world:latest').
Specify an image by sha256-based manifest digest
('hello-world@sha256:abc123').
:type source_image: str
"""
_validation = {
'source_image': {'required': True},
}
_attribute_map = {
'resource_id': {'key': 'resourceId', 'type': 'str'},
'registry_uri': {'key': 'registryUri', 'type': 'str'},
'credentials': {'key': 'credentials', 'type': 'ImportSourceCredentials'},
'source_image': {'key': 'sourceImage', 'type': 'str'},
}
def __init__(self, *, source_image: str, resource_id: str=None, registry_uri: str=None, credentials=None, **kwargs) -> None:
super(ImportSource, self).__init__(**kwargs)
self.resource_id = resource_id
self.registry_uri = registry_uri
self.credentials = credentials
self.source_image = source_image
[docs]class ImportSourceCredentials(Model):
"""ImportSourceCredentials.
All required parameters must be populated in order to send to Azure.
:param username: The username to authenticate with the source registry.
:type username: str
:param password: Required. The password used to authenticate with the
source registry.
:type password: str
"""
_validation = {
'password': {'required': True},
}
_attribute_map = {
'username': {'key': 'username', 'type': 'str'},
'password': {'key': 'password', 'type': 'str'},
}
def __init__(self, *, password: str, username: str=None, **kwargs) -> None:
super(ImportSourceCredentials, self).__init__(**kwargs)
self.username = username
self.password = password
[docs]class IPRule(Model):
"""IP rule with specific IP or IP range in CIDR format.
All required parameters must be populated in order to send to Azure.
:param action: The action of IP ACL rule. Possible values include:
'Allow'. Default value: "Allow" .
:type action: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Action
:param ip_address_or_range: Required. Specifies the IP or IP range in CIDR
format. Only IPV4 address is allowed.
:type ip_address_or_range: str
"""
_validation = {
'ip_address_or_range': {'required': True},
}
_attribute_map = {
'action': {'key': 'action', 'type': 'str'},
'ip_address_or_range': {'key': 'value', 'type': 'str'},
}
def __init__(self, *, ip_address_or_range: str, action="Allow", **kwargs) -> None:
super(IPRule, self).__init__(**kwargs)
self.action = action
self.ip_address_or_range = ip_address_or_range
[docs]class NetworkRuleSet(Model):
"""The network rule set for a container registry.
All required parameters must be populated in order to send to Azure.
:param default_action: Required. The default action of allow or deny when
no other rules match. Possible values include: 'Allow', 'Deny'. Default
value: "Allow" .
:type default_action: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.DefaultAction
:param virtual_network_rules: The virtual network rules.
:type virtual_network_rules:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.VirtualNetworkRule]
:param ip_rules: The IP ACL rules.
:type ip_rules:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.IPRule]
"""
_validation = {
'default_action': {'required': True},
}
_attribute_map = {
'default_action': {'key': 'defaultAction', 'type': 'str'},
'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'},
}
def __init__(self, *, default_action="Allow", virtual_network_rules=None, ip_rules=None, **kwargs) -> None:
super(NetworkRuleSet, self).__init__(**kwargs)
self.default_action = default_action
self.virtual_network_rules = virtual_network_rules
self.ip_rules = ip_rules
[docs]class OperationDefinition(Model):
"""The definition of a container registry operation.
:param origin: The origin information of the container registry operation.
:type origin: str
:param name: Operation name: {provider}/{resource}/{operation}.
:type name: str
:param display: The display information for the container registry
operation.
:type display:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.OperationDisplayDefinition
:param service_specification: The definition of Azure Monitoring service.
:type service_specification:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.OperationServiceSpecificationDefinition
"""
_attribute_map = {
'origin': {'key': 'origin', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationDisplayDefinition'},
'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationServiceSpecificationDefinition'},
}
def __init__(self, *, origin: str=None, name: str=None, display=None, service_specification=None, **kwargs) -> None:
super(OperationDefinition, self).__init__(**kwargs)
self.origin = origin
self.name = name
self.display = display
self.service_specification = service_specification
[docs]class OperationDisplayDefinition(Model):
"""The display information for a container registry operation.
:param provider: The resource provider name: Microsoft.ContainerRegistry.
:type provider: str
:param resource: The resource on which the operation is performed.
:type resource: str
:param operation: The operation that users can perform.
:type operation: str
:param description: The description for the operation.
:type 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, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None:
super(OperationDisplayDefinition, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class OperationMetricSpecificationDefinition(Model):
"""The definition of Azure Monitoring metric.
:param name: Metric name.
:type name: str
:param display_name: Metric display name.
:type display_name: str
:param display_description: Metric description.
:type display_description: str
:param unit: Metric unit.
:type unit: str
:param aggregation_type: Metric aggregation type.
:type aggregation_type: str
:param internal_metric_name: Internal metric name.
:type internal_metric_name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display_name': {'key': 'displayName', 'type': 'str'},
'display_description': {'key': 'displayDescription', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'aggregation_type': {'key': 'aggregationType', 'type': 'str'},
'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'},
}
def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, internal_metric_name: str=None, **kwargs) -> None:
super(OperationMetricSpecificationDefinition, self).__init__(**kwargs)
self.name = name
self.display_name = display_name
self.display_description = display_description
self.unit = unit
self.aggregation_type = aggregation_type
self.internal_metric_name = internal_metric_name
[docs]class OperationServiceSpecificationDefinition(Model):
"""The definition of Azure Monitoring metrics list.
:param metric_specifications: A list of Azure Monitoring metrics
definition.
:type metric_specifications:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.OperationMetricSpecificationDefinition]
"""
_attribute_map = {
'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetricSpecificationDefinition]'},
}
def __init__(self, *, metric_specifications=None, **kwargs) -> None:
super(OperationServiceSpecificationDefinition, self).__init__(**kwargs)
self.metric_specifications = metric_specifications
[docs]class QuarantinePolicy(Model):
"""An object that represents quarantine policy for a container registry.
:param status: The value that indicates whether the policy is enabled or
not. Possible values include: 'enabled', 'disabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PolicyStatus
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, status=None, **kwargs) -> None:
super(QuarantinePolicy, self).__init__(**kwargs)
self.status = status
[docs]class QuickBuildRequest(QueueBuildRequest):
"""The queue build request parameters for a quick build.
All required parameters must be populated in order to send to Azure.
:param type: Required. Constant filled by server.
:type type: str
:param image_names: The fully qualified image names including the
repository and tag.
:type image_names: list[str]
:param source_location: Required. The URL(absolute or relative) of the
source that needs to be built. For Docker build, it can be an URL to a tar
or github repository as supported by Docker.
If it is relative URL, the relative path should be obtained from calling
getSourceUploadUrl API.
:type source_location: str
:param build_arguments: The collection of build arguments to be used.
:type build_arguments:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.BuildArgument]
:param is_push_enabled: The value of this property indicates whether the
image built should be pushed to the registry or not. Default value: True .
:type is_push_enabled: bool
:param no_cache: The value of this property indicates whether the image
cache is enabled or not. Default value: False .
:type no_cache: bool
:param timeout: Build timeout in seconds. Default value: 3600 .
:type timeout: int
:param platform: Required. The platform properties against which the build
will happen.
:type platform:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PlatformProperties
:param docker_file_path: Required. The Docker file path relative to the
source location.
:type docker_file_path: str
"""
_validation = {
'type': {'required': True},
'source_location': {'required': True},
'timeout': {'maximum': 28800, 'minimum': 300},
'platform': {'required': True},
'docker_file_path': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'image_names': {'key': 'imageNames', 'type': '[str]'},
'source_location': {'key': 'sourceLocation', 'type': 'str'},
'build_arguments': {'key': 'buildArguments', 'type': '[BuildArgument]'},
'is_push_enabled': {'key': 'isPushEnabled', 'type': 'bool'},
'no_cache': {'key': 'noCache', 'type': 'bool'},
'timeout': {'key': 'timeout', 'type': 'int'},
'platform': {'key': 'platform', 'type': 'PlatformProperties'},
'docker_file_path': {'key': 'dockerFilePath', 'type': 'str'},
}
def __init__(self, *, source_location: str, platform, docker_file_path: str, image_names=None, build_arguments=None, is_push_enabled: bool=True, no_cache: bool=False, timeout: int=3600, **kwargs) -> None:
super(QuickBuildRequest, self).__init__(**kwargs)
self.image_names = image_names
self.source_location = source_location
self.build_arguments = build_arguments
self.is_push_enabled = is_push_enabled
self.no_cache = no_cache
self.timeout = timeout
self.platform = platform
self.docker_file_path = docker_file_path
self.type = 'QuickBuild'
[docs]class RegenerateCredentialParameters(Model):
"""The parameters used to regenerate the login credential.
All required parameters must be populated in order to send to Azure.
:param name: Required. Specifies name of the password which should be
regenerated -- password or password2. Possible values include: 'password',
'password2'
:type name: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PasswordName
"""
_validation = {
'name': {'required': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'PasswordName'},
}
def __init__(self, *, name, **kwargs) -> None:
super(RegenerateCredentialParameters, self).__init__(**kwargs)
self.name = name
[docs]class Registry(Resource):
"""An object that represents a container registry.
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 name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param location: Required. The location of the resource. This cannot be
changed after the resource is created.
:type location: str
:param tags: The tags of the resource.
:type tags: dict[str, str]
:param sku: Required. The SKU of the container registry.
:type sku: ~azure.mgmt.containerregistry.v2018_02_01_preview.models.Sku
:ivar login_server: The URL that can be used to log into the container
registry.
:vartype login_server: str
:ivar creation_date: The creation date of the container registry in
ISO8601 format.
:vartype creation_date: datetime
:ivar provisioning_state: The provisioning state of the container registry
at the time the operation was called. Possible values include: 'Creating',
'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
:ivar status: The status of the container registry at the time the
operation was called.
:vartype status:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Status
:param admin_user_enabled: The value that indicates whether the admin user
is enabled. Default value: False .
:type admin_user_enabled: bool
:param storage_account: The properties of the storage account for the
container registry. Only applicable to Classic SKU.
:type storage_account:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.StorageAccountProperties
:param network_rule_set: The network rule set for a container registry.
:type network_rule_set:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.NetworkRuleSet
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'sku': {'required': True},
'login_server': {'readonly': True},
'creation_date': {'readonly': True},
'provisioning_state': {'readonly': True},
'status': {'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}'},
'sku': {'key': 'sku', 'type': 'Sku'},
'login_server': {'key': 'properties.loginServer', 'type': 'str'},
'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'Status'},
'admin_user_enabled': {'key': 'properties.adminUserEnabled', 'type': 'bool'},
'storage_account': {'key': 'properties.storageAccount', 'type': 'StorageAccountProperties'},
'network_rule_set': {'key': 'properties.networkRuleSet', 'type': 'NetworkRuleSet'},
}
def __init__(self, *, location: str, sku, tags=None, admin_user_enabled: bool=False, storage_account=None, network_rule_set=None, **kwargs) -> None:
super(Registry, self).__init__(location=location, tags=tags, **kwargs)
self.sku = sku
self.login_server = None
self.creation_date = None
self.provisioning_state = None
self.status = None
self.admin_user_enabled = admin_user_enabled
self.storage_account = storage_account
self.network_rule_set = network_rule_set
[docs]class RegistryListCredentialsResult(Model):
"""The response from the ListCredentials operation.
:param username: The username for a container registry.
:type username: str
:param passwords: The list of passwords for a container registry.
:type passwords:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.RegistryPassword]
"""
_attribute_map = {
'username': {'key': 'username', 'type': 'str'},
'passwords': {'key': 'passwords', 'type': '[RegistryPassword]'},
}
def __init__(self, *, username: str=None, passwords=None, **kwargs) -> None:
super(RegistryListCredentialsResult, self).__init__(**kwargs)
self.username = username
self.passwords = passwords
[docs]class RegistryNameCheckRequest(Model):
"""A request to check whether a container registry name is available.
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 name: Required. The name of the container registry.
:type name: str
:ivar type: Required. The resource type of the container registry. This
field must be set to 'Microsoft.ContainerRegistry/registries'. Default
value: "Microsoft.ContainerRegistry/registries" .
:vartype type: str
"""
_validation = {
'name': {'required': True, 'max_length': 50, 'min_length': 5, 'pattern': r'^[a-zA-Z0-9]*$'},
'type': {'required': True, 'constant': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
type = "Microsoft.ContainerRegistry/registries"
def __init__(self, *, name: str, **kwargs) -> None:
super(RegistryNameCheckRequest, self).__init__(**kwargs)
self.name = name
[docs]class RegistryNameStatus(Model):
"""The result of a request to check the availability of a container registry
name.
:param name_available: The value that indicates whether the name is
available.
:type name_available: bool
:param reason: If any, the reason that the name is not available.
:type reason: str
:param message: If any, the error message that provides more detail for
the reason that the name is not available.
:type 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: bool=None, reason: str=None, message: str=None, **kwargs) -> None:
super(RegistryNameStatus, self).__init__(**kwargs)
self.name_available = name_available
self.reason = reason
self.message = message
[docs]class RegistryPassword(Model):
"""The login password for the container registry.
:param name: The password name. Possible values include: 'password',
'password2'
:type name: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PasswordName
:param value: The password value.
:type value: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'PasswordName'},
'value': {'key': 'value', 'type': 'str'},
}
def __init__(self, *, name=None, value: str=None, **kwargs) -> None:
super(RegistryPassword, self).__init__(**kwargs)
self.name = name
self.value = value
[docs]class RegistryPolicies(Model):
"""An object that represents policies for a container registry.
:param quarantine_policy: An object that represents quarantine policy for
a container registry.
:type quarantine_policy:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.QuarantinePolicy
:param trust_policy: An object that represents content trust policy for a
container registry.
:type trust_policy:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.TrustPolicy
"""
_attribute_map = {
'quarantine_policy': {'key': 'quarantinePolicy', 'type': 'QuarantinePolicy'},
'trust_policy': {'key': 'trustPolicy', 'type': 'TrustPolicy'},
}
def __init__(self, *, quarantine_policy=None, trust_policy=None, **kwargs) -> None:
super(RegistryPolicies, self).__init__(**kwargs)
self.quarantine_policy = quarantine_policy
self.trust_policy = trust_policy
[docs]class RegistryUpdateParameters(Model):
"""The parameters for updating a container registry.
:param tags: The tags for the container registry.
:type tags: dict[str, str]
:param sku: The SKU of the container registry.
:type sku: ~azure.mgmt.containerregistry.v2018_02_01_preview.models.Sku
:param admin_user_enabled: The value that indicates whether the admin user
is enabled.
:type admin_user_enabled: bool
:param storage_account: The parameters of a storage account for the
container registry. Only applicable to Classic SKU. If specified, the
storage account must be in the same physical location as the container
registry.
:type storage_account:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.StorageAccountProperties
:param network_rule_set: The network rule set for a container registry.
:type network_rule_set:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.NetworkRuleSet
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'sku': {'key': 'sku', 'type': 'Sku'},
'admin_user_enabled': {'key': 'properties.adminUserEnabled', 'type': 'bool'},
'storage_account': {'key': 'properties.storageAccount', 'type': 'StorageAccountProperties'},
'network_rule_set': {'key': 'properties.networkRuleSet', 'type': 'NetworkRuleSet'},
}
def __init__(self, *, tags=None, sku=None, admin_user_enabled: bool=None, storage_account=None, network_rule_set=None, **kwargs) -> None:
super(RegistryUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.sku = sku
self.admin_user_enabled = admin_user_enabled
self.storage_account = storage_account
self.network_rule_set = network_rule_set
[docs]class RegistryUsage(Model):
"""The quota usage for a container registry.
:param name: The name of the usage.
:type name: str
:param limit: The limit of the usage.
:type limit: long
:param current_value: The current value of the usage.
:type current_value: long
:param unit: The unit of measurement. Possible values include: 'Count',
'Bytes'
:type unit: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.RegistryUsageUnit
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'limit': {'key': 'limit', 'type': 'long'},
'current_value': {'key': 'currentValue', 'type': 'long'},
'unit': {'key': 'unit', 'type': 'str'},
}
def __init__(self, *, name: str=None, limit: int=None, current_value: int=None, unit=None, **kwargs) -> None:
super(RegistryUsage, self).__init__(**kwargs)
self.name = name
self.limit = limit
self.current_value = current_value
self.unit = unit
[docs]class RegistryUsageListResult(Model):
"""The result of a request to get container registry quota usages.
:param value: The list of container registry quota usages.
:type value:
list[~azure.mgmt.containerregistry.v2018_02_01_preview.models.RegistryUsage]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[RegistryUsage]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(RegistryUsageListResult, self).__init__(**kwargs)
self.value = value
[docs]class Replication(Resource):
"""An object that represents a replication for a container registry.
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 name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param location: Required. The location of the resource. This cannot be
changed after the resource is created.
:type location: str
:param tags: The tags of the resource.
:type tags: dict[str, str]
:ivar provisioning_state: The provisioning state of the replication at the
time the operation was called. Possible values include: 'Creating',
'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
:ivar status: The status of the replication at the time the operation was
called.
:vartype status:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Status
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'provisioning_state': {'readonly': True},
'status': {'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}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'Status'},
}
def __init__(self, *, location: str, tags=None, **kwargs) -> None:
super(Replication, self).__init__(location=location, tags=tags, **kwargs)
self.provisioning_state = None
self.status = None
[docs]class ReplicationUpdateParameters(Model):
"""The parameters for updating a replication.
:param tags: The tags for the replication.
:type tags: dict[str, str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, tags=None, **kwargs) -> None:
super(ReplicationUpdateParameters, self).__init__(**kwargs)
self.tags = tags
[docs]class Request(Model):
"""The request that generated the event.
:param id: The ID of the request that initiated the event.
:type id: str
:param addr: The IP or hostname and possibly port of the client connection
that initiated the event. This is the RemoteAddr from the standard http
request.
:type addr: str
:param host: The externally accessible hostname of the registry instance,
as specified by the http host header on incoming requests.
:type host: str
:param method: The request method that generated the event.
:type method: str
:param useragent: The user agent header of the request.
:type useragent: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'addr': {'key': 'addr', 'type': 'str'},
'host': {'key': 'host', 'type': 'str'},
'method': {'key': 'method', 'type': 'str'},
'useragent': {'key': 'useragent', 'type': 'str'},
}
def __init__(self, *, id: str=None, addr: str=None, host: str=None, method: str=None, useragent: str=None, **kwargs) -> None:
super(Request, self).__init__(**kwargs)
self.id = id
self.addr = addr
self.host = host
self.method = method
self.useragent = useragent
[docs]class Sku(Model):
"""The SKU of a container registry.
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 name: Required. The SKU name of the container registry. Required
for registry creation. Possible values include: 'Classic', 'Basic',
'Standard', 'Premium'
:type name: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SkuName
:ivar tier: The SKU tier based on the SKU name. Possible values include:
'Classic', 'Basic', 'Standard', 'Premium'
:vartype tier: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SkuTier
"""
_validation = {
'name': {'required': True},
'tier': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'tier': {'key': 'tier', 'type': 'str'},
}
def __init__(self, *, name, **kwargs) -> None:
super(Sku, self).__init__(**kwargs)
self.name = name
self.tier = None
[docs]class Source(Model):
"""The registry node that generated the event. Put differently, while the
actor initiates the event, the source generates it.
:param addr: The IP or hostname and the port of the registry node that
generated the event. Generally, this will be resolved by os.Hostname()
along with the running port.
:type addr: str
:param instance_id: The running instance of an application. Changes after
each restart.
:type instance_id: str
"""
_attribute_map = {
'addr': {'key': 'addr', 'type': 'str'},
'instance_id': {'key': 'instanceID', 'type': 'str'},
}
def __init__(self, *, addr: str=None, instance_id: str=None, **kwargs) -> None:
super(Source, self).__init__(**kwargs)
self.addr = addr
self.instance_id = instance_id
[docs]class SourceControlAuthInfo(Model):
"""The authorization properties for accessing the source code repository.
All required parameters must be populated in order to send to Azure.
:param token_type: The type of Auth token. Possible values include: 'PAT',
'OAuth'
:type token_type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.TokenType
:param token: Required. The access token used to access the source control
provider.
:type token: str
:param refresh_token: The refresh token used to refresh the access token.
:type refresh_token: str
:param scope: The scope of the access token.
:type scope: str
:param expires_in: Time in seconds that the token remains valid
:type expires_in: int
"""
_validation = {
'token': {'required': True},
}
_attribute_map = {
'token_type': {'key': 'tokenType', 'type': 'str'},
'token': {'key': 'token', 'type': 'str'},
'refresh_token': {'key': 'refreshToken', 'type': 'str'},
'scope': {'key': 'scope', 'type': 'str'},
'expires_in': {'key': 'expiresIn', 'type': 'int'},
}
def __init__(self, *, token: str, token_type=None, refresh_token: str=None, scope: str=None, expires_in: int=None, **kwargs) -> None:
super(SourceControlAuthInfo, self).__init__(**kwargs)
self.token_type = token_type
self.token = token
self.refresh_token = refresh_token
self.scope = scope
self.expires_in = expires_in
[docs]class SourceRepositoryProperties(Model):
"""The properties of the source code repository.
All required parameters must be populated in order to send to Azure.
:param source_control_type: Required. The type of source control service.
Possible values include: 'Github', 'VisualStudioTeamService'
:type source_control_type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SourceControlType
:param repository_url: Required. The full URL to the source code
repository
:type repository_url: str
:param is_commit_trigger_enabled: The value of this property indicates
whether the source control commit trigger is enabled or not. Default
value: False .
:type is_commit_trigger_enabled: bool
:param source_control_auth_properties: The authorization properties for
accessing the source code repository.
:type source_control_auth_properties:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SourceControlAuthInfo
"""
_validation = {
'source_control_type': {'required': True},
'repository_url': {'required': True},
}
_attribute_map = {
'source_control_type': {'key': 'sourceControlType', 'type': 'str'},
'repository_url': {'key': 'repositoryUrl', 'type': 'str'},
'is_commit_trigger_enabled': {'key': 'isCommitTriggerEnabled', 'type': 'bool'},
'source_control_auth_properties': {'key': 'sourceControlAuthProperties', 'type': 'SourceControlAuthInfo'},
}
def __init__(self, *, source_control_type, repository_url: str, is_commit_trigger_enabled: bool=False, source_control_auth_properties=None, **kwargs) -> None:
super(SourceRepositoryProperties, self).__init__(**kwargs)
self.source_control_type = source_control_type
self.repository_url = repository_url
self.is_commit_trigger_enabled = is_commit_trigger_enabled
self.source_control_auth_properties = source_control_auth_properties
[docs]class SourceRepositoryUpdateParameters(Model):
"""The properties for updating the source code repository configuration.
:param source_control_auth_properties: The authorization properties for
accessing the source code repository.
:type source_control_auth_properties:
~azure.mgmt.containerregistry.v2018_02_01_preview.models.SourceControlAuthInfo
:param is_commit_trigger_enabled: The value of this property indicates
whether the source control commit trigger is enabled or not.
:type is_commit_trigger_enabled: bool
"""
_attribute_map = {
'source_control_auth_properties': {'key': 'sourceControlAuthProperties', 'type': 'SourceControlAuthInfo'},
'is_commit_trigger_enabled': {'key': 'isCommitTriggerEnabled', 'type': 'bool'},
}
def __init__(self, *, source_control_auth_properties=None, is_commit_trigger_enabled: bool=None, **kwargs) -> None:
super(SourceRepositoryUpdateParameters, self).__init__(**kwargs)
self.source_control_auth_properties = source_control_auth_properties
self.is_commit_trigger_enabled = is_commit_trigger_enabled
[docs]class SourceUploadDefinition(Model):
"""The properties of a response to source upload request.
:param upload_url: The URL where the client can upload the source.
:type upload_url: str
:param relative_path: The relative path to the source. This is used to
submit the subsequent queue build request.
:type relative_path: str
"""
_attribute_map = {
'upload_url': {'key': 'uploadUrl', 'type': 'str'},
'relative_path': {'key': 'relativePath', 'type': 'str'},
}
def __init__(self, *, upload_url: str=None, relative_path: str=None, **kwargs) -> None:
super(SourceUploadDefinition, self).__init__(**kwargs)
self.upload_url = upload_url
self.relative_path = relative_path
[docs]class Status(Model):
"""The status of an Azure resource at the time the operation was called.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar display_status: The short label for the status.
:vartype display_status: str
:ivar message: The detailed message for the status, including alerts and
error messages.
:vartype message: str
:ivar timestamp: The timestamp when the status was changed to the current
value.
:vartype timestamp: datetime
"""
_validation = {
'display_status': {'readonly': True},
'message': {'readonly': True},
'timestamp': {'readonly': True},
}
_attribute_map = {
'display_status': {'key': 'displayStatus', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
}
def __init__(self, **kwargs) -> None:
super(Status, self).__init__(**kwargs)
self.display_status = None
self.message = None
self.timestamp = None
[docs]class StorageAccountProperties(Model):
"""The properties of a storage account for a container registry. Only
applicable to Classic SKU.
All required parameters must be populated in order to send to Azure.
:param id: Required. The resource ID of the storage account.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(self, *, id: str, **kwargs) -> None:
super(StorageAccountProperties, self).__init__(**kwargs)
self.id = id
[docs]class Target(Model):
"""The target of the event.
:param media_type: The MIME type of the referenced object.
:type media_type: str
:param size: The number of bytes of the content. Same as Length field.
:type size: long
:param digest: The digest of the content, as defined by the Registry V2
HTTP API Specification.
:type digest: str
:param length: The number of bytes of the content. Same as Size field.
:type length: long
:param repository: The repository name.
:type repository: str
:param url: The direct URL to the content.
:type url: str
:param tag: The tag name.
:type tag: str
:param name: The name of the artifact.
:type name: str
:param version: The version of the artifact.
:type version: str
"""
_attribute_map = {
'media_type': {'key': 'mediaType', 'type': 'str'},
'size': {'key': 'size', 'type': 'long'},
'digest': {'key': 'digest', 'type': 'str'},
'length': {'key': 'length', 'type': 'long'},
'repository': {'key': 'repository', 'type': 'str'},
'url': {'key': 'url', 'type': 'str'},
'tag': {'key': 'tag', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'version': {'key': 'version', 'type': 'str'},
}
def __init__(self, *, media_type: str=None, size: int=None, digest: str=None, length: int=None, repository: str=None, url: str=None, tag: str=None, name: str=None, version: str=None, **kwargs) -> None:
super(Target, self).__init__(**kwargs)
self.media_type = media_type
self.size = size
self.digest = digest
self.length = length
self.repository = repository
self.url = url
self.tag = tag
self.name = name
self.version = version
[docs]class TrustPolicy(Model):
"""An object that represents content trust policy for a container registry.
:param type: The type of trust policy. Possible values include: 'Notary'
:type type: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.TrustPolicyType
:param status: The value that indicates whether the policy is enabled or
not. Possible values include: 'enabled', 'disabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.PolicyStatus
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(self, *, type=None, status=None, **kwargs) -> None:
super(TrustPolicy, self).__init__(**kwargs)
self.type = type
self.status = status
[docs]class VirtualNetworkRule(Model):
"""Virtual network rule.
All required parameters must be populated in order to send to Azure.
:param action: The action of virtual network rule. Possible values
include: 'Allow'. Default value: "Allow" .
:type action: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.Action
:param virtual_network_resource_id: Required. Resource ID of a subnet, for
example:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.
:type virtual_network_resource_id: str
"""
_validation = {
'virtual_network_resource_id': {'required': True},
}
_attribute_map = {
'action': {'key': 'action', 'type': 'str'},
'virtual_network_resource_id': {'key': 'id', 'type': 'str'},
}
def __init__(self, *, virtual_network_resource_id: str, action="Allow", **kwargs) -> None:
super(VirtualNetworkRule, self).__init__(**kwargs)
self.action = action
self.virtual_network_resource_id = virtual_network_resource_id
[docs]class Webhook(Resource):
"""An object that represents a webhook for a container registry.
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 name of the resource.
:vartype name: str
:ivar type: The type of the resource.
:vartype type: str
:param location: Required. The location of the resource. This cannot be
changed after the resource is created.
:type location: str
:param tags: The tags of the resource.
:type tags: dict[str, str]
:param status: The status of the webhook at the time the operation was
called. Possible values include: 'enabled', 'disabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookStatus
:param scope: The scope of repositories where the event can be triggered.
For example, 'foo:*' means events for all tags under repository 'foo'.
'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
'foo:latest'. Empty means all events.
:type scope: str
:param actions: Required. The list of actions that trigger the webhook to
post notifications.
:type actions: list[str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookAction]
:ivar provisioning_state: The provisioning state of the webhook at the
time the operation was called. Possible values include: 'Creating',
'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'
:vartype provisioning_state: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.ProvisioningState
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': True},
'actions': {'required': True},
'provisioning_state': {'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}'},
'status': {'key': 'properties.status', 'type': 'str'},
'scope': {'key': 'properties.scope', 'type': 'str'},
'actions': {'key': 'properties.actions', 'type': '[str]'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, location: str, actions, tags=None, status=None, scope: str=None, **kwargs) -> None:
super(Webhook, self).__init__(location=location, tags=tags, **kwargs)
self.status = status
self.scope = scope
self.actions = actions
self.provisioning_state = None
[docs]class WebhookCreateParameters(Model):
"""The parameters for creating a webhook.
All required parameters must be populated in order to send to Azure.
:param tags: The tags for the webhook.
:type tags: dict[str, str]
:param location: Required. The location of the webhook. This cannot be
changed after the resource is created.
:type location: str
:param service_uri: Required. The service URI for the webhook to post
notifications.
:type service_uri: str
:param custom_headers: Custom headers that will be added to the webhook
notifications.
:type custom_headers: dict[str, str]
:param status: The status of the webhook at the time the operation was
called. Possible values include: 'enabled', 'disabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookStatus
:param scope: The scope of repositories where the event can be triggered.
For example, 'foo:*' means events for all tags under repository 'foo'.
'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
'foo:latest'. Empty means all events.
:type scope: str
:param actions: Required. The list of actions that trigger the webhook to
post notifications.
:type actions: list[str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookAction]
"""
_validation = {
'location': {'required': True},
'service_uri': {'required': True},
'actions': {'required': True},
}
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'location': {'key': 'location', 'type': 'str'},
'service_uri': {'key': 'properties.serviceUri', 'type': 'str'},
'custom_headers': {'key': 'properties.customHeaders', 'type': '{str}'},
'status': {'key': 'properties.status', 'type': 'str'},
'scope': {'key': 'properties.scope', 'type': 'str'},
'actions': {'key': 'properties.actions', 'type': '[str]'},
}
def __init__(self, *, location: str, service_uri: str, actions, tags=None, custom_headers=None, status=None, scope: str=None, **kwargs) -> None:
super(WebhookCreateParameters, self).__init__(**kwargs)
self.tags = tags
self.location = location
self.service_uri = service_uri
self.custom_headers = custom_headers
self.status = status
self.scope = scope
self.actions = actions
[docs]class WebhookUpdateParameters(Model):
"""The parameters for updating a webhook.
:param tags: The tags for the webhook.
:type tags: dict[str, str]
:param service_uri: The service URI for the webhook to post notifications.
:type service_uri: str
:param custom_headers: Custom headers that will be added to the webhook
notifications.
:type custom_headers: dict[str, str]
:param status: The status of the webhook at the time the operation was
called. Possible values include: 'enabled', 'disabled'
:type status: str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookStatus
:param scope: The scope of repositories where the event can be triggered.
For example, 'foo:*' means events for all tags under repository 'foo'.
'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to
'foo:latest'. Empty means all events.
:type scope: str
:param actions: The list of actions that trigger the webhook to post
notifications.
:type actions: list[str or
~azure.mgmt.containerregistry.v2018_02_01_preview.models.WebhookAction]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'service_uri': {'key': 'properties.serviceUri', 'type': 'str'},
'custom_headers': {'key': 'properties.customHeaders', 'type': '{str}'},
'status': {'key': 'properties.status', 'type': 'str'},
'scope': {'key': 'properties.scope', 'type': 'str'},
'actions': {'key': 'properties.actions', 'type': '[str]'},
}
def __init__(self, *, tags=None, service_uri: str=None, custom_headers=None, status=None, scope: str=None, actions=None, **kwargs) -> None:
super(WebhookUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.service_uri = service_uri
self.custom_headers = custom_headers
self.status = status
self.scope = scope
self.actions = actions