1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9from azure.core.exceptions import HttpResponseError 10import msrest.serialization 11 12 13class ActivationProperties(msrest.serialization.Model): 14 """The activation properties of the connected registry. 15 16 Variables are only populated by the server, and will be ignored when sending a request. 17 18 :ivar status: The activation status of the connected registry. Possible values include: 19 "Active", "Inactive". 20 :vartype status: str or 21 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ActivationStatus 22 """ 23 24 _validation = { 25 'status': {'readonly': True}, 26 } 27 28 _attribute_map = { 29 'status': {'key': 'status', 'type': 'str'}, 30 } 31 32 def __init__( 33 self, 34 **kwargs 35 ): 36 super(ActivationProperties, self).__init__(**kwargs) 37 self.status = None 38 39 40class ActiveDirectoryObject(msrest.serialization.Model): 41 """The Active Directory Object that will be used for authenticating the token of a container registry. 42 43 :param object_id: The user/group/application object ID for Active Directory Object that will be 44 used for authenticating the token of a container registry. 45 :type object_id: str 46 :param tenant_id: The tenant ID of user/group/application object Active Directory Object that 47 will be used for authenticating the token of a container registry. 48 :type tenant_id: str 49 """ 50 51 _attribute_map = { 52 'object_id': {'key': 'objectId', 'type': 'str'}, 53 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 54 } 55 56 def __init__( 57 self, 58 **kwargs 59 ): 60 super(ActiveDirectoryObject, self).__init__(**kwargs) 61 self.object_id = kwargs.get('object_id', None) 62 self.tenant_id = kwargs.get('tenant_id', None) 63 64 65class Actor(msrest.serialization.Model): 66 """The agent that initiated the event. For most situations, this could be from the authorization context of the request. 67 68 :param name: The subject or username associated with the request context that generated the 69 event. 70 :type name: str 71 """ 72 73 _attribute_map = { 74 'name': {'key': 'name', 'type': 'str'}, 75 } 76 77 def __init__( 78 self, 79 **kwargs 80 ): 81 super(Actor, self).__init__(**kwargs) 82 self.name = kwargs.get('name', None) 83 84 85class CallbackConfig(msrest.serialization.Model): 86 """The configuration of service URI and custom headers for the webhook. 87 88 All required parameters must be populated in order to send to Azure. 89 90 :param service_uri: Required. The service URI for the webhook to post notifications. 91 :type service_uri: str 92 :param custom_headers: Custom headers that will be added to the webhook notifications. 93 :type custom_headers: dict[str, str] 94 """ 95 96 _validation = { 97 'service_uri': {'required': True}, 98 } 99 100 _attribute_map = { 101 'service_uri': {'key': 'serviceUri', 'type': 'str'}, 102 'custom_headers': {'key': 'customHeaders', 'type': '{str}'}, 103 } 104 105 def __init__( 106 self, 107 **kwargs 108 ): 109 super(CallbackConfig, self).__init__(**kwargs) 110 self.service_uri = kwargs['service_uri'] 111 self.custom_headers = kwargs.get('custom_headers', None) 112 113 114class ProxyResource(msrest.serialization.Model): 115 """The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. 116 117 Variables are only populated by the server, and will be ignored when sending a request. 118 119 :ivar id: The resource ID. 120 :vartype id: str 121 :ivar name: The name of the resource. 122 :vartype name: str 123 :ivar type: The type of the resource. 124 :vartype type: str 125 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 126 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 127 """ 128 129 _validation = { 130 'id': {'readonly': True}, 131 'name': {'readonly': True}, 132 'type': {'readonly': True}, 133 'system_data': {'readonly': True}, 134 } 135 136 _attribute_map = { 137 'id': {'key': 'id', 'type': 'str'}, 138 'name': {'key': 'name', 'type': 'str'}, 139 'type': {'key': 'type', 'type': 'str'}, 140 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 141 } 142 143 def __init__( 144 self, 145 **kwargs 146 ): 147 super(ProxyResource, self).__init__(**kwargs) 148 self.id = None 149 self.name = None 150 self.type = None 151 self.system_data = None 152 153 154class ConnectedRegistry(ProxyResource): 155 """An object that represents a connected registry for a container registry. 156 157 Variables are only populated by the server, and will be ignored when sending a request. 158 159 :ivar id: The resource ID. 160 :vartype id: str 161 :ivar name: The name of the resource. 162 :vartype name: str 163 :ivar type: The type of the resource. 164 :vartype type: str 165 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 166 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 167 :ivar provisioning_state: Provisioning state of the resource. Possible values include: 168 "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". 169 :vartype provisioning_state: str or 170 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 171 :param mode: The mode of the connected registry resource that indicates the permissions of the 172 registry. Possible values include: "Registry", "Mirror". 173 :type mode: str or 174 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ConnectedRegistryMode 175 :ivar version: The current version of ACR runtime on the connected registry. 176 :vartype version: str 177 :ivar connection_state: The current connection state of the connected registry. Possible values 178 include: "Online", "Offline", "Syncing", "Unhealthy". 179 :vartype connection_state: str or 180 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ConnectionState 181 :ivar last_activity_time: The last activity time of the connected registry. 182 :vartype last_activity_time: ~datetime.datetime 183 :ivar activation: The activation properties of the connected registry. 184 :vartype activation: 185 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ActivationProperties 186 :param parent: The parent of the connected registry. 187 :type parent: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ParentProperties 188 :param client_token_ids: The list of the ACR token resource IDs used to authenticate clients to 189 the connected registry. 190 :type client_token_ids: list[str] 191 :param login_server: The login server properties of the connected registry. 192 :type login_server: 193 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.LoginServerProperties 194 :param logging: The logging properties of the connected registry. 195 :type logging: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.LoggingProperties 196 :ivar status_details: The list of current statuses of the connected registry. 197 :vartype status_details: 198 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.StatusDetailProperties] 199 """ 200 201 _validation = { 202 'id': {'readonly': True}, 203 'name': {'readonly': True}, 204 'type': {'readonly': True}, 205 'system_data': {'readonly': True}, 206 'provisioning_state': {'readonly': True}, 207 'version': {'readonly': True}, 208 'connection_state': {'readonly': True}, 209 'last_activity_time': {'readonly': True}, 210 'activation': {'readonly': True}, 211 'status_details': {'readonly': True}, 212 } 213 214 _attribute_map = { 215 'id': {'key': 'id', 'type': 'str'}, 216 'name': {'key': 'name', 'type': 'str'}, 217 'type': {'key': 'type', 'type': 'str'}, 218 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 219 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 220 'mode': {'key': 'properties.mode', 'type': 'str'}, 221 'version': {'key': 'properties.version', 'type': 'str'}, 222 'connection_state': {'key': 'properties.connectionState', 'type': 'str'}, 223 'last_activity_time': {'key': 'properties.lastActivityTime', 'type': 'iso-8601'}, 224 'activation': {'key': 'properties.activation', 'type': 'ActivationProperties'}, 225 'parent': {'key': 'properties.parent', 'type': 'ParentProperties'}, 226 'client_token_ids': {'key': 'properties.clientTokenIds', 'type': '[str]'}, 227 'login_server': {'key': 'properties.loginServer', 'type': 'LoginServerProperties'}, 228 'logging': {'key': 'properties.logging', 'type': 'LoggingProperties'}, 229 'status_details': {'key': 'properties.statusDetails', 'type': '[StatusDetailProperties]'}, 230 } 231 232 def __init__( 233 self, 234 **kwargs 235 ): 236 super(ConnectedRegistry, self).__init__(**kwargs) 237 self.provisioning_state = None 238 self.mode = kwargs.get('mode', None) 239 self.version = None 240 self.connection_state = None 241 self.last_activity_time = None 242 self.activation = None 243 self.parent = kwargs.get('parent', None) 244 self.client_token_ids = kwargs.get('client_token_ids', None) 245 self.login_server = kwargs.get('login_server', None) 246 self.logging = kwargs.get('logging', None) 247 self.status_details = None 248 249 250class ConnectedRegistryListResult(msrest.serialization.Model): 251 """The result of a request to list connected registries for a container registry. 252 253 :param value: The list of connected registries. Since this list may be incomplete, the nextLink 254 field should be used to request the next list of connected registries. 255 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.ConnectedRegistry] 256 :param next_link: The URI that can be used to request the next list of connected registries. 257 :type next_link: str 258 """ 259 260 _attribute_map = { 261 'value': {'key': 'value', 'type': '[ConnectedRegistry]'}, 262 'next_link': {'key': 'nextLink', 'type': 'str'}, 263 } 264 265 def __init__( 266 self, 267 **kwargs 268 ): 269 super(ConnectedRegistryListResult, self).__init__(**kwargs) 270 self.value = kwargs.get('value', None) 271 self.next_link = kwargs.get('next_link', None) 272 273 274class ConnectedRegistryUpdateParameters(msrest.serialization.Model): 275 """The parameters for updating a connected registry. 276 277 :param sync_properties: The sync properties of the connected registry with its parent. 278 :type sync_properties: 279 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SyncUpdateProperties 280 :param logging: The logging properties of the connected registry. 281 :type logging: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.LoggingProperties 282 :param client_token_ids: The list of the ACR token resource IDs used to authenticate clients to 283 the connected registry. 284 :type client_token_ids: list[str] 285 """ 286 287 _attribute_map = { 288 'sync_properties': {'key': 'properties.syncProperties', 'type': 'SyncUpdateProperties'}, 289 'logging': {'key': 'properties.logging', 'type': 'LoggingProperties'}, 290 'client_token_ids': {'key': 'properties.clientTokenIds', 'type': '[str]'}, 291 } 292 293 def __init__( 294 self, 295 **kwargs 296 ): 297 super(ConnectedRegistryUpdateParameters, self).__init__(**kwargs) 298 self.sync_properties = kwargs.get('sync_properties', None) 299 self.logging = kwargs.get('logging', None) 300 self.client_token_ids = kwargs.get('client_token_ids', None) 301 302 303class EncryptionProperty(msrest.serialization.Model): 304 """EncryptionProperty. 305 306 :param status: Indicates whether or not the encryption is enabled for container registry. 307 Possible values include: "enabled", "disabled". 308 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EncryptionStatus 309 :param key_vault_properties: Key vault properties. 310 :type key_vault_properties: 311 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.KeyVaultProperties 312 """ 313 314 _attribute_map = { 315 'status': {'key': 'status', 'type': 'str'}, 316 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'KeyVaultProperties'}, 317 } 318 319 def __init__( 320 self, 321 **kwargs 322 ): 323 super(EncryptionProperty, self).__init__(**kwargs) 324 self.status = kwargs.get('status', None) 325 self.key_vault_properties = kwargs.get('key_vault_properties', None) 326 327 328class ErrorResponse(msrest.serialization.Model): 329 """An error response from the Azure Container Registry service. 330 331 :param error: Azure container registry build API error body. 332 :type error: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ErrorResponseBody 333 """ 334 335 _attribute_map = { 336 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, 337 } 338 339 def __init__( 340 self, 341 **kwargs 342 ): 343 super(ErrorResponse, self).__init__(**kwargs) 344 self.error = kwargs.get('error', None) 345 346 347class ErrorResponseBody(msrest.serialization.Model): 348 """An error response from the Azure Container Registry service. 349 350 All required parameters must be populated in order to send to Azure. 351 352 :param code: Required. error code. 353 :type code: str 354 :param message: Required. error message. 355 :type message: str 356 :param target: target of the particular error. 357 :type target: str 358 :param details: an array of additional nested error response info objects, as described by this 359 contract. 360 :type details: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.InnerErrorDescription 361 """ 362 363 _validation = { 364 'code': {'required': True}, 365 'message': {'required': True}, 366 } 367 368 _attribute_map = { 369 'code': {'key': 'code', 'type': 'str'}, 370 'message': {'key': 'message', 'type': 'str'}, 371 'target': {'key': 'target', 'type': 'str'}, 372 'details': {'key': 'details', 'type': 'InnerErrorDescription'}, 373 } 374 375 def __init__( 376 self, 377 **kwargs 378 ): 379 super(ErrorResponseBody, self).__init__(**kwargs) 380 self.code = kwargs['code'] 381 self.message = kwargs['message'] 382 self.target = kwargs.get('target', None) 383 self.details = kwargs.get('details', None) 384 385 386class EventInfo(msrest.serialization.Model): 387 """The basic information of an event. 388 389 :param id: The event ID. 390 :type id: str 391 """ 392 393 _attribute_map = { 394 'id': {'key': 'id', 'type': 'str'}, 395 } 396 397 def __init__( 398 self, 399 **kwargs 400 ): 401 super(EventInfo, self).__init__(**kwargs) 402 self.id = kwargs.get('id', None) 403 404 405class Event(EventInfo): 406 """The event for a webhook. 407 408 :param id: The event ID. 409 :type id: str 410 :param event_request_message: The event request message sent to the service URI. 411 :type event_request_message: 412 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EventRequestMessage 413 :param event_response_message: The event response message received from the service URI. 414 :type event_response_message: 415 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EventResponseMessage 416 """ 417 418 _attribute_map = { 419 'id': {'key': 'id', 'type': 'str'}, 420 'event_request_message': {'key': 'eventRequestMessage', 'type': 'EventRequestMessage'}, 421 'event_response_message': {'key': 'eventResponseMessage', 'type': 'EventResponseMessage'}, 422 } 423 424 def __init__( 425 self, 426 **kwargs 427 ): 428 super(Event, self).__init__(**kwargs) 429 self.event_request_message = kwargs.get('event_request_message', None) 430 self.event_response_message = kwargs.get('event_response_message', None) 431 432 433class EventContent(msrest.serialization.Model): 434 """The content of the event request message. 435 436 :param id: The event ID. 437 :type id: str 438 :param timestamp: The time at which the event occurred. 439 :type timestamp: ~datetime.datetime 440 :param action: The action that encompasses the provided event. 441 :type action: str 442 :param target: The target of the event. 443 :type target: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Target 444 :param request: The request that generated the event. 445 :type request: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Request 446 :param actor: The agent that initiated the event. For most situations, this could be from the 447 authorization context of the request. 448 :type actor: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Actor 449 :param source: The registry node that generated the event. Put differently, while the actor 450 initiates the event, the source generates it. 451 :type source: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Source 452 """ 453 454 _attribute_map = { 455 'id': {'key': 'id', 'type': 'str'}, 456 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 457 'action': {'key': 'action', 'type': 'str'}, 458 'target': {'key': 'target', 'type': 'Target'}, 459 'request': {'key': 'request', 'type': 'Request'}, 460 'actor': {'key': 'actor', 'type': 'Actor'}, 461 'source': {'key': 'source', 'type': 'Source'}, 462 } 463 464 def __init__( 465 self, 466 **kwargs 467 ): 468 super(EventContent, self).__init__(**kwargs) 469 self.id = kwargs.get('id', None) 470 self.timestamp = kwargs.get('timestamp', None) 471 self.action = kwargs.get('action', None) 472 self.target = kwargs.get('target', None) 473 self.request = kwargs.get('request', None) 474 self.actor = kwargs.get('actor', None) 475 self.source = kwargs.get('source', None) 476 477 478class EventListResult(msrest.serialization.Model): 479 """The result of a request to list events for a webhook. 480 481 :param value: The list of events. Since this list may be incomplete, the nextLink field should 482 be used to request the next list of events. 483 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.Event] 484 :param next_link: The URI that can be used to request the next list of events. 485 :type next_link: str 486 """ 487 488 _attribute_map = { 489 'value': {'key': 'value', 'type': '[Event]'}, 490 'next_link': {'key': 'nextLink', 'type': 'str'}, 491 } 492 493 def __init__( 494 self, 495 **kwargs 496 ): 497 super(EventListResult, self).__init__(**kwargs) 498 self.value = kwargs.get('value', None) 499 self.next_link = kwargs.get('next_link', None) 500 501 502class EventRequestMessage(msrest.serialization.Model): 503 """The event request message sent to the service URI. 504 505 :param content: The content of the event request message. 506 :type content: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EventContent 507 :param headers: The headers of the event request message. 508 :type headers: dict[str, str] 509 :param method: The HTTP method used to send the event request message. 510 :type method: str 511 :param request_uri: The URI used to send the event request message. 512 :type request_uri: str 513 :param version: The HTTP message version. 514 :type version: str 515 """ 516 517 _attribute_map = { 518 'content': {'key': 'content', 'type': 'EventContent'}, 519 'headers': {'key': 'headers', 'type': '{str}'}, 520 'method': {'key': 'method', 'type': 'str'}, 521 'request_uri': {'key': 'requestUri', 'type': 'str'}, 522 'version': {'key': 'version', 'type': 'str'}, 523 } 524 525 def __init__( 526 self, 527 **kwargs 528 ): 529 super(EventRequestMessage, self).__init__(**kwargs) 530 self.content = kwargs.get('content', None) 531 self.headers = kwargs.get('headers', None) 532 self.method = kwargs.get('method', None) 533 self.request_uri = kwargs.get('request_uri', None) 534 self.version = kwargs.get('version', None) 535 536 537class EventResponseMessage(msrest.serialization.Model): 538 """The event response message received from the service URI. 539 540 :param content: The content of the event response message. 541 :type content: str 542 :param headers: The headers of the event response message. 543 :type headers: dict[str, str] 544 :param reason_phrase: The reason phrase of the event response message. 545 :type reason_phrase: str 546 :param status_code: The status code of the event response message. 547 :type status_code: str 548 :param version: The HTTP message version. 549 :type version: str 550 """ 551 552 _attribute_map = { 553 'content': {'key': 'content', 'type': 'str'}, 554 'headers': {'key': 'headers', 'type': '{str}'}, 555 'reason_phrase': {'key': 'reasonPhrase', 'type': 'str'}, 556 'status_code': {'key': 'statusCode', 'type': 'str'}, 557 'version': {'key': 'version', 'type': 'str'}, 558 } 559 560 def __init__( 561 self, 562 **kwargs 563 ): 564 super(EventResponseMessage, self).__init__(**kwargs) 565 self.content = kwargs.get('content', None) 566 self.headers = kwargs.get('headers', None) 567 self.reason_phrase = kwargs.get('reason_phrase', None) 568 self.status_code = kwargs.get('status_code', None) 569 self.version = kwargs.get('version', None) 570 571 572class ExportPipeline(ProxyResource): 573 """An object that represents an export pipeline for a container registry. 574 575 Variables are only populated by the server, and will be ignored when sending a request. 576 577 :ivar id: The resource ID. 578 :vartype id: str 579 :ivar name: The name of the resource. 580 :vartype name: str 581 :ivar type: The type of the resource. 582 :vartype type: str 583 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 584 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 585 :param location: The location of the export pipeline. 586 :type location: str 587 :param identity: The identity of the export pipeline. 588 :type identity: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.IdentityProperties 589 :param target: The target properties of the export pipeline. 590 :type target: 591 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ExportPipelineTargetProperties 592 :param options: The list of all options configured for the pipeline. 593 :type options: list[str or 594 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineOptions] 595 :ivar provisioning_state: The provisioning state of the pipeline at the time the operation was 596 called. Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", 597 "Canceled". 598 :vartype provisioning_state: str or 599 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 600 """ 601 602 _validation = { 603 'id': {'readonly': True}, 604 'name': {'readonly': True}, 605 'type': {'readonly': True}, 606 'system_data': {'readonly': True}, 607 'provisioning_state': {'readonly': True}, 608 } 609 610 _attribute_map = { 611 'id': {'key': 'id', 'type': 'str'}, 612 'name': {'key': 'name', 'type': 'str'}, 613 'type': {'key': 'type', 'type': 'str'}, 614 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 615 'location': {'key': 'location', 'type': 'str'}, 616 'identity': {'key': 'identity', 'type': 'IdentityProperties'}, 617 'target': {'key': 'properties.target', 'type': 'ExportPipelineTargetProperties'}, 618 'options': {'key': 'properties.options', 'type': '[str]'}, 619 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 620 } 621 622 def __init__( 623 self, 624 **kwargs 625 ): 626 super(ExportPipeline, self).__init__(**kwargs) 627 self.location = kwargs.get('location', None) 628 self.identity = kwargs.get('identity', None) 629 self.target = kwargs.get('target', None) 630 self.options = kwargs.get('options', None) 631 self.provisioning_state = None 632 633 634class ExportPipelineListResult(msrest.serialization.Model): 635 """The result of a request to list export pipelines for a container registry. 636 637 :param value: The list of export pipelines. Since this list may be incomplete, the nextLink 638 field should be used to request the next list of export pipelines. 639 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.ExportPipeline] 640 :param next_link: The URI that can be used to request the next list of pipeline runs. 641 :type next_link: str 642 """ 643 644 _attribute_map = { 645 'value': {'key': 'value', 'type': '[ExportPipeline]'}, 646 'next_link': {'key': 'nextLink', 'type': 'str'}, 647 } 648 649 def __init__( 650 self, 651 **kwargs 652 ): 653 super(ExportPipelineListResult, self).__init__(**kwargs) 654 self.value = kwargs.get('value', None) 655 self.next_link = kwargs.get('next_link', None) 656 657 658class ExportPipelineTargetProperties(msrest.serialization.Model): 659 """The properties of the export pipeline target. 660 661 All required parameters must be populated in order to send to Azure. 662 663 :param type: The type of target for the export pipeline. 664 :type type: str 665 :param uri: The target uri of the export pipeline. 666 When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" 667 When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName". 668 :type uri: str 669 :param key_vault_uri: Required. They key vault secret uri to obtain the target storage SAS 670 token. 671 :type key_vault_uri: str 672 """ 673 674 _validation = { 675 'key_vault_uri': {'required': True}, 676 } 677 678 _attribute_map = { 679 'type': {'key': 'type', 'type': 'str'}, 680 'uri': {'key': 'uri', 'type': 'str'}, 681 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, 682 } 683 684 def __init__( 685 self, 686 **kwargs 687 ): 688 super(ExportPipelineTargetProperties, self).__init__(**kwargs) 689 self.type = kwargs.get('type', None) 690 self.uri = kwargs.get('uri', None) 691 self.key_vault_uri = kwargs['key_vault_uri'] 692 693 694class GenerateCredentialsParameters(msrest.serialization.Model): 695 """The parameters used to generate credentials for a specified token or user of a container registry. 696 697 :param token_id: The resource ID of the token for which credentials have to be generated. 698 :type token_id: str 699 :param expiry: The expiry date of the generated credentials after which the credentials become 700 invalid. 701 :type expiry: ~datetime.datetime 702 :param name: Specifies name of the password which should be regenerated if any -- password1 or 703 password2. Possible values include: "password1", "password2". 704 :type name: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenPasswordName 705 """ 706 707 _attribute_map = { 708 'token_id': {'key': 'tokenId', 'type': 'str'}, 709 'expiry': {'key': 'expiry', 'type': 'iso-8601'}, 710 'name': {'key': 'name', 'type': 'str'}, 711 } 712 713 def __init__( 714 self, 715 **kwargs 716 ): 717 super(GenerateCredentialsParameters, self).__init__(**kwargs) 718 self.token_id = kwargs.get('token_id', None) 719 self.expiry = kwargs.get('expiry', None) 720 self.name = kwargs.get('name', None) 721 722 723class GenerateCredentialsResult(msrest.serialization.Model): 724 """The response from the GenerateCredentials operation. 725 726 :param username: The username for a container registry. 727 :type username: str 728 :param passwords: The list of passwords for a container registry. 729 :type passwords: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenPassword] 730 """ 731 732 _attribute_map = { 733 'username': {'key': 'username', 'type': 'str'}, 734 'passwords': {'key': 'passwords', 'type': '[TokenPassword]'}, 735 } 736 737 def __init__( 738 self, 739 **kwargs 740 ): 741 super(GenerateCredentialsResult, self).__init__(**kwargs) 742 self.username = kwargs.get('username', None) 743 self.passwords = kwargs.get('passwords', None) 744 745 746class IdentityProperties(msrest.serialization.Model): 747 """Managed identity for the resource. 748 749 :param principal_id: The principal ID of resource identity. 750 :type principal_id: str 751 :param tenant_id: The tenant ID of resource. 752 :type tenant_id: str 753 :param type: The identity type. Possible values include: "SystemAssigned", "UserAssigned", 754 "SystemAssigned, UserAssigned", "None". 755 :type type: str or 756 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ResourceIdentityType 757 :param user_assigned_identities: The list of user identities associated with the resource. The 758 user identity 759 dictionary key references will be ARM resource ids in the form: 760 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ 761 providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 762 :type user_assigned_identities: dict[str, 763 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.UserIdentityProperties] 764 """ 765 766 _attribute_map = { 767 'principal_id': {'key': 'principalId', 'type': 'str'}, 768 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 769 'type': {'key': 'type', 'type': 'str'}, 770 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserIdentityProperties}'}, 771 } 772 773 def __init__( 774 self, 775 **kwargs 776 ): 777 super(IdentityProperties, self).__init__(**kwargs) 778 self.principal_id = kwargs.get('principal_id', None) 779 self.tenant_id = kwargs.get('tenant_id', None) 780 self.type = kwargs.get('type', None) 781 self.user_assigned_identities = kwargs.get('user_assigned_identities', None) 782 783 784class ImportImageParameters(msrest.serialization.Model): 785 """ImportImageParameters. 786 787 All required parameters must be populated in order to send to Azure. 788 789 :param source: Required. The source of the image. 790 :type source: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportSource 791 :param target_tags: List of strings of the form repo[:tag]. When tag is omitted the source will 792 be used (or 'latest' if source tag is also omitted). 793 :type target_tags: list[str] 794 :param untagged_target_repositories: List of strings of repository names to do a manifest only 795 copy. No tag will be created. 796 :type untagged_target_repositories: list[str] 797 :param mode: When Force, any existing target tags will be overwritten. When NoForce, any 798 existing target tags will fail the operation before any copying begins. Possible values 799 include: "NoForce", "Force". Default value: "NoForce". 800 :type mode: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportMode 801 """ 802 803 _validation = { 804 'source': {'required': True}, 805 } 806 807 _attribute_map = { 808 'source': {'key': 'source', 'type': 'ImportSource'}, 809 'target_tags': {'key': 'targetTags', 'type': '[str]'}, 810 'untagged_target_repositories': {'key': 'untaggedTargetRepositories', 'type': '[str]'}, 811 'mode': {'key': 'mode', 'type': 'str'}, 812 } 813 814 def __init__( 815 self, 816 **kwargs 817 ): 818 super(ImportImageParameters, self).__init__(**kwargs) 819 self.source = kwargs['source'] 820 self.target_tags = kwargs.get('target_tags', None) 821 self.untagged_target_repositories = kwargs.get('untagged_target_repositories', None) 822 self.mode = kwargs.get('mode', "NoForce") 823 824 825class ImportPipeline(ProxyResource): 826 """An object that represents an import pipeline for a container registry. 827 828 Variables are only populated by the server, and will be ignored when sending a request. 829 830 :ivar id: The resource ID. 831 :vartype id: str 832 :ivar name: The name of the resource. 833 :vartype name: str 834 :ivar type: The type of the resource. 835 :vartype type: str 836 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 837 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 838 :param location: The location of the import pipeline. 839 :type location: str 840 :param identity: The identity of the import pipeline. 841 :type identity: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.IdentityProperties 842 :param source: The source properties of the import pipeline. 843 :type source: 844 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportPipelineSourceProperties 845 :param trigger: The properties that describe the trigger of the import pipeline. 846 :type trigger: 847 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineTriggerProperties 848 :param options: The list of all options configured for the pipeline. 849 :type options: list[str or 850 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineOptions] 851 :ivar provisioning_state: The provisioning state of the pipeline at the time the operation was 852 called. Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", 853 "Canceled". 854 :vartype provisioning_state: str or 855 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 856 """ 857 858 _validation = { 859 'id': {'readonly': True}, 860 'name': {'readonly': True}, 861 'type': {'readonly': True}, 862 'system_data': {'readonly': True}, 863 'provisioning_state': {'readonly': True}, 864 } 865 866 _attribute_map = { 867 'id': {'key': 'id', 'type': 'str'}, 868 'name': {'key': 'name', 'type': 'str'}, 869 'type': {'key': 'type', 'type': 'str'}, 870 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 871 'location': {'key': 'location', 'type': 'str'}, 872 'identity': {'key': 'identity', 'type': 'IdentityProperties'}, 873 'source': {'key': 'properties.source', 'type': 'ImportPipelineSourceProperties'}, 874 'trigger': {'key': 'properties.trigger', 'type': 'PipelineTriggerProperties'}, 875 'options': {'key': 'properties.options', 'type': '[str]'}, 876 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 877 } 878 879 def __init__( 880 self, 881 **kwargs 882 ): 883 super(ImportPipeline, self).__init__(**kwargs) 884 self.location = kwargs.get('location', None) 885 self.identity = kwargs.get('identity', None) 886 self.source = kwargs.get('source', None) 887 self.trigger = kwargs.get('trigger', None) 888 self.options = kwargs.get('options', None) 889 self.provisioning_state = None 890 891 892class ImportPipelineListResult(msrest.serialization.Model): 893 """The result of a request to list import pipelines for a container registry. 894 895 :param value: The list of import pipelines. Since this list may be incomplete, the nextLink 896 field should be used to request the next list of import pipelines. 897 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportPipeline] 898 :param next_link: The URI that can be used to request the next list of pipeline runs. 899 :type next_link: str 900 """ 901 902 _attribute_map = { 903 'value': {'key': 'value', 'type': '[ImportPipeline]'}, 904 'next_link': {'key': 'nextLink', 'type': 'str'}, 905 } 906 907 def __init__( 908 self, 909 **kwargs 910 ): 911 super(ImportPipelineListResult, self).__init__(**kwargs) 912 self.value = kwargs.get('value', None) 913 self.next_link = kwargs.get('next_link', None) 914 915 916class ImportPipelineSourceProperties(msrest.serialization.Model): 917 """The properties of the import pipeline source. 918 919 All required parameters must be populated in order to send to Azure. 920 921 :param type: The type of source for the import pipeline. Possible values include: 922 "AzureStorageBlobContainer". Default value: "AzureStorageBlobContainer". 923 :type type: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineSourceType 924 :param uri: The source uri of the import pipeline. 925 When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" 926 When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName". 927 :type uri: str 928 :param key_vault_uri: Required. They key vault secret uri to obtain the source storage SAS 929 token. 930 :type key_vault_uri: str 931 """ 932 933 _validation = { 934 'key_vault_uri': {'required': True}, 935 } 936 937 _attribute_map = { 938 'type': {'key': 'type', 'type': 'str'}, 939 'uri': {'key': 'uri', 'type': 'str'}, 940 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, 941 } 942 943 def __init__( 944 self, 945 **kwargs 946 ): 947 super(ImportPipelineSourceProperties, self).__init__(**kwargs) 948 self.type = kwargs.get('type', "AzureStorageBlobContainer") 949 self.uri = kwargs.get('uri', None) 950 self.key_vault_uri = kwargs['key_vault_uri'] 951 952 953class ImportSource(msrest.serialization.Model): 954 """ImportSource. 955 956 All required parameters must be populated in order to send to Azure. 957 958 :param resource_id: The resource identifier of the source Azure Container Registry. 959 :type resource_id: str 960 :param registry_uri: The address of the source registry (e.g. 'mcr.microsoft.com'). 961 :type registry_uri: str 962 :param credentials: Credentials used when importing from a registry uri. 963 :type credentials: 964 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportSourceCredentials 965 :param source_image: Required. Repository name of the source image. 966 Specify an image by repository ('hello-world'). This will use the 'latest' tag. 967 Specify an image by tag ('hello-world:latest'). 968 Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). 969 :type source_image: str 970 """ 971 972 _validation = { 973 'source_image': {'required': True}, 974 } 975 976 _attribute_map = { 977 'resource_id': {'key': 'resourceId', 'type': 'str'}, 978 'registry_uri': {'key': 'registryUri', 'type': 'str'}, 979 'credentials': {'key': 'credentials', 'type': 'ImportSourceCredentials'}, 980 'source_image': {'key': 'sourceImage', 'type': 'str'}, 981 } 982 983 def __init__( 984 self, 985 **kwargs 986 ): 987 super(ImportSource, self).__init__(**kwargs) 988 self.resource_id = kwargs.get('resource_id', None) 989 self.registry_uri = kwargs.get('registry_uri', None) 990 self.credentials = kwargs.get('credentials', None) 991 self.source_image = kwargs['source_image'] 992 993 994class ImportSourceCredentials(msrest.serialization.Model): 995 """ImportSourceCredentials. 996 997 All required parameters must be populated in order to send to Azure. 998 999 :param username: The username to authenticate with the source registry. 1000 :type username: str 1001 :param password: Required. The password used to authenticate with the source registry. 1002 :type password: str 1003 """ 1004 1005 _validation = { 1006 'password': {'required': True}, 1007 } 1008 1009 _attribute_map = { 1010 'username': {'key': 'username', 'type': 'str'}, 1011 'password': {'key': 'password', 'type': 'str'}, 1012 } 1013 1014 def __init__( 1015 self, 1016 **kwargs 1017 ): 1018 super(ImportSourceCredentials, self).__init__(**kwargs) 1019 self.username = kwargs.get('username', None) 1020 self.password = kwargs['password'] 1021 1022 1023class InnerErrorDescription(msrest.serialization.Model): 1024 """inner error. 1025 1026 All required parameters must be populated in order to send to Azure. 1027 1028 :param code: Required. error code. 1029 :type code: str 1030 :param message: Required. error message. 1031 :type message: str 1032 :param target: target of the particular error. 1033 :type target: str 1034 """ 1035 1036 _validation = { 1037 'code': {'required': True}, 1038 'message': {'required': True}, 1039 } 1040 1041 _attribute_map = { 1042 'code': {'key': 'code', 'type': 'str'}, 1043 'message': {'key': 'message', 'type': 'str'}, 1044 'target': {'key': 'target', 'type': 'str'}, 1045 } 1046 1047 def __init__( 1048 self, 1049 **kwargs 1050 ): 1051 super(InnerErrorDescription, self).__init__(**kwargs) 1052 self.code = kwargs['code'] 1053 self.message = kwargs['message'] 1054 self.target = kwargs.get('target', None) 1055 1056 1057class IPRule(msrest.serialization.Model): 1058 """IP rule with specific IP or IP range in CIDR format. 1059 1060 All required parameters must be populated in order to send to Azure. 1061 1062 :param action: The action of IP ACL rule. Possible values include: "Allow". 1063 :type action: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Action 1064 :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 1065 address is allowed. 1066 :type ip_address_or_range: str 1067 """ 1068 1069 _validation = { 1070 'ip_address_or_range': {'required': True}, 1071 } 1072 1073 _attribute_map = { 1074 'action': {'key': 'action', 'type': 'str'}, 1075 'ip_address_or_range': {'key': 'value', 'type': 'str'}, 1076 } 1077 1078 def __init__( 1079 self, 1080 **kwargs 1081 ): 1082 super(IPRule, self).__init__(**kwargs) 1083 self.action = kwargs.get('action', None) 1084 self.ip_address_or_range = kwargs['ip_address_or_range'] 1085 1086 1087class KeyVaultProperties(msrest.serialization.Model): 1088 """KeyVaultProperties. 1089 1090 Variables are only populated by the server, and will be ignored when sending a request. 1091 1092 :param key_identifier: Key vault uri to access the encryption key. 1093 :type key_identifier: str 1094 :ivar versioned_key_identifier: The fully qualified key identifier that includes the version of 1095 the key that is actually used for encryption. 1096 :vartype versioned_key_identifier: str 1097 :param identity: The client id of the identity which will be used to access key vault. 1098 :type identity: str 1099 :ivar key_rotation_enabled: Auto key rotation status for a CMK enabled registry. 1100 :vartype key_rotation_enabled: bool 1101 :ivar last_key_rotation_timestamp: Timestamp of the last successful key rotation. 1102 :vartype last_key_rotation_timestamp: ~datetime.datetime 1103 """ 1104 1105 _validation = { 1106 'versioned_key_identifier': {'readonly': True}, 1107 'key_rotation_enabled': {'readonly': True}, 1108 'last_key_rotation_timestamp': {'readonly': True}, 1109 } 1110 1111 _attribute_map = { 1112 'key_identifier': {'key': 'keyIdentifier', 'type': 'str'}, 1113 'versioned_key_identifier': {'key': 'versionedKeyIdentifier', 'type': 'str'}, 1114 'identity': {'key': 'identity', 'type': 'str'}, 1115 'key_rotation_enabled': {'key': 'keyRotationEnabled', 'type': 'bool'}, 1116 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, 1117 } 1118 1119 def __init__( 1120 self, 1121 **kwargs 1122 ): 1123 super(KeyVaultProperties, self).__init__(**kwargs) 1124 self.key_identifier = kwargs.get('key_identifier', None) 1125 self.versioned_key_identifier = None 1126 self.identity = kwargs.get('identity', None) 1127 self.key_rotation_enabled = None 1128 self.last_key_rotation_timestamp = None 1129 1130 1131class LoggingProperties(msrest.serialization.Model): 1132 """The logging properties of the connected registry. 1133 1134 :param log_level: The verbosity of logs persisted on the connected registry. Possible values 1135 include: "Debug", "Information", "Warning", "Error", "None". Default value: "Information". 1136 :type log_level: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.LogLevel 1137 :param audit_log_status: Indicates whether audit logs are enabled on the connected registry. 1138 Possible values include: "Enabled", "Disabled". Default value: "Disabled". 1139 :type audit_log_status: str or 1140 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.AuditLogStatus 1141 """ 1142 1143 _attribute_map = { 1144 'log_level': {'key': 'logLevel', 'type': 'str'}, 1145 'audit_log_status': {'key': 'auditLogStatus', 'type': 'str'}, 1146 } 1147 1148 def __init__( 1149 self, 1150 **kwargs 1151 ): 1152 super(LoggingProperties, self).__init__(**kwargs) 1153 self.log_level = kwargs.get('log_level', "Information") 1154 self.audit_log_status = kwargs.get('audit_log_status', "Disabled") 1155 1156 1157class LoginServerProperties(msrest.serialization.Model): 1158 """The login server properties of the connected registry. 1159 1160 Variables are only populated by the server, and will be ignored when sending a request. 1161 1162 :ivar host: The host of the connected registry. Can be FQDN or IP. 1163 :vartype host: str 1164 :ivar tls: The TLS properties of the connected registry login server. 1165 :vartype tls: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TlsProperties 1166 """ 1167 1168 _validation = { 1169 'host': {'readonly': True}, 1170 'tls': {'readonly': True}, 1171 } 1172 1173 _attribute_map = { 1174 'host': {'key': 'host', 'type': 'str'}, 1175 'tls': {'key': 'tls', 'type': 'TlsProperties'}, 1176 } 1177 1178 def __init__( 1179 self, 1180 **kwargs 1181 ): 1182 super(LoginServerProperties, self).__init__(**kwargs) 1183 self.host = None 1184 self.tls = None 1185 1186 1187class NetworkRuleSet(msrest.serialization.Model): 1188 """The network rule set for a container registry. 1189 1190 All required parameters must be populated in order to send to Azure. 1191 1192 :param default_action: Required. The default action of allow or deny when no other rules match. 1193 Possible values include: "Allow", "Deny". Default value: "Allow". 1194 :type default_action: str or 1195 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.DefaultAction 1196 :param virtual_network_rules: The virtual network rules. 1197 :type virtual_network_rules: 1198 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.VirtualNetworkRule] 1199 :param ip_rules: The IP ACL rules. 1200 :type ip_rules: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.IPRule] 1201 """ 1202 1203 _validation = { 1204 'default_action': {'required': True}, 1205 } 1206 1207 _attribute_map = { 1208 'default_action': {'key': 'defaultAction', 'type': 'str'}, 1209 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, 1210 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, 1211 } 1212 1213 def __init__( 1214 self, 1215 **kwargs 1216 ): 1217 super(NetworkRuleSet, self).__init__(**kwargs) 1218 self.default_action = kwargs.get('default_action', "Allow") 1219 self.virtual_network_rules = kwargs.get('virtual_network_rules', None) 1220 self.ip_rules = kwargs.get('ip_rules', None) 1221 1222 1223class OperationDefinition(msrest.serialization.Model): 1224 """The definition of a container registry operation. 1225 1226 :param origin: The origin information of the container registry operation. 1227 :type origin: str 1228 :param name: Operation name: {provider}/{resource}/{operation}. 1229 :type name: str 1230 :param display: The display information for the container registry operation. 1231 :type display: 1232 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.OperationDisplayDefinition 1233 :param service_specification: The definition of Azure Monitoring service. 1234 :type service_specification: 1235 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.OperationServiceSpecificationDefinition 1236 """ 1237 1238 _attribute_map = { 1239 'origin': {'key': 'origin', 'type': 'str'}, 1240 'name': {'key': 'name', 'type': 'str'}, 1241 'display': {'key': 'display', 'type': 'OperationDisplayDefinition'}, 1242 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationServiceSpecificationDefinition'}, 1243 } 1244 1245 def __init__( 1246 self, 1247 **kwargs 1248 ): 1249 super(OperationDefinition, self).__init__(**kwargs) 1250 self.origin = kwargs.get('origin', None) 1251 self.name = kwargs.get('name', None) 1252 self.display = kwargs.get('display', None) 1253 self.service_specification = kwargs.get('service_specification', None) 1254 1255 1256class OperationDisplayDefinition(msrest.serialization.Model): 1257 """The display information for a container registry operation. 1258 1259 :param provider: The resource provider name: Microsoft.ContainerRegistry. 1260 :type provider: str 1261 :param resource: The resource on which the operation is performed. 1262 :type resource: str 1263 :param operation: The operation that users can perform. 1264 :type operation: str 1265 :param description: The description for the operation. 1266 :type description: str 1267 """ 1268 1269 _attribute_map = { 1270 'provider': {'key': 'provider', 'type': 'str'}, 1271 'resource': {'key': 'resource', 'type': 'str'}, 1272 'operation': {'key': 'operation', 'type': 'str'}, 1273 'description': {'key': 'description', 'type': 'str'}, 1274 } 1275 1276 def __init__( 1277 self, 1278 **kwargs 1279 ): 1280 super(OperationDisplayDefinition, self).__init__(**kwargs) 1281 self.provider = kwargs.get('provider', None) 1282 self.resource = kwargs.get('resource', None) 1283 self.operation = kwargs.get('operation', None) 1284 self.description = kwargs.get('description', None) 1285 1286 1287class OperationListResult(msrest.serialization.Model): 1288 """The result of a request to list container registry operations. 1289 1290 :param value: The list of container registry operations. Since this list may be incomplete, the 1291 nextLink field should be used to request the next list of operations. 1292 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.OperationDefinition] 1293 :param next_link: The URI that can be used to request the next list of container registry 1294 operations. 1295 :type next_link: str 1296 """ 1297 1298 _attribute_map = { 1299 'value': {'key': 'value', 'type': '[OperationDefinition]'}, 1300 'next_link': {'key': 'nextLink', 'type': 'str'}, 1301 } 1302 1303 def __init__( 1304 self, 1305 **kwargs 1306 ): 1307 super(OperationListResult, self).__init__(**kwargs) 1308 self.value = kwargs.get('value', None) 1309 self.next_link = kwargs.get('next_link', None) 1310 1311 1312class OperationLogSpecificationDefinition(msrest.serialization.Model): 1313 """The definition of Azure Monitoring log. 1314 1315 :param name: Log name. 1316 :type name: str 1317 :param display_name: Log display name. 1318 :type display_name: str 1319 :param blob_duration: Log blob duration. 1320 :type blob_duration: str 1321 """ 1322 1323 _attribute_map = { 1324 'name': {'key': 'name', 'type': 'str'}, 1325 'display_name': {'key': 'displayName', 'type': 'str'}, 1326 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 1327 } 1328 1329 def __init__( 1330 self, 1331 **kwargs 1332 ): 1333 super(OperationLogSpecificationDefinition, self).__init__(**kwargs) 1334 self.name = kwargs.get('name', None) 1335 self.display_name = kwargs.get('display_name', None) 1336 self.blob_duration = kwargs.get('blob_duration', None) 1337 1338 1339class OperationMetricSpecificationDefinition(msrest.serialization.Model): 1340 """The definition of Azure Monitoring metric. 1341 1342 :param name: Metric name. 1343 :type name: str 1344 :param display_name: Metric display name. 1345 :type display_name: str 1346 :param display_description: Metric description. 1347 :type display_description: str 1348 :param unit: Metric unit. 1349 :type unit: str 1350 :param aggregation_type: Metric aggregation type. 1351 :type aggregation_type: str 1352 :param internal_metric_name: Internal metric name. 1353 :type internal_metric_name: str 1354 """ 1355 1356 _attribute_map = { 1357 'name': {'key': 'name', 'type': 'str'}, 1358 'display_name': {'key': 'displayName', 'type': 'str'}, 1359 'display_description': {'key': 'displayDescription', 'type': 'str'}, 1360 'unit': {'key': 'unit', 'type': 'str'}, 1361 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 1362 'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'}, 1363 } 1364 1365 def __init__( 1366 self, 1367 **kwargs 1368 ): 1369 super(OperationMetricSpecificationDefinition, self).__init__(**kwargs) 1370 self.name = kwargs.get('name', None) 1371 self.display_name = kwargs.get('display_name', None) 1372 self.display_description = kwargs.get('display_description', None) 1373 self.unit = kwargs.get('unit', None) 1374 self.aggregation_type = kwargs.get('aggregation_type', None) 1375 self.internal_metric_name = kwargs.get('internal_metric_name', None) 1376 1377 1378class OperationServiceSpecificationDefinition(msrest.serialization.Model): 1379 """The definition of Azure Monitoring list. 1380 1381 :param metric_specifications: A list of Azure Monitoring metrics definition. 1382 :type metric_specifications: 1383 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.OperationMetricSpecificationDefinition] 1384 :param log_specifications: A list of Azure Monitoring log definitions. 1385 :type log_specifications: 1386 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.OperationLogSpecificationDefinition] 1387 """ 1388 1389 _attribute_map = { 1390 'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetricSpecificationDefinition]'}, 1391 'log_specifications': {'key': 'logSpecifications', 'type': '[OperationLogSpecificationDefinition]'}, 1392 } 1393 1394 def __init__( 1395 self, 1396 **kwargs 1397 ): 1398 super(OperationServiceSpecificationDefinition, self).__init__(**kwargs) 1399 self.metric_specifications = kwargs.get('metric_specifications', None) 1400 self.log_specifications = kwargs.get('log_specifications', None) 1401 1402 1403class ParentProperties(msrest.serialization.Model): 1404 """The properties of the connected registry parent. 1405 1406 All required parameters must be populated in order to send to Azure. 1407 1408 :param id: The resource ID of the parent to which the connected registry will be associated. 1409 :type id: str 1410 :param sync_properties: Required. The sync properties of the connected registry with its 1411 parent. 1412 :type sync_properties: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SyncProperties 1413 """ 1414 1415 _validation = { 1416 'sync_properties': {'required': True}, 1417 } 1418 1419 _attribute_map = { 1420 'id': {'key': 'id', 'type': 'str'}, 1421 'sync_properties': {'key': 'syncProperties', 'type': 'SyncProperties'}, 1422 } 1423 1424 def __init__( 1425 self, 1426 **kwargs 1427 ): 1428 super(ParentProperties, self).__init__(**kwargs) 1429 self.id = kwargs.get('id', None) 1430 self.sync_properties = kwargs['sync_properties'] 1431 1432 1433class PipelineRun(ProxyResource): 1434 """An object that represents a pipeline run for a container registry. 1435 1436 Variables are only populated by the server, and will be ignored when sending a request. 1437 1438 :ivar id: The resource ID. 1439 :vartype id: str 1440 :ivar name: The name of the resource. 1441 :vartype name: str 1442 :ivar type: The type of the resource. 1443 :vartype type: str 1444 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 1445 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 1446 :ivar provisioning_state: The provisioning state of a pipeline run. Possible values include: 1447 "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". 1448 :vartype provisioning_state: str or 1449 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 1450 :param request: The request parameters for a pipeline run. 1451 :type request: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunRequest 1452 :ivar response: The response of a pipeline run. 1453 :vartype response: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunResponse 1454 :param force_update_tag: How the pipeline run should be forced to recreate even if the pipeline 1455 run configuration has not changed. 1456 :type force_update_tag: str 1457 """ 1458 1459 _validation = { 1460 'id': {'readonly': True}, 1461 'name': {'readonly': True}, 1462 'type': {'readonly': True}, 1463 'system_data': {'readonly': True}, 1464 'provisioning_state': {'readonly': True}, 1465 'response': {'readonly': True}, 1466 } 1467 1468 _attribute_map = { 1469 'id': {'key': 'id', 'type': 'str'}, 1470 'name': {'key': 'name', 'type': 'str'}, 1471 'type': {'key': 'type', 'type': 'str'}, 1472 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1473 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1474 'request': {'key': 'properties.request', 'type': 'PipelineRunRequest'}, 1475 'response': {'key': 'properties.response', 'type': 'PipelineRunResponse'}, 1476 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 1477 } 1478 1479 def __init__( 1480 self, 1481 **kwargs 1482 ): 1483 super(PipelineRun, self).__init__(**kwargs) 1484 self.provisioning_state = None 1485 self.request = kwargs.get('request', None) 1486 self.response = None 1487 self.force_update_tag = kwargs.get('force_update_tag', None) 1488 1489 1490class PipelineRunListResult(msrest.serialization.Model): 1491 """The result of a request to list pipeline runs for a container registry. 1492 1493 :param value: The list of pipeline runs. Since this list may be incomplete, the nextLink field 1494 should be used to request the next list of pipeline runs. 1495 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRun] 1496 :param next_link: The URI that can be used to request the next list of pipeline runs. 1497 :type next_link: str 1498 """ 1499 1500 _attribute_map = { 1501 'value': {'key': 'value', 'type': '[PipelineRun]'}, 1502 'next_link': {'key': 'nextLink', 'type': 'str'}, 1503 } 1504 1505 def __init__( 1506 self, 1507 **kwargs 1508 ): 1509 super(PipelineRunListResult, self).__init__(**kwargs) 1510 self.value = kwargs.get('value', None) 1511 self.next_link = kwargs.get('next_link', None) 1512 1513 1514class PipelineRunRequest(msrest.serialization.Model): 1515 """The request properties provided for a pipeline run. 1516 1517 :param pipeline_resource_id: The resource ID of the pipeline to run. 1518 :type pipeline_resource_id: str 1519 :param artifacts: List of source artifacts to be transferred by the pipeline. 1520 Specify an image by repository ('hello-world'). This will use the 'latest' tag. 1521 Specify an image by tag ('hello-world:latest'). 1522 Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). 1523 :type artifacts: list[str] 1524 :param source: The source properties of the pipeline run. 1525 :type source: 1526 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunSourceProperties 1527 :param target: The target properties of the pipeline run. 1528 :type target: 1529 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunTargetProperties 1530 :param catalog_digest: The digest of the tar used to transfer the artifacts. 1531 :type catalog_digest: str 1532 """ 1533 1534 _attribute_map = { 1535 'pipeline_resource_id': {'key': 'pipelineResourceId', 'type': 'str'}, 1536 'artifacts': {'key': 'artifacts', 'type': '[str]'}, 1537 'source': {'key': 'source', 'type': 'PipelineRunSourceProperties'}, 1538 'target': {'key': 'target', 'type': 'PipelineRunTargetProperties'}, 1539 'catalog_digest': {'key': 'catalogDigest', 'type': 'str'}, 1540 } 1541 1542 def __init__( 1543 self, 1544 **kwargs 1545 ): 1546 super(PipelineRunRequest, self).__init__(**kwargs) 1547 self.pipeline_resource_id = kwargs.get('pipeline_resource_id', None) 1548 self.artifacts = kwargs.get('artifacts', None) 1549 self.source = kwargs.get('source', None) 1550 self.target = kwargs.get('target', None) 1551 self.catalog_digest = kwargs.get('catalog_digest', None) 1552 1553 1554class PipelineRunResponse(msrest.serialization.Model): 1555 """The response properties returned for a pipeline run. 1556 1557 :param status: The current status of the pipeline run. 1558 :type status: str 1559 :param imported_artifacts: The artifacts imported in the pipeline run. 1560 :type imported_artifacts: list[str] 1561 :param progress: The current progress of the copy operation. 1562 :type progress: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProgressProperties 1563 :param start_time: The time the pipeline run started. 1564 :type start_time: ~datetime.datetime 1565 :param finish_time: The time the pipeline run finished. 1566 :type finish_time: ~datetime.datetime 1567 :param source: The source of the pipeline run. 1568 :type source: 1569 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ImportPipelineSourceProperties 1570 :param target: The target of the pipeline run. 1571 :type target: 1572 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ExportPipelineTargetProperties 1573 :param catalog_digest: The digest of the tar used to transfer the artifacts. 1574 :type catalog_digest: str 1575 :param trigger: The trigger that caused the pipeline run. 1576 :type trigger: 1577 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineTriggerDescriptor 1578 :param pipeline_run_error_message: The detailed error message for the pipeline run in the case 1579 of failure. 1580 :type pipeline_run_error_message: str 1581 """ 1582 1583 _attribute_map = { 1584 'status': {'key': 'status', 'type': 'str'}, 1585 'imported_artifacts': {'key': 'importedArtifacts', 'type': '[str]'}, 1586 'progress': {'key': 'progress', 'type': 'ProgressProperties'}, 1587 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 1588 'finish_time': {'key': 'finishTime', 'type': 'iso-8601'}, 1589 'source': {'key': 'source', 'type': 'ImportPipelineSourceProperties'}, 1590 'target': {'key': 'target', 'type': 'ExportPipelineTargetProperties'}, 1591 'catalog_digest': {'key': 'catalogDigest', 'type': 'str'}, 1592 'trigger': {'key': 'trigger', 'type': 'PipelineTriggerDescriptor'}, 1593 'pipeline_run_error_message': {'key': 'pipelineRunErrorMessage', 'type': 'str'}, 1594 } 1595 1596 def __init__( 1597 self, 1598 **kwargs 1599 ): 1600 super(PipelineRunResponse, self).__init__(**kwargs) 1601 self.status = kwargs.get('status', None) 1602 self.imported_artifacts = kwargs.get('imported_artifacts', None) 1603 self.progress = kwargs.get('progress', None) 1604 self.start_time = kwargs.get('start_time', None) 1605 self.finish_time = kwargs.get('finish_time', None) 1606 self.source = kwargs.get('source', None) 1607 self.target = kwargs.get('target', None) 1608 self.catalog_digest = kwargs.get('catalog_digest', None) 1609 self.trigger = kwargs.get('trigger', None) 1610 self.pipeline_run_error_message = kwargs.get('pipeline_run_error_message', None) 1611 1612 1613class PipelineRunSourceProperties(msrest.serialization.Model): 1614 """PipelineRunSourceProperties. 1615 1616 :param type: The type of the source. Possible values include: "AzureStorageBlob". Default 1617 value: "AzureStorageBlob". 1618 :type type: str or 1619 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunSourceType 1620 :param name: The name of the source. 1621 :type name: str 1622 """ 1623 1624 _attribute_map = { 1625 'type': {'key': 'type', 'type': 'str'}, 1626 'name': {'key': 'name', 'type': 'str'}, 1627 } 1628 1629 def __init__( 1630 self, 1631 **kwargs 1632 ): 1633 super(PipelineRunSourceProperties, self).__init__(**kwargs) 1634 self.type = kwargs.get('type', "AzureStorageBlob") 1635 self.name = kwargs.get('name', None) 1636 1637 1638class PipelineRunTargetProperties(msrest.serialization.Model): 1639 """PipelineRunTargetProperties. 1640 1641 :param type: The type of the target. Possible values include: "AzureStorageBlob". Default 1642 value: "AzureStorageBlob". 1643 :type type: str or 1644 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineRunTargetType 1645 :param name: The name of the target. 1646 :type name: str 1647 """ 1648 1649 _attribute_map = { 1650 'type': {'key': 'type', 'type': 'str'}, 1651 'name': {'key': 'name', 'type': 'str'}, 1652 } 1653 1654 def __init__( 1655 self, 1656 **kwargs 1657 ): 1658 super(PipelineRunTargetProperties, self).__init__(**kwargs) 1659 self.type = kwargs.get('type', "AzureStorageBlob") 1660 self.name = kwargs.get('name', None) 1661 1662 1663class PipelineSourceTriggerDescriptor(msrest.serialization.Model): 1664 """PipelineSourceTriggerDescriptor. 1665 1666 :param timestamp: The timestamp when the source update happened. 1667 :type timestamp: ~datetime.datetime 1668 """ 1669 1670 _attribute_map = { 1671 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 1672 } 1673 1674 def __init__( 1675 self, 1676 **kwargs 1677 ): 1678 super(PipelineSourceTriggerDescriptor, self).__init__(**kwargs) 1679 self.timestamp = kwargs.get('timestamp', None) 1680 1681 1682class PipelineSourceTriggerProperties(msrest.serialization.Model): 1683 """PipelineSourceTriggerProperties. 1684 1685 All required parameters must be populated in order to send to Azure. 1686 1687 :param status: Required. The current status of the source trigger. Possible values include: 1688 "Enabled", "Disabled". Default value: "Enabled". 1689 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TriggerStatus 1690 """ 1691 1692 _validation = { 1693 'status': {'required': True}, 1694 } 1695 1696 _attribute_map = { 1697 'status': {'key': 'status', 'type': 'str'}, 1698 } 1699 1700 def __init__( 1701 self, 1702 **kwargs 1703 ): 1704 super(PipelineSourceTriggerProperties, self).__init__(**kwargs) 1705 self.status = kwargs.get('status', "Enabled") 1706 1707 1708class PipelineTriggerDescriptor(msrest.serialization.Model): 1709 """PipelineTriggerDescriptor. 1710 1711 :param source_trigger: The source trigger that caused the pipeline run. 1712 :type source_trigger: 1713 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineSourceTriggerDescriptor 1714 """ 1715 1716 _attribute_map = { 1717 'source_trigger': {'key': 'sourceTrigger', 'type': 'PipelineSourceTriggerDescriptor'}, 1718 } 1719 1720 def __init__( 1721 self, 1722 **kwargs 1723 ): 1724 super(PipelineTriggerDescriptor, self).__init__(**kwargs) 1725 self.source_trigger = kwargs.get('source_trigger', None) 1726 1727 1728class PipelineTriggerProperties(msrest.serialization.Model): 1729 """PipelineTriggerProperties. 1730 1731 :param source_trigger: The source trigger properties of the pipeline. 1732 :type source_trigger: 1733 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PipelineSourceTriggerProperties 1734 """ 1735 1736 _attribute_map = { 1737 'source_trigger': {'key': 'sourceTrigger', 'type': 'PipelineSourceTriggerProperties'}, 1738 } 1739 1740 def __init__( 1741 self, 1742 **kwargs 1743 ): 1744 super(PipelineTriggerProperties, self).__init__(**kwargs) 1745 self.source_trigger = kwargs.get('source_trigger', None) 1746 1747 1748class Policies(msrest.serialization.Model): 1749 """The policies for a container registry. 1750 1751 :param quarantine_policy: The quarantine policy for a container registry. 1752 :type quarantine_policy: 1753 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.QuarantinePolicy 1754 :param trust_policy: The content trust policy for a container registry. 1755 :type trust_policy: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TrustPolicy 1756 :param retention_policy: The retention policy for a container registry. 1757 :type retention_policy: 1758 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.RetentionPolicy 1759 """ 1760 1761 _attribute_map = { 1762 'quarantine_policy': {'key': 'quarantinePolicy', 'type': 'QuarantinePolicy'}, 1763 'trust_policy': {'key': 'trustPolicy', 'type': 'TrustPolicy'}, 1764 'retention_policy': {'key': 'retentionPolicy', 'type': 'RetentionPolicy'}, 1765 } 1766 1767 def __init__( 1768 self, 1769 **kwargs 1770 ): 1771 super(Policies, self).__init__(**kwargs) 1772 self.quarantine_policy = kwargs.get('quarantine_policy', None) 1773 self.trust_policy = kwargs.get('trust_policy', None) 1774 self.retention_policy = kwargs.get('retention_policy', None) 1775 1776 1777class PrivateEndpoint(msrest.serialization.Model): 1778 """The Private Endpoint resource. 1779 1780 :param id: This is private endpoint resource created with Microsoft.Network resource provider. 1781 :type id: str 1782 """ 1783 1784 _attribute_map = { 1785 'id': {'key': 'id', 'type': 'str'}, 1786 } 1787 1788 def __init__( 1789 self, 1790 **kwargs 1791 ): 1792 super(PrivateEndpoint, self).__init__(**kwargs) 1793 self.id = kwargs.get('id', None) 1794 1795 1796class PrivateEndpointConnection(ProxyResource): 1797 """An object that represents a private endpoint connection for a container registry. 1798 1799 Variables are only populated by the server, and will be ignored when sending a request. 1800 1801 :ivar id: The resource ID. 1802 :vartype id: str 1803 :ivar name: The name of the resource. 1804 :vartype name: str 1805 :ivar type: The type of the resource. 1806 :vartype type: str 1807 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 1808 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 1809 :param private_endpoint: The resource of private endpoint. 1810 :type private_endpoint: 1811 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PrivateEndpoint 1812 :param private_link_service_connection_state: A collection of information about the state of 1813 the connection between service consumer and provider. 1814 :type private_link_service_connection_state: 1815 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PrivateLinkServiceConnectionState 1816 :ivar provisioning_state: The provisioning state of private endpoint connection resource. 1817 Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". 1818 :vartype provisioning_state: str or 1819 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 1820 """ 1821 1822 _validation = { 1823 'id': {'readonly': True}, 1824 'name': {'readonly': True}, 1825 'type': {'readonly': True}, 1826 'system_data': {'readonly': True}, 1827 'provisioning_state': {'readonly': True}, 1828 } 1829 1830 _attribute_map = { 1831 'id': {'key': 'id', 'type': 'str'}, 1832 'name': {'key': 'name', 'type': 'str'}, 1833 'type': {'key': 'type', 'type': 'str'}, 1834 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1835 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 1836 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 1837 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1838 } 1839 1840 def __init__( 1841 self, 1842 **kwargs 1843 ): 1844 super(PrivateEndpointConnection, self).__init__(**kwargs) 1845 self.private_endpoint = kwargs.get('private_endpoint', None) 1846 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 1847 self.provisioning_state = None 1848 1849 1850class PrivateEndpointConnectionListResult(msrest.serialization.Model): 1851 """The result of a request to list private endpoint connections for a container registry. 1852 1853 :param value: The list of private endpoint connections. Since this list may be incomplete, the 1854 nextLink field should be used to request the next list of private endpoint connections. 1855 :type value: 1856 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.PrivateEndpointConnection] 1857 :param next_link: The URI that can be used to request the next list of private endpoint 1858 connections. 1859 :type next_link: str 1860 """ 1861 1862 _attribute_map = { 1863 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 1864 'next_link': {'key': 'nextLink', 'type': 'str'}, 1865 } 1866 1867 def __init__( 1868 self, 1869 **kwargs 1870 ): 1871 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 1872 self.value = kwargs.get('value', None) 1873 self.next_link = kwargs.get('next_link', None) 1874 1875 1876class PrivateLinkResource(msrest.serialization.Model): 1877 """A resource that supports private link capabilities. 1878 1879 Variables are only populated by the server, and will be ignored when sending a request. 1880 1881 :ivar type: The resource type is private link resource. 1882 :vartype type: str 1883 :param id: The resource ID. 1884 :type id: str 1885 :param name: The name of the resource. 1886 :type name: str 1887 :param group_id: The private link resource group id. 1888 :type group_id: str 1889 :param required_members: The private link resource required member names. 1890 :type required_members: list[str] 1891 :param required_zone_names: The private link resource Private link DNS zone name. 1892 :type required_zone_names: list[str] 1893 """ 1894 1895 _validation = { 1896 'type': {'readonly': True}, 1897 } 1898 1899 _attribute_map = { 1900 'type': {'key': 'type', 'type': 'str'}, 1901 'id': {'key': 'id', 'type': 'str'}, 1902 'name': {'key': 'name', 'type': 'str'}, 1903 'group_id': {'key': 'properties.groupId', 'type': 'str'}, 1904 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, 1905 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, 1906 } 1907 1908 def __init__( 1909 self, 1910 **kwargs 1911 ): 1912 super(PrivateLinkResource, self).__init__(**kwargs) 1913 self.type = None 1914 self.id = kwargs.get('id', None) 1915 self.name = kwargs.get('name', None) 1916 self.group_id = kwargs.get('group_id', None) 1917 self.required_members = kwargs.get('required_members', None) 1918 self.required_zone_names = kwargs.get('required_zone_names', None) 1919 1920 1921class PrivateLinkResourceListResult(msrest.serialization.Model): 1922 """The result of a request to list private link resources for a container registry. 1923 1924 :param value: The list of private link resources. Since this list may be incomplete, the 1925 nextLink field should be used to request the next list of private link resources. 1926 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.PrivateLinkResource] 1927 :param next_link: The URI that can be used to request the next list of private link resources. 1928 :type next_link: str 1929 """ 1930 1931 _attribute_map = { 1932 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 1933 'next_link': {'key': 'nextLink', 'type': 'str'}, 1934 } 1935 1936 def __init__( 1937 self, 1938 **kwargs 1939 ): 1940 super(PrivateLinkResourceListResult, self).__init__(**kwargs) 1941 self.value = kwargs.get('value', None) 1942 self.next_link = kwargs.get('next_link', None) 1943 1944 1945class PrivateLinkServiceConnectionState(msrest.serialization.Model): 1946 """The state of a private link service connection. 1947 1948 :param status: The private link service connection status. Possible values include: "Approved", 1949 "Pending", "Rejected", "Disconnected". 1950 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ConnectionStatus 1951 :param description: The description for connection status. For example if connection is 1952 rejected it can indicate reason for rejection. 1953 :type description: str 1954 :param actions_required: A message indicating if changes on the service provider require any 1955 updates on the consumer. Possible values include: "None", "Recreate". 1956 :type actions_required: str or 1957 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ActionsRequired 1958 """ 1959 1960 _attribute_map = { 1961 'status': {'key': 'status', 'type': 'str'}, 1962 'description': {'key': 'description', 'type': 'str'}, 1963 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 1964 } 1965 1966 def __init__( 1967 self, 1968 **kwargs 1969 ): 1970 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 1971 self.status = kwargs.get('status', None) 1972 self.description = kwargs.get('description', None) 1973 self.actions_required = kwargs.get('actions_required', None) 1974 1975 1976class ProgressProperties(msrest.serialization.Model): 1977 """ProgressProperties. 1978 1979 :param percentage: The percentage complete of the copy operation. 1980 :type percentage: str 1981 """ 1982 1983 _attribute_map = { 1984 'percentage': {'key': 'percentage', 'type': 'str'}, 1985 } 1986 1987 def __init__( 1988 self, 1989 **kwargs 1990 ): 1991 super(ProgressProperties, self).__init__(**kwargs) 1992 self.percentage = kwargs.get('percentage', None) 1993 1994 1995class QuarantinePolicy(msrest.serialization.Model): 1996 """The quarantine policy for a container registry. 1997 1998 :param status: The value that indicates whether the policy is enabled or not. Possible values 1999 include: "enabled", "disabled". 2000 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PolicyStatus 2001 """ 2002 2003 _attribute_map = { 2004 'status': {'key': 'status', 'type': 'str'}, 2005 } 2006 2007 def __init__( 2008 self, 2009 **kwargs 2010 ): 2011 super(QuarantinePolicy, self).__init__(**kwargs) 2012 self.status = kwargs.get('status', None) 2013 2014 2015class RegenerateCredentialParameters(msrest.serialization.Model): 2016 """The parameters used to regenerate the login credential. 2017 2018 All required parameters must be populated in order to send to Azure. 2019 2020 :param name: Required. Specifies name of the password which should be regenerated -- password 2021 or password2. Possible values include: "password", "password2". 2022 :type name: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PasswordName 2023 """ 2024 2025 _validation = { 2026 'name': {'required': True}, 2027 } 2028 2029 _attribute_map = { 2030 'name': {'key': 'name', 'type': 'str'}, 2031 } 2032 2033 def __init__( 2034 self, 2035 **kwargs 2036 ): 2037 super(RegenerateCredentialParameters, self).__init__(**kwargs) 2038 self.name = kwargs['name'] 2039 2040 2041class Resource(msrest.serialization.Model): 2042 """An Azure resource. 2043 2044 Variables are only populated by the server, and will be ignored when sending a request. 2045 2046 All required parameters must be populated in order to send to Azure. 2047 2048 :ivar id: The resource ID. 2049 :vartype id: str 2050 :ivar name: The name of the resource. 2051 :vartype name: str 2052 :ivar type: The type of the resource. 2053 :vartype type: str 2054 :param location: Required. The location of the resource. This cannot be changed after the 2055 resource is created. 2056 :type location: str 2057 :param tags: A set of tags. The tags of the resource. 2058 :type tags: dict[str, str] 2059 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 2060 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 2061 """ 2062 2063 _validation = { 2064 'id': {'readonly': True}, 2065 'name': {'readonly': True}, 2066 'type': {'readonly': True}, 2067 'location': {'required': True}, 2068 'system_data': {'readonly': True}, 2069 } 2070 2071 _attribute_map = { 2072 'id': {'key': 'id', 'type': 'str'}, 2073 'name': {'key': 'name', 'type': 'str'}, 2074 'type': {'key': 'type', 'type': 'str'}, 2075 'location': {'key': 'location', 'type': 'str'}, 2076 'tags': {'key': 'tags', 'type': '{str}'}, 2077 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2078 } 2079 2080 def __init__( 2081 self, 2082 **kwargs 2083 ): 2084 super(Resource, self).__init__(**kwargs) 2085 self.id = None 2086 self.name = None 2087 self.type = None 2088 self.location = kwargs['location'] 2089 self.tags = kwargs.get('tags', None) 2090 self.system_data = None 2091 2092 2093class Registry(Resource): 2094 """An object that represents a container registry. 2095 2096 Variables are only populated by the server, and will be ignored when sending a request. 2097 2098 All required parameters must be populated in order to send to Azure. 2099 2100 :ivar id: The resource ID. 2101 :vartype id: str 2102 :ivar name: The name of the resource. 2103 :vartype name: str 2104 :ivar type: The type of the resource. 2105 :vartype type: str 2106 :param location: Required. The location of the resource. This cannot be changed after the 2107 resource is created. 2108 :type location: str 2109 :param tags: A set of tags. The tags of the resource. 2110 :type tags: dict[str, str] 2111 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 2112 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 2113 :param sku: Required. The SKU of the container registry. 2114 :type sku: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Sku 2115 :param identity: The identity of the container registry. 2116 :type identity: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.IdentityProperties 2117 :ivar login_server: The URL that can be used to log into the container registry. 2118 :vartype login_server: str 2119 :ivar creation_date: The creation date of the container registry in ISO8601 format. 2120 :vartype creation_date: ~datetime.datetime 2121 :ivar provisioning_state: The provisioning state of the container registry at the time the 2122 operation was called. Possible values include: "Creating", "Updating", "Deleting", "Succeeded", 2123 "Failed", "Canceled". 2124 :vartype provisioning_state: str or 2125 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 2126 :ivar status: The status of the container registry at the time the operation was called. 2127 :vartype status: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Status 2128 :param admin_user_enabled: The value that indicates whether the admin user is enabled. 2129 :type admin_user_enabled: bool 2130 :param network_rule_set: The network rule set for a container registry. 2131 :type network_rule_set: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.NetworkRuleSet 2132 :param policies: The policies for a container registry. 2133 :type policies: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Policies 2134 :param encryption: The encryption settings of container registry. 2135 :type encryption: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EncryptionProperty 2136 :param data_endpoint_enabled: Enable a single data endpoint per region for serving data. 2137 :type data_endpoint_enabled: bool 2138 :ivar data_endpoint_host_names: List of host names that will serve data when 2139 dataEndpointEnabled is true. 2140 :vartype data_endpoint_host_names: list[str] 2141 :ivar private_endpoint_connections: List of private endpoint connections for a container 2142 registry. 2143 :vartype private_endpoint_connections: 2144 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.PrivateEndpointConnection] 2145 :param public_network_access: Whether or not public network access is allowed for the container 2146 registry. Possible values include: "Enabled", "Disabled". 2147 :type public_network_access: str or 2148 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PublicNetworkAccess 2149 :param network_rule_bypass_options: Whether to allow trusted Azure services to access a network 2150 restricted registry. Possible values include: "AzureServices", "None". 2151 :type network_rule_bypass_options: str or 2152 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.NetworkRuleBypassOptions 2153 :param zone_redundancy: Whether or not zone redundancy is enabled for this container registry. 2154 Possible values include: "Enabled", "Disabled". 2155 :type zone_redundancy: str or 2156 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ZoneRedundancy 2157 :param anonymous_pull_enabled: Enables registry-wide pull from unauthenticated clients. 2158 :type anonymous_pull_enabled: bool 2159 """ 2160 2161 _validation = { 2162 'id': {'readonly': True}, 2163 'name': {'readonly': True}, 2164 'type': {'readonly': True}, 2165 'location': {'required': True}, 2166 'system_data': {'readonly': True}, 2167 'sku': {'required': True}, 2168 'login_server': {'readonly': True}, 2169 'creation_date': {'readonly': True}, 2170 'provisioning_state': {'readonly': True}, 2171 'status': {'readonly': True}, 2172 'data_endpoint_host_names': {'readonly': True}, 2173 'private_endpoint_connections': {'readonly': True}, 2174 } 2175 2176 _attribute_map = { 2177 'id': {'key': 'id', 'type': 'str'}, 2178 'name': {'key': 'name', 'type': 'str'}, 2179 'type': {'key': 'type', 'type': 'str'}, 2180 'location': {'key': 'location', 'type': 'str'}, 2181 'tags': {'key': 'tags', 'type': '{str}'}, 2182 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2183 'sku': {'key': 'sku', 'type': 'Sku'}, 2184 'identity': {'key': 'identity', 'type': 'IdentityProperties'}, 2185 'login_server': {'key': 'properties.loginServer', 'type': 'str'}, 2186 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 2187 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2188 'status': {'key': 'properties.status', 'type': 'Status'}, 2189 'admin_user_enabled': {'key': 'properties.adminUserEnabled', 'type': 'bool'}, 2190 'network_rule_set': {'key': 'properties.networkRuleSet', 'type': 'NetworkRuleSet'}, 2191 'policies': {'key': 'properties.policies', 'type': 'Policies'}, 2192 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionProperty'}, 2193 'data_endpoint_enabled': {'key': 'properties.dataEndpointEnabled', 'type': 'bool'}, 2194 'data_endpoint_host_names': {'key': 'properties.dataEndpointHostNames', 'type': '[str]'}, 2195 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 2196 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 2197 'network_rule_bypass_options': {'key': 'properties.networkRuleBypassOptions', 'type': 'str'}, 2198 'zone_redundancy': {'key': 'properties.zoneRedundancy', 'type': 'str'}, 2199 'anonymous_pull_enabled': {'key': 'properties.anonymousPullEnabled', 'type': 'bool'}, 2200 } 2201 2202 def __init__( 2203 self, 2204 **kwargs 2205 ): 2206 super(Registry, self).__init__(**kwargs) 2207 self.sku = kwargs['sku'] 2208 self.identity = kwargs.get('identity', None) 2209 self.login_server = None 2210 self.creation_date = None 2211 self.provisioning_state = None 2212 self.status = None 2213 self.admin_user_enabled = kwargs.get('admin_user_enabled', False) 2214 self.network_rule_set = kwargs.get('network_rule_set', None) 2215 self.policies = kwargs.get('policies', None) 2216 self.encryption = kwargs.get('encryption', None) 2217 self.data_endpoint_enabled = kwargs.get('data_endpoint_enabled', None) 2218 self.data_endpoint_host_names = None 2219 self.private_endpoint_connections = None 2220 self.public_network_access = kwargs.get('public_network_access', None) 2221 self.network_rule_bypass_options = kwargs.get('network_rule_bypass_options', None) 2222 self.zone_redundancy = kwargs.get('zone_redundancy', None) 2223 self.anonymous_pull_enabled = kwargs.get('anonymous_pull_enabled', False) 2224 2225 2226class RegistryListCredentialsResult(msrest.serialization.Model): 2227 """The response from the ListCredentials operation. 2228 2229 :param username: The username for a container registry. 2230 :type username: str 2231 :param passwords: The list of passwords for a container registry. 2232 :type passwords: 2233 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.RegistryPassword] 2234 """ 2235 2236 _attribute_map = { 2237 'username': {'key': 'username', 'type': 'str'}, 2238 'passwords': {'key': 'passwords', 'type': '[RegistryPassword]'}, 2239 } 2240 2241 def __init__( 2242 self, 2243 **kwargs 2244 ): 2245 super(RegistryListCredentialsResult, self).__init__(**kwargs) 2246 self.username = kwargs.get('username', None) 2247 self.passwords = kwargs.get('passwords', None) 2248 2249 2250class RegistryListResult(msrest.serialization.Model): 2251 """The result of a request to list container registries. 2252 2253 :param value: The list of container registries. Since this list may be incomplete, the nextLink 2254 field should be used to request the next list of container registries. 2255 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.Registry] 2256 :param next_link: The URI that can be used to request the next list of container registries. 2257 :type next_link: str 2258 """ 2259 2260 _attribute_map = { 2261 'value': {'key': 'value', 'type': '[Registry]'}, 2262 'next_link': {'key': 'nextLink', 'type': 'str'}, 2263 } 2264 2265 def __init__( 2266 self, 2267 **kwargs 2268 ): 2269 super(RegistryListResult, self).__init__(**kwargs) 2270 self.value = kwargs.get('value', None) 2271 self.next_link = kwargs.get('next_link', None) 2272 2273 2274class RegistryNameCheckRequest(msrest.serialization.Model): 2275 """A request to check whether a container registry name is available. 2276 2277 Variables are only populated by the server, and will be ignored when sending a request. 2278 2279 All required parameters must be populated in order to send to Azure. 2280 2281 :param name: Required. The name of the container registry. 2282 :type name: str 2283 :ivar type: The resource type of the container registry. This field must be set to 2284 'Microsoft.ContainerRegistry/registries'. Has constant value: 2285 "Microsoft.ContainerRegistry/registries". 2286 :vartype type: str 2287 """ 2288 2289 _validation = { 2290 'name': {'required': True, 'max_length': 50, 'min_length': 5, 'pattern': r'^[a-zA-Z0-9]*$'}, 2291 'type': {'required': True, 'constant': True}, 2292 } 2293 2294 _attribute_map = { 2295 'name': {'key': 'name', 'type': 'str'}, 2296 'type': {'key': 'type', 'type': 'str'}, 2297 } 2298 2299 type = "Microsoft.ContainerRegistry/registries" 2300 2301 def __init__( 2302 self, 2303 **kwargs 2304 ): 2305 super(RegistryNameCheckRequest, self).__init__(**kwargs) 2306 self.name = kwargs['name'] 2307 2308 2309class RegistryNameStatus(msrest.serialization.Model): 2310 """The result of a request to check the availability of a container registry name. 2311 2312 :param name_available: The value that indicates whether the name is available. 2313 :type name_available: bool 2314 :param reason: If any, the reason that the name is not available. 2315 :type reason: str 2316 :param message: If any, the error message that provides more detail for the reason that the 2317 name is not available. 2318 :type message: str 2319 """ 2320 2321 _attribute_map = { 2322 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 2323 'reason': {'key': 'reason', 'type': 'str'}, 2324 'message': {'key': 'message', 'type': 'str'}, 2325 } 2326 2327 def __init__( 2328 self, 2329 **kwargs 2330 ): 2331 super(RegistryNameStatus, self).__init__(**kwargs) 2332 self.name_available = kwargs.get('name_available', None) 2333 self.reason = kwargs.get('reason', None) 2334 self.message = kwargs.get('message', None) 2335 2336 2337class RegistryPassword(msrest.serialization.Model): 2338 """The login password for the container registry. 2339 2340 :param name: The password name. Possible values include: "password", "password2". 2341 :type name: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PasswordName 2342 :param value: The password value. 2343 :type value: str 2344 """ 2345 2346 _attribute_map = { 2347 'name': {'key': 'name', 'type': 'str'}, 2348 'value': {'key': 'value', 'type': 'str'}, 2349 } 2350 2351 def __init__( 2352 self, 2353 **kwargs 2354 ): 2355 super(RegistryPassword, self).__init__(**kwargs) 2356 self.name = kwargs.get('name', None) 2357 self.value = kwargs.get('value', None) 2358 2359 2360class RegistryUpdateParameters(msrest.serialization.Model): 2361 """The parameters for updating a container registry. 2362 2363 :param identity: The identity of the container registry. 2364 :type identity: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.IdentityProperties 2365 :param tags: A set of tags. The tags for the container registry. 2366 :type tags: dict[str, str] 2367 :param sku: The SKU of the container registry. 2368 :type sku: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Sku 2369 :param admin_user_enabled: The value that indicates whether the admin user is enabled. 2370 :type admin_user_enabled: bool 2371 :param network_rule_set: The network rule set for a container registry. 2372 :type network_rule_set: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.NetworkRuleSet 2373 :param policies: The policies for a container registry. 2374 :type policies: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Policies 2375 :param encryption: The encryption settings of container registry. 2376 :type encryption: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.EncryptionProperty 2377 :param data_endpoint_enabled: Enable a single data endpoint per region for serving data. 2378 :type data_endpoint_enabled: bool 2379 :param public_network_access: Whether or not public network access is allowed for the container 2380 registry. Possible values include: "Enabled", "Disabled". 2381 :type public_network_access: str or 2382 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PublicNetworkAccess 2383 :param network_rule_bypass_options: Whether to allow trusted Azure services to access a network 2384 restricted registry. Possible values include: "AzureServices", "None". 2385 :type network_rule_bypass_options: str or 2386 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.NetworkRuleBypassOptions 2387 :param anonymous_pull_enabled: Enables registry-wide pull from unauthenticated clients. 2388 :type anonymous_pull_enabled: bool 2389 """ 2390 2391 _attribute_map = { 2392 'identity': {'key': 'identity', 'type': 'IdentityProperties'}, 2393 'tags': {'key': 'tags', 'type': '{str}'}, 2394 'sku': {'key': 'sku', 'type': 'Sku'}, 2395 'admin_user_enabled': {'key': 'properties.adminUserEnabled', 'type': 'bool'}, 2396 'network_rule_set': {'key': 'properties.networkRuleSet', 'type': 'NetworkRuleSet'}, 2397 'policies': {'key': 'properties.policies', 'type': 'Policies'}, 2398 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionProperty'}, 2399 'data_endpoint_enabled': {'key': 'properties.dataEndpointEnabled', 'type': 'bool'}, 2400 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 2401 'network_rule_bypass_options': {'key': 'properties.networkRuleBypassOptions', 'type': 'str'}, 2402 'anonymous_pull_enabled': {'key': 'properties.anonymousPullEnabled', 'type': 'bool'}, 2403 } 2404 2405 def __init__( 2406 self, 2407 **kwargs 2408 ): 2409 super(RegistryUpdateParameters, self).__init__(**kwargs) 2410 self.identity = kwargs.get('identity', None) 2411 self.tags = kwargs.get('tags', None) 2412 self.sku = kwargs.get('sku', None) 2413 self.admin_user_enabled = kwargs.get('admin_user_enabled', None) 2414 self.network_rule_set = kwargs.get('network_rule_set', None) 2415 self.policies = kwargs.get('policies', None) 2416 self.encryption = kwargs.get('encryption', None) 2417 self.data_endpoint_enabled = kwargs.get('data_endpoint_enabled', None) 2418 self.public_network_access = kwargs.get('public_network_access', None) 2419 self.network_rule_bypass_options = kwargs.get('network_rule_bypass_options', None) 2420 self.anonymous_pull_enabled = kwargs.get('anonymous_pull_enabled', None) 2421 2422 2423class RegistryUsage(msrest.serialization.Model): 2424 """The quota usage for a container registry. 2425 2426 :param name: The name of the usage. 2427 :type name: str 2428 :param limit: The limit of the usage. 2429 :type limit: long 2430 :param current_value: The current value of the usage. 2431 :type current_value: long 2432 :param unit: The unit of measurement. Possible values include: "Count", "Bytes". 2433 :type unit: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.RegistryUsageUnit 2434 """ 2435 2436 _attribute_map = { 2437 'name': {'key': 'name', 'type': 'str'}, 2438 'limit': {'key': 'limit', 'type': 'long'}, 2439 'current_value': {'key': 'currentValue', 'type': 'long'}, 2440 'unit': {'key': 'unit', 'type': 'str'}, 2441 } 2442 2443 def __init__( 2444 self, 2445 **kwargs 2446 ): 2447 super(RegistryUsage, self).__init__(**kwargs) 2448 self.name = kwargs.get('name', None) 2449 self.limit = kwargs.get('limit', None) 2450 self.current_value = kwargs.get('current_value', None) 2451 self.unit = kwargs.get('unit', None) 2452 2453 2454class RegistryUsageListResult(msrest.serialization.Model): 2455 """The result of a request to get container registry quota usages. 2456 2457 :param value: The list of container registry quota usages. 2458 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.RegistryUsage] 2459 """ 2460 2461 _attribute_map = { 2462 'value': {'key': 'value', 'type': '[RegistryUsage]'}, 2463 } 2464 2465 def __init__( 2466 self, 2467 **kwargs 2468 ): 2469 super(RegistryUsageListResult, self).__init__(**kwargs) 2470 self.value = kwargs.get('value', None) 2471 2472 2473class Replication(Resource): 2474 """An object that represents a replication for a container registry. 2475 2476 Variables are only populated by the server, and will be ignored when sending a request. 2477 2478 All required parameters must be populated in order to send to Azure. 2479 2480 :ivar id: The resource ID. 2481 :vartype id: str 2482 :ivar name: The name of the resource. 2483 :vartype name: str 2484 :ivar type: The type of the resource. 2485 :vartype type: str 2486 :param location: Required. The location of the resource. This cannot be changed after the 2487 resource is created. 2488 :type location: str 2489 :param tags: A set of tags. The tags of the resource. 2490 :type tags: dict[str, str] 2491 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 2492 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 2493 :ivar provisioning_state: The provisioning state of the replication at the time the operation 2494 was called. Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", 2495 "Canceled". 2496 :vartype provisioning_state: str or 2497 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 2498 :ivar status: The status of the replication at the time the operation was called. 2499 :vartype status: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Status 2500 :param region_endpoint_enabled: Specifies whether the replication's regional endpoint is 2501 enabled. Requests will not be routed to a replication whose regional endpoint is disabled, 2502 however its data will continue to be synced with other replications. 2503 :type region_endpoint_enabled: bool 2504 :param zone_redundancy: Whether or not zone redundancy is enabled for this container registry 2505 replication. Possible values include: "Enabled", "Disabled". 2506 :type zone_redundancy: str or 2507 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ZoneRedundancy 2508 """ 2509 2510 _validation = { 2511 'id': {'readonly': True}, 2512 'name': {'readonly': True}, 2513 'type': {'readonly': True}, 2514 'location': {'required': True}, 2515 'system_data': {'readonly': True}, 2516 'provisioning_state': {'readonly': True}, 2517 'status': {'readonly': True}, 2518 } 2519 2520 _attribute_map = { 2521 'id': {'key': 'id', 'type': 'str'}, 2522 'name': {'key': 'name', 'type': 'str'}, 2523 'type': {'key': 'type', 'type': 'str'}, 2524 'location': {'key': 'location', 'type': 'str'}, 2525 'tags': {'key': 'tags', 'type': '{str}'}, 2526 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2527 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2528 'status': {'key': 'properties.status', 'type': 'Status'}, 2529 'region_endpoint_enabled': {'key': 'properties.regionEndpointEnabled', 'type': 'bool'}, 2530 'zone_redundancy': {'key': 'properties.zoneRedundancy', 'type': 'str'}, 2531 } 2532 2533 def __init__( 2534 self, 2535 **kwargs 2536 ): 2537 super(Replication, self).__init__(**kwargs) 2538 self.provisioning_state = None 2539 self.status = None 2540 self.region_endpoint_enabled = kwargs.get('region_endpoint_enabled', True) 2541 self.zone_redundancy = kwargs.get('zone_redundancy', None) 2542 2543 2544class ReplicationListResult(msrest.serialization.Model): 2545 """The result of a request to list replications for a container registry. 2546 2547 :param value: The list of replications. Since this list may be incomplete, the nextLink field 2548 should be used to request the next list of replications. 2549 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.Replication] 2550 :param next_link: The URI that can be used to request the next list of replications. 2551 :type next_link: str 2552 """ 2553 2554 _attribute_map = { 2555 'value': {'key': 'value', 'type': '[Replication]'}, 2556 'next_link': {'key': 'nextLink', 'type': 'str'}, 2557 } 2558 2559 def __init__( 2560 self, 2561 **kwargs 2562 ): 2563 super(ReplicationListResult, self).__init__(**kwargs) 2564 self.value = kwargs.get('value', None) 2565 self.next_link = kwargs.get('next_link', None) 2566 2567 2568class ReplicationUpdateParameters(msrest.serialization.Model): 2569 """The parameters for updating a replication. 2570 2571 :param tags: A set of tags. The tags for the replication. 2572 :type tags: dict[str, str] 2573 :param region_endpoint_enabled: Specifies whether the replication's regional endpoint is 2574 enabled. Requests will not be routed to a replication whose regional endpoint is disabled, 2575 however its data will continue to be synced with other replications. 2576 :type region_endpoint_enabled: bool 2577 """ 2578 2579 _attribute_map = { 2580 'tags': {'key': 'tags', 'type': '{str}'}, 2581 'region_endpoint_enabled': {'key': 'properties.regionEndpointEnabled', 'type': 'bool'}, 2582 } 2583 2584 def __init__( 2585 self, 2586 **kwargs 2587 ): 2588 super(ReplicationUpdateParameters, self).__init__(**kwargs) 2589 self.tags = kwargs.get('tags', None) 2590 self.region_endpoint_enabled = kwargs.get('region_endpoint_enabled', None) 2591 2592 2593class Request(msrest.serialization.Model): 2594 """The request that generated the event. 2595 2596 :param id: The ID of the request that initiated the event. 2597 :type id: str 2598 :param addr: The IP or hostname and possibly port of the client connection that initiated the 2599 event. This is the RemoteAddr from the standard http request. 2600 :type addr: str 2601 :param host: The externally accessible hostname of the registry instance, as specified by the 2602 http host header on incoming requests. 2603 :type host: str 2604 :param method: The request method that generated the event. 2605 :type method: str 2606 :param useragent: The user agent header of the request. 2607 :type useragent: str 2608 """ 2609 2610 _attribute_map = { 2611 'id': {'key': 'id', 'type': 'str'}, 2612 'addr': {'key': 'addr', 'type': 'str'}, 2613 'host': {'key': 'host', 'type': 'str'}, 2614 'method': {'key': 'method', 'type': 'str'}, 2615 'useragent': {'key': 'useragent', 'type': 'str'}, 2616 } 2617 2618 def __init__( 2619 self, 2620 **kwargs 2621 ): 2622 super(Request, self).__init__(**kwargs) 2623 self.id = kwargs.get('id', None) 2624 self.addr = kwargs.get('addr', None) 2625 self.host = kwargs.get('host', None) 2626 self.method = kwargs.get('method', None) 2627 self.useragent = kwargs.get('useragent', None) 2628 2629 2630class RetentionPolicy(msrest.serialization.Model): 2631 """The retention policy for a container registry. 2632 2633 Variables are only populated by the server, and will be ignored when sending a request. 2634 2635 :param days: The number of days to retain an untagged manifest after which it gets purged. 2636 :type days: int 2637 :ivar last_updated_time: The timestamp when the policy was last updated. 2638 :vartype last_updated_time: ~datetime.datetime 2639 :param status: The value that indicates whether the policy is enabled or not. Possible values 2640 include: "enabled", "disabled". 2641 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PolicyStatus 2642 """ 2643 2644 _validation = { 2645 'last_updated_time': {'readonly': True}, 2646 } 2647 2648 _attribute_map = { 2649 'days': {'key': 'days', 'type': 'int'}, 2650 'last_updated_time': {'key': 'lastUpdatedTime', 'type': 'iso-8601'}, 2651 'status': {'key': 'status', 'type': 'str'}, 2652 } 2653 2654 def __init__( 2655 self, 2656 **kwargs 2657 ): 2658 super(RetentionPolicy, self).__init__(**kwargs) 2659 self.days = kwargs.get('days', 7) 2660 self.last_updated_time = None 2661 self.status = kwargs.get('status', None) 2662 2663 2664class ScopeMap(ProxyResource): 2665 """An object that represents a scope map for a container registry. 2666 2667 Variables are only populated by the server, and will be ignored when sending a request. 2668 2669 :ivar id: The resource ID. 2670 :vartype id: str 2671 :ivar name: The name of the resource. 2672 :vartype name: str 2673 :ivar type: The type of the resource. 2674 :vartype type: str 2675 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 2676 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 2677 :param description: The user friendly description of the scope map. 2678 :type description: str 2679 :ivar type_properties_type: The type of the scope map. E.g. BuildIn scope map. 2680 :vartype type_properties_type: str 2681 :ivar creation_date: The creation date of scope map. 2682 :vartype creation_date: ~datetime.datetime 2683 :ivar provisioning_state: Provisioning state of the resource. Possible values include: 2684 "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". 2685 :vartype provisioning_state: str or 2686 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 2687 :param actions: The list of scoped permissions for registry artifacts. 2688 E.g. repositories/repository-name/content/read, 2689 repositories/repository-name/metadata/write. 2690 :type actions: list[str] 2691 """ 2692 2693 _validation = { 2694 'id': {'readonly': True}, 2695 'name': {'readonly': True}, 2696 'type': {'readonly': True}, 2697 'system_data': {'readonly': True}, 2698 'type_properties_type': {'readonly': True}, 2699 'creation_date': {'readonly': True}, 2700 'provisioning_state': {'readonly': True}, 2701 } 2702 2703 _attribute_map = { 2704 'id': {'key': 'id', 'type': 'str'}, 2705 'name': {'key': 'name', 'type': 'str'}, 2706 'type': {'key': 'type', 'type': 'str'}, 2707 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2708 'description': {'key': 'properties.description', 'type': 'str'}, 2709 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 2710 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 2711 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2712 'actions': {'key': 'properties.actions', 'type': '[str]'}, 2713 } 2714 2715 def __init__( 2716 self, 2717 **kwargs 2718 ): 2719 super(ScopeMap, self).__init__(**kwargs) 2720 self.description = kwargs.get('description', None) 2721 self.type_properties_type = None 2722 self.creation_date = None 2723 self.provisioning_state = None 2724 self.actions = kwargs.get('actions', None) 2725 2726 2727class ScopeMapListResult(msrest.serialization.Model): 2728 """The result of a request to list scope maps for a container registry. 2729 2730 :param value: The list of scope maps. Since this list may be incomplete, the nextLink field 2731 should be used to request the next list of scope maps. 2732 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.ScopeMap] 2733 :param next_link: The URI that can be used to request the next list of scope maps. 2734 :type next_link: str 2735 """ 2736 2737 _attribute_map = { 2738 'value': {'key': 'value', 'type': '[ScopeMap]'}, 2739 'next_link': {'key': 'nextLink', 'type': 'str'}, 2740 } 2741 2742 def __init__( 2743 self, 2744 **kwargs 2745 ): 2746 super(ScopeMapListResult, self).__init__(**kwargs) 2747 self.value = kwargs.get('value', None) 2748 self.next_link = kwargs.get('next_link', None) 2749 2750 2751class ScopeMapUpdateParameters(msrest.serialization.Model): 2752 """The properties for updating the scope map. 2753 2754 :param description: The user friendly description of the scope map. 2755 :type description: str 2756 :param actions: The list of scope permissions for registry artifacts. 2757 E.g. repositories/repository-name/pull, 2758 repositories/repository-name/delete. 2759 :type actions: list[str] 2760 """ 2761 2762 _attribute_map = { 2763 'description': {'key': 'properties.description', 'type': 'str'}, 2764 'actions': {'key': 'properties.actions', 'type': '[str]'}, 2765 } 2766 2767 def __init__( 2768 self, 2769 **kwargs 2770 ): 2771 super(ScopeMapUpdateParameters, self).__init__(**kwargs) 2772 self.description = kwargs.get('description', None) 2773 self.actions = kwargs.get('actions', None) 2774 2775 2776class Sku(msrest.serialization.Model): 2777 """The SKU of a container registry. 2778 2779 Variables are only populated by the server, and will be ignored when sending a request. 2780 2781 All required parameters must be populated in order to send to Azure. 2782 2783 :param name: Required. The SKU name of the container registry. Required for registry creation. 2784 Possible values include: "Classic", "Basic", "Standard", "Premium". 2785 :type name: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SkuName 2786 :ivar tier: The SKU tier based on the SKU name. Possible values include: "Classic", "Basic", 2787 "Standard", "Premium". 2788 :vartype tier: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SkuTier 2789 """ 2790 2791 _validation = { 2792 'name': {'required': True}, 2793 'tier': {'readonly': True}, 2794 } 2795 2796 _attribute_map = { 2797 'name': {'key': 'name', 'type': 'str'}, 2798 'tier': {'key': 'tier', 'type': 'str'}, 2799 } 2800 2801 def __init__( 2802 self, 2803 **kwargs 2804 ): 2805 super(Sku, self).__init__(**kwargs) 2806 self.name = kwargs['name'] 2807 self.tier = None 2808 2809 2810class Source(msrest.serialization.Model): 2811 """The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. 2812 2813 :param addr: The IP or hostname and the port of the registry node that generated the event. 2814 Generally, this will be resolved by os.Hostname() along with the running port. 2815 :type addr: str 2816 :param instance_id: The running instance of an application. Changes after each restart. 2817 :type instance_id: str 2818 """ 2819 2820 _attribute_map = { 2821 'addr': {'key': 'addr', 'type': 'str'}, 2822 'instance_id': {'key': 'instanceID', 'type': 'str'}, 2823 } 2824 2825 def __init__( 2826 self, 2827 **kwargs 2828 ): 2829 super(Source, self).__init__(**kwargs) 2830 self.addr = kwargs.get('addr', None) 2831 self.instance_id = kwargs.get('instance_id', None) 2832 2833 2834class Status(msrest.serialization.Model): 2835 """The status of an Azure resource at the time the operation was called. 2836 2837 Variables are only populated by the server, and will be ignored when sending a request. 2838 2839 :ivar display_status: The short label for the status. 2840 :vartype display_status: str 2841 :ivar message: The detailed message for the status, including alerts and error messages. 2842 :vartype message: str 2843 :ivar timestamp: The timestamp when the status was changed to the current value. 2844 :vartype timestamp: ~datetime.datetime 2845 """ 2846 2847 _validation = { 2848 'display_status': {'readonly': True}, 2849 'message': {'readonly': True}, 2850 'timestamp': {'readonly': True}, 2851 } 2852 2853 _attribute_map = { 2854 'display_status': {'key': 'displayStatus', 'type': 'str'}, 2855 'message': {'key': 'message', 'type': 'str'}, 2856 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 2857 } 2858 2859 def __init__( 2860 self, 2861 **kwargs 2862 ): 2863 super(Status, self).__init__(**kwargs) 2864 self.display_status = None 2865 self.message = None 2866 self.timestamp = None 2867 2868 2869class StatusDetailProperties(msrest.serialization.Model): 2870 """The status detail properties of the connected registry. 2871 2872 Variables are only populated by the server, and will be ignored when sending a request. 2873 2874 :ivar type: The component of the connected registry corresponding to the status. 2875 :vartype type: str 2876 :ivar code: The code of the status. 2877 :vartype code: str 2878 :ivar description: The description of the status. 2879 :vartype description: str 2880 :ivar timestamp: The timestamp of the status. 2881 :vartype timestamp: ~datetime.datetime 2882 :ivar correlation_id: The correlation ID of the status. 2883 :vartype correlation_id: str 2884 """ 2885 2886 _validation = { 2887 'type': {'readonly': True}, 2888 'code': {'readonly': True}, 2889 'description': {'readonly': True}, 2890 'timestamp': {'readonly': True}, 2891 'correlation_id': {'readonly': True}, 2892 } 2893 2894 _attribute_map = { 2895 'type': {'key': 'type', 'type': 'str'}, 2896 'code': {'key': 'code', 'type': 'str'}, 2897 'description': {'key': 'description', 'type': 'str'}, 2898 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 2899 'correlation_id': {'key': 'correlationId', 'type': 'str'}, 2900 } 2901 2902 def __init__( 2903 self, 2904 **kwargs 2905 ): 2906 super(StatusDetailProperties, self).__init__(**kwargs) 2907 self.type = None 2908 self.code = None 2909 self.description = None 2910 self.timestamp = None 2911 self.correlation_id = None 2912 2913 2914class SyncProperties(msrest.serialization.Model): 2915 """The sync properties of the connected registry with its parent. 2916 2917 Variables are only populated by the server, and will be ignored when sending a request. 2918 2919 All required parameters must be populated in order to send to Azure. 2920 2921 :param token_id: Required. The resource ID of the ACR token used to authenticate the connected 2922 registry to its parent during sync. 2923 :type token_id: str 2924 :param schedule: The cron expression indicating the schedule that the connected registry will 2925 sync with its parent. 2926 :type schedule: str 2927 :param sync_window: The time window during which sync is enabled for each schedule occurrence. 2928 Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. 2929 :type sync_window: ~datetime.timedelta 2930 :param message_ttl: Required. The period of time for which a message is available to sync 2931 before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per 2932 ISO8601. 2933 :type message_ttl: ~datetime.timedelta 2934 :ivar last_sync_time: The last time a sync occurred between the connected registry and its 2935 parent. 2936 :vartype last_sync_time: ~datetime.datetime 2937 :ivar gateway_endpoint: The gateway endpoint used by the connected registry to communicate with 2938 its parent. 2939 :vartype gateway_endpoint: str 2940 """ 2941 2942 _validation = { 2943 'token_id': {'required': True}, 2944 'message_ttl': {'required': True}, 2945 'last_sync_time': {'readonly': True}, 2946 'gateway_endpoint': {'readonly': True}, 2947 } 2948 2949 _attribute_map = { 2950 'token_id': {'key': 'tokenId', 'type': 'str'}, 2951 'schedule': {'key': 'schedule', 'type': 'str'}, 2952 'sync_window': {'key': 'syncWindow', 'type': 'duration'}, 2953 'message_ttl': {'key': 'messageTtl', 'type': 'duration'}, 2954 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, 2955 'gateway_endpoint': {'key': 'gatewayEndpoint', 'type': 'str'}, 2956 } 2957 2958 def __init__( 2959 self, 2960 **kwargs 2961 ): 2962 super(SyncProperties, self).__init__(**kwargs) 2963 self.token_id = kwargs['token_id'] 2964 self.schedule = kwargs.get('schedule', None) 2965 self.sync_window = kwargs.get('sync_window', None) 2966 self.message_ttl = kwargs['message_ttl'] 2967 self.last_sync_time = None 2968 self.gateway_endpoint = None 2969 2970 2971class SyncUpdateProperties(msrest.serialization.Model): 2972 """The parameters for updating the sync properties of the connected registry with its parent. 2973 2974 :param schedule: The cron expression indicating the schedule that the connected registry will 2975 sync with its parent. 2976 :type schedule: str 2977 :param sync_window: The time window during which sync is enabled for each schedule occurrence. 2978 Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. 2979 :type sync_window: ~datetime.timedelta 2980 :param message_ttl: The period of time for which a message is available to sync before it is 2981 expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. 2982 :type message_ttl: ~datetime.timedelta 2983 """ 2984 2985 _attribute_map = { 2986 'schedule': {'key': 'schedule', 'type': 'str'}, 2987 'sync_window': {'key': 'syncWindow', 'type': 'duration'}, 2988 'message_ttl': {'key': 'messageTtl', 'type': 'duration'}, 2989 } 2990 2991 def __init__( 2992 self, 2993 **kwargs 2994 ): 2995 super(SyncUpdateProperties, self).__init__(**kwargs) 2996 self.schedule = kwargs.get('schedule', None) 2997 self.sync_window = kwargs.get('sync_window', None) 2998 self.message_ttl = kwargs.get('message_ttl', None) 2999 3000 3001class SystemData(msrest.serialization.Model): 3002 """Metadata pertaining to creation and last modification of the resource. 3003 3004 :param created_by: The identity that created the resource. 3005 :type created_by: str 3006 :param created_by_type: The type of identity that created the resource. Possible values 3007 include: "User", "Application", "ManagedIdentity", "Key". 3008 :type created_by_type: str or 3009 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.CreatedByType 3010 :param created_at: The timestamp of resource creation (UTC). 3011 :type created_at: ~datetime.datetime 3012 :param last_modified_by: The identity that last modified the resource. 3013 :type last_modified_by: str 3014 :param last_modified_by_type: The type of identity that last modified the resource. Possible 3015 values include: "User", "Application", "ManagedIdentity", "Key". 3016 :type last_modified_by_type: str or 3017 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.LastModifiedByType 3018 :param last_modified_at: The timestamp of resource modification (UTC). 3019 :type last_modified_at: ~datetime.datetime 3020 """ 3021 3022 _attribute_map = { 3023 'created_by': {'key': 'createdBy', 'type': 'str'}, 3024 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 3025 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 3026 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 3027 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 3028 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 3029 } 3030 3031 def __init__( 3032 self, 3033 **kwargs 3034 ): 3035 super(SystemData, self).__init__(**kwargs) 3036 self.created_by = kwargs.get('created_by', None) 3037 self.created_by_type = kwargs.get('created_by_type', None) 3038 self.created_at = kwargs.get('created_at', None) 3039 self.last_modified_by = kwargs.get('last_modified_by', None) 3040 self.last_modified_by_type = kwargs.get('last_modified_by_type', None) 3041 self.last_modified_at = kwargs.get('last_modified_at', None) 3042 3043 3044class Target(msrest.serialization.Model): 3045 """The target of the event. 3046 3047 :param media_type: The MIME type of the referenced object. 3048 :type media_type: str 3049 :param size: The number of bytes of the content. Same as Length field. 3050 :type size: long 3051 :param digest: The digest of the content, as defined by the Registry V2 HTTP API Specification. 3052 :type digest: str 3053 :param length: The number of bytes of the content. Same as Size field. 3054 :type length: long 3055 :param repository: The repository name. 3056 :type repository: str 3057 :param url: The direct URL to the content. 3058 :type url: str 3059 :param tag: The tag name. 3060 :type tag: str 3061 :param name: The name of the artifact. 3062 :type name: str 3063 :param version: The version of the artifact. 3064 :type version: str 3065 """ 3066 3067 _attribute_map = { 3068 'media_type': {'key': 'mediaType', 'type': 'str'}, 3069 'size': {'key': 'size', 'type': 'long'}, 3070 'digest': {'key': 'digest', 'type': 'str'}, 3071 'length': {'key': 'length', 'type': 'long'}, 3072 'repository': {'key': 'repository', 'type': 'str'}, 3073 'url': {'key': 'url', 'type': 'str'}, 3074 'tag': {'key': 'tag', 'type': 'str'}, 3075 'name': {'key': 'name', 'type': 'str'}, 3076 'version': {'key': 'version', 'type': 'str'}, 3077 } 3078 3079 def __init__( 3080 self, 3081 **kwargs 3082 ): 3083 super(Target, self).__init__(**kwargs) 3084 self.media_type = kwargs.get('media_type', None) 3085 self.size = kwargs.get('size', None) 3086 self.digest = kwargs.get('digest', None) 3087 self.length = kwargs.get('length', None) 3088 self.repository = kwargs.get('repository', None) 3089 self.url = kwargs.get('url', None) 3090 self.tag = kwargs.get('tag', None) 3091 self.name = kwargs.get('name', None) 3092 self.version = kwargs.get('version', None) 3093 3094 3095class TlsCertificateProperties(msrest.serialization.Model): 3096 """The TLS certificate properties of the connected registry login server. 3097 3098 Variables are only populated by the server, and will be ignored when sending a request. 3099 3100 :ivar type: The type of certificate location. Possible values include: "LocalDirectory". 3101 :vartype type: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.CertificateType 3102 :ivar location: Indicates the location of the certificates. 3103 :vartype location: str 3104 """ 3105 3106 _validation = { 3107 'type': {'readonly': True}, 3108 'location': {'readonly': True}, 3109 } 3110 3111 _attribute_map = { 3112 'type': {'key': 'type', 'type': 'str'}, 3113 'location': {'key': 'location', 'type': 'str'}, 3114 } 3115 3116 def __init__( 3117 self, 3118 **kwargs 3119 ): 3120 super(TlsCertificateProperties, self).__init__(**kwargs) 3121 self.type = None 3122 self.location = None 3123 3124 3125class TlsProperties(msrest.serialization.Model): 3126 """The TLS properties of the connected registry login server. 3127 3128 Variables are only populated by the server, and will be ignored when sending a request. 3129 3130 :ivar status: Indicates whether HTTPS is enabled for the login server. Possible values include: 3131 "Enabled", "Disabled". 3132 :vartype status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TlsStatus 3133 :ivar certificate: The certificate used to configure HTTPS for the login server. 3134 :vartype certificate: 3135 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TlsCertificateProperties 3136 """ 3137 3138 _validation = { 3139 'status': {'readonly': True}, 3140 'certificate': {'readonly': True}, 3141 } 3142 3143 _attribute_map = { 3144 'status': {'key': 'status', 'type': 'str'}, 3145 'certificate': {'key': 'certificate', 'type': 'TlsCertificateProperties'}, 3146 } 3147 3148 def __init__( 3149 self, 3150 **kwargs 3151 ): 3152 super(TlsProperties, self).__init__(**kwargs) 3153 self.status = None 3154 self.certificate = None 3155 3156 3157class Token(ProxyResource): 3158 """An object that represents a token for a container registry. 3159 3160 Variables are only populated by the server, and will be ignored when sending a request. 3161 3162 :ivar id: The resource ID. 3163 :vartype id: str 3164 :ivar name: The name of the resource. 3165 :vartype name: str 3166 :ivar type: The type of the resource. 3167 :vartype type: str 3168 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 3169 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 3170 :ivar creation_date: The creation date of scope map. 3171 :vartype creation_date: ~datetime.datetime 3172 :ivar provisioning_state: Provisioning state of the resource. Possible values include: 3173 "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". 3174 :vartype provisioning_state: str or 3175 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 3176 :param scope_map_id: The resource ID of the scope map to which the token will be associated 3177 with. 3178 :type scope_map_id: str 3179 :param credentials: The credentials that can be used for authenticating the token. 3180 :type credentials: 3181 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenCredentialsProperties 3182 :param status: The status of the token example enabled or disabled. Possible values include: 3183 "enabled", "disabled". 3184 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenStatus 3185 """ 3186 3187 _validation = { 3188 'id': {'readonly': True}, 3189 'name': {'readonly': True}, 3190 'type': {'readonly': True}, 3191 'system_data': {'readonly': True}, 3192 'creation_date': {'readonly': True}, 3193 'provisioning_state': {'readonly': True}, 3194 } 3195 3196 _attribute_map = { 3197 'id': {'key': 'id', 'type': 'str'}, 3198 'name': {'key': 'name', 'type': 'str'}, 3199 'type': {'key': 'type', 'type': 'str'}, 3200 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 3201 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 3202 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3203 'scope_map_id': {'key': 'properties.scopeMapId', 'type': 'str'}, 3204 'credentials': {'key': 'properties.credentials', 'type': 'TokenCredentialsProperties'}, 3205 'status': {'key': 'properties.status', 'type': 'str'}, 3206 } 3207 3208 def __init__( 3209 self, 3210 **kwargs 3211 ): 3212 super(Token, self).__init__(**kwargs) 3213 self.creation_date = None 3214 self.provisioning_state = None 3215 self.scope_map_id = kwargs.get('scope_map_id', None) 3216 self.credentials = kwargs.get('credentials', None) 3217 self.status = kwargs.get('status', None) 3218 3219 3220class TokenCertificate(msrest.serialization.Model): 3221 """The properties of a certificate used for authenticating a token. 3222 3223 :param name: Possible values include: "certificate1", "certificate2". 3224 :type name: str or 3225 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenCertificateName 3226 :param expiry: The expiry datetime of the certificate. 3227 :type expiry: ~datetime.datetime 3228 :param thumbprint: The thumbprint of the certificate. 3229 :type thumbprint: str 3230 :param encoded_pem_certificate: Base 64 encoded string of the public certificate1 in PEM format 3231 that will be used for authenticating the token. 3232 :type encoded_pem_certificate: str 3233 """ 3234 3235 _attribute_map = { 3236 'name': {'key': 'name', 'type': 'str'}, 3237 'expiry': {'key': 'expiry', 'type': 'iso-8601'}, 3238 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 3239 'encoded_pem_certificate': {'key': 'encodedPemCertificate', 'type': 'str'}, 3240 } 3241 3242 def __init__( 3243 self, 3244 **kwargs 3245 ): 3246 super(TokenCertificate, self).__init__(**kwargs) 3247 self.name = kwargs.get('name', None) 3248 self.expiry = kwargs.get('expiry', None) 3249 self.thumbprint = kwargs.get('thumbprint', None) 3250 self.encoded_pem_certificate = kwargs.get('encoded_pem_certificate', None) 3251 3252 3253class TokenCredentialsProperties(msrest.serialization.Model): 3254 """The properties of the credentials that can be used for authenticating the token. 3255 3256 :param certificates: 3257 :type certificates: 3258 list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenCertificate] 3259 :param passwords: 3260 :type passwords: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenPassword] 3261 """ 3262 3263 _attribute_map = { 3264 'certificates': {'key': 'certificates', 'type': '[TokenCertificate]'}, 3265 'passwords': {'key': 'passwords', 'type': '[TokenPassword]'}, 3266 } 3267 3268 def __init__( 3269 self, 3270 **kwargs 3271 ): 3272 super(TokenCredentialsProperties, self).__init__(**kwargs) 3273 self.certificates = kwargs.get('certificates', None) 3274 self.passwords = kwargs.get('passwords', None) 3275 3276 3277class TokenListResult(msrest.serialization.Model): 3278 """The result of a request to list tokens for a container registry. 3279 3280 :param value: The list of tokens. Since this list may be incomplete, the nextLink field should 3281 be used to request the next list of tokens. 3282 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.Token] 3283 :param next_link: The URI that can be used to request the next list of tokens. 3284 :type next_link: str 3285 """ 3286 3287 _attribute_map = { 3288 'value': {'key': 'value', 'type': '[Token]'}, 3289 'next_link': {'key': 'nextLink', 'type': 'str'}, 3290 } 3291 3292 def __init__( 3293 self, 3294 **kwargs 3295 ): 3296 super(TokenListResult, self).__init__(**kwargs) 3297 self.value = kwargs.get('value', None) 3298 self.next_link = kwargs.get('next_link', None) 3299 3300 3301class TokenPassword(msrest.serialization.Model): 3302 """The password that will be used for authenticating the token of a container registry. 3303 3304 Variables are only populated by the server, and will be ignored when sending a request. 3305 3306 :param creation_time: The creation datetime of the password. 3307 :type creation_time: ~datetime.datetime 3308 :param expiry: The expiry datetime of the password. 3309 :type expiry: ~datetime.datetime 3310 :param name: The password name "password1" or "password2". Possible values include: 3311 "password1", "password2". 3312 :type name: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenPasswordName 3313 :ivar value: The password value. 3314 :vartype value: str 3315 """ 3316 3317 _validation = { 3318 'value': {'readonly': True}, 3319 } 3320 3321 _attribute_map = { 3322 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, 3323 'expiry': {'key': 'expiry', 'type': 'iso-8601'}, 3324 'name': {'key': 'name', 'type': 'str'}, 3325 'value': {'key': 'value', 'type': 'str'}, 3326 } 3327 3328 def __init__( 3329 self, 3330 **kwargs 3331 ): 3332 super(TokenPassword, self).__init__(**kwargs) 3333 self.creation_time = kwargs.get('creation_time', None) 3334 self.expiry = kwargs.get('expiry', None) 3335 self.name = kwargs.get('name', None) 3336 self.value = None 3337 3338 3339class TokenUpdateParameters(msrest.serialization.Model): 3340 """The parameters for updating a token. 3341 3342 :param scope_map_id: The resource ID of the scope map to which the token will be associated 3343 with. 3344 :type scope_map_id: str 3345 :param status: The status of the token example enabled or disabled. Possible values include: 3346 "enabled", "disabled". 3347 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenStatus 3348 :param credentials: The credentials that can be used for authenticating the token. 3349 :type credentials: 3350 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TokenCredentialsProperties 3351 """ 3352 3353 _attribute_map = { 3354 'scope_map_id': {'key': 'properties.scopeMapId', 'type': 'str'}, 3355 'status': {'key': 'properties.status', 'type': 'str'}, 3356 'credentials': {'key': 'properties.credentials', 'type': 'TokenCredentialsProperties'}, 3357 } 3358 3359 def __init__( 3360 self, 3361 **kwargs 3362 ): 3363 super(TokenUpdateParameters, self).__init__(**kwargs) 3364 self.scope_map_id = kwargs.get('scope_map_id', None) 3365 self.status = kwargs.get('status', None) 3366 self.credentials = kwargs.get('credentials', None) 3367 3368 3369class TrustPolicy(msrest.serialization.Model): 3370 """The content trust policy for a container registry. 3371 3372 :param type: The type of trust policy. Possible values include: "Notary". Default value: 3373 "Notary". 3374 :type type: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.TrustPolicyType 3375 :param status: The value that indicates whether the policy is enabled or not. Possible values 3376 include: "enabled", "disabled". 3377 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.PolicyStatus 3378 """ 3379 3380 _attribute_map = { 3381 'type': {'key': 'type', 'type': 'str'}, 3382 'status': {'key': 'status', 'type': 'str'}, 3383 } 3384 3385 def __init__( 3386 self, 3387 **kwargs 3388 ): 3389 super(TrustPolicy, self).__init__(**kwargs) 3390 self.type = kwargs.get('type', "Notary") 3391 self.status = kwargs.get('status', None) 3392 3393 3394class UserIdentityProperties(msrest.serialization.Model): 3395 """UserIdentityProperties. 3396 3397 :param principal_id: The principal id of user assigned identity. 3398 :type principal_id: str 3399 :param client_id: The client id of user assigned identity. 3400 :type client_id: str 3401 """ 3402 3403 _attribute_map = { 3404 'principal_id': {'key': 'principalId', 'type': 'str'}, 3405 'client_id': {'key': 'clientId', 'type': 'str'}, 3406 } 3407 3408 def __init__( 3409 self, 3410 **kwargs 3411 ): 3412 super(UserIdentityProperties, self).__init__(**kwargs) 3413 self.principal_id = kwargs.get('principal_id', None) 3414 self.client_id = kwargs.get('client_id', None) 3415 3416 3417class VirtualNetworkRule(msrest.serialization.Model): 3418 """Virtual network rule. 3419 3420 All required parameters must be populated in order to send to Azure. 3421 3422 :param action: The action of virtual network rule. Possible values include: "Allow". 3423 :type action: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.Action 3424 :param virtual_network_resource_id: Required. Resource ID of a subnet, for example: 3425 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. 3426 :type virtual_network_resource_id: str 3427 """ 3428 3429 _validation = { 3430 'virtual_network_resource_id': {'required': True}, 3431 } 3432 3433 _attribute_map = { 3434 'action': {'key': 'action', 'type': 'str'}, 3435 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, 3436 } 3437 3438 def __init__( 3439 self, 3440 **kwargs 3441 ): 3442 super(VirtualNetworkRule, self).__init__(**kwargs) 3443 self.action = kwargs.get('action', None) 3444 self.virtual_network_resource_id = kwargs['virtual_network_resource_id'] 3445 3446 3447class Webhook(Resource): 3448 """An object that represents a webhook for a container registry. 3449 3450 Variables are only populated by the server, and will be ignored when sending a request. 3451 3452 All required parameters must be populated in order to send to Azure. 3453 3454 :ivar id: The resource ID. 3455 :vartype id: str 3456 :ivar name: The name of the resource. 3457 :vartype name: str 3458 :ivar type: The type of the resource. 3459 :vartype type: str 3460 :param location: Required. The location of the resource. This cannot be changed after the 3461 resource is created. 3462 :type location: str 3463 :param tags: A set of tags. The tags of the resource. 3464 :type tags: dict[str, str] 3465 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 3466 :vartype system_data: ~azure.mgmt.containerregistry.v2020_11_01_preview.models.SystemData 3467 :param status: The status of the webhook at the time the operation was called. Possible values 3468 include: "enabled", "disabled". 3469 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookStatus 3470 :param scope: The scope of repositories where the event can be triggered. For example, 'foo:*' 3471 means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 3472 'foo' is equivalent to 'foo:latest'. Empty means all events. 3473 :type scope: str 3474 :param actions: The list of actions that trigger the webhook to post notifications. 3475 :type actions: list[str or 3476 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookAction] 3477 :ivar provisioning_state: The provisioning state of the webhook at the time the operation was 3478 called. Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", 3479 "Canceled". 3480 :vartype provisioning_state: str or 3481 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.ProvisioningState 3482 """ 3483 3484 _validation = { 3485 'id': {'readonly': True}, 3486 'name': {'readonly': True}, 3487 'type': {'readonly': True}, 3488 'location': {'required': True}, 3489 'system_data': {'readonly': True}, 3490 'provisioning_state': {'readonly': True}, 3491 } 3492 3493 _attribute_map = { 3494 'id': {'key': 'id', 'type': 'str'}, 3495 'name': {'key': 'name', 'type': 'str'}, 3496 'type': {'key': 'type', 'type': 'str'}, 3497 'location': {'key': 'location', 'type': 'str'}, 3498 'tags': {'key': 'tags', 'type': '{str}'}, 3499 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 3500 'status': {'key': 'properties.status', 'type': 'str'}, 3501 'scope': {'key': 'properties.scope', 'type': 'str'}, 3502 'actions': {'key': 'properties.actions', 'type': '[str]'}, 3503 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3504 } 3505 3506 def __init__( 3507 self, 3508 **kwargs 3509 ): 3510 super(Webhook, self).__init__(**kwargs) 3511 self.status = kwargs.get('status', None) 3512 self.scope = kwargs.get('scope', None) 3513 self.actions = kwargs.get('actions', None) 3514 self.provisioning_state = None 3515 3516 3517class WebhookCreateParameters(msrest.serialization.Model): 3518 """The parameters for creating a webhook. 3519 3520 All required parameters must be populated in order to send to Azure. 3521 3522 :param tags: A set of tags. The tags for the webhook. 3523 :type tags: dict[str, str] 3524 :param location: Required. The location of the webhook. This cannot be changed after the 3525 resource is created. 3526 :type location: str 3527 :param service_uri: The service URI for the webhook to post notifications. 3528 :type service_uri: str 3529 :param custom_headers: Custom headers that will be added to the webhook notifications. 3530 :type custom_headers: dict[str, str] 3531 :param status: The status of the webhook at the time the operation was called. Possible values 3532 include: "enabled", "disabled". 3533 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookStatus 3534 :param scope: The scope of repositories where the event can be triggered. For example, 'foo:*' 3535 means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 3536 'foo' is equivalent to 'foo:latest'. Empty means all events. 3537 :type scope: str 3538 :param actions: The list of actions that trigger the webhook to post notifications. 3539 :type actions: list[str or 3540 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookAction] 3541 """ 3542 3543 _validation = { 3544 'location': {'required': True}, 3545 } 3546 3547 _attribute_map = { 3548 'tags': {'key': 'tags', 'type': '{str}'}, 3549 'location': {'key': 'location', 'type': 'str'}, 3550 'service_uri': {'key': 'properties.serviceUri', 'type': 'str'}, 3551 'custom_headers': {'key': 'properties.customHeaders', 'type': '{str}'}, 3552 'status': {'key': 'properties.status', 'type': 'str'}, 3553 'scope': {'key': 'properties.scope', 'type': 'str'}, 3554 'actions': {'key': 'properties.actions', 'type': '[str]'}, 3555 } 3556 3557 def __init__( 3558 self, 3559 **kwargs 3560 ): 3561 super(WebhookCreateParameters, self).__init__(**kwargs) 3562 self.tags = kwargs.get('tags', None) 3563 self.location = kwargs['location'] 3564 self.service_uri = kwargs.get('service_uri', None) 3565 self.custom_headers = kwargs.get('custom_headers', None) 3566 self.status = kwargs.get('status', None) 3567 self.scope = kwargs.get('scope', None) 3568 self.actions = kwargs.get('actions', None) 3569 3570 3571class WebhookListResult(msrest.serialization.Model): 3572 """The result of a request to list webhooks for a container registry. 3573 3574 :param value: The list of webhooks. Since this list may be incomplete, the nextLink field 3575 should be used to request the next list of webhooks. 3576 :type value: list[~azure.mgmt.containerregistry.v2020_11_01_preview.models.Webhook] 3577 :param next_link: The URI that can be used to request the next list of webhooks. 3578 :type next_link: str 3579 """ 3580 3581 _attribute_map = { 3582 'value': {'key': 'value', 'type': '[Webhook]'}, 3583 'next_link': {'key': 'nextLink', 'type': 'str'}, 3584 } 3585 3586 def __init__( 3587 self, 3588 **kwargs 3589 ): 3590 super(WebhookListResult, self).__init__(**kwargs) 3591 self.value = kwargs.get('value', None) 3592 self.next_link = kwargs.get('next_link', None) 3593 3594 3595class WebhookUpdateParameters(msrest.serialization.Model): 3596 """The parameters for updating a webhook. 3597 3598 :param tags: A set of tags. The tags for the webhook. 3599 :type tags: dict[str, str] 3600 :param service_uri: The service URI for the webhook to post notifications. 3601 :type service_uri: str 3602 :param custom_headers: Custom headers that will be added to the webhook notifications. 3603 :type custom_headers: dict[str, str] 3604 :param status: The status of the webhook at the time the operation was called. Possible values 3605 include: "enabled", "disabled". 3606 :type status: str or ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookStatus 3607 :param scope: The scope of repositories where the event can be triggered. For example, 'foo:*' 3608 means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 3609 'foo' is equivalent to 'foo:latest'. Empty means all events. 3610 :type scope: str 3611 :param actions: The list of actions that trigger the webhook to post notifications. 3612 :type actions: list[str or 3613 ~azure.mgmt.containerregistry.v2020_11_01_preview.models.WebhookAction] 3614 """ 3615 3616 _attribute_map = { 3617 'tags': {'key': 'tags', 'type': '{str}'}, 3618 'service_uri': {'key': 'properties.serviceUri', 'type': 'str'}, 3619 'custom_headers': {'key': 'properties.customHeaders', 'type': '{str}'}, 3620 'status': {'key': 'properties.status', 'type': 'str'}, 3621 'scope': {'key': 'properties.scope', 'type': 'str'}, 3622 'actions': {'key': 'properties.actions', 'type': '[str]'}, 3623 } 3624 3625 def __init__( 3626 self, 3627 **kwargs 3628 ): 3629 super(WebhookUpdateParameters, self).__init__(**kwargs) 3630 self.tags = kwargs.get('tags', None) 3631 self.service_uri = kwargs.get('service_uri', None) 3632 self.custom_headers = kwargs.get('custom_headers', None) 3633 self.status = kwargs.get('status', None) 3634 self.scope = kwargs.get('scope', None) 3635 self.actions = kwargs.get('actions', None) 3636