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 9import datetime 10from typing import Dict, List, Optional, Union 11 12import msrest.serialization 13 14from ._data_box_edge_management_client_enums import * 15 16 17class ARMBaseModel(msrest.serialization.Model): 18 """Represents the base class for all object models. 19 20 Variables are only populated by the server, and will be ignored when sending a request. 21 22 :ivar id: The path ID that uniquely identifies the object. 23 :vartype id: str 24 :ivar name: The object name. 25 :vartype name: str 26 :ivar type: The hierarchical type of the object. 27 :vartype type: str 28 """ 29 30 _validation = { 31 'id': {'readonly': True}, 32 'name': {'readonly': True}, 33 'type': {'readonly': True}, 34 } 35 36 _attribute_map = { 37 'id': {'key': 'id', 'type': 'str'}, 38 'name': {'key': 'name', 'type': 'str'}, 39 'type': {'key': 'type', 'type': 'str'}, 40 } 41 42 def __init__( 43 self, 44 **kwargs 45 ): 46 super(ARMBaseModel, self).__init__(**kwargs) 47 self.id = None 48 self.name = None 49 self.type = None 50 51 52class Addon(ARMBaseModel): 53 """Role Addon. 54 55 You probably want to use the sub-classes and not this class directly. Known 56 sub-classes are: ArcAddon, IoTAddon. 57 58 Variables are only populated by the server, and will be ignored when sending a request. 59 60 All required parameters must be populated in order to send to Azure. 61 62 :ivar id: The path ID that uniquely identifies the object. 63 :vartype id: str 64 :ivar name: The object name. 65 :vartype name: str 66 :ivar type: The hierarchical type of the object. 67 :vartype type: str 68 :param kind: Required. Addon type.Constant filled by server. Possible values include: 69 "IotEdge", "ArcForKubernetes". 70 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AddonType 71 :ivar system_data: Addon type. 72 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 73 """ 74 75 _validation = { 76 'id': {'readonly': True}, 77 'name': {'readonly': True}, 78 'type': {'readonly': True}, 79 'kind': {'required': True}, 80 'system_data': {'readonly': True}, 81 } 82 83 _attribute_map = { 84 'id': {'key': 'id', 'type': 'str'}, 85 'name': {'key': 'name', 'type': 'str'}, 86 'type': {'key': 'type', 'type': 'str'}, 87 'kind': {'key': 'kind', 'type': 'str'}, 88 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 89 } 90 91 _subtype_map = { 92 'kind': {'ArcForKubernetes': 'ArcAddon', 'IotEdge': 'IoTAddon'} 93 } 94 95 def __init__( 96 self, 97 **kwargs 98 ): 99 super(Addon, self).__init__(**kwargs) 100 self.kind = 'Addon' # type: str 101 self.system_data = None 102 103 104class AddonList(msrest.serialization.Model): 105 """Collection of all the Role addon on the Azure Stack Edge device. 106 107 Variables are only populated by the server, and will be ignored when sending a request. 108 109 :ivar value: The Value. 110 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Addon] 111 :ivar next_link: Link to the next set of results. 112 :vartype next_link: str 113 """ 114 115 _validation = { 116 'value': {'readonly': True}, 117 'next_link': {'readonly': True}, 118 } 119 120 _attribute_map = { 121 'value': {'key': 'value', 'type': '[Addon]'}, 122 'next_link': {'key': 'nextLink', 'type': 'str'}, 123 } 124 125 def __init__( 126 self, 127 **kwargs 128 ): 129 super(AddonList, self).__init__(**kwargs) 130 self.value = None 131 self.next_link = None 132 133 134class Address(msrest.serialization.Model): 135 """The shipping address of the customer. 136 137 All required parameters must be populated in order to send to Azure. 138 139 :param address_line1: The address line1. 140 :type address_line1: str 141 :param address_line2: The address line2. 142 :type address_line2: str 143 :param address_line3: The address line3. 144 :type address_line3: str 145 :param postal_code: The postal code. 146 :type postal_code: str 147 :param city: The city name. 148 :type city: str 149 :param state: The state name. 150 :type state: str 151 :param country: Required. The country name. 152 :type country: str 153 """ 154 155 _validation = { 156 'country': {'required': True}, 157 } 158 159 _attribute_map = { 160 'address_line1': {'key': 'addressLine1', 'type': 'str'}, 161 'address_line2': {'key': 'addressLine2', 'type': 'str'}, 162 'address_line3': {'key': 'addressLine3', 'type': 'str'}, 163 'postal_code': {'key': 'postalCode', 'type': 'str'}, 164 'city': {'key': 'city', 'type': 'str'}, 165 'state': {'key': 'state', 'type': 'str'}, 166 'country': {'key': 'country', 'type': 'str'}, 167 } 168 169 def __init__( 170 self, 171 *, 172 country: str, 173 address_line1: Optional[str] = None, 174 address_line2: Optional[str] = None, 175 address_line3: Optional[str] = None, 176 postal_code: Optional[str] = None, 177 city: Optional[str] = None, 178 state: Optional[str] = None, 179 **kwargs 180 ): 181 super(Address, self).__init__(**kwargs) 182 self.address_line1 = address_line1 183 self.address_line2 = address_line2 184 self.address_line3 = address_line3 185 self.postal_code = postal_code 186 self.city = city 187 self.state = state 188 self.country = country 189 190 191class Alert(ARMBaseModel): 192 """Alert on the data box edge/gateway device. 193 194 Variables are only populated by the server, and will be ignored when sending a request. 195 196 :ivar id: The path ID that uniquely identifies the object. 197 :vartype id: str 198 :ivar name: The object name. 199 :vartype name: str 200 :ivar type: The hierarchical type of the object. 201 :vartype type: str 202 :ivar system_data: Alert generated in the resource. 203 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 204 :ivar title: Alert title. 205 :vartype title: str 206 :ivar alert_type: Alert type. 207 :vartype alert_type: str 208 :ivar appeared_at_date_time: UTC time when the alert appeared. 209 :vartype appeared_at_date_time: ~datetime.datetime 210 :ivar recommendation: Alert recommendation. 211 :vartype recommendation: str 212 :ivar severity: Severity of the alert. Possible values include: "Informational", "Warning", 213 "Critical". 214 :vartype severity: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AlertSeverity 215 :ivar error_details: Error details of the alert. 216 :vartype error_details: ~azure.mgmt.databoxedge.v2020_12_01.models.AlertErrorDetails 217 :ivar detailed_information: Alert details. 218 :vartype detailed_information: dict[str, str] 219 """ 220 221 _validation = { 222 'id': {'readonly': True}, 223 'name': {'readonly': True}, 224 'type': {'readonly': True}, 225 'system_data': {'readonly': True}, 226 'title': {'readonly': True}, 227 'alert_type': {'readonly': True}, 228 'appeared_at_date_time': {'readonly': True}, 229 'recommendation': {'readonly': True}, 230 'severity': {'readonly': True}, 231 'error_details': {'readonly': True}, 232 'detailed_information': {'readonly': True}, 233 } 234 235 _attribute_map = { 236 'id': {'key': 'id', 'type': 'str'}, 237 'name': {'key': 'name', 'type': 'str'}, 238 'type': {'key': 'type', 'type': 'str'}, 239 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 240 'title': {'key': 'properties.title', 'type': 'str'}, 241 'alert_type': {'key': 'properties.alertType', 'type': 'str'}, 242 'appeared_at_date_time': {'key': 'properties.appearedAtDateTime', 'type': 'iso-8601'}, 243 'recommendation': {'key': 'properties.recommendation', 'type': 'str'}, 244 'severity': {'key': 'properties.severity', 'type': 'str'}, 245 'error_details': {'key': 'properties.errorDetails', 'type': 'AlertErrorDetails'}, 246 'detailed_information': {'key': 'properties.detailedInformation', 'type': '{str}'}, 247 } 248 249 def __init__( 250 self, 251 **kwargs 252 ): 253 super(Alert, self).__init__(**kwargs) 254 self.system_data = None 255 self.title = None 256 self.alert_type = None 257 self.appeared_at_date_time = None 258 self.recommendation = None 259 self.severity = None 260 self.error_details = None 261 self.detailed_information = None 262 263 264class AlertErrorDetails(msrest.serialization.Model): 265 """Error details for the alert. 266 267 Variables are only populated by the server, and will be ignored when sending a request. 268 269 :ivar error_code: Error code. 270 :vartype error_code: str 271 :ivar error_message: Error Message. 272 :vartype error_message: str 273 :ivar occurrences: Number of occurrences. 274 :vartype occurrences: int 275 """ 276 277 _validation = { 278 'error_code': {'readonly': True}, 279 'error_message': {'readonly': True}, 280 'occurrences': {'readonly': True}, 281 } 282 283 _attribute_map = { 284 'error_code': {'key': 'errorCode', 'type': 'str'}, 285 'error_message': {'key': 'errorMessage', 'type': 'str'}, 286 'occurrences': {'key': 'occurrences', 'type': 'int'}, 287 } 288 289 def __init__( 290 self, 291 **kwargs 292 ): 293 super(AlertErrorDetails, self).__init__(**kwargs) 294 self.error_code = None 295 self.error_message = None 296 self.occurrences = None 297 298 299class AlertList(msrest.serialization.Model): 300 """Collection of alerts. 301 302 Variables are only populated by the server, and will be ignored when sending a request. 303 304 :ivar value: The value. 305 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Alert] 306 :ivar next_link: Link to the next set of results. 307 :vartype next_link: str 308 """ 309 310 _validation = { 311 'value': {'readonly': True}, 312 'next_link': {'readonly': True}, 313 } 314 315 _attribute_map = { 316 'value': {'key': 'value', 'type': '[Alert]'}, 317 'next_link': {'key': 'nextLink', 'type': 'str'}, 318 } 319 320 def __init__( 321 self, 322 **kwargs 323 ): 324 super(AlertList, self).__init__(**kwargs) 325 self.value = None 326 self.next_link = None 327 328 329class ArcAddon(Addon): 330 """Arc Addon. 331 332 Variables are only populated by the server, and will be ignored when sending a request. 333 334 All required parameters must be populated in order to send to Azure. 335 336 :ivar id: The path ID that uniquely identifies the object. 337 :vartype id: str 338 :ivar name: The object name. 339 :vartype name: str 340 :ivar type: The hierarchical type of the object. 341 :vartype type: str 342 :param kind: Required. Addon type.Constant filled by server. Possible values include: 343 "IotEdge", "ArcForKubernetes". 344 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AddonType 345 :ivar system_data: Addon type. 346 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 347 :param subscription_id: Required. Arc resource subscription Id. 348 :type subscription_id: str 349 :param resource_group_name: Required. Arc resource group name. 350 :type resource_group_name: str 351 :param resource_name: Required. Arc resource Name. 352 :type resource_name: str 353 :param resource_location: Required. Arc resource location. 354 :type resource_location: str 355 :ivar version: Arc resource version. 356 :vartype version: str 357 :ivar host_platform: Host OS supported by the Arc addon. Possible values include: "Windows", 358 "Linux". 359 :vartype host_platform: str or ~azure.mgmt.databoxedge.v2020_12_01.models.PlatformType 360 :ivar host_platform_type: Platform where the runtime is hosted. Possible values include: 361 "KubernetesCluster", "LinuxVM". 362 :vartype host_platform_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.HostPlatformType 363 :ivar provisioning_state: Addon Provisioning State. Possible values include: "Invalid", 364 "Creating", "Created", "Updating", "Reconfiguring", "Failed", "Deleting". 365 :vartype provisioning_state: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AddonState 366 """ 367 368 _validation = { 369 'id': {'readonly': True}, 370 'name': {'readonly': True}, 371 'type': {'readonly': True}, 372 'kind': {'required': True}, 373 'system_data': {'readonly': True}, 374 'subscription_id': {'required': True}, 375 'resource_group_name': {'required': True}, 376 'resource_name': {'required': True}, 377 'resource_location': {'required': True}, 378 'version': {'readonly': True}, 379 'host_platform': {'readonly': True}, 380 'host_platform_type': {'readonly': True}, 381 'provisioning_state': {'readonly': True}, 382 } 383 384 _attribute_map = { 385 'id': {'key': 'id', 'type': 'str'}, 386 'name': {'key': 'name', 'type': 'str'}, 387 'type': {'key': 'type', 'type': 'str'}, 388 'kind': {'key': 'kind', 'type': 'str'}, 389 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 390 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, 391 'resource_group_name': {'key': 'properties.resourceGroupName', 'type': 'str'}, 392 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, 393 'resource_location': {'key': 'properties.resourceLocation', 'type': 'str'}, 394 'version': {'key': 'properties.version', 'type': 'str'}, 395 'host_platform': {'key': 'properties.hostPlatform', 'type': 'str'}, 396 'host_platform_type': {'key': 'properties.hostPlatformType', 'type': 'str'}, 397 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 398 } 399 400 def __init__( 401 self, 402 *, 403 subscription_id: str, 404 resource_group_name: str, 405 resource_name: str, 406 resource_location: str, 407 **kwargs 408 ): 409 super(ArcAddon, self).__init__(**kwargs) 410 self.kind = 'ArcForKubernetes' # type: str 411 self.subscription_id = subscription_id 412 self.resource_group_name = resource_group_name 413 self.resource_name = resource_name 414 self.resource_location = resource_location 415 self.version = None 416 self.host_platform = None 417 self.host_platform_type = None 418 self.provisioning_state = None 419 420 421class AsymmetricEncryptedSecret(msrest.serialization.Model): 422 """Represent the secrets intended for encryption with asymmetric key pair. 423 424 All required parameters must be populated in order to send to Azure. 425 426 :param value: Required. The value of the secret. 427 :type value: str 428 :param encryption_cert_thumbprint: Thumbprint certificate used to encrypt \"Value\". If the 429 value is unencrypted, it will be null. 430 :type encryption_cert_thumbprint: str 431 :param encryption_algorithm: Required. The algorithm used to encrypt "Value". Possible values 432 include: "None", "AES256", "RSAES_PKCS1_v_1_5". 433 :type encryption_algorithm: str or 434 ~azure.mgmt.databoxedge.v2020_12_01.models.EncryptionAlgorithm 435 """ 436 437 _validation = { 438 'value': {'required': True}, 439 'encryption_algorithm': {'required': True}, 440 } 441 442 _attribute_map = { 443 'value': {'key': 'value', 'type': 'str'}, 444 'encryption_cert_thumbprint': {'key': 'encryptionCertThumbprint', 'type': 'str'}, 445 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, 446 } 447 448 def __init__( 449 self, 450 *, 451 value: str, 452 encryption_algorithm: Union[str, "EncryptionAlgorithm"], 453 encryption_cert_thumbprint: Optional[str] = None, 454 **kwargs 455 ): 456 super(AsymmetricEncryptedSecret, self).__init__(**kwargs) 457 self.value = value 458 self.encryption_cert_thumbprint = encryption_cert_thumbprint 459 self.encryption_algorithm = encryption_algorithm 460 461 462class Authentication(msrest.serialization.Model): 463 """Authentication mechanism for IoT devices. 464 465 :param symmetric_key: Symmetric key for authentication. 466 :type symmetric_key: ~azure.mgmt.databoxedge.v2020_12_01.models.SymmetricKey 467 """ 468 469 _attribute_map = { 470 'symmetric_key': {'key': 'symmetricKey', 'type': 'SymmetricKey'}, 471 } 472 473 def __init__( 474 self, 475 *, 476 symmetric_key: Optional["SymmetricKey"] = None, 477 **kwargs 478 ): 479 super(Authentication, self).__init__(**kwargs) 480 self.symmetric_key = symmetric_key 481 482 483class AzureContainerInfo(msrest.serialization.Model): 484 """Azure container mapping of the endpoint. 485 486 All required parameters must be populated in order to send to Azure. 487 488 :param storage_account_credential_id: Required. ID of the storage account credential used to 489 access storage. 490 :type storage_account_credential_id: str 491 :param container_name: Required. Container name (Based on the data format specified, this 492 represents the name of Azure Files/Page blob/Block blob). 493 :type container_name: str 494 :param data_format: Required. Storage format used for the file represented by the share. 495 Possible values include: "BlockBlob", "PageBlob", "AzureFile". 496 :type data_format: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AzureContainerDataFormat 497 """ 498 499 _validation = { 500 'storage_account_credential_id': {'required': True}, 501 'container_name': {'required': True}, 502 'data_format': {'required': True}, 503 } 504 505 _attribute_map = { 506 'storage_account_credential_id': {'key': 'storageAccountCredentialId', 'type': 'str'}, 507 'container_name': {'key': 'containerName', 'type': 'str'}, 508 'data_format': {'key': 'dataFormat', 'type': 'str'}, 509 } 510 511 def __init__( 512 self, 513 *, 514 storage_account_credential_id: str, 515 container_name: str, 516 data_format: Union[str, "AzureContainerDataFormat"], 517 **kwargs 518 ): 519 super(AzureContainerInfo, self).__init__(**kwargs) 520 self.storage_account_credential_id = storage_account_credential_id 521 self.container_name = container_name 522 self.data_format = data_format 523 524 525class BandwidthSchedule(ARMBaseModel): 526 """The bandwidth schedule details. 527 528 Variables are only populated by the server, and will be ignored when sending a request. 529 530 All required parameters must be populated in order to send to Azure. 531 532 :ivar id: The path ID that uniquely identifies the object. 533 :vartype id: str 534 :ivar name: The object name. 535 :vartype name: str 536 :ivar type: The hierarchical type of the object. 537 :vartype type: str 538 :ivar system_data: Bandwidth object related to ASE resource. 539 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 540 :param start: Required. The start time of the schedule in UTC. 541 :type start: str 542 :param stop: Required. The stop time of the schedule in UTC. 543 :type stop: str 544 :param rate_in_mbps: Required. The bandwidth rate in Mbps. 545 :type rate_in_mbps: int 546 :param days: Required. The days of the week when this schedule is applicable. 547 :type days: list[str or ~azure.mgmt.databoxedge.v2020_12_01.models.DayOfWeek] 548 """ 549 550 _validation = { 551 'id': {'readonly': True}, 552 'name': {'readonly': True}, 553 'type': {'readonly': True}, 554 'system_data': {'readonly': True}, 555 'start': {'required': True}, 556 'stop': {'required': True}, 557 'rate_in_mbps': {'required': True}, 558 'days': {'required': True}, 559 } 560 561 _attribute_map = { 562 'id': {'key': 'id', 'type': 'str'}, 563 'name': {'key': 'name', 'type': 'str'}, 564 'type': {'key': 'type', 'type': 'str'}, 565 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 566 'start': {'key': 'properties.start', 'type': 'str'}, 567 'stop': {'key': 'properties.stop', 'type': 'str'}, 568 'rate_in_mbps': {'key': 'properties.rateInMbps', 'type': 'int'}, 569 'days': {'key': 'properties.days', 'type': '[str]'}, 570 } 571 572 def __init__( 573 self, 574 *, 575 start: str, 576 stop: str, 577 rate_in_mbps: int, 578 days: List[Union[str, "DayOfWeek"]], 579 **kwargs 580 ): 581 super(BandwidthSchedule, self).__init__(**kwargs) 582 self.system_data = None 583 self.start = start 584 self.stop = stop 585 self.rate_in_mbps = rate_in_mbps 586 self.days = days 587 588 589class BandwidthSchedulesList(msrest.serialization.Model): 590 """The collection of bandwidth schedules. 591 592 Variables are only populated by the server, and will be ignored when sending a request. 593 594 :ivar value: The list of bandwidth schedules. 595 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.BandwidthSchedule] 596 :ivar next_link: Link to the next set of results. 597 :vartype next_link: str 598 """ 599 600 _validation = { 601 'value': {'readonly': True}, 602 'next_link': {'readonly': True}, 603 } 604 605 _attribute_map = { 606 'value': {'key': 'value', 'type': '[BandwidthSchedule]'}, 607 'next_link': {'key': 'nextLink', 'type': 'str'}, 608 } 609 610 def __init__( 611 self, 612 **kwargs 613 ): 614 super(BandwidthSchedulesList, self).__init__(**kwargs) 615 self.value = None 616 self.next_link = None 617 618 619class ClientAccessRight(msrest.serialization.Model): 620 """The mapping between a particular client IP and the type of access client has on the NFS share. 621 622 All required parameters must be populated in order to send to Azure. 623 624 :param client: Required. IP of the client. 625 :type client: str 626 :param access_permission: Required. Type of access to be allowed for the client. Possible 627 values include: "NoAccess", "ReadOnly", "ReadWrite". 628 :type access_permission: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ClientPermissionType 629 """ 630 631 _validation = { 632 'client': {'required': True}, 633 'access_permission': {'required': True}, 634 } 635 636 _attribute_map = { 637 'client': {'key': 'client', 'type': 'str'}, 638 'access_permission': {'key': 'accessPermission', 'type': 'str'}, 639 } 640 641 def __init__( 642 self, 643 *, 644 client: str, 645 access_permission: Union[str, "ClientPermissionType"], 646 **kwargs 647 ): 648 super(ClientAccessRight, self).__init__(**kwargs) 649 self.client = client 650 self.access_permission = access_permission 651 652 653class Role(ARMBaseModel): 654 """Compute role. 655 656 You probably want to use the sub-classes and not this class directly. Known 657 sub-classes are: CloudEdgeManagementRole, IoTRole, KubernetesRole, MECRole. 658 659 Variables are only populated by the server, and will be ignored when sending a request. 660 661 All required parameters must be populated in order to send to Azure. 662 663 :ivar id: The path ID that uniquely identifies the object. 664 :vartype id: str 665 :ivar name: The object name. 666 :vartype name: str 667 :ivar type: The hierarchical type of the object. 668 :vartype type: str 669 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 670 "ASA", "Functions", "Cognitive", "MEC", "CloudEdgeManagement", "Kubernetes". 671 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 672 :ivar system_data: Role configured on ASE resource. 673 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 674 """ 675 676 _validation = { 677 'id': {'readonly': True}, 678 'name': {'readonly': True}, 679 'type': {'readonly': True}, 680 'kind': {'required': True}, 681 'system_data': {'readonly': True}, 682 } 683 684 _attribute_map = { 685 'id': {'key': 'id', 'type': 'str'}, 686 'name': {'key': 'name', 'type': 'str'}, 687 'type': {'key': 'type', 'type': 'str'}, 688 'kind': {'key': 'kind', 'type': 'str'}, 689 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 690 } 691 692 _subtype_map = { 693 'kind': {'CloudEdgeManagement': 'CloudEdgeManagementRole', 'IOT': 'IoTRole', 'Kubernetes': 'KubernetesRole', 'MEC': 'MECRole'} 694 } 695 696 def __init__( 697 self, 698 **kwargs 699 ): 700 super(Role, self).__init__(**kwargs) 701 self.kind = 'Role' # type: str 702 self.system_data = None 703 704 705class CloudEdgeManagementRole(Role): 706 """CloudEdgeManagementRole role. 707 708 Variables are only populated by the server, and will be ignored when sending a request. 709 710 All required parameters must be populated in order to send to Azure. 711 712 :ivar id: The path ID that uniquely identifies the object. 713 :vartype id: str 714 :ivar name: The object name. 715 :vartype name: str 716 :ivar type: The hierarchical type of the object. 717 :vartype type: str 718 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 719 "ASA", "Functions", "Cognitive", "MEC", "CloudEdgeManagement", "Kubernetes". 720 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 721 :ivar system_data: Role configured on ASE resource. 722 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 723 :ivar local_management_status: Local Edge Management Status. Possible values include: 724 "Enabled", "Disabled". 725 :vartype local_management_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleStatus 726 :ivar edge_profile: Edge Profile of the resource. 727 :vartype edge_profile: ~azure.mgmt.databoxedge.v2020_12_01.models.EdgeProfile 728 :param role_status: Role status. Possible values include: "Enabled", "Disabled". 729 :type role_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleStatus 730 """ 731 732 _validation = { 733 'id': {'readonly': True}, 734 'name': {'readonly': True}, 735 'type': {'readonly': True}, 736 'kind': {'required': True}, 737 'system_data': {'readonly': True}, 738 'local_management_status': {'readonly': True}, 739 'edge_profile': {'readonly': True}, 740 } 741 742 _attribute_map = { 743 'id': {'key': 'id', 'type': 'str'}, 744 'name': {'key': 'name', 'type': 'str'}, 745 'type': {'key': 'type', 'type': 'str'}, 746 'kind': {'key': 'kind', 'type': 'str'}, 747 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 748 'local_management_status': {'key': 'properties.localManagementStatus', 'type': 'str'}, 749 'edge_profile': {'key': 'properties.edgeProfile', 'type': 'EdgeProfile'}, 750 'role_status': {'key': 'properties.roleStatus', 'type': 'str'}, 751 } 752 753 def __init__( 754 self, 755 *, 756 role_status: Optional[Union[str, "RoleStatus"]] = None, 757 **kwargs 758 ): 759 super(CloudEdgeManagementRole, self).__init__(**kwargs) 760 self.kind = 'CloudEdgeManagement' # type: str 761 self.local_management_status = None 762 self.edge_profile = None 763 self.role_status = role_status 764 765 766class CloudErrorBody(msrest.serialization.Model): 767 """An error response from the service. 768 769 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 770 programmatically. 771 :type code: str 772 :param message: A message describing the error, intended to be suitable for display in a user 773 interface. 774 :type message: str 775 :param details: A list of additional details about the error. 776 :type details: list[~azure.mgmt.databoxedge.v2020_12_01.models.CloudErrorBody] 777 """ 778 779 _attribute_map = { 780 'code': {'key': 'code', 'type': 'str'}, 781 'message': {'key': 'message', 'type': 'str'}, 782 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 783 } 784 785 def __init__( 786 self, 787 *, 788 code: Optional[str] = None, 789 message: Optional[str] = None, 790 details: Optional[List["CloudErrorBody"]] = None, 791 **kwargs 792 ): 793 super(CloudErrorBody, self).__init__(**kwargs) 794 self.code = code 795 self.message = message 796 self.details = details 797 798 799class CniConfig(msrest.serialization.Model): 800 """Cni configuration. 801 802 Variables are only populated by the server, and will be ignored when sending a request. 803 804 :ivar type: Cni type. 805 :vartype type: str 806 :ivar version: Cni version. 807 :vartype version: str 808 :ivar pod_subnet: Pod Subnet. 809 :vartype pod_subnet: str 810 :ivar service_subnet: Service subnet. 811 :vartype service_subnet: str 812 """ 813 814 _validation = { 815 'type': {'readonly': True}, 816 'version': {'readonly': True}, 817 'pod_subnet': {'readonly': True}, 818 'service_subnet': {'readonly': True}, 819 } 820 821 _attribute_map = { 822 'type': {'key': 'type', 'type': 'str'}, 823 'version': {'key': 'version', 'type': 'str'}, 824 'pod_subnet': {'key': 'podSubnet', 'type': 'str'}, 825 'service_subnet': {'key': 'serviceSubnet', 'type': 'str'}, 826 } 827 828 def __init__( 829 self, 830 **kwargs 831 ): 832 super(CniConfig, self).__init__(**kwargs) 833 self.type = None 834 self.version = None 835 self.pod_subnet = None 836 self.service_subnet = None 837 838 839class ComputeResource(msrest.serialization.Model): 840 """Compute infrastructure Resource. 841 842 All required parameters must be populated in order to send to Azure. 843 844 :param processor_count: Required. Processor count. 845 :type processor_count: int 846 :param memory_in_gb: Required. Memory in GB. 847 :type memory_in_gb: long 848 """ 849 850 _validation = { 851 'processor_count': {'required': True}, 852 'memory_in_gb': {'required': True}, 853 } 854 855 _attribute_map = { 856 'processor_count': {'key': 'processorCount', 'type': 'int'}, 857 'memory_in_gb': {'key': 'memoryInGB', 'type': 'long'}, 858 } 859 860 def __init__( 861 self, 862 *, 863 processor_count: int, 864 memory_in_gb: int, 865 **kwargs 866 ): 867 super(ComputeResource, self).__init__(**kwargs) 868 self.processor_count = processor_count 869 self.memory_in_gb = memory_in_gb 870 871 872class ContactDetails(msrest.serialization.Model): 873 """Contains all the contact details of the customer. 874 875 All required parameters must be populated in order to send to Azure. 876 877 :param contact_person: Required. The contact person name. 878 :type contact_person: str 879 :param company_name: Required. The name of the company. 880 :type company_name: str 881 :param phone: Required. The phone number. 882 :type phone: str 883 :param email_list: Required. The email list. 884 :type email_list: list[str] 885 """ 886 887 _validation = { 888 'contact_person': {'required': True}, 889 'company_name': {'required': True}, 890 'phone': {'required': True}, 891 'email_list': {'required': True}, 892 } 893 894 _attribute_map = { 895 'contact_person': {'key': 'contactPerson', 'type': 'str'}, 896 'company_name': {'key': 'companyName', 'type': 'str'}, 897 'phone': {'key': 'phone', 'type': 'str'}, 898 'email_list': {'key': 'emailList', 'type': '[str]'}, 899 } 900 901 def __init__( 902 self, 903 *, 904 contact_person: str, 905 company_name: str, 906 phone: str, 907 email_list: List[str], 908 **kwargs 909 ): 910 super(ContactDetails, self).__init__(**kwargs) 911 self.contact_person = contact_person 912 self.company_name = company_name 913 self.phone = phone 914 self.email_list = email_list 915 916 917class Container(ARMBaseModel): 918 """Represents a container on the Data Box Edge/Gateway device. 919 920 Variables are only populated by the server, and will be ignored when sending a request. 921 922 All required parameters must be populated in order to send to Azure. 923 924 :ivar id: The path ID that uniquely identifies the object. 925 :vartype id: str 926 :ivar name: The object name. 927 :vartype name: str 928 :ivar type: The hierarchical type of the object. 929 :vartype type: str 930 :ivar system_data: Container in DataBoxEdge Resource. 931 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 932 :ivar container_status: Current status of the container. Possible values include: "OK", 933 "Offline", "Unknown", "Updating", "NeedsAttention". 934 :vartype container_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ContainerStatus 935 :param data_format: Required. DataFormat for Container. Possible values include: "BlockBlob", 936 "PageBlob", "AzureFile". 937 :type data_format: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AzureContainerDataFormat 938 :ivar refresh_details: Details of the refresh job on this container. 939 :vartype refresh_details: ~azure.mgmt.databoxedge.v2020_12_01.models.RefreshDetails 940 :ivar created_date_time: The UTC time when container got created. 941 :vartype created_date_time: ~datetime.datetime 942 """ 943 944 _validation = { 945 'id': {'readonly': True}, 946 'name': {'readonly': True}, 947 'type': {'readonly': True}, 948 'system_data': {'readonly': True}, 949 'container_status': {'readonly': True}, 950 'data_format': {'required': True}, 951 'refresh_details': {'readonly': True}, 952 'created_date_time': {'readonly': True}, 953 } 954 955 _attribute_map = { 956 'id': {'key': 'id', 'type': 'str'}, 957 'name': {'key': 'name', 'type': 'str'}, 958 'type': {'key': 'type', 'type': 'str'}, 959 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 960 'container_status': {'key': 'properties.containerStatus', 'type': 'str'}, 961 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, 962 'refresh_details': {'key': 'properties.refreshDetails', 'type': 'RefreshDetails'}, 963 'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'}, 964 } 965 966 def __init__( 967 self, 968 *, 969 data_format: Union[str, "AzureContainerDataFormat"], 970 **kwargs 971 ): 972 super(Container, self).__init__(**kwargs) 973 self.system_data = None 974 self.container_status = None 975 self.data_format = data_format 976 self.refresh_details = None 977 self.created_date_time = None 978 979 980class ContainerList(msrest.serialization.Model): 981 """Collection of all the containers on the Data Box Edge/Gateway device. 982 983 Variables are only populated by the server, and will be ignored when sending a request. 984 985 :ivar value: The list of containers. 986 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Container] 987 :ivar next_link: Link to the next set of results. 988 :vartype next_link: str 989 """ 990 991 _validation = { 992 'value': {'readonly': True}, 993 'next_link': {'readonly': True}, 994 } 995 996 _attribute_map = { 997 'value': {'key': 'value', 'type': '[Container]'}, 998 'next_link': {'key': 'nextLink', 'type': 'str'}, 999 } 1000 1001 def __init__( 1002 self, 1003 **kwargs 1004 ): 1005 super(ContainerList, self).__init__(**kwargs) 1006 self.value = None 1007 self.next_link = None 1008 1009 1010class DataBoxEdgeDevice(ARMBaseModel): 1011 """The Data Box Edge/Gateway device. 1012 1013 Variables are only populated by the server, and will be ignored when sending a request. 1014 1015 All required parameters must be populated in order to send to Azure. 1016 1017 :ivar id: The path ID that uniquely identifies the object. 1018 :vartype id: str 1019 :ivar name: The object name. 1020 :vartype name: str 1021 :ivar type: The hierarchical type of the object. 1022 :vartype type: str 1023 :param location: Required. The location of the device. This is a supported and registered Azure 1024 geographical region (for example, West US, East US, or Southeast Asia). The geographical region 1025 of a device cannot be changed once it is created, but if an identical geographical region is 1026 specified on update, the request will succeed. 1027 :type location: str 1028 :param tags: A set of tags. The list of tags that describe the device. These tags can be used 1029 to view and group this device (across resource groups). 1030 :type tags: dict[str, str] 1031 :param sku: The SKU type. 1032 :type sku: ~azure.mgmt.databoxedge.v2020_12_01.models.Sku 1033 :param etag: The etag for the devices. 1034 :type etag: str 1035 :param identity: Msi identity of the resource. 1036 :type identity: ~azure.mgmt.databoxedge.v2020_12_01.models.ResourceIdentity 1037 :ivar kind: The etag for the devices. Possible values include: "AzureDataBoxGateway", 1038 "AzureStackEdge", "AzureStackHub", "AzureModularDataCentre". 1039 :vartype kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.DataBoxEdgeDeviceKind 1040 :ivar system_data: DataBoxEdge Resource. 1041 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 1042 :param data_box_edge_device_status: The status of the Data Box Edge/Gateway device. Possible 1043 values include: "ReadyToSetup", "Online", "Offline", "NeedsAttention", "Disconnected", 1044 "PartiallyDisconnected", "Maintenance". 1045 :type data_box_edge_device_status: str or 1046 ~azure.mgmt.databoxedge.v2020_12_01.models.DataBoxEdgeDeviceStatus 1047 :ivar serial_number: The Serial Number of Data Box Edge/Gateway device. 1048 :vartype serial_number: str 1049 :ivar description: The Description of the Data Box Edge/Gateway device. 1050 :vartype description: str 1051 :ivar model_description: The description of the Data Box Edge/Gateway device model. 1052 :vartype model_description: str 1053 :ivar device_type: The type of the Data Box Edge/Gateway device. Possible values include: 1054 "DataBoxEdgeDevice". 1055 :vartype device_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.DeviceType 1056 :ivar friendly_name: The Data Box Edge/Gateway device name. 1057 :vartype friendly_name: str 1058 :ivar culture: The Data Box Edge/Gateway device culture. 1059 :vartype culture: str 1060 :ivar device_model: The Data Box Edge/Gateway device model. 1061 :vartype device_model: str 1062 :ivar device_software_version: The Data Box Edge/Gateway device software version. 1063 :vartype device_software_version: str 1064 :ivar device_local_capacity: The Data Box Edge/Gateway device local capacity in MB. 1065 :vartype device_local_capacity: long 1066 :ivar time_zone: The Data Box Edge/Gateway device timezone. 1067 :vartype time_zone: str 1068 :ivar device_hcs_version: The device software version number of the device (eg: 1.2.18105.6). 1069 :vartype device_hcs_version: str 1070 :ivar configured_role_types: Type of compute roles configured. 1071 :vartype configured_role_types: list[str or 1072 ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes] 1073 :ivar node_count: The number of nodes in the cluster. 1074 :vartype node_count: int 1075 :ivar resource_move_details: The details of the move operation on this resource. 1076 :vartype resource_move_details: ~azure.mgmt.databoxedge.v2020_12_01.models.ResourceMoveDetails 1077 :ivar edge_profile: The details of Edge Profile for this resource. 1078 :vartype edge_profile: ~azure.mgmt.databoxedge.v2020_12_01.models.EdgeProfile 1079 """ 1080 1081 _validation = { 1082 'id': {'readonly': True}, 1083 'name': {'readonly': True}, 1084 'type': {'readonly': True}, 1085 'location': {'required': True}, 1086 'kind': {'readonly': True}, 1087 'system_data': {'readonly': True}, 1088 'serial_number': {'readonly': True}, 1089 'description': {'readonly': True}, 1090 'model_description': {'readonly': True}, 1091 'device_type': {'readonly': True}, 1092 'friendly_name': {'readonly': True}, 1093 'culture': {'readonly': True}, 1094 'device_model': {'readonly': True}, 1095 'device_software_version': {'readonly': True}, 1096 'device_local_capacity': {'readonly': True}, 1097 'time_zone': {'readonly': True}, 1098 'device_hcs_version': {'readonly': True}, 1099 'configured_role_types': {'readonly': True}, 1100 'node_count': {'readonly': True}, 1101 'resource_move_details': {'readonly': True}, 1102 'edge_profile': {'readonly': True}, 1103 } 1104 1105 _attribute_map = { 1106 'id': {'key': 'id', 'type': 'str'}, 1107 'name': {'key': 'name', 'type': 'str'}, 1108 'type': {'key': 'type', 'type': 'str'}, 1109 'location': {'key': 'location', 'type': 'str'}, 1110 'tags': {'key': 'tags', 'type': '{str}'}, 1111 'sku': {'key': 'sku', 'type': 'Sku'}, 1112 'etag': {'key': 'etag', 'type': 'str'}, 1113 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 1114 'kind': {'key': 'kind', 'type': 'str'}, 1115 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1116 'data_box_edge_device_status': {'key': 'properties.dataBoxEdgeDeviceStatus', 'type': 'str'}, 1117 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, 1118 'description': {'key': 'properties.description', 'type': 'str'}, 1119 'model_description': {'key': 'properties.modelDescription', 'type': 'str'}, 1120 'device_type': {'key': 'properties.deviceType', 'type': 'str'}, 1121 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 1122 'culture': {'key': 'properties.culture', 'type': 'str'}, 1123 'device_model': {'key': 'properties.deviceModel', 'type': 'str'}, 1124 'device_software_version': {'key': 'properties.deviceSoftwareVersion', 'type': 'str'}, 1125 'device_local_capacity': {'key': 'properties.deviceLocalCapacity', 'type': 'long'}, 1126 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, 1127 'device_hcs_version': {'key': 'properties.deviceHcsVersion', 'type': 'str'}, 1128 'configured_role_types': {'key': 'properties.configuredRoleTypes', 'type': '[str]'}, 1129 'node_count': {'key': 'properties.nodeCount', 'type': 'int'}, 1130 'resource_move_details': {'key': 'properties.resourceMoveDetails', 'type': 'ResourceMoveDetails'}, 1131 'edge_profile': {'key': 'properties.edgeProfile', 'type': 'EdgeProfile'}, 1132 } 1133 1134 def __init__( 1135 self, 1136 *, 1137 location: str, 1138 tags: Optional[Dict[str, str]] = None, 1139 sku: Optional["Sku"] = None, 1140 etag: Optional[str] = None, 1141 identity: Optional["ResourceIdentity"] = None, 1142 data_box_edge_device_status: Optional[Union[str, "DataBoxEdgeDeviceStatus"]] = None, 1143 **kwargs 1144 ): 1145 super(DataBoxEdgeDevice, self).__init__(**kwargs) 1146 self.location = location 1147 self.tags = tags 1148 self.sku = sku 1149 self.etag = etag 1150 self.identity = identity 1151 self.kind = None 1152 self.system_data = None 1153 self.data_box_edge_device_status = data_box_edge_device_status 1154 self.serial_number = None 1155 self.description = None 1156 self.model_description = None 1157 self.device_type = None 1158 self.friendly_name = None 1159 self.culture = None 1160 self.device_model = None 1161 self.device_software_version = None 1162 self.device_local_capacity = None 1163 self.time_zone = None 1164 self.device_hcs_version = None 1165 self.configured_role_types = None 1166 self.node_count = None 1167 self.resource_move_details = None 1168 self.edge_profile = None 1169 1170 1171class DataBoxEdgeDeviceExtendedInfo(ARMBaseModel): 1172 """The extended Info of the Data Box Edge/Gateway device. 1173 1174 Variables are only populated by the server, and will be ignored when sending a request. 1175 1176 :ivar id: The path ID that uniquely identifies the object. 1177 :vartype id: str 1178 :ivar name: The object name. 1179 :vartype name: str 1180 :ivar type: The hierarchical type of the object. 1181 :vartype type: str 1182 :param encryption_key_thumbprint: The digital signature of encrypted certificate. 1183 :type encryption_key_thumbprint: str 1184 :param encryption_key: The public part of the encryption certificate. Client uses this to 1185 encrypt any secret. 1186 :type encryption_key: str 1187 :ivar resource_key: The Resource ID of the Resource. 1188 :vartype resource_key: str 1189 :param client_secret_store_id: The Key Vault ARM Id for client secrets. 1190 :type client_secret_store_id: str 1191 :param client_secret_store_url: The url to access the Client Key Vault. 1192 :type client_secret_store_url: str 1193 :param channel_integrity_key_name: The name of Channel Integrity Key stored in the Client Key 1194 Vault. 1195 :type channel_integrity_key_name: str 1196 :param channel_integrity_key_version: The version of Channel Integrity Key stored in the Client 1197 Key Vault. 1198 :type channel_integrity_key_version: str 1199 :param key_vault_sync_status: Key vault sync status. Possible values include: "KeyVaultSynced", 1200 "KeyVaultSyncFailed", "KeyVaultNotConfigured", "KeyVaultSyncPending", "KeyVaultSyncing". 1201 :type key_vault_sync_status: str or 1202 ~azure.mgmt.databoxedge.v2020_12_01.models.KeyVaultSyncStatus 1203 :ivar device_secrets: Device secrets, will be returned only with ODataFilter 1204 $expand=deviceSecrets. 1205 :vartype device_secrets: ~azure.mgmt.databoxedge.v2020_12_01.models.DeviceSecrets 1206 """ 1207 1208 _validation = { 1209 'id': {'readonly': True}, 1210 'name': {'readonly': True}, 1211 'type': {'readonly': True}, 1212 'resource_key': {'readonly': True}, 1213 'device_secrets': {'readonly': True}, 1214 } 1215 1216 _attribute_map = { 1217 'id': {'key': 'id', 'type': 'str'}, 1218 'name': {'key': 'name', 'type': 'str'}, 1219 'type': {'key': 'type', 'type': 'str'}, 1220 'encryption_key_thumbprint': {'key': 'properties.encryptionKeyThumbprint', 'type': 'str'}, 1221 'encryption_key': {'key': 'properties.encryptionKey', 'type': 'str'}, 1222 'resource_key': {'key': 'properties.resourceKey', 'type': 'str'}, 1223 'client_secret_store_id': {'key': 'properties.clientSecretStoreId', 'type': 'str'}, 1224 'client_secret_store_url': {'key': 'properties.clientSecretStoreUrl', 'type': 'str'}, 1225 'channel_integrity_key_name': {'key': 'properties.channelIntegrityKeyName', 'type': 'str'}, 1226 'channel_integrity_key_version': {'key': 'properties.channelIntegrityKeyVersion', 'type': 'str'}, 1227 'key_vault_sync_status': {'key': 'properties.keyVaultSyncStatus', 'type': 'str'}, 1228 'device_secrets': {'key': 'properties.deviceSecrets', 'type': 'DeviceSecrets'}, 1229 } 1230 1231 def __init__( 1232 self, 1233 *, 1234 encryption_key_thumbprint: Optional[str] = None, 1235 encryption_key: Optional[str] = None, 1236 client_secret_store_id: Optional[str] = None, 1237 client_secret_store_url: Optional[str] = None, 1238 channel_integrity_key_name: Optional[str] = None, 1239 channel_integrity_key_version: Optional[str] = None, 1240 key_vault_sync_status: Optional[Union[str, "KeyVaultSyncStatus"]] = None, 1241 **kwargs 1242 ): 1243 super(DataBoxEdgeDeviceExtendedInfo, self).__init__(**kwargs) 1244 self.encryption_key_thumbprint = encryption_key_thumbprint 1245 self.encryption_key = encryption_key 1246 self.resource_key = None 1247 self.client_secret_store_id = client_secret_store_id 1248 self.client_secret_store_url = client_secret_store_url 1249 self.channel_integrity_key_name = channel_integrity_key_name 1250 self.channel_integrity_key_version = channel_integrity_key_version 1251 self.key_vault_sync_status = key_vault_sync_status 1252 self.device_secrets = None 1253 1254 1255class DataBoxEdgeDeviceExtendedInfoPatch(msrest.serialization.Model): 1256 """The Data Box Edge/Gateway device extended info patch. 1257 1258 :param client_secret_store_id: The Key Vault ARM Id for client secrets. 1259 :type client_secret_store_id: str 1260 :param client_secret_store_url: The url to access the Client Key Vault. 1261 :type client_secret_store_url: str 1262 :param channel_integrity_key_name: The name for Channel Integrity Key stored in the Client Key 1263 Vault. 1264 :type channel_integrity_key_name: str 1265 :param channel_integrity_key_version: The version of Channel Integrity Key stored in the Client 1266 Key Vault. 1267 :type channel_integrity_key_version: str 1268 :param sync_status: For changing or to initiate the resync to key-vault set the status to 1269 KeyVaultSyncPending, rest of the status will not be applicable. Possible values include: 1270 "KeyVaultSynced", "KeyVaultSyncFailed", "KeyVaultNotConfigured", "KeyVaultSyncPending", 1271 "KeyVaultSyncing". 1272 :type sync_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.KeyVaultSyncStatus 1273 """ 1274 1275 _attribute_map = { 1276 'client_secret_store_id': {'key': 'clientSecretStoreId', 'type': 'str'}, 1277 'client_secret_store_url': {'key': 'clientSecretStoreUrl', 'type': 'str'}, 1278 'channel_integrity_key_name': {'key': 'channelIntegrityKeyName', 'type': 'str'}, 1279 'channel_integrity_key_version': {'key': 'channelIntegrityKeyVersion', 'type': 'str'}, 1280 'sync_status': {'key': 'syncStatus', 'type': 'str'}, 1281 } 1282 1283 def __init__( 1284 self, 1285 *, 1286 client_secret_store_id: Optional[str] = None, 1287 client_secret_store_url: Optional[str] = None, 1288 channel_integrity_key_name: Optional[str] = None, 1289 channel_integrity_key_version: Optional[str] = None, 1290 sync_status: Optional[Union[str, "KeyVaultSyncStatus"]] = None, 1291 **kwargs 1292 ): 1293 super(DataBoxEdgeDeviceExtendedInfoPatch, self).__init__(**kwargs) 1294 self.client_secret_store_id = client_secret_store_id 1295 self.client_secret_store_url = client_secret_store_url 1296 self.channel_integrity_key_name = channel_integrity_key_name 1297 self.channel_integrity_key_version = channel_integrity_key_version 1298 self.sync_status = sync_status 1299 1300 1301class DataBoxEdgeDeviceList(msrest.serialization.Model): 1302 """The collection of Data Box Edge/Gateway devices. 1303 1304 Variables are only populated by the server, and will be ignored when sending a request. 1305 1306 :ivar value: The list of Data Box Edge/Gateway devices. 1307 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.DataBoxEdgeDevice] 1308 :ivar next_link: Link to the next set of results. 1309 :vartype next_link: str 1310 """ 1311 1312 _validation = { 1313 'value': {'readonly': True}, 1314 'next_link': {'readonly': True}, 1315 } 1316 1317 _attribute_map = { 1318 'value': {'key': 'value', 'type': '[DataBoxEdgeDevice]'}, 1319 'next_link': {'key': 'nextLink', 'type': 'str'}, 1320 } 1321 1322 def __init__( 1323 self, 1324 **kwargs 1325 ): 1326 super(DataBoxEdgeDeviceList, self).__init__(**kwargs) 1327 self.value = None 1328 self.next_link = None 1329 1330 1331class DataBoxEdgeDevicePatch(msrest.serialization.Model): 1332 """The Data Box Edge/Gateway device patch. 1333 1334 :param tags: A set of tags. The tags attached to the Data Box Edge/Gateway resource. 1335 :type tags: dict[str, str] 1336 :param identity: Msi identity of the resource. 1337 :type identity: ~azure.mgmt.databoxedge.v2020_12_01.models.ResourceIdentity 1338 :param edge_profile: Edge Profile property of the Data Box Edge/Gateway device. 1339 :type edge_profile: ~azure.mgmt.databoxedge.v2020_12_01.models.EdgeProfilePatch 1340 """ 1341 1342 _attribute_map = { 1343 'tags': {'key': 'tags', 'type': '{str}'}, 1344 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 1345 'edge_profile': {'key': 'properties.edgeProfile', 'type': 'EdgeProfilePatch'}, 1346 } 1347 1348 def __init__( 1349 self, 1350 *, 1351 tags: Optional[Dict[str, str]] = None, 1352 identity: Optional["ResourceIdentity"] = None, 1353 edge_profile: Optional["EdgeProfilePatch"] = None, 1354 **kwargs 1355 ): 1356 super(DataBoxEdgeDevicePatch, self).__init__(**kwargs) 1357 self.tags = tags 1358 self.identity = identity 1359 self.edge_profile = edge_profile 1360 1361 1362class DataBoxEdgeMoveRequest(msrest.serialization.Model): 1363 """Resource Move details. 1364 1365 All required parameters must be populated in order to send to Azure. 1366 1367 :param target_resource_group: Required. Target resource group ARMId. 1368 :type target_resource_group: str 1369 :param resources: Required. List of resources to be moved. 1370 :type resources: list[str] 1371 """ 1372 1373 _validation = { 1374 'target_resource_group': {'required': True}, 1375 'resources': {'required': True}, 1376 } 1377 1378 _attribute_map = { 1379 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, 1380 'resources': {'key': 'resources', 'type': '[str]'}, 1381 } 1382 1383 def __init__( 1384 self, 1385 *, 1386 target_resource_group: str, 1387 resources: List[str], 1388 **kwargs 1389 ): 1390 super(DataBoxEdgeMoveRequest, self).__init__(**kwargs) 1391 self.target_resource_group = target_resource_group 1392 self.resources = resources 1393 1394 1395class DataBoxEdgeSku(msrest.serialization.Model): 1396 """The Sku information. 1397 1398 Variables are only populated by the server, and will be ignored when sending a request. 1399 1400 :ivar resource_type: The type of the resource. 1401 :vartype resource_type: str 1402 :ivar name: The Sku name. Possible values include: "Gateway", "Edge", "TEA_1Node", 1403 "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", 1404 "TEA_4Node_UPS_Heater", "TMA", "TDC", "TCA_Small", "GPU", "TCA_Large", "EdgeP_Base", 1405 "EdgeP_High", "EdgePR_Base", "EdgePR_Base_UPS", "EdgeMR_Mini", "RCA_Small", "RCA_Large", "RDC". 1406 :vartype name: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuName 1407 :ivar kind: The Sku kind. 1408 :vartype kind: str 1409 :ivar tier: The Sku tier. Possible values include: "Standard". 1410 :vartype tier: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuTier 1411 :ivar size: The Sku kind. 1412 :vartype size: str 1413 :ivar family: The Sku family. 1414 :vartype family: str 1415 :ivar locations: Availability of the Sku for the region. 1416 :vartype locations: list[str] 1417 :ivar api_versions: The API versions in which Sku is available. 1418 :vartype api_versions: list[str] 1419 :ivar location_info: Availability of the Sku for the location/zone/site. 1420 :vartype location_info: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuLocationInfo] 1421 :ivar costs: The pricing info of the Sku. 1422 :vartype costs: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuCost] 1423 :ivar signup_option: Sku can be signed up by customer or not. Possible values include: "None", 1424 "Available". 1425 :vartype signup_option: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuSignupOption 1426 :ivar version: Availability of the Sku as preview/stable. Possible values include: "Stable", 1427 "Preview". 1428 :vartype version: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuVersion 1429 :ivar availability: Links to the next set of results. Possible values include: "Available", 1430 "Unavailable". 1431 :vartype availability: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuAvailability 1432 :ivar shipment_types: List of Shipment Types supported by this SKU. 1433 :vartype shipment_types: list[str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShipmentType] 1434 :ivar capabilities: The capability info of the SKU. 1435 :vartype capabilities: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuCapability] 1436 """ 1437 1438 _validation = { 1439 'resource_type': {'readonly': True}, 1440 'name': {'readonly': True}, 1441 'kind': {'readonly': True}, 1442 'tier': {'readonly': True}, 1443 'size': {'readonly': True}, 1444 'family': {'readonly': True}, 1445 'locations': {'readonly': True}, 1446 'api_versions': {'readonly': True}, 1447 'location_info': {'readonly': True}, 1448 'costs': {'readonly': True}, 1449 'signup_option': {'readonly': True}, 1450 'version': {'readonly': True}, 1451 'availability': {'readonly': True}, 1452 'shipment_types': {'readonly': True}, 1453 'capabilities': {'readonly': True}, 1454 } 1455 1456 _attribute_map = { 1457 'resource_type': {'key': 'resourceType', 'type': 'str'}, 1458 'name': {'key': 'name', 'type': 'str'}, 1459 'kind': {'key': 'kind', 'type': 'str'}, 1460 'tier': {'key': 'tier', 'type': 'str'}, 1461 'size': {'key': 'size', 'type': 'str'}, 1462 'family': {'key': 'family', 'type': 'str'}, 1463 'locations': {'key': 'locations', 'type': '[str]'}, 1464 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, 1465 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfo]'}, 1466 'costs': {'key': 'costs', 'type': '[SkuCost]'}, 1467 'signup_option': {'key': 'signupOption', 'type': 'str'}, 1468 'version': {'key': 'version', 'type': 'str'}, 1469 'availability': {'key': 'availability', 'type': 'str'}, 1470 'shipment_types': {'key': 'shipmentTypes', 'type': '[str]'}, 1471 'capabilities': {'key': 'capabilities', 'type': '[SkuCapability]'}, 1472 } 1473 1474 def __init__( 1475 self, 1476 **kwargs 1477 ): 1478 super(DataBoxEdgeSku, self).__init__(**kwargs) 1479 self.resource_type = None 1480 self.name = None 1481 self.kind = None 1482 self.tier = None 1483 self.size = None 1484 self.family = None 1485 self.locations = None 1486 self.api_versions = None 1487 self.location_info = None 1488 self.costs = None 1489 self.signup_option = None 1490 self.version = None 1491 self.availability = None 1492 self.shipment_types = None 1493 self.capabilities = None 1494 1495 1496class DataBoxEdgeSkuList(msrest.serialization.Model): 1497 """List of SKU Information objects. 1498 1499 Variables are only populated by the server, and will be ignored when sending a request. 1500 1501 :ivar value: List of ResourceType Sku. 1502 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.DataBoxEdgeSku] 1503 :ivar next_link: Links to the next set of results. 1504 :vartype next_link: str 1505 """ 1506 1507 _validation = { 1508 'value': {'readonly': True}, 1509 'next_link': {'readonly': True}, 1510 } 1511 1512 _attribute_map = { 1513 'value': {'key': 'value', 'type': '[DataBoxEdgeSku]'}, 1514 'next_link': {'key': 'nextLink', 'type': 'str'}, 1515 } 1516 1517 def __init__( 1518 self, 1519 **kwargs 1520 ): 1521 super(DataBoxEdgeSkuList, self).__init__(**kwargs) 1522 self.value = None 1523 self.next_link = None 1524 1525 1526class DCAccessCode(msrest.serialization.Model): 1527 """DC Access code in the case of Self Managed Shipping. 1528 1529 :param auth_code: DCAccess Code for the Self Managed shipment. 1530 :type auth_code: str 1531 """ 1532 1533 _attribute_map = { 1534 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, 1535 } 1536 1537 def __init__( 1538 self, 1539 *, 1540 auth_code: Optional[str] = None, 1541 **kwargs 1542 ): 1543 super(DCAccessCode, self).__init__(**kwargs) 1544 self.auth_code = auth_code 1545 1546 1547class DeviceSecrets(msrest.serialization.Model): 1548 """Device Secrets. 1549 1550 :param hcs_data_volume_bit_locker_external_key: Keyvault Id of 1551 HcsDataVolumeBitLockerExternalKey. 1552 :type hcs_data_volume_bit_locker_external_key: 1553 ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1554 :param hcs_internal_volume_bit_locker_external_key: Keyvault Id of 1555 HcsInternalVolumeBitLockerExternalKey. 1556 :type hcs_internal_volume_bit_locker_external_key: 1557 ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1558 :param system_volume_bit_locker_recovery_key: Keyvault Id of SystemVolumeBitLockerRecoveryKey. 1559 :type system_volume_bit_locker_recovery_key: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1560 :param sed_encryption_external_key_id: Keyvault Id of SEDEncryptionExternalKeyId. 1561 :type sed_encryption_external_key_id: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1562 :param sed_encryption_external_key: Keyvault Id of SEDEncryptionExternalKey. 1563 :type sed_encryption_external_key: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1564 :param bmc_default_user_password: Keyvault Id of BMCDefaultUserPassword. 1565 :type bmc_default_user_password: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1566 :param rotate_key_for_data_volume_bitlocker: Keyvault Id of RotateKeyForDataVolumeBitlocker. 1567 :type rotate_key_for_data_volume_bitlocker: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1568 :param rotate_keys_for_sed_drives_serialized: Keyvault Id of RotateKeysForSedDrivesSerialized. 1569 :type rotate_keys_for_sed_drives_serialized: ~azure.mgmt.databoxedge.v2020_12_01.models.Secret 1570 """ 1571 1572 _attribute_map = { 1573 'hcs_data_volume_bit_locker_external_key': {'key': 'hcsDataVolumeBitLockerExternalKey', 'type': 'Secret'}, 1574 'hcs_internal_volume_bit_locker_external_key': {'key': 'hcsInternalVolumeBitLockerExternalKey', 'type': 'Secret'}, 1575 'system_volume_bit_locker_recovery_key': {'key': 'systemVolumeBitLockerRecoveryKey', 'type': 'Secret'}, 1576 'sed_encryption_external_key_id': {'key': 'sedEncryptionExternalKeyId', 'type': 'Secret'}, 1577 'sed_encryption_external_key': {'key': 'sedEncryptionExternalKey', 'type': 'Secret'}, 1578 'bmc_default_user_password': {'key': 'bmcDefaultUserPassword', 'type': 'Secret'}, 1579 'rotate_key_for_data_volume_bitlocker': {'key': 'rotateKeyForDataVolumeBitlocker', 'type': 'Secret'}, 1580 'rotate_keys_for_sed_drives_serialized': {'key': 'rotateKeysForSedDrivesSerialized', 'type': 'Secret'}, 1581 } 1582 1583 def __init__( 1584 self, 1585 *, 1586 hcs_data_volume_bit_locker_external_key: Optional["Secret"] = None, 1587 hcs_internal_volume_bit_locker_external_key: Optional["Secret"] = None, 1588 system_volume_bit_locker_recovery_key: Optional["Secret"] = None, 1589 sed_encryption_external_key_id: Optional["Secret"] = None, 1590 sed_encryption_external_key: Optional["Secret"] = None, 1591 bmc_default_user_password: Optional["Secret"] = None, 1592 rotate_key_for_data_volume_bitlocker: Optional["Secret"] = None, 1593 rotate_keys_for_sed_drives_serialized: Optional["Secret"] = None, 1594 **kwargs 1595 ): 1596 super(DeviceSecrets, self).__init__(**kwargs) 1597 self.hcs_data_volume_bit_locker_external_key = hcs_data_volume_bit_locker_external_key 1598 self.hcs_internal_volume_bit_locker_external_key = hcs_internal_volume_bit_locker_external_key 1599 self.system_volume_bit_locker_recovery_key = system_volume_bit_locker_recovery_key 1600 self.sed_encryption_external_key_id = sed_encryption_external_key_id 1601 self.sed_encryption_external_key = sed_encryption_external_key 1602 self.bmc_default_user_password = bmc_default_user_password 1603 self.rotate_key_for_data_volume_bitlocker = rotate_key_for_data_volume_bitlocker 1604 self.rotate_keys_for_sed_drives_serialized = rotate_keys_for_sed_drives_serialized 1605 1606 1607class EdgeProfile(msrest.serialization.Model): 1608 """Details about Edge Profile for the resource. 1609 1610 :param subscription: Edge Profile Subscription. 1611 :type subscription: ~azure.mgmt.databoxedge.v2020_12_01.models.EdgeProfileSubscription 1612 """ 1613 1614 _attribute_map = { 1615 'subscription': {'key': 'subscription', 'type': 'EdgeProfileSubscription'}, 1616 } 1617 1618 def __init__( 1619 self, 1620 *, 1621 subscription: Optional["EdgeProfileSubscription"] = None, 1622 **kwargs 1623 ): 1624 super(EdgeProfile, self).__init__(**kwargs) 1625 self.subscription = subscription 1626 1627 1628class EdgeProfilePatch(msrest.serialization.Model): 1629 """The Data Box Edge/Gateway Edge Profile patch. 1630 1631 :param subscription: The Data Box Edge/Gateway Edge Profile Subscription patch. 1632 :type subscription: ~azure.mgmt.databoxedge.v2020_12_01.models.EdgeProfileSubscriptionPatch 1633 """ 1634 1635 _attribute_map = { 1636 'subscription': {'key': 'subscription', 'type': 'EdgeProfileSubscriptionPatch'}, 1637 } 1638 1639 def __init__( 1640 self, 1641 *, 1642 subscription: Optional["EdgeProfileSubscriptionPatch"] = None, 1643 **kwargs 1644 ): 1645 super(EdgeProfilePatch, self).__init__(**kwargs) 1646 self.subscription = subscription 1647 1648 1649class EdgeProfileSubscription(msrest.serialization.Model): 1650 """Subscription details for the Edge Profile. 1651 1652 :param registration_id: Edge Subscription Registration ID. 1653 :type registration_id: str 1654 :param id: ARM ID of the subscription. 1655 :type id: str 1656 :param state: Possible values include: "Registered", "Warned", "Suspended", "Deleted", 1657 "Unregistered". 1658 :type state: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SubscriptionState 1659 :param registration_date: 1660 :type registration_date: str 1661 :param subscription_id: 1662 :type subscription_id: str 1663 :param tenant_id: 1664 :type tenant_id: str 1665 :param location_placement_id: 1666 :type location_placement_id: str 1667 :param quota_id: 1668 :type quota_id: str 1669 :param serialized_details: 1670 :type serialized_details: str 1671 :param registered_features: 1672 :type registered_features: 1673 list[~azure.mgmt.databoxedge.v2020_12_01.models.SubscriptionRegisteredFeatures] 1674 """ 1675 1676 _attribute_map = { 1677 'registration_id': {'key': 'registrationId', 'type': 'str'}, 1678 'id': {'key': 'id', 'type': 'str'}, 1679 'state': {'key': 'state', 'type': 'str'}, 1680 'registration_date': {'key': 'registrationDate', 'type': 'str'}, 1681 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 1682 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, 1683 'location_placement_id': {'key': 'properties.locationPlacementId', 'type': 'str'}, 1684 'quota_id': {'key': 'properties.quotaId', 'type': 'str'}, 1685 'serialized_details': {'key': 'properties.serializedDetails', 'type': 'str'}, 1686 'registered_features': {'key': 'properties.registeredFeatures', 'type': '[SubscriptionRegisteredFeatures]'}, 1687 } 1688 1689 def __init__( 1690 self, 1691 *, 1692 registration_id: Optional[str] = None, 1693 id: Optional[str] = None, 1694 state: Optional[Union[str, "SubscriptionState"]] = None, 1695 registration_date: Optional[str] = None, 1696 subscription_id: Optional[str] = None, 1697 tenant_id: Optional[str] = None, 1698 location_placement_id: Optional[str] = None, 1699 quota_id: Optional[str] = None, 1700 serialized_details: Optional[str] = None, 1701 registered_features: Optional[List["SubscriptionRegisteredFeatures"]] = None, 1702 **kwargs 1703 ): 1704 super(EdgeProfileSubscription, self).__init__(**kwargs) 1705 self.registration_id = registration_id 1706 self.id = id 1707 self.state = state 1708 self.registration_date = registration_date 1709 self.subscription_id = subscription_id 1710 self.tenant_id = tenant_id 1711 self.location_placement_id = location_placement_id 1712 self.quota_id = quota_id 1713 self.serialized_details = serialized_details 1714 self.registered_features = registered_features 1715 1716 1717class EdgeProfileSubscriptionPatch(msrest.serialization.Model): 1718 """The Data Box Edge/Gateway Edge Profile Subscription patch. 1719 1720 :param id: The path ID that uniquely identifies the subscription of the edge profile. 1721 :type id: str 1722 """ 1723 1724 _attribute_map = { 1725 'id': {'key': 'id', 'type': 'str'}, 1726 } 1727 1728 def __init__( 1729 self, 1730 *, 1731 id: Optional[str] = None, 1732 **kwargs 1733 ): 1734 super(EdgeProfileSubscriptionPatch, self).__init__(**kwargs) 1735 self.id = id 1736 1737 1738class EtcdInfo(msrest.serialization.Model): 1739 """Etcd configuration. 1740 1741 Variables are only populated by the server, and will be ignored when sending a request. 1742 1743 :ivar type: Etcd type. 1744 :vartype type: str 1745 :ivar version: Etcd version. 1746 :vartype version: str 1747 """ 1748 1749 _validation = { 1750 'type': {'readonly': True}, 1751 'version': {'readonly': True}, 1752 } 1753 1754 _attribute_map = { 1755 'type': {'key': 'type', 'type': 'str'}, 1756 'version': {'key': 'version', 'type': 'str'}, 1757 } 1758 1759 def __init__( 1760 self, 1761 **kwargs 1762 ): 1763 super(EtcdInfo, self).__init__(**kwargs) 1764 self.type = None 1765 self.version = None 1766 1767 1768class Trigger(ARMBaseModel): 1769 """Trigger details. 1770 1771 You probably want to use the sub-classes and not this class directly. Known 1772 sub-classes are: FileEventTrigger, PeriodicTimerEventTrigger. 1773 1774 Variables are only populated by the server, and will be ignored when sending a request. 1775 1776 All required parameters must be populated in order to send to Azure. 1777 1778 :ivar id: The path ID that uniquely identifies the object. 1779 :vartype id: str 1780 :ivar name: The object name. 1781 :vartype name: str 1782 :ivar type: The hierarchical type of the object. 1783 :vartype type: str 1784 :ivar system_data: Trigger in DataBoxEdge Resource. 1785 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 1786 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 1787 "FileEvent", "PeriodicTimerEvent". 1788 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.TriggerEventType 1789 """ 1790 1791 _validation = { 1792 'id': {'readonly': True}, 1793 'name': {'readonly': True}, 1794 'type': {'readonly': True}, 1795 'system_data': {'readonly': True}, 1796 'kind': {'required': True}, 1797 } 1798 1799 _attribute_map = { 1800 'id': {'key': 'id', 'type': 'str'}, 1801 'name': {'key': 'name', 'type': 'str'}, 1802 'type': {'key': 'type', 'type': 'str'}, 1803 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1804 'kind': {'key': 'kind', 'type': 'str'}, 1805 } 1806 1807 _subtype_map = { 1808 'kind': {'FileEvent': 'FileEventTrigger', 'PeriodicTimerEvent': 'PeriodicTimerEventTrigger'} 1809 } 1810 1811 def __init__( 1812 self, 1813 **kwargs 1814 ): 1815 super(Trigger, self).__init__(**kwargs) 1816 self.system_data = None 1817 self.kind = 'Trigger' # type: str 1818 1819 1820class FileEventTrigger(Trigger): 1821 """Trigger details. 1822 1823 Variables are only populated by the server, and will be ignored when sending a request. 1824 1825 All required parameters must be populated in order to send to Azure. 1826 1827 :ivar id: The path ID that uniquely identifies the object. 1828 :vartype id: str 1829 :ivar name: The object name. 1830 :vartype name: str 1831 :ivar type: The hierarchical type of the object. 1832 :vartype type: str 1833 :ivar system_data: Trigger in DataBoxEdge Resource. 1834 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 1835 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 1836 "FileEvent", "PeriodicTimerEvent". 1837 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.TriggerEventType 1838 :param source_info: Required. File event source details. 1839 :type source_info: ~azure.mgmt.databoxedge.v2020_12_01.models.FileSourceInfo 1840 :param sink_info: Required. Role sink info. 1841 :type sink_info: ~azure.mgmt.databoxedge.v2020_12_01.models.RoleSinkInfo 1842 :param custom_context_tag: A custom context tag typically used to correlate the trigger against 1843 its usage. For example, if a periodic timer trigger is intended for certain specific IoT 1844 modules in the device, the tag can be the name or the image URL of the module. 1845 :type custom_context_tag: str 1846 """ 1847 1848 _validation = { 1849 'id': {'readonly': True}, 1850 'name': {'readonly': True}, 1851 'type': {'readonly': True}, 1852 'system_data': {'readonly': True}, 1853 'kind': {'required': True}, 1854 'source_info': {'required': True}, 1855 'sink_info': {'required': True}, 1856 'custom_context_tag': {'max_length': 192, 'min_length': 0}, 1857 } 1858 1859 _attribute_map = { 1860 'id': {'key': 'id', 'type': 'str'}, 1861 'name': {'key': 'name', 'type': 'str'}, 1862 'type': {'key': 'type', 'type': 'str'}, 1863 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1864 'kind': {'key': 'kind', 'type': 'str'}, 1865 'source_info': {'key': 'properties.sourceInfo', 'type': 'FileSourceInfo'}, 1866 'sink_info': {'key': 'properties.sinkInfo', 'type': 'RoleSinkInfo'}, 1867 'custom_context_tag': {'key': 'properties.customContextTag', 'type': 'str'}, 1868 } 1869 1870 def __init__( 1871 self, 1872 *, 1873 source_info: "FileSourceInfo", 1874 sink_info: "RoleSinkInfo", 1875 custom_context_tag: Optional[str] = None, 1876 **kwargs 1877 ): 1878 super(FileEventTrigger, self).__init__(**kwargs) 1879 self.kind = 'FileEvent' # type: str 1880 self.source_info = source_info 1881 self.sink_info = sink_info 1882 self.custom_context_tag = custom_context_tag 1883 1884 1885class FileSourceInfo(msrest.serialization.Model): 1886 """File source details. 1887 1888 All required parameters must be populated in order to send to Azure. 1889 1890 :param share_id: Required. File share ID. 1891 :type share_id: str 1892 """ 1893 1894 _validation = { 1895 'share_id': {'required': True}, 1896 } 1897 1898 _attribute_map = { 1899 'share_id': {'key': 'shareId', 'type': 'str'}, 1900 } 1901 1902 def __init__( 1903 self, 1904 *, 1905 share_id: str, 1906 **kwargs 1907 ): 1908 super(FileSourceInfo, self).__init__(**kwargs) 1909 self.share_id = share_id 1910 1911 1912class GenerateCertResponse(msrest.serialization.Model): 1913 """Used in activation key generation flow. 1914 1915 :param public_key: Gets or sets base64 encoded certificate raw data, 1916 this is the public part needed to be uploaded to cert vault. 1917 :type public_key: str 1918 :param private_key: Gets or sets base64 encoded private part of the certificate, 1919 needed to form the activation key. 1920 :type private_key: str 1921 :param expiry_time_in_utc: Gets or sets expiry time in UTC. 1922 :type expiry_time_in_utc: str 1923 """ 1924 1925 _attribute_map = { 1926 'public_key': {'key': 'publicKey', 'type': 'str'}, 1927 'private_key': {'key': 'privateKey', 'type': 'str'}, 1928 'expiry_time_in_utc': {'key': 'expiryTimeInUTC', 'type': 'str'}, 1929 } 1930 1931 def __init__( 1932 self, 1933 *, 1934 public_key: Optional[str] = None, 1935 private_key: Optional[str] = None, 1936 expiry_time_in_utc: Optional[str] = None, 1937 **kwargs 1938 ): 1939 super(GenerateCertResponse, self).__init__(**kwargs) 1940 self.public_key = public_key 1941 self.private_key = private_key 1942 self.expiry_time_in_utc = expiry_time_in_utc 1943 1944 1945class ImageRepositoryCredential(msrest.serialization.Model): 1946 """Image repository credential. 1947 1948 All required parameters must be populated in order to send to Azure. 1949 1950 :param image_repository_url: Required. Image repository url (e.g.: mcr.microsoft.com). 1951 :type image_repository_url: str 1952 :param user_name: Required. Repository user name. 1953 :type user_name: str 1954 :param password: Repository user password. 1955 :type password: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 1956 """ 1957 1958 _validation = { 1959 'image_repository_url': {'required': True}, 1960 'user_name': {'required': True}, 1961 } 1962 1963 _attribute_map = { 1964 'image_repository_url': {'key': 'imageRepositoryUrl', 'type': 'str'}, 1965 'user_name': {'key': 'userName', 'type': 'str'}, 1966 'password': {'key': 'password', 'type': 'AsymmetricEncryptedSecret'}, 1967 } 1968 1969 def __init__( 1970 self, 1971 *, 1972 image_repository_url: str, 1973 user_name: str, 1974 password: Optional["AsymmetricEncryptedSecret"] = None, 1975 **kwargs 1976 ): 1977 super(ImageRepositoryCredential, self).__init__(**kwargs) 1978 self.image_repository_url = image_repository_url 1979 self.user_name = user_name 1980 self.password = password 1981 1982 1983class IoTAddon(Addon): 1984 """IoT Addon. 1985 1986 Variables are only populated by the server, and will be ignored when sending a request. 1987 1988 All required parameters must be populated in order to send to Azure. 1989 1990 :ivar id: The path ID that uniquely identifies the object. 1991 :vartype id: str 1992 :ivar name: The object name. 1993 :vartype name: str 1994 :ivar type: The hierarchical type of the object. 1995 :vartype type: str 1996 :param kind: Required. Addon type.Constant filled by server. Possible values include: 1997 "IotEdge", "ArcForKubernetes". 1998 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AddonType 1999 :ivar system_data: Addon type. 2000 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 2001 :param io_t_device_details: Required. IoT device metadata to which appliance needs to be 2002 connected. 2003 :type io_t_device_details: ~azure.mgmt.databoxedge.v2020_12_01.models.IoTDeviceInfo 2004 :param io_t_edge_device_details: Required. IoT edge device to which the IoT Addon needs to be 2005 configured. 2006 :type io_t_edge_device_details: ~azure.mgmt.databoxedge.v2020_12_01.models.IoTDeviceInfo 2007 :ivar version: Version of IoT running on the appliance. 2008 :vartype version: str 2009 :ivar host_platform: Host OS supported by the IoT addon. Possible values include: "Windows", 2010 "Linux". 2011 :vartype host_platform: str or ~azure.mgmt.databoxedge.v2020_12_01.models.PlatformType 2012 :ivar host_platform_type: Platform where the runtime is hosted. Possible values include: 2013 "KubernetesCluster", "LinuxVM". 2014 :vartype host_platform_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.HostPlatformType 2015 :ivar provisioning_state: Addon Provisioning State. Possible values include: "Invalid", 2016 "Creating", "Created", "Updating", "Reconfiguring", "Failed", "Deleting". 2017 :vartype provisioning_state: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AddonState 2018 """ 2019 2020 _validation = { 2021 'id': {'readonly': True}, 2022 'name': {'readonly': True}, 2023 'type': {'readonly': True}, 2024 'kind': {'required': True}, 2025 'system_data': {'readonly': True}, 2026 'io_t_device_details': {'required': True}, 2027 'io_t_edge_device_details': {'required': True}, 2028 'version': {'readonly': True}, 2029 'host_platform': {'readonly': True}, 2030 'host_platform_type': {'readonly': True}, 2031 'provisioning_state': {'readonly': True}, 2032 } 2033 2034 _attribute_map = { 2035 'id': {'key': 'id', 'type': 'str'}, 2036 'name': {'key': 'name', 'type': 'str'}, 2037 'type': {'key': 'type', 'type': 'str'}, 2038 'kind': {'key': 'kind', 'type': 'str'}, 2039 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2040 'io_t_device_details': {'key': 'properties.ioTDeviceDetails', 'type': 'IoTDeviceInfo'}, 2041 'io_t_edge_device_details': {'key': 'properties.ioTEdgeDeviceDetails', 'type': 'IoTDeviceInfo'}, 2042 'version': {'key': 'properties.version', 'type': 'str'}, 2043 'host_platform': {'key': 'properties.hostPlatform', 'type': 'str'}, 2044 'host_platform_type': {'key': 'properties.hostPlatformType', 'type': 'str'}, 2045 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2046 } 2047 2048 def __init__( 2049 self, 2050 *, 2051 io_t_device_details: "IoTDeviceInfo", 2052 io_t_edge_device_details: "IoTDeviceInfo", 2053 **kwargs 2054 ): 2055 super(IoTAddon, self).__init__(**kwargs) 2056 self.kind = 'IotEdge' # type: str 2057 self.io_t_device_details = io_t_device_details 2058 self.io_t_edge_device_details = io_t_edge_device_details 2059 self.version = None 2060 self.host_platform = None 2061 self.host_platform_type = None 2062 self.provisioning_state = None 2063 2064 2065class IoTDeviceInfo(msrest.serialization.Model): 2066 """Metadata of IoT device/IoT Edge device to be configured. 2067 2068 All required parameters must be populated in order to send to Azure. 2069 2070 :param device_id: Required. ID of the IoT device/edge device. 2071 :type device_id: str 2072 :param io_t_host_hub: Required. Host name for the IoT hub associated to the device. 2073 :type io_t_host_hub: str 2074 :param io_t_host_hub_id: Id for the IoT hub associated to the device. 2075 :type io_t_host_hub_id: str 2076 :param authentication: Encrypted IoT device/IoT edge device connection string. 2077 :type authentication: ~azure.mgmt.databoxedge.v2020_12_01.models.Authentication 2078 """ 2079 2080 _validation = { 2081 'device_id': {'required': True}, 2082 'io_t_host_hub': {'required': True}, 2083 } 2084 2085 _attribute_map = { 2086 'device_id': {'key': 'deviceId', 'type': 'str'}, 2087 'io_t_host_hub': {'key': 'ioTHostHub', 'type': 'str'}, 2088 'io_t_host_hub_id': {'key': 'ioTHostHubId', 'type': 'str'}, 2089 'authentication': {'key': 'authentication', 'type': 'Authentication'}, 2090 } 2091 2092 def __init__( 2093 self, 2094 *, 2095 device_id: str, 2096 io_t_host_hub: str, 2097 io_t_host_hub_id: Optional[str] = None, 2098 authentication: Optional["Authentication"] = None, 2099 **kwargs 2100 ): 2101 super(IoTDeviceInfo, self).__init__(**kwargs) 2102 self.device_id = device_id 2103 self.io_t_host_hub = io_t_host_hub 2104 self.io_t_host_hub_id = io_t_host_hub_id 2105 self.authentication = authentication 2106 2107 2108class IoTEdgeAgentInfo(msrest.serialization.Model): 2109 """IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified. 2110 2111 All required parameters must be populated in order to send to Azure. 2112 2113 :param image_name: Required. Name of the IoT edge agent image. 2114 :type image_name: str 2115 :param tag: Required. Image Tag. 2116 :type tag: str 2117 :param image_repository: Image repository details. 2118 :type image_repository: ~azure.mgmt.databoxedge.v2020_12_01.models.ImageRepositoryCredential 2119 """ 2120 2121 _validation = { 2122 'image_name': {'required': True}, 2123 'tag': {'required': True}, 2124 } 2125 2126 _attribute_map = { 2127 'image_name': {'key': 'imageName', 'type': 'str'}, 2128 'tag': {'key': 'tag', 'type': 'str'}, 2129 'image_repository': {'key': 'imageRepository', 'type': 'ImageRepositoryCredential'}, 2130 } 2131 2132 def __init__( 2133 self, 2134 *, 2135 image_name: str, 2136 tag: str, 2137 image_repository: Optional["ImageRepositoryCredential"] = None, 2138 **kwargs 2139 ): 2140 super(IoTEdgeAgentInfo, self).__init__(**kwargs) 2141 self.image_name = image_name 2142 self.tag = tag 2143 self.image_repository = image_repository 2144 2145 2146class IoTRole(Role): 2147 """Compute role. 2148 2149 Variables are only populated by the server, and will be ignored when sending a request. 2150 2151 All required parameters must be populated in order to send to Azure. 2152 2153 :ivar id: The path ID that uniquely identifies the object. 2154 :vartype id: str 2155 :ivar name: The object name. 2156 :vartype name: str 2157 :ivar type: The hierarchical type of the object. 2158 :vartype type: str 2159 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 2160 "ASA", "Functions", "Cognitive", "MEC", "CloudEdgeManagement", "Kubernetes". 2161 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 2162 :ivar system_data: Role configured on ASE resource. 2163 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 2164 :param host_platform: Host OS supported by the IoT role. Possible values include: "Windows", 2165 "Linux". 2166 :type host_platform: str or ~azure.mgmt.databoxedge.v2020_12_01.models.PlatformType 2167 :param io_t_device_details: IoT device metadata to which data box edge device needs to be 2168 connected. 2169 :type io_t_device_details: ~azure.mgmt.databoxedge.v2020_12_01.models.IoTDeviceInfo 2170 :param io_t_edge_device_details: IoT edge device to which the IoT role needs to be configured. 2171 :type io_t_edge_device_details: ~azure.mgmt.databoxedge.v2020_12_01.models.IoTDeviceInfo 2172 :param share_mappings: Mount points of shares in role(s). 2173 :type share_mappings: list[~azure.mgmt.databoxedge.v2020_12_01.models.MountPointMap] 2174 :param io_t_edge_agent_info: Iot edge agent details to download the agent and bootstrap iot 2175 runtime. 2176 :type io_t_edge_agent_info: ~azure.mgmt.databoxedge.v2020_12_01.models.IoTEdgeAgentInfo 2177 :ivar host_platform_type: Platform where the Iot runtime is hosted. Possible values include: 2178 "KubernetesCluster", "LinuxVM". 2179 :vartype host_platform_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.HostPlatformType 2180 :param compute_resource: Resource allocation. 2181 :type compute_resource: ~azure.mgmt.databoxedge.v2020_12_01.models.ComputeResource 2182 :param role_status: Role status. Possible values include: "Enabled", "Disabled". 2183 :type role_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleStatus 2184 """ 2185 2186 _validation = { 2187 'id': {'readonly': True}, 2188 'name': {'readonly': True}, 2189 'type': {'readonly': True}, 2190 'kind': {'required': True}, 2191 'system_data': {'readonly': True}, 2192 'host_platform_type': {'readonly': True}, 2193 } 2194 2195 _attribute_map = { 2196 'id': {'key': 'id', 'type': 'str'}, 2197 'name': {'key': 'name', 'type': 'str'}, 2198 'type': {'key': 'type', 'type': 'str'}, 2199 'kind': {'key': 'kind', 'type': 'str'}, 2200 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2201 'host_platform': {'key': 'properties.hostPlatform', 'type': 'str'}, 2202 'io_t_device_details': {'key': 'properties.ioTDeviceDetails', 'type': 'IoTDeviceInfo'}, 2203 'io_t_edge_device_details': {'key': 'properties.ioTEdgeDeviceDetails', 'type': 'IoTDeviceInfo'}, 2204 'share_mappings': {'key': 'properties.shareMappings', 'type': '[MountPointMap]'}, 2205 'io_t_edge_agent_info': {'key': 'properties.ioTEdgeAgentInfo', 'type': 'IoTEdgeAgentInfo'}, 2206 'host_platform_type': {'key': 'properties.hostPlatformType', 'type': 'str'}, 2207 'compute_resource': {'key': 'properties.computeResource', 'type': 'ComputeResource'}, 2208 'role_status': {'key': 'properties.roleStatus', 'type': 'str'}, 2209 } 2210 2211 def __init__( 2212 self, 2213 *, 2214 host_platform: Optional[Union[str, "PlatformType"]] = None, 2215 io_t_device_details: Optional["IoTDeviceInfo"] = None, 2216 io_t_edge_device_details: Optional["IoTDeviceInfo"] = None, 2217 share_mappings: Optional[List["MountPointMap"]] = None, 2218 io_t_edge_agent_info: Optional["IoTEdgeAgentInfo"] = None, 2219 compute_resource: Optional["ComputeResource"] = None, 2220 role_status: Optional[Union[str, "RoleStatus"]] = None, 2221 **kwargs 2222 ): 2223 super(IoTRole, self).__init__(**kwargs) 2224 self.kind = 'IOT' # type: str 2225 self.host_platform = host_platform 2226 self.io_t_device_details = io_t_device_details 2227 self.io_t_edge_device_details = io_t_edge_device_details 2228 self.share_mappings = share_mappings 2229 self.io_t_edge_agent_info = io_t_edge_agent_info 2230 self.host_platform_type = None 2231 self.compute_resource = compute_resource 2232 self.role_status = role_status 2233 2234 2235class Ipv4Config(msrest.serialization.Model): 2236 """Details related to the IPv4 address configuration. 2237 2238 Variables are only populated by the server, and will be ignored when sending a request. 2239 2240 :ivar ip_address: The IPv4 address of the network adapter. 2241 :vartype ip_address: str 2242 :ivar subnet: The IPv4 subnet of the network adapter. 2243 :vartype subnet: str 2244 :ivar gateway: The IPv4 gateway of the network adapter. 2245 :vartype gateway: str 2246 """ 2247 2248 _validation = { 2249 'ip_address': {'readonly': True}, 2250 'subnet': {'readonly': True}, 2251 'gateway': {'readonly': True}, 2252 } 2253 2254 _attribute_map = { 2255 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 2256 'subnet': {'key': 'subnet', 'type': 'str'}, 2257 'gateway': {'key': 'gateway', 'type': 'str'}, 2258 } 2259 2260 def __init__( 2261 self, 2262 **kwargs 2263 ): 2264 super(Ipv4Config, self).__init__(**kwargs) 2265 self.ip_address = None 2266 self.subnet = None 2267 self.gateway = None 2268 2269 2270class Ipv6Config(msrest.serialization.Model): 2271 """Details related to the IPv6 address configuration. 2272 2273 Variables are only populated by the server, and will be ignored when sending a request. 2274 2275 :ivar ip_address: The IPv6 address of the network adapter. 2276 :vartype ip_address: str 2277 :ivar prefix_length: The IPv6 prefix of the network adapter. 2278 :vartype prefix_length: int 2279 :ivar gateway: The IPv6 gateway of the network adapter. 2280 :vartype gateway: str 2281 """ 2282 2283 _validation = { 2284 'ip_address': {'readonly': True}, 2285 'prefix_length': {'readonly': True}, 2286 'gateway': {'readonly': True}, 2287 } 2288 2289 _attribute_map = { 2290 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 2291 'prefix_length': {'key': 'prefixLength', 'type': 'int'}, 2292 'gateway': {'key': 'gateway', 'type': 'str'}, 2293 } 2294 2295 def __init__( 2296 self, 2297 **kwargs 2298 ): 2299 super(Ipv6Config, self).__init__(**kwargs) 2300 self.ip_address = None 2301 self.prefix_length = None 2302 self.gateway = None 2303 2304 2305class Job(msrest.serialization.Model): 2306 """A device job. 2307 2308 Variables are only populated by the server, and will be ignored when sending a request. 2309 2310 :ivar id: The path ID that uniquely identifies the object. 2311 :vartype id: str 2312 :ivar name: The name of the object. 2313 :vartype name: str 2314 :ivar type: The hierarchical type of the object. 2315 :vartype type: str 2316 :ivar status: The current status of the job. Possible values include: "Invalid", "Running", 2317 "Succeeded", "Failed", "Canceled", "Paused", "Scheduled". 2318 :vartype status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.JobStatus 2319 :ivar start_time: The UTC date and time at which the job started. 2320 :vartype start_time: ~datetime.datetime 2321 :ivar end_time: The UTC date and time at which the job completed. 2322 :vartype end_time: ~datetime.datetime 2323 :ivar percent_complete: The percentage of the job that is complete. 2324 :vartype percent_complete: int 2325 :ivar error: The error details. 2326 :vartype error: ~azure.mgmt.databoxedge.v2020_12_01.models.JobErrorDetails 2327 :ivar job_type: The type of the job. Possible values include: "Invalid", "ScanForUpdates", 2328 "DownloadUpdates", "InstallUpdates", "RefreshShare", "RefreshContainer", "Backup", "Restore", 2329 "TriggerSupportPackage". 2330 :vartype job_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.JobType 2331 :ivar current_stage: Current stage of the update operation. Possible values include: "Unknown", 2332 "Initial", "ScanStarted", "ScanComplete", "ScanFailed", "DownloadStarted", "DownloadComplete", 2333 "DownloadFailed", "InstallStarted", "InstallComplete", "InstallFailed", "RebootInitiated", 2334 "Success", "Failure", "RescanStarted", "RescanComplete", "RescanFailed". 2335 :vartype current_stage: str or ~azure.mgmt.databoxedge.v2020_12_01.models.UpdateOperationStage 2336 :ivar download_progress: The download progress. 2337 :vartype download_progress: ~azure.mgmt.databoxedge.v2020_12_01.models.UpdateDownloadProgress 2338 :ivar install_progress: The install progress. 2339 :vartype install_progress: ~azure.mgmt.databoxedge.v2020_12_01.models.UpdateInstallProgress 2340 :ivar total_refresh_errors: Total number of errors encountered during the refresh process. 2341 :vartype total_refresh_errors: int 2342 :ivar error_manifest_file: Local share/remote container relative path to the error manifest 2343 file of the refresh. 2344 :vartype error_manifest_file: str 2345 :ivar refreshed_entity_id: ARM ID of the entity that was refreshed. 2346 :vartype refreshed_entity_id: str 2347 :param folder: If only subfolders need to be refreshed, then the subfolder path inside the 2348 share or container. (The path is empty if there are no subfolders.). 2349 :type folder: str 2350 """ 2351 2352 _validation = { 2353 'id': {'readonly': True}, 2354 'name': {'readonly': True}, 2355 'type': {'readonly': True}, 2356 'status': {'readonly': True}, 2357 'start_time': {'readonly': True}, 2358 'end_time': {'readonly': True}, 2359 'percent_complete': {'readonly': True}, 2360 'error': {'readonly': True}, 2361 'job_type': {'readonly': True}, 2362 'current_stage': {'readonly': True}, 2363 'download_progress': {'readonly': True}, 2364 'install_progress': {'readonly': True}, 2365 'total_refresh_errors': {'readonly': True}, 2366 'error_manifest_file': {'readonly': True}, 2367 'refreshed_entity_id': {'readonly': True}, 2368 } 2369 2370 _attribute_map = { 2371 'id': {'key': 'id', 'type': 'str'}, 2372 'name': {'key': 'name', 'type': 'str'}, 2373 'type': {'key': 'type', 'type': 'str'}, 2374 'status': {'key': 'status', 'type': 'str'}, 2375 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2376 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2377 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 2378 'error': {'key': 'error', 'type': 'JobErrorDetails'}, 2379 'job_type': {'key': 'properties.jobType', 'type': 'str'}, 2380 'current_stage': {'key': 'properties.currentStage', 'type': 'str'}, 2381 'download_progress': {'key': 'properties.downloadProgress', 'type': 'UpdateDownloadProgress'}, 2382 'install_progress': {'key': 'properties.installProgress', 'type': 'UpdateInstallProgress'}, 2383 'total_refresh_errors': {'key': 'properties.totalRefreshErrors', 'type': 'int'}, 2384 'error_manifest_file': {'key': 'properties.errorManifestFile', 'type': 'str'}, 2385 'refreshed_entity_id': {'key': 'properties.refreshedEntityId', 'type': 'str'}, 2386 'folder': {'key': 'properties.folder', 'type': 'str'}, 2387 } 2388 2389 def __init__( 2390 self, 2391 *, 2392 folder: Optional[str] = None, 2393 **kwargs 2394 ): 2395 super(Job, self).__init__(**kwargs) 2396 self.id = None 2397 self.name = None 2398 self.type = None 2399 self.status = None 2400 self.start_time = None 2401 self.end_time = None 2402 self.percent_complete = None 2403 self.error = None 2404 self.job_type = None 2405 self.current_stage = None 2406 self.download_progress = None 2407 self.install_progress = None 2408 self.total_refresh_errors = None 2409 self.error_manifest_file = None 2410 self.refreshed_entity_id = None 2411 self.folder = folder 2412 2413 2414class JobErrorDetails(msrest.serialization.Model): 2415 """The job error information containing the list of job errors. 2416 2417 Variables are only populated by the server, and will be ignored when sending a request. 2418 2419 :ivar error_details: The error details. 2420 :vartype error_details: list[~azure.mgmt.databoxedge.v2020_12_01.models.JobErrorItem] 2421 :ivar code: The code intended for programmatic access. 2422 :vartype code: str 2423 :ivar message: The message that describes the error in detail. 2424 :vartype message: str 2425 """ 2426 2427 _validation = { 2428 'error_details': {'readonly': True}, 2429 'code': {'readonly': True}, 2430 'message': {'readonly': True}, 2431 } 2432 2433 _attribute_map = { 2434 'error_details': {'key': 'errorDetails', 'type': '[JobErrorItem]'}, 2435 'code': {'key': 'code', 'type': 'str'}, 2436 'message': {'key': 'message', 'type': 'str'}, 2437 } 2438 2439 def __init__( 2440 self, 2441 **kwargs 2442 ): 2443 super(JobErrorDetails, self).__init__(**kwargs) 2444 self.error_details = None 2445 self.code = None 2446 self.message = None 2447 2448 2449class JobErrorItem(msrest.serialization.Model): 2450 """The job error items. 2451 2452 Variables are only populated by the server, and will be ignored when sending a request. 2453 2454 :ivar recommendations: The recommended actions. 2455 :vartype recommendations: list[str] 2456 :ivar code: The code intended for programmatic access. 2457 :vartype code: str 2458 :ivar message: The message that describes the error in detail. 2459 :vartype message: str 2460 """ 2461 2462 _validation = { 2463 'recommendations': {'readonly': True}, 2464 'code': {'readonly': True}, 2465 'message': {'readonly': True}, 2466 } 2467 2468 _attribute_map = { 2469 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 2470 'code': {'key': 'code', 'type': 'str'}, 2471 'message': {'key': 'message', 'type': 'str'}, 2472 } 2473 2474 def __init__( 2475 self, 2476 **kwargs 2477 ): 2478 super(JobErrorItem, self).__init__(**kwargs) 2479 self.recommendations = None 2480 self.code = None 2481 self.message = None 2482 2483 2484class KubernetesClusterInfo(msrest.serialization.Model): 2485 """Kubernetes cluster configuration. 2486 2487 Variables are only populated by the server, and will be ignored when sending a request. 2488 2489 All required parameters must be populated in order to send to Azure. 2490 2491 :ivar etcd_info: Etcd configuration. 2492 :vartype etcd_info: ~azure.mgmt.databoxedge.v2020_12_01.models.EtcdInfo 2493 :ivar nodes: Kubernetes cluster nodes. 2494 :vartype nodes: list[~azure.mgmt.databoxedge.v2020_12_01.models.NodeInfo] 2495 :param version: Required. Kubernetes cluster version. 2496 :type version: str 2497 """ 2498 2499 _validation = { 2500 'etcd_info': {'readonly': True}, 2501 'nodes': {'readonly': True}, 2502 'version': {'required': True}, 2503 } 2504 2505 _attribute_map = { 2506 'etcd_info': {'key': 'etcdInfo', 'type': 'EtcdInfo'}, 2507 'nodes': {'key': 'nodes', 'type': '[NodeInfo]'}, 2508 'version': {'key': 'version', 'type': 'str'}, 2509 } 2510 2511 def __init__( 2512 self, 2513 *, 2514 version: str, 2515 **kwargs 2516 ): 2517 super(KubernetesClusterInfo, self).__init__(**kwargs) 2518 self.etcd_info = None 2519 self.nodes = None 2520 self.version = version 2521 2522 2523class KubernetesIPConfiguration(msrest.serialization.Model): 2524 """Kubernetes node IP configuration. 2525 2526 Variables are only populated by the server, and will be ignored when sending a request. 2527 2528 :ivar port: Port of the Kubernetes node. 2529 :vartype port: str 2530 :param ip_address: IP address of the Kubernetes node. 2531 :type ip_address: str 2532 """ 2533 2534 _validation = { 2535 'port': {'readonly': True}, 2536 } 2537 2538 _attribute_map = { 2539 'port': {'key': 'port', 'type': 'str'}, 2540 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 2541 } 2542 2543 def __init__( 2544 self, 2545 *, 2546 ip_address: Optional[str] = None, 2547 **kwargs 2548 ): 2549 super(KubernetesIPConfiguration, self).__init__(**kwargs) 2550 self.port = None 2551 self.ip_address = ip_address 2552 2553 2554class KubernetesRole(Role): 2555 """Kubernetes role. 2556 2557 Variables are only populated by the server, and will be ignored when sending a request. 2558 2559 All required parameters must be populated in order to send to Azure. 2560 2561 :ivar id: The path ID that uniquely identifies the object. 2562 :vartype id: str 2563 :ivar name: The object name. 2564 :vartype name: str 2565 :ivar type: The hierarchical type of the object. 2566 :vartype type: str 2567 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 2568 "ASA", "Functions", "Cognitive", "MEC", "CloudEdgeManagement", "Kubernetes". 2569 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 2570 :ivar system_data: Role configured on ASE resource. 2571 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 2572 :param host_platform: Host OS supported by the Kubernetes role. Possible values include: 2573 "Windows", "Linux". 2574 :type host_platform: str or ~azure.mgmt.databoxedge.v2020_12_01.models.PlatformType 2575 :ivar provisioning_state: State of Kubernetes deployment. Possible values include: "Invalid", 2576 "Creating", "Created", "Updating", "Reconfiguring", "Failed", "Deleting". 2577 :vartype provisioning_state: str or ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesState 2578 :ivar host_platform_type: Platform where the runtime is hosted. Possible values include: 2579 "KubernetesCluster", "LinuxVM". 2580 :vartype host_platform_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.HostPlatformType 2581 :param kubernetes_cluster_info: Kubernetes cluster configuration. 2582 :type kubernetes_cluster_info: ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesClusterInfo 2583 :param kubernetes_role_resources: Kubernetes role resources. 2584 :type kubernetes_role_resources: 2585 ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesRoleResources 2586 :param role_status: Role status. Possible values include: "Enabled", "Disabled". 2587 :type role_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleStatus 2588 """ 2589 2590 _validation = { 2591 'id': {'readonly': True}, 2592 'name': {'readonly': True}, 2593 'type': {'readonly': True}, 2594 'kind': {'required': True}, 2595 'system_data': {'readonly': True}, 2596 'provisioning_state': {'readonly': True}, 2597 'host_platform_type': {'readonly': True}, 2598 } 2599 2600 _attribute_map = { 2601 'id': {'key': 'id', 'type': 'str'}, 2602 'name': {'key': 'name', 'type': 'str'}, 2603 'type': {'key': 'type', 'type': 'str'}, 2604 'kind': {'key': 'kind', 'type': 'str'}, 2605 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2606 'host_platform': {'key': 'properties.hostPlatform', 'type': 'str'}, 2607 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2608 'host_platform_type': {'key': 'properties.hostPlatformType', 'type': 'str'}, 2609 'kubernetes_cluster_info': {'key': 'properties.kubernetesClusterInfo', 'type': 'KubernetesClusterInfo'}, 2610 'kubernetes_role_resources': {'key': 'properties.kubernetesRoleResources', 'type': 'KubernetesRoleResources'}, 2611 'role_status': {'key': 'properties.roleStatus', 'type': 'str'}, 2612 } 2613 2614 def __init__( 2615 self, 2616 *, 2617 host_platform: Optional[Union[str, "PlatformType"]] = None, 2618 kubernetes_cluster_info: Optional["KubernetesClusterInfo"] = None, 2619 kubernetes_role_resources: Optional["KubernetesRoleResources"] = None, 2620 role_status: Optional[Union[str, "RoleStatus"]] = None, 2621 **kwargs 2622 ): 2623 super(KubernetesRole, self).__init__(**kwargs) 2624 self.kind = 'Kubernetes' # type: str 2625 self.host_platform = host_platform 2626 self.provisioning_state = None 2627 self.host_platform_type = None 2628 self.kubernetes_cluster_info = kubernetes_cluster_info 2629 self.kubernetes_role_resources = kubernetes_role_resources 2630 self.role_status = role_status 2631 2632 2633class KubernetesRoleCompute(msrest.serialization.Model): 2634 """Kubernetes role compute resource. 2635 2636 Variables are only populated by the server, and will be ignored when sending a request. 2637 2638 All required parameters must be populated in order to send to Azure. 2639 2640 :param vm_profile: Required. VM profile. 2641 :type vm_profile: str 2642 :ivar memory_in_bytes: Memory in bytes. 2643 :vartype memory_in_bytes: long 2644 :ivar processor_count: Processor count. 2645 :vartype processor_count: int 2646 """ 2647 2648 _validation = { 2649 'vm_profile': {'required': True}, 2650 'memory_in_bytes': {'readonly': True}, 2651 'processor_count': {'readonly': True}, 2652 } 2653 2654 _attribute_map = { 2655 'vm_profile': {'key': 'vmProfile', 'type': 'str'}, 2656 'memory_in_bytes': {'key': 'memoryInBytes', 'type': 'long'}, 2657 'processor_count': {'key': 'processorCount', 'type': 'int'}, 2658 } 2659 2660 def __init__( 2661 self, 2662 *, 2663 vm_profile: str, 2664 **kwargs 2665 ): 2666 super(KubernetesRoleCompute, self).__init__(**kwargs) 2667 self.vm_profile = vm_profile 2668 self.memory_in_bytes = None 2669 self.processor_count = None 2670 2671 2672class KubernetesRoleNetwork(msrest.serialization.Model): 2673 """Kubernetes role network resource. 2674 2675 Variables are only populated by the server, and will be ignored when sending a request. 2676 2677 :ivar cni_config: Cni configuration. 2678 :vartype cni_config: ~azure.mgmt.databoxedge.v2020_12_01.models.CniConfig 2679 :ivar load_balancer_config: Load balancer configuration. 2680 :vartype load_balancer_config: ~azure.mgmt.databoxedge.v2020_12_01.models.LoadBalancerConfig 2681 """ 2682 2683 _validation = { 2684 'cni_config': {'readonly': True}, 2685 'load_balancer_config': {'readonly': True}, 2686 } 2687 2688 _attribute_map = { 2689 'cni_config': {'key': 'cniConfig', 'type': 'CniConfig'}, 2690 'load_balancer_config': {'key': 'loadBalancerConfig', 'type': 'LoadBalancerConfig'}, 2691 } 2692 2693 def __init__( 2694 self, 2695 **kwargs 2696 ): 2697 super(KubernetesRoleNetwork, self).__init__(**kwargs) 2698 self.cni_config = None 2699 self.load_balancer_config = None 2700 2701 2702class KubernetesRoleResources(msrest.serialization.Model): 2703 """Kubernetes role resources. 2704 2705 Variables are only populated by the server, and will be ignored when sending a request. 2706 2707 All required parameters must be populated in order to send to Azure. 2708 2709 :param storage: Kubernetes role storage resource. 2710 :type storage: ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesRoleStorage 2711 :param compute: Required. Kubernetes role compute resource. 2712 :type compute: ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesRoleCompute 2713 :ivar network: Kubernetes role network resource. 2714 :vartype network: ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesRoleNetwork 2715 """ 2716 2717 _validation = { 2718 'compute': {'required': True}, 2719 'network': {'readonly': True}, 2720 } 2721 2722 _attribute_map = { 2723 'storage': {'key': 'storage', 'type': 'KubernetesRoleStorage'}, 2724 'compute': {'key': 'compute', 'type': 'KubernetesRoleCompute'}, 2725 'network': {'key': 'network', 'type': 'KubernetesRoleNetwork'}, 2726 } 2727 2728 def __init__( 2729 self, 2730 *, 2731 compute: "KubernetesRoleCompute", 2732 storage: Optional["KubernetesRoleStorage"] = None, 2733 **kwargs 2734 ): 2735 super(KubernetesRoleResources, self).__init__(**kwargs) 2736 self.storage = storage 2737 self.compute = compute 2738 self.network = None 2739 2740 2741class KubernetesRoleStorage(msrest.serialization.Model): 2742 """Kubernetes role storage resource. 2743 2744 Variables are only populated by the server, and will be ignored when sending a request. 2745 2746 :ivar storage_classes: Kubernetes storage class info. 2747 :vartype storage_classes: 2748 list[~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesRoleStorageClassInfo] 2749 :param endpoints: Mount points of shares in role(s). 2750 :type endpoints: list[~azure.mgmt.databoxedge.v2020_12_01.models.MountPointMap] 2751 """ 2752 2753 _validation = { 2754 'storage_classes': {'readonly': True}, 2755 } 2756 2757 _attribute_map = { 2758 'storage_classes': {'key': 'storageClasses', 'type': '[KubernetesRoleStorageClassInfo]'}, 2759 'endpoints': {'key': 'endpoints', 'type': '[MountPointMap]'}, 2760 } 2761 2762 def __init__( 2763 self, 2764 *, 2765 endpoints: Optional[List["MountPointMap"]] = None, 2766 **kwargs 2767 ): 2768 super(KubernetesRoleStorage, self).__init__(**kwargs) 2769 self.storage_classes = None 2770 self.endpoints = endpoints 2771 2772 2773class KubernetesRoleStorageClassInfo(msrest.serialization.Model): 2774 """Kubernetes storage class info. 2775 2776 Variables are only populated by the server, and will be ignored when sending a request. 2777 2778 :ivar name: Storage class name. 2779 :vartype name: str 2780 :ivar type: Storage class type. 2781 :vartype type: str 2782 :ivar posix_compliant: If provisioned storage is posix compliant. Possible values include: 2783 "Invalid", "Enabled", "Disabled". 2784 :vartype posix_compliant: str or 2785 ~azure.mgmt.databoxedge.v2020_12_01.models.PosixComplianceStatus 2786 """ 2787 2788 _validation = { 2789 'name': {'readonly': True}, 2790 'type': {'readonly': True}, 2791 'posix_compliant': {'readonly': True}, 2792 } 2793 2794 _attribute_map = { 2795 'name': {'key': 'name', 'type': 'str'}, 2796 'type': {'key': 'type', 'type': 'str'}, 2797 'posix_compliant': {'key': 'posixCompliant', 'type': 'str'}, 2798 } 2799 2800 def __init__( 2801 self, 2802 **kwargs 2803 ): 2804 super(KubernetesRoleStorageClassInfo, self).__init__(**kwargs) 2805 self.name = None 2806 self.type = None 2807 self.posix_compliant = None 2808 2809 2810class LoadBalancerConfig(msrest.serialization.Model): 2811 """Load balancer configuration. 2812 2813 Variables are only populated by the server, and will be ignored when sending a request. 2814 2815 :ivar type: Load balancer type. 2816 :vartype type: str 2817 :ivar version: Load balancer version. 2818 :vartype version: str 2819 """ 2820 2821 _validation = { 2822 'type': {'readonly': True}, 2823 'version': {'readonly': True}, 2824 } 2825 2826 _attribute_map = { 2827 'type': {'key': 'type', 'type': 'str'}, 2828 'version': {'key': 'version', 'type': 'str'}, 2829 } 2830 2831 def __init__( 2832 self, 2833 **kwargs 2834 ): 2835 super(LoadBalancerConfig, self).__init__(**kwargs) 2836 self.type = None 2837 self.version = None 2838 2839 2840class MECRole(Role): 2841 """MEC role. 2842 2843 Variables are only populated by the server, and will be ignored when sending a request. 2844 2845 All required parameters must be populated in order to send to Azure. 2846 2847 :ivar id: The path ID that uniquely identifies the object. 2848 :vartype id: str 2849 :ivar name: The object name. 2850 :vartype name: str 2851 :ivar type: The hierarchical type of the object. 2852 :vartype type: str 2853 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 2854 "ASA", "Functions", "Cognitive", "MEC", "CloudEdgeManagement", "Kubernetes". 2855 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 2856 :ivar system_data: Role configured on ASE resource. 2857 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 2858 :param connection_string: Activation key of the MEC. 2859 :type connection_string: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 2860 :param role_status: Role status. Possible values include: "Enabled", "Disabled". 2861 :type role_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleStatus 2862 """ 2863 2864 _validation = { 2865 'id': {'readonly': True}, 2866 'name': {'readonly': True}, 2867 'type': {'readonly': True}, 2868 'kind': {'required': True}, 2869 'system_data': {'readonly': True}, 2870 } 2871 2872 _attribute_map = { 2873 'id': {'key': 'id', 'type': 'str'}, 2874 'name': {'key': 'name', 'type': 'str'}, 2875 'type': {'key': 'type', 'type': 'str'}, 2876 'kind': {'key': 'kind', 'type': 'str'}, 2877 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 2878 'connection_string': {'key': 'properties.connectionString', 'type': 'AsymmetricEncryptedSecret'}, 2879 'role_status': {'key': 'properties.roleStatus', 'type': 'str'}, 2880 } 2881 2882 def __init__( 2883 self, 2884 *, 2885 connection_string: Optional["AsymmetricEncryptedSecret"] = None, 2886 role_status: Optional[Union[str, "RoleStatus"]] = None, 2887 **kwargs 2888 ): 2889 super(MECRole, self).__init__(**kwargs) 2890 self.kind = 'MEC' # type: str 2891 self.connection_string = connection_string 2892 self.role_status = role_status 2893 2894 2895class MetricConfiguration(msrest.serialization.Model): 2896 """Metric configuration. 2897 2898 All required parameters must be populated in order to send to Azure. 2899 2900 :param resource_id: Required. The Resource ID on which the metrics should be pushed. 2901 :type resource_id: str 2902 :param mdm_account: The MDM account to which the counters should be pushed. 2903 :type mdm_account: str 2904 :param metric_name_space: The MDM namespace to which the counters should be pushed. This is 2905 required if MDMAccount is specified. 2906 :type metric_name_space: str 2907 :param counter_sets: Required. Host name for the IoT hub associated to the device. 2908 :type counter_sets: list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricCounterSet] 2909 """ 2910 2911 _validation = { 2912 'resource_id': {'required': True}, 2913 'counter_sets': {'required': True}, 2914 } 2915 2916 _attribute_map = { 2917 'resource_id': {'key': 'resourceId', 'type': 'str'}, 2918 'mdm_account': {'key': 'mdmAccount', 'type': 'str'}, 2919 'metric_name_space': {'key': 'metricNameSpace', 'type': 'str'}, 2920 'counter_sets': {'key': 'counterSets', 'type': '[MetricCounterSet]'}, 2921 } 2922 2923 def __init__( 2924 self, 2925 *, 2926 resource_id: str, 2927 counter_sets: List["MetricCounterSet"], 2928 mdm_account: Optional[str] = None, 2929 metric_name_space: Optional[str] = None, 2930 **kwargs 2931 ): 2932 super(MetricConfiguration, self).__init__(**kwargs) 2933 self.resource_id = resource_id 2934 self.mdm_account = mdm_account 2935 self.metric_name_space = metric_name_space 2936 self.counter_sets = counter_sets 2937 2938 2939class MetricCounter(msrest.serialization.Model): 2940 """The metric counter. 2941 2942 All required parameters must be populated in order to send to Azure. 2943 2944 :param name: Required. The counter name. 2945 :type name: str 2946 :param instance: The instance from which counter should be collected. 2947 :type instance: str 2948 :param dimension_filter: The dimension filter. 2949 :type dimension_filter: list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricDimension] 2950 :param additional_dimensions: The additional dimensions to be added to metric. 2951 :type additional_dimensions: list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricDimension] 2952 """ 2953 2954 _validation = { 2955 'name': {'required': True}, 2956 } 2957 2958 _attribute_map = { 2959 'name': {'key': 'name', 'type': 'str'}, 2960 'instance': {'key': 'instance', 'type': 'str'}, 2961 'dimension_filter': {'key': 'dimensionFilter', 'type': '[MetricDimension]'}, 2962 'additional_dimensions': {'key': 'additionalDimensions', 'type': '[MetricDimension]'}, 2963 } 2964 2965 def __init__( 2966 self, 2967 *, 2968 name: str, 2969 instance: Optional[str] = None, 2970 dimension_filter: Optional[List["MetricDimension"]] = None, 2971 additional_dimensions: Optional[List["MetricDimension"]] = None, 2972 **kwargs 2973 ): 2974 super(MetricCounter, self).__init__(**kwargs) 2975 self.name = name 2976 self.instance = instance 2977 self.dimension_filter = dimension_filter 2978 self.additional_dimensions = additional_dimensions 2979 2980 2981class MetricCounterSet(msrest.serialization.Model): 2982 """The metric counter set. 2983 2984 All required parameters must be populated in order to send to Azure. 2985 2986 :param counters: Required. The counters that should be collected in this set. 2987 :type counters: list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricCounter] 2988 """ 2989 2990 _validation = { 2991 'counters': {'required': True}, 2992 } 2993 2994 _attribute_map = { 2995 'counters': {'key': 'counters', 'type': '[MetricCounter]'}, 2996 } 2997 2998 def __init__( 2999 self, 3000 *, 3001 counters: List["MetricCounter"], 3002 **kwargs 3003 ): 3004 super(MetricCounterSet, self).__init__(**kwargs) 3005 self.counters = counters 3006 3007 3008class MetricDimension(msrest.serialization.Model): 3009 """The metric dimension. 3010 3011 All required parameters must be populated in order to send to Azure. 3012 3013 :param source_type: Required. The dimension type. 3014 :type source_type: str 3015 :param source_name: Required. The dimension value. 3016 :type source_name: str 3017 """ 3018 3019 _validation = { 3020 'source_type': {'required': True}, 3021 'source_name': {'required': True}, 3022 } 3023 3024 _attribute_map = { 3025 'source_type': {'key': 'sourceType', 'type': 'str'}, 3026 'source_name': {'key': 'sourceName', 'type': 'str'}, 3027 } 3028 3029 def __init__( 3030 self, 3031 *, 3032 source_type: str, 3033 source_name: str, 3034 **kwargs 3035 ): 3036 super(MetricDimension, self).__init__(**kwargs) 3037 self.source_type = source_type 3038 self.source_name = source_name 3039 3040 3041class MetricDimensionV1(msrest.serialization.Model): 3042 """Metric Dimension v1. 3043 3044 :param name: Name of the metrics dimension. 3045 :type name: str 3046 :param display_name: Display name of the metrics dimension. 3047 :type display_name: str 3048 :param to_be_exported_for_shoebox: To be exported to shoe box. 3049 :type to_be_exported_for_shoebox: bool 3050 """ 3051 3052 _attribute_map = { 3053 'name': {'key': 'name', 'type': 'str'}, 3054 'display_name': {'key': 'displayName', 'type': 'str'}, 3055 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, 3056 } 3057 3058 def __init__( 3059 self, 3060 *, 3061 name: Optional[str] = None, 3062 display_name: Optional[str] = None, 3063 to_be_exported_for_shoebox: Optional[bool] = None, 3064 **kwargs 3065 ): 3066 super(MetricDimensionV1, self).__init__(**kwargs) 3067 self.name = name 3068 self.display_name = display_name 3069 self.to_be_exported_for_shoebox = to_be_exported_for_shoebox 3070 3071 3072class MetricSpecificationV1(msrest.serialization.Model): 3073 """Metric specification version 1. 3074 3075 :param name: Name of the metric. 3076 :type name: str 3077 :param display_name: Display name of the metric. 3078 :type display_name: str 3079 :param display_description: Description of the metric to be displayed. 3080 :type display_description: str 3081 :param unit: Metric units. Possible values include: "NotSpecified", "Percent", "Count", 3082 "Seconds", "Milliseconds", "Bytes", "BytesPerSecond", "CountPerSecond". 3083 :type unit: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MetricUnit 3084 :param aggregation_type: Metric aggregation type. Possible values include: "NotSpecified", 3085 "None", "Average", "Minimum", "Maximum", "Total", "Count". 3086 :type aggregation_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MetricAggregationType 3087 :param dimensions: Metric dimensions, other than default dimension which is resource. 3088 :type dimensions: list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricDimensionV1] 3089 :param fill_gap_with_zero: Set true to fill the gaps with zero. 3090 :type fill_gap_with_zero: bool 3091 :param category: Metric category. Possible values include: "Capacity", "Transaction". 3092 :type category: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MetricCategory 3093 :param resource_id_dimension_name_override: Resource name override. 3094 :type resource_id_dimension_name_override: str 3095 :param supported_time_grain_types: Support granularity of metrics. 3096 :type supported_time_grain_types: list[str or 3097 ~azure.mgmt.databoxedge.v2020_12_01.models.TimeGrain] 3098 :param supported_aggregation_types: Support metric aggregation type. 3099 :type supported_aggregation_types: list[str or 3100 ~azure.mgmt.databoxedge.v2020_12_01.models.MetricAggregationType] 3101 """ 3102 3103 _attribute_map = { 3104 'name': {'key': 'name', 'type': 'str'}, 3105 'display_name': {'key': 'displayName', 'type': 'str'}, 3106 'display_description': {'key': 'displayDescription', 'type': 'str'}, 3107 'unit': {'key': 'unit', 'type': 'str'}, 3108 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 3109 'dimensions': {'key': 'dimensions', 'type': '[MetricDimensionV1]'}, 3110 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 3111 'category': {'key': 'category', 'type': 'str'}, 3112 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 3113 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 3114 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, 3115 } 3116 3117 def __init__( 3118 self, 3119 *, 3120 name: Optional[str] = None, 3121 display_name: Optional[str] = None, 3122 display_description: Optional[str] = None, 3123 unit: Optional[Union[str, "MetricUnit"]] = None, 3124 aggregation_type: Optional[Union[str, "MetricAggregationType"]] = None, 3125 dimensions: Optional[List["MetricDimensionV1"]] = None, 3126 fill_gap_with_zero: Optional[bool] = None, 3127 category: Optional[Union[str, "MetricCategory"]] = None, 3128 resource_id_dimension_name_override: Optional[str] = None, 3129 supported_time_grain_types: Optional[List[Union[str, "TimeGrain"]]] = None, 3130 supported_aggregation_types: Optional[List[Union[str, "MetricAggregationType"]]] = None, 3131 **kwargs 3132 ): 3133 super(MetricSpecificationV1, self).__init__(**kwargs) 3134 self.name = name 3135 self.display_name = display_name 3136 self.display_description = display_description 3137 self.unit = unit 3138 self.aggregation_type = aggregation_type 3139 self.dimensions = dimensions 3140 self.fill_gap_with_zero = fill_gap_with_zero 3141 self.category = category 3142 self.resource_id_dimension_name_override = resource_id_dimension_name_override 3143 self.supported_time_grain_types = supported_time_grain_types 3144 self.supported_aggregation_types = supported_aggregation_types 3145 3146 3147class MonitoringMetricConfiguration(ARMBaseModel): 3148 """The metric setting details for the role. 3149 3150 Variables are only populated by the server, and will be ignored when sending a request. 3151 3152 All required parameters must be populated in order to send to Azure. 3153 3154 :ivar id: The path ID that uniquely identifies the object. 3155 :vartype id: str 3156 :ivar name: The object name. 3157 :vartype name: str 3158 :ivar type: The hierarchical type of the object. 3159 :vartype type: str 3160 :param metric_configurations: Required. The metrics configuration details. 3161 :type metric_configurations: 3162 list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricConfiguration] 3163 """ 3164 3165 _validation = { 3166 'id': {'readonly': True}, 3167 'name': {'readonly': True}, 3168 'type': {'readonly': True}, 3169 'metric_configurations': {'required': True}, 3170 } 3171 3172 _attribute_map = { 3173 'id': {'key': 'id', 'type': 'str'}, 3174 'name': {'key': 'name', 'type': 'str'}, 3175 'type': {'key': 'type', 'type': 'str'}, 3176 'metric_configurations': {'key': 'properties.metricConfigurations', 'type': '[MetricConfiguration]'}, 3177 } 3178 3179 def __init__( 3180 self, 3181 *, 3182 metric_configurations: List["MetricConfiguration"], 3183 **kwargs 3184 ): 3185 super(MonitoringMetricConfiguration, self).__init__(**kwargs) 3186 self.metric_configurations = metric_configurations 3187 3188 3189class MonitoringMetricConfigurationList(msrest.serialization.Model): 3190 """Collection of metric configurations. 3191 3192 Variables are only populated by the server, and will be ignored when sending a request. 3193 3194 :ivar value: The list of metric configurations. 3195 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.MonitoringMetricConfiguration] 3196 :ivar next_link: Link to the next set of results. 3197 :vartype next_link: str 3198 """ 3199 3200 _validation = { 3201 'value': {'readonly': True}, 3202 'next_link': {'readonly': True}, 3203 } 3204 3205 _attribute_map = { 3206 'value': {'key': 'value', 'type': '[MonitoringMetricConfiguration]'}, 3207 'next_link': {'key': 'nextLink', 'type': 'str'}, 3208 } 3209 3210 def __init__( 3211 self, 3212 **kwargs 3213 ): 3214 super(MonitoringMetricConfigurationList, self).__init__(**kwargs) 3215 self.value = None 3216 self.next_link = None 3217 3218 3219class MountPointMap(msrest.serialization.Model): 3220 """The share mount point. 3221 3222 Variables are only populated by the server, and will be ignored when sending a request. 3223 3224 All required parameters must be populated in order to send to Azure. 3225 3226 :param share_id: Required. ID of the share mounted to the role VM. 3227 :type share_id: str 3228 :ivar role_id: ID of the role to which share is mounted. 3229 :vartype role_id: str 3230 :ivar mount_point: Mount point for the share. 3231 :vartype mount_point: str 3232 :ivar mount_type: Mounting type. Possible values include: "Volume", "HostPath". 3233 :vartype mount_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MountType 3234 :ivar role_type: Role type. Possible values include: "IOT", "ASA", "Functions", "Cognitive", 3235 "MEC", "CloudEdgeManagement", "Kubernetes". 3236 :vartype role_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.RoleTypes 3237 """ 3238 3239 _validation = { 3240 'share_id': {'required': True}, 3241 'role_id': {'readonly': True}, 3242 'mount_point': {'readonly': True}, 3243 'mount_type': {'readonly': True}, 3244 'role_type': {'readonly': True}, 3245 } 3246 3247 _attribute_map = { 3248 'share_id': {'key': 'shareId', 'type': 'str'}, 3249 'role_id': {'key': 'roleId', 'type': 'str'}, 3250 'mount_point': {'key': 'mountPoint', 'type': 'str'}, 3251 'mount_type': {'key': 'mountType', 'type': 'str'}, 3252 'role_type': {'key': 'roleType', 'type': 'str'}, 3253 } 3254 3255 def __init__( 3256 self, 3257 *, 3258 share_id: str, 3259 **kwargs 3260 ): 3261 super(MountPointMap, self).__init__(**kwargs) 3262 self.share_id = share_id 3263 self.role_id = None 3264 self.mount_point = None 3265 self.mount_type = None 3266 self.role_type = None 3267 3268 3269class NetworkAdapter(msrest.serialization.Model): 3270 """Represents the networkAdapter on a device. 3271 3272 Variables are only populated by the server, and will be ignored when sending a request. 3273 3274 :ivar adapter_id: Instance ID of network adapter. 3275 :vartype adapter_id: str 3276 :ivar adapter_position: Hardware position of network adapter. 3277 :vartype adapter_position: ~azure.mgmt.databoxedge.v2020_12_01.models.NetworkAdapterPosition 3278 :ivar index: Logical index of the adapter. 3279 :vartype index: int 3280 :ivar node_id: Node ID of the network adapter. 3281 :vartype node_id: str 3282 :ivar network_adapter_name: Network adapter name. 3283 :vartype network_adapter_name: str 3284 :ivar label: Hardware label for the adapter. 3285 :vartype label: str 3286 :ivar mac_address: MAC address. 3287 :vartype mac_address: str 3288 :ivar link_speed: Link speed. 3289 :vartype link_speed: long 3290 :ivar status: Value indicating whether this adapter is valid. Possible values include: 3291 "Inactive", "Active". 3292 :vartype status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.NetworkAdapterStatus 3293 :param rdma_status: Value indicating whether this adapter is RDMA capable. Possible values 3294 include: "Incapable", "Capable". 3295 :type rdma_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.NetworkAdapterRDMAStatus 3296 :param dhcp_status: Value indicating whether this adapter has DHCP enabled. Possible values 3297 include: "Disabled", "Enabled". 3298 :type dhcp_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.NetworkAdapterDHCPStatus 3299 :ivar ipv4_configuration: The IPv4 configuration of the network adapter. 3300 :vartype ipv4_configuration: ~azure.mgmt.databoxedge.v2020_12_01.models.Ipv4Config 3301 :ivar ipv6_configuration: The IPv6 configuration of the network adapter. 3302 :vartype ipv6_configuration: ~azure.mgmt.databoxedge.v2020_12_01.models.Ipv6Config 3303 :ivar ipv6_link_local_address: The IPv6 local address. 3304 :vartype ipv6_link_local_address: str 3305 :ivar dns_servers: The list of DNS Servers of the device. 3306 :vartype dns_servers: list[str] 3307 """ 3308 3309 _validation = { 3310 'adapter_id': {'readonly': True}, 3311 'adapter_position': {'readonly': True}, 3312 'index': {'readonly': True}, 3313 'node_id': {'readonly': True}, 3314 'network_adapter_name': {'readonly': True}, 3315 'label': {'readonly': True}, 3316 'mac_address': {'readonly': True}, 3317 'link_speed': {'readonly': True}, 3318 'status': {'readonly': True}, 3319 'ipv4_configuration': {'readonly': True}, 3320 'ipv6_configuration': {'readonly': True}, 3321 'ipv6_link_local_address': {'readonly': True}, 3322 'dns_servers': {'readonly': True}, 3323 } 3324 3325 _attribute_map = { 3326 'adapter_id': {'key': 'adapterId', 'type': 'str'}, 3327 'adapter_position': {'key': 'adapterPosition', 'type': 'NetworkAdapterPosition'}, 3328 'index': {'key': 'index', 'type': 'int'}, 3329 'node_id': {'key': 'nodeId', 'type': 'str'}, 3330 'network_adapter_name': {'key': 'networkAdapterName', 'type': 'str'}, 3331 'label': {'key': 'label', 'type': 'str'}, 3332 'mac_address': {'key': 'macAddress', 'type': 'str'}, 3333 'link_speed': {'key': 'linkSpeed', 'type': 'long'}, 3334 'status': {'key': 'status', 'type': 'str'}, 3335 'rdma_status': {'key': 'rdmaStatus', 'type': 'str'}, 3336 'dhcp_status': {'key': 'dhcpStatus', 'type': 'str'}, 3337 'ipv4_configuration': {'key': 'ipv4Configuration', 'type': 'Ipv4Config'}, 3338 'ipv6_configuration': {'key': 'ipv6Configuration', 'type': 'Ipv6Config'}, 3339 'ipv6_link_local_address': {'key': 'ipv6LinkLocalAddress', 'type': 'str'}, 3340 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 3341 } 3342 3343 def __init__( 3344 self, 3345 *, 3346 rdma_status: Optional[Union[str, "NetworkAdapterRDMAStatus"]] = None, 3347 dhcp_status: Optional[Union[str, "NetworkAdapterDHCPStatus"]] = None, 3348 **kwargs 3349 ): 3350 super(NetworkAdapter, self).__init__(**kwargs) 3351 self.adapter_id = None 3352 self.adapter_position = None 3353 self.index = None 3354 self.node_id = None 3355 self.network_adapter_name = None 3356 self.label = None 3357 self.mac_address = None 3358 self.link_speed = None 3359 self.status = None 3360 self.rdma_status = rdma_status 3361 self.dhcp_status = dhcp_status 3362 self.ipv4_configuration = None 3363 self.ipv6_configuration = None 3364 self.ipv6_link_local_address = None 3365 self.dns_servers = None 3366 3367 3368class NetworkAdapterPosition(msrest.serialization.Model): 3369 """The network adapter position. 3370 3371 Variables are only populated by the server, and will be ignored when sending a request. 3372 3373 :ivar network_group: The network group. Possible values include: "None", "NonRDMA", "RDMA". 3374 :vartype network_group: str or ~azure.mgmt.databoxedge.v2020_12_01.models.NetworkGroup 3375 :ivar port: The port. 3376 :vartype port: int 3377 """ 3378 3379 _validation = { 3380 'network_group': {'readonly': True}, 3381 'port': {'readonly': True}, 3382 } 3383 3384 _attribute_map = { 3385 'network_group': {'key': 'networkGroup', 'type': 'str'}, 3386 'port': {'key': 'port', 'type': 'int'}, 3387 } 3388 3389 def __init__( 3390 self, 3391 **kwargs 3392 ): 3393 super(NetworkAdapterPosition, self).__init__(**kwargs) 3394 self.network_group = None 3395 self.port = None 3396 3397 3398class NetworkSettings(ARMBaseModel): 3399 """The network settings of a device. 3400 3401 Variables are only populated by the server, and will be ignored when sending a request. 3402 3403 :ivar id: The path ID that uniquely identifies the object. 3404 :vartype id: str 3405 :ivar name: The object name. 3406 :vartype name: str 3407 :ivar type: The hierarchical type of the object. 3408 :vartype type: str 3409 :ivar network_adapters: The network adapter list on the device. 3410 :vartype network_adapters: list[~azure.mgmt.databoxedge.v2020_12_01.models.NetworkAdapter] 3411 """ 3412 3413 _validation = { 3414 'id': {'readonly': True}, 3415 'name': {'readonly': True}, 3416 'type': {'readonly': True}, 3417 'network_adapters': {'readonly': True}, 3418 } 3419 3420 _attribute_map = { 3421 'id': {'key': 'id', 'type': 'str'}, 3422 'name': {'key': 'name', 'type': 'str'}, 3423 'type': {'key': 'type', 'type': 'str'}, 3424 'network_adapters': {'key': 'properties.networkAdapters', 'type': '[NetworkAdapter]'}, 3425 } 3426 3427 def __init__( 3428 self, 3429 **kwargs 3430 ): 3431 super(NetworkSettings, self).__init__(**kwargs) 3432 self.network_adapters = None 3433 3434 3435class Node(ARMBaseModel): 3436 """Represents a single node in a Data box Edge/Gateway device 3437Gateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node 3438Multi-node Edge devices will have more than 1 nodes. 3439 3440 Variables are only populated by the server, and will be ignored when sending a request. 3441 3442 :ivar id: The path ID that uniquely identifies the object. 3443 :vartype id: str 3444 :ivar name: The object name. 3445 :vartype name: str 3446 :ivar type: The hierarchical type of the object. 3447 :vartype type: str 3448 :ivar node_status: The current status of the individual node. Possible values include: 3449 "Unknown", "Up", "Down", "Rebooting", "ShuttingDown". 3450 :vartype node_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.NodeStatus 3451 :ivar node_chassis_serial_number: Serial number of the Chassis. 3452 :vartype node_chassis_serial_number: str 3453 :ivar node_serial_number: Serial number of the individual node. 3454 :vartype node_serial_number: str 3455 :ivar node_display_name: Display Name of the individual node. 3456 :vartype node_display_name: str 3457 :ivar node_friendly_software_version: Friendly software version name that is currently 3458 installed on the node. 3459 :vartype node_friendly_software_version: str 3460 :ivar node_hcs_version: HCS version that is currently installed on the node. 3461 :vartype node_hcs_version: str 3462 :ivar node_instance_id: Guid instance id of the node. 3463 :vartype node_instance_id: str 3464 """ 3465 3466 _validation = { 3467 'id': {'readonly': True}, 3468 'name': {'readonly': True}, 3469 'type': {'readonly': True}, 3470 'node_status': {'readonly': True}, 3471 'node_chassis_serial_number': {'readonly': True}, 3472 'node_serial_number': {'readonly': True}, 3473 'node_display_name': {'readonly': True}, 3474 'node_friendly_software_version': {'readonly': True}, 3475 'node_hcs_version': {'readonly': True}, 3476 'node_instance_id': {'readonly': True}, 3477 } 3478 3479 _attribute_map = { 3480 'id': {'key': 'id', 'type': 'str'}, 3481 'name': {'key': 'name', 'type': 'str'}, 3482 'type': {'key': 'type', 'type': 'str'}, 3483 'node_status': {'key': 'properties.nodeStatus', 'type': 'str'}, 3484 'node_chassis_serial_number': {'key': 'properties.nodeChassisSerialNumber', 'type': 'str'}, 3485 'node_serial_number': {'key': 'properties.nodeSerialNumber', 'type': 'str'}, 3486 'node_display_name': {'key': 'properties.nodeDisplayName', 'type': 'str'}, 3487 'node_friendly_software_version': {'key': 'properties.nodeFriendlySoftwareVersion', 'type': 'str'}, 3488 'node_hcs_version': {'key': 'properties.nodeHcsVersion', 'type': 'str'}, 3489 'node_instance_id': {'key': 'properties.nodeInstanceId', 'type': 'str'}, 3490 } 3491 3492 def __init__( 3493 self, 3494 **kwargs 3495 ): 3496 super(Node, self).__init__(**kwargs) 3497 self.node_status = None 3498 self.node_chassis_serial_number = None 3499 self.node_serial_number = None 3500 self.node_display_name = None 3501 self.node_friendly_software_version = None 3502 self.node_hcs_version = None 3503 self.node_instance_id = None 3504 3505 3506class NodeInfo(msrest.serialization.Model): 3507 """Kubernetes node info. 3508 3509 Variables are only populated by the server, and will be ignored when sending a request. 3510 3511 :ivar name: Node name. 3512 :vartype name: str 3513 :ivar type: Node type - Master/Worker. Possible values include: "Invalid", "Master", "Worker". 3514 :vartype type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesNodeType 3515 :param ip_configuration: IP Configuration of the Kubernetes node. 3516 :type ip_configuration: 3517 list[~azure.mgmt.databoxedge.v2020_12_01.models.KubernetesIPConfiguration] 3518 """ 3519 3520 _validation = { 3521 'name': {'readonly': True}, 3522 'type': {'readonly': True}, 3523 } 3524 3525 _attribute_map = { 3526 'name': {'key': 'name', 'type': 'str'}, 3527 'type': {'key': 'type', 'type': 'str'}, 3528 'ip_configuration': {'key': 'ipConfiguration', 'type': '[KubernetesIPConfiguration]'}, 3529 } 3530 3531 def __init__( 3532 self, 3533 *, 3534 ip_configuration: Optional[List["KubernetesIPConfiguration"]] = None, 3535 **kwargs 3536 ): 3537 super(NodeInfo, self).__init__(**kwargs) 3538 self.name = None 3539 self.type = None 3540 self.ip_configuration = ip_configuration 3541 3542 3543class NodeList(msrest.serialization.Model): 3544 """Collection of Nodes. 3545 3546 Variables are only populated by the server, and will be ignored when sending a request. 3547 3548 :ivar value: The list of Nodes. 3549 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Node] 3550 :param next_link: Link to the next set of results. 3551 :type next_link: str 3552 """ 3553 3554 _validation = { 3555 'value': {'readonly': True}, 3556 } 3557 3558 _attribute_map = { 3559 'value': {'key': 'value', 'type': '[Node]'}, 3560 'next_link': {'key': 'nextLink', 'type': 'str'}, 3561 } 3562 3563 def __init__( 3564 self, 3565 *, 3566 next_link: Optional[str] = None, 3567 **kwargs 3568 ): 3569 super(NodeList, self).__init__(**kwargs) 3570 self.value = None 3571 self.next_link = next_link 3572 3573 3574class Operation(msrest.serialization.Model): 3575 """Operations. 3576 3577 :param name: Name of the operation. 3578 :type name: str 3579 :param is_data_action: Is data action. 3580 :type is_data_action: bool 3581 :param display: Properties displayed for the operation. 3582 :type display: ~azure.mgmt.databoxedge.v2020_12_01.models.OperationDisplay 3583 :param origin: Origin of the operation. 3584 :type origin: str 3585 :param service_specification: Service specification. 3586 :type service_specification: ~azure.mgmt.databoxedge.v2020_12_01.models.ServiceSpecification 3587 """ 3588 3589 _attribute_map = { 3590 'name': {'key': 'name', 'type': 'str'}, 3591 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, 3592 'display': {'key': 'display', 'type': 'OperationDisplay'}, 3593 'origin': {'key': 'origin', 'type': 'str'}, 3594 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, 3595 } 3596 3597 def __init__( 3598 self, 3599 *, 3600 name: Optional[str] = None, 3601 is_data_action: Optional[bool] = None, 3602 display: Optional["OperationDisplay"] = None, 3603 origin: Optional[str] = None, 3604 service_specification: Optional["ServiceSpecification"] = None, 3605 **kwargs 3606 ): 3607 super(Operation, self).__init__(**kwargs) 3608 self.name = name 3609 self.is_data_action = is_data_action 3610 self.display = display 3611 self.origin = origin 3612 self.service_specification = service_specification 3613 3614 3615class OperationDisplay(msrest.serialization.Model): 3616 """Operation display properties. 3617 3618 :param provider: Provider name. 3619 :type provider: str 3620 :param resource: The type of resource in which the operation is performed. 3621 :type resource: str 3622 :param operation: Operation to be performed on the resource. 3623 :type operation: str 3624 :param description: Description of the operation to be performed. 3625 :type description: str 3626 """ 3627 3628 _attribute_map = { 3629 'provider': {'key': 'provider', 'type': 'str'}, 3630 'resource': {'key': 'resource', 'type': 'str'}, 3631 'operation': {'key': 'operation', 'type': 'str'}, 3632 'description': {'key': 'description', 'type': 'str'}, 3633 } 3634 3635 def __init__( 3636 self, 3637 *, 3638 provider: Optional[str] = None, 3639 resource: Optional[str] = None, 3640 operation: Optional[str] = None, 3641 description: Optional[str] = None, 3642 **kwargs 3643 ): 3644 super(OperationDisplay, self).__init__(**kwargs) 3645 self.provider = provider 3646 self.resource = resource 3647 self.operation = operation 3648 self.description = description 3649 3650 3651class OperationsList(msrest.serialization.Model): 3652 """The list of operations used for the discovery of available provider operations. 3653 3654 All required parameters must be populated in order to send to Azure. 3655 3656 :param value: Required. The value. 3657 :type value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Operation] 3658 :param next_link: Link to the next set of results. 3659 :type next_link: str 3660 """ 3661 3662 _validation = { 3663 'value': {'required': True}, 3664 } 3665 3666 _attribute_map = { 3667 'value': {'key': 'value', 'type': '[Operation]'}, 3668 'next_link': {'key': 'nextLink', 'type': 'str'}, 3669 } 3670 3671 def __init__( 3672 self, 3673 *, 3674 value: List["Operation"], 3675 next_link: Optional[str] = None, 3676 **kwargs 3677 ): 3678 super(OperationsList, self).__init__(**kwargs) 3679 self.value = value 3680 self.next_link = next_link 3681 3682 3683class Order(ARMBaseModel): 3684 """The order details. 3685 3686 Variables are only populated by the server, and will be ignored when sending a request. 3687 3688 :ivar id: The path ID that uniquely identifies the object. 3689 :vartype id: str 3690 :ivar name: The object name. 3691 :vartype name: str 3692 :ivar type: The hierarchical type of the object. 3693 :vartype type: str 3694 :param contact_information: The contact details. 3695 :type contact_information: ~azure.mgmt.databoxedge.v2020_12_01.models.ContactDetails 3696 :param shipping_address: The shipping address. 3697 :type shipping_address: ~azure.mgmt.databoxedge.v2020_12_01.models.Address 3698 :ivar current_status: Current status of the order. 3699 :vartype current_status: ~azure.mgmt.databoxedge.v2020_12_01.models.OrderStatus 3700 :ivar order_history: List of status changes in the order. 3701 :vartype order_history: list[~azure.mgmt.databoxedge.v2020_12_01.models.OrderStatus] 3702 :ivar serial_number: Serial number of the device. 3703 :vartype serial_number: str 3704 :ivar delivery_tracking_info: Tracking information for the package delivered to the customer 3705 whether it has an original or a replacement device. 3706 :vartype delivery_tracking_info: list[~azure.mgmt.databoxedge.v2020_12_01.models.TrackingInfo] 3707 :ivar return_tracking_info: Tracking information for the package returned from the customer 3708 whether it has an original or a replacement device. 3709 :vartype return_tracking_info: list[~azure.mgmt.databoxedge.v2020_12_01.models.TrackingInfo] 3710 :param shipment_type: ShipmentType of the order. Possible values include: "NotApplicable", 3711 "ShippedToCustomer", "SelfPickup". 3712 :type shipment_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShipmentType 3713 """ 3714 3715 _validation = { 3716 'id': {'readonly': True}, 3717 'name': {'readonly': True}, 3718 'type': {'readonly': True}, 3719 'current_status': {'readonly': True}, 3720 'order_history': {'readonly': True}, 3721 'serial_number': {'readonly': True}, 3722 'delivery_tracking_info': {'readonly': True}, 3723 'return_tracking_info': {'readonly': True}, 3724 } 3725 3726 _attribute_map = { 3727 'id': {'key': 'id', 'type': 'str'}, 3728 'name': {'key': 'name', 'type': 'str'}, 3729 'type': {'key': 'type', 'type': 'str'}, 3730 'contact_information': {'key': 'properties.contactInformation', 'type': 'ContactDetails'}, 3731 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'Address'}, 3732 'current_status': {'key': 'properties.currentStatus', 'type': 'OrderStatus'}, 3733 'order_history': {'key': 'properties.orderHistory', 'type': '[OrderStatus]'}, 3734 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, 3735 'delivery_tracking_info': {'key': 'properties.deliveryTrackingInfo', 'type': '[TrackingInfo]'}, 3736 'return_tracking_info': {'key': 'properties.returnTrackingInfo', 'type': '[TrackingInfo]'}, 3737 'shipment_type': {'key': 'properties.shipmentType', 'type': 'str'}, 3738 } 3739 3740 def __init__( 3741 self, 3742 *, 3743 contact_information: Optional["ContactDetails"] = None, 3744 shipping_address: Optional["Address"] = None, 3745 shipment_type: Optional[Union[str, "ShipmentType"]] = None, 3746 **kwargs 3747 ): 3748 super(Order, self).__init__(**kwargs) 3749 self.contact_information = contact_information 3750 self.shipping_address = shipping_address 3751 self.current_status = None 3752 self.order_history = None 3753 self.serial_number = None 3754 self.delivery_tracking_info = None 3755 self.return_tracking_info = None 3756 self.shipment_type = shipment_type 3757 3758 3759class OrderList(msrest.serialization.Model): 3760 """List of order entities. 3761 3762 Variables are only populated by the server, and will be ignored when sending a request. 3763 3764 :ivar value: The list of orders. 3765 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Order] 3766 :ivar next_link: Link to the next set of results. 3767 :vartype next_link: str 3768 """ 3769 3770 _validation = { 3771 'value': {'readonly': True}, 3772 'next_link': {'readonly': True}, 3773 } 3774 3775 _attribute_map = { 3776 'value': {'key': 'value', 'type': '[Order]'}, 3777 'next_link': {'key': 'nextLink', 'type': 'str'}, 3778 } 3779 3780 def __init__( 3781 self, 3782 **kwargs 3783 ): 3784 super(OrderList, self).__init__(**kwargs) 3785 self.value = None 3786 self.next_link = None 3787 3788 3789class OrderStatus(msrest.serialization.Model): 3790 """Represents a single status change. 3791 3792 Variables are only populated by the server, and will be ignored when sending a request. 3793 3794 All required parameters must be populated in order to send to Azure. 3795 3796 :param status: Required. Status of the order as per the allowed status types. Possible values 3797 include: "Untracked", "AwaitingFulfilment", "AwaitingPreparation", "AwaitingShipment", 3798 "Shipped", "Arriving", "Delivered", "ReplacementRequested", "LostDevice", "Declined", 3799 "ReturnInitiated", "AwaitingReturnShipment", "ShippedBack", "CollectedAtMicrosoft", 3800 "AwaitingPickup", "PickupCompleted", "AwaitingDrop". 3801 :type status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.OrderState 3802 :ivar update_date_time: Time of status update. 3803 :vartype update_date_time: ~datetime.datetime 3804 :param comments: Comments related to this status change. 3805 :type comments: str 3806 :ivar tracking_information: Tracking information related to the state in the ordering flow. 3807 :vartype tracking_information: ~azure.mgmt.databoxedge.v2020_12_01.models.TrackingInfo 3808 :ivar additional_order_details: Dictionary to hold generic information which is not stored 3809 by the already existing properties. 3810 :vartype additional_order_details: dict[str, str] 3811 """ 3812 3813 _validation = { 3814 'status': {'required': True}, 3815 'update_date_time': {'readonly': True}, 3816 'tracking_information': {'readonly': True}, 3817 'additional_order_details': {'readonly': True}, 3818 } 3819 3820 _attribute_map = { 3821 'status': {'key': 'status', 'type': 'str'}, 3822 'update_date_time': {'key': 'updateDateTime', 'type': 'iso-8601'}, 3823 'comments': {'key': 'comments', 'type': 'str'}, 3824 'tracking_information': {'key': 'trackingInformation', 'type': 'TrackingInfo'}, 3825 'additional_order_details': {'key': 'additionalOrderDetails', 'type': '{str}'}, 3826 } 3827 3828 def __init__( 3829 self, 3830 *, 3831 status: Union[str, "OrderState"], 3832 comments: Optional[str] = None, 3833 **kwargs 3834 ): 3835 super(OrderStatus, self).__init__(**kwargs) 3836 self.status = status 3837 self.update_date_time = None 3838 self.comments = comments 3839 self.tracking_information = None 3840 self.additional_order_details = None 3841 3842 3843class PeriodicTimerEventTrigger(Trigger): 3844 """Trigger details. 3845 3846 Variables are only populated by the server, and will be ignored when sending a request. 3847 3848 All required parameters must be populated in order to send to Azure. 3849 3850 :ivar id: The path ID that uniquely identifies the object. 3851 :vartype id: str 3852 :ivar name: The object name. 3853 :vartype name: str 3854 :ivar type: The hierarchical type of the object. 3855 :vartype type: str 3856 :ivar system_data: Trigger in DataBoxEdge Resource. 3857 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 3858 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 3859 "FileEvent", "PeriodicTimerEvent". 3860 :type kind: str or ~azure.mgmt.databoxedge.v2020_12_01.models.TriggerEventType 3861 :param source_info: Required. Periodic timer details. 3862 :type source_info: ~azure.mgmt.databoxedge.v2020_12_01.models.PeriodicTimerSourceInfo 3863 :param sink_info: Required. Role Sink information. 3864 :type sink_info: ~azure.mgmt.databoxedge.v2020_12_01.models.RoleSinkInfo 3865 :param custom_context_tag: A custom context tag typically used to correlate the trigger against 3866 its usage. For example, if a periodic timer trigger is intended for certain specific IoT 3867 modules in the device, the tag can be the name or the image URL of the module. 3868 :type custom_context_tag: str 3869 """ 3870 3871 _validation = { 3872 'id': {'readonly': True}, 3873 'name': {'readonly': True}, 3874 'type': {'readonly': True}, 3875 'system_data': {'readonly': True}, 3876 'kind': {'required': True}, 3877 'source_info': {'required': True}, 3878 'sink_info': {'required': True}, 3879 'custom_context_tag': {'max_length': 192, 'min_length': 0}, 3880 } 3881 3882 _attribute_map = { 3883 'id': {'key': 'id', 'type': 'str'}, 3884 'name': {'key': 'name', 'type': 'str'}, 3885 'type': {'key': 'type', 'type': 'str'}, 3886 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 3887 'kind': {'key': 'kind', 'type': 'str'}, 3888 'source_info': {'key': 'properties.sourceInfo', 'type': 'PeriodicTimerSourceInfo'}, 3889 'sink_info': {'key': 'properties.sinkInfo', 'type': 'RoleSinkInfo'}, 3890 'custom_context_tag': {'key': 'properties.customContextTag', 'type': 'str'}, 3891 } 3892 3893 def __init__( 3894 self, 3895 *, 3896 source_info: "PeriodicTimerSourceInfo", 3897 sink_info: "RoleSinkInfo", 3898 custom_context_tag: Optional[str] = None, 3899 **kwargs 3900 ): 3901 super(PeriodicTimerEventTrigger, self).__init__(**kwargs) 3902 self.kind = 'PeriodicTimerEvent' # type: str 3903 self.source_info = source_info 3904 self.sink_info = sink_info 3905 self.custom_context_tag = custom_context_tag 3906 3907 3908class PeriodicTimerSourceInfo(msrest.serialization.Model): 3909 """Periodic timer event source. 3910 3911 All required parameters must be populated in order to send to Azure. 3912 3913 :param start_time: Required. The time of the day that results in a valid trigger. Schedule is 3914 computed with reference to the time specified upto seconds. If timezone is not specified the 3915 time will considered to be in device timezone. The value will always be returned as UTC time. 3916 :type start_time: ~datetime.datetime 3917 :param schedule: Required. Periodic frequency at which timer event needs to be raised. Supports 3918 daily, hourly, minutes, and seconds. 3919 :type schedule: str 3920 :param topic: Topic where periodic events are published to IoT device. 3921 :type topic: str 3922 """ 3923 3924 _validation = { 3925 'start_time': {'required': True}, 3926 'schedule': {'required': True}, 3927 } 3928 3929 _attribute_map = { 3930 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3931 'schedule': {'key': 'schedule', 'type': 'str'}, 3932 'topic': {'key': 'topic', 'type': 'str'}, 3933 } 3934 3935 def __init__( 3936 self, 3937 *, 3938 start_time: datetime.datetime, 3939 schedule: str, 3940 topic: Optional[str] = None, 3941 **kwargs 3942 ): 3943 super(PeriodicTimerSourceInfo, self).__init__(**kwargs) 3944 self.start_time = start_time 3945 self.schedule = schedule 3946 self.topic = topic 3947 3948 3949class RefreshDetails(msrest.serialization.Model): 3950 """Fields for tracking refresh job on the share or container. 3951 3952 :param in_progress_refresh_job_id: If a refresh job is currently in progress on this share or 3953 container, this field indicates the ARM resource ID of that job. The field is empty if no job 3954 is in progress. 3955 :type in_progress_refresh_job_id: str 3956 :param last_completed_refresh_job_time_in_utc: Indicates the completed time for the last 3957 refresh job on this particular share or container, if any.This could be a failed job or a 3958 successful job. 3959 :type last_completed_refresh_job_time_in_utc: ~datetime.datetime 3960 :param error_manifest_file: Indicates the relative path of the error xml for the last refresh 3961 job on this particular share or container, if any. This could be a failed job or a successful 3962 job. 3963 :type error_manifest_file: str 3964 :param last_job: Indicates the id of the last refresh job on this particular share or 3965 container,if any. This could be a failed job or a successful job. 3966 :type last_job: str 3967 """ 3968 3969 _attribute_map = { 3970 'in_progress_refresh_job_id': {'key': 'inProgressRefreshJobId', 'type': 'str'}, 3971 'last_completed_refresh_job_time_in_utc': {'key': 'lastCompletedRefreshJobTimeInUTC', 'type': 'iso-8601'}, 3972 'error_manifest_file': {'key': 'errorManifestFile', 'type': 'str'}, 3973 'last_job': {'key': 'lastJob', 'type': 'str'}, 3974 } 3975 3976 def __init__( 3977 self, 3978 *, 3979 in_progress_refresh_job_id: Optional[str] = None, 3980 last_completed_refresh_job_time_in_utc: Optional[datetime.datetime] = None, 3981 error_manifest_file: Optional[str] = None, 3982 last_job: Optional[str] = None, 3983 **kwargs 3984 ): 3985 super(RefreshDetails, self).__init__(**kwargs) 3986 self.in_progress_refresh_job_id = in_progress_refresh_job_id 3987 self.last_completed_refresh_job_time_in_utc = last_completed_refresh_job_time_in_utc 3988 self.error_manifest_file = error_manifest_file 3989 self.last_job = last_job 3990 3991 3992class ResourceIdentity(msrest.serialization.Model): 3993 """Msi identity details of the resource. 3994 3995 Variables are only populated by the server, and will be ignored when sending a request. 3996 3997 :param type: Identity type. Possible values include: "None", "SystemAssigned", "UserAssigned". 3998 :type type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MsiIdentityType 3999 :ivar principal_id: Service Principal Id backing the Msi. 4000 :vartype principal_id: str 4001 :ivar tenant_id: Home Tenant Id. 4002 :vartype tenant_id: str 4003 """ 4004 4005 _validation = { 4006 'principal_id': {'readonly': True}, 4007 'tenant_id': {'readonly': True}, 4008 } 4009 4010 _attribute_map = { 4011 'type': {'key': 'type', 'type': 'str'}, 4012 'principal_id': {'key': 'principalId', 'type': 'str'}, 4013 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 4014 } 4015 4016 def __init__( 4017 self, 4018 *, 4019 type: Optional[Union[str, "MsiIdentityType"]] = None, 4020 **kwargs 4021 ): 4022 super(ResourceIdentity, self).__init__(**kwargs) 4023 self.type = type 4024 self.principal_id = None 4025 self.tenant_id = None 4026 4027 4028class ResourceMoveDetails(msrest.serialization.Model): 4029 """Fields for tracking resource move. 4030 4031 :param operation_in_progress: Denotes whether move operation is in progress. Possible values 4032 include: "None", "ResourceMoveInProgress", "ResourceMoveFailed". 4033 :type operation_in_progress: str or 4034 ~azure.mgmt.databoxedge.v2020_12_01.models.ResourceMoveStatus 4035 :param operation_in_progress_lock_timeout_in_utc: Denotes the timeout of the operation to 4036 finish. 4037 :type operation_in_progress_lock_timeout_in_utc: ~datetime.datetime 4038 """ 4039 4040 _attribute_map = { 4041 'operation_in_progress': {'key': 'operationInProgress', 'type': 'str'}, 4042 'operation_in_progress_lock_timeout_in_utc': {'key': 'operationInProgressLockTimeoutInUTC', 'type': 'iso-8601'}, 4043 } 4044 4045 def __init__( 4046 self, 4047 *, 4048 operation_in_progress: Optional[Union[str, "ResourceMoveStatus"]] = None, 4049 operation_in_progress_lock_timeout_in_utc: Optional[datetime.datetime] = None, 4050 **kwargs 4051 ): 4052 super(ResourceMoveDetails, self).__init__(**kwargs) 4053 self.operation_in_progress = operation_in_progress 4054 self.operation_in_progress_lock_timeout_in_utc = operation_in_progress_lock_timeout_in_utc 4055 4056 4057class ResourceTypeSku(msrest.serialization.Model): 4058 """Resource type Sku object. 4059 4060 Variables are only populated by the server, and will be ignored when sending a request. 4061 4062 :ivar resource_type: The resource type. 4063 :vartype resource_type: str 4064 :ivar skus: The skus. 4065 :vartype skus: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuInformation] 4066 """ 4067 4068 _validation = { 4069 'resource_type': {'readonly': True}, 4070 'skus': {'readonly': True}, 4071 } 4072 4073 _attribute_map = { 4074 'resource_type': {'key': 'resourceType', 'type': 'str'}, 4075 'skus': {'key': 'skus', 'type': '[SkuInformation]'}, 4076 } 4077 4078 def __init__( 4079 self, 4080 **kwargs 4081 ): 4082 super(ResourceTypeSku, self).__init__(**kwargs) 4083 self.resource_type = None 4084 self.skus = None 4085 4086 4087class RoleList(msrest.serialization.Model): 4088 """Collection of all the roles on the Data Box Edge device. 4089 4090 Variables are only populated by the server, and will be ignored when sending a request. 4091 4092 :ivar value: The Value. 4093 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Role] 4094 :ivar next_link: Link to the next set of results. 4095 :vartype next_link: str 4096 """ 4097 4098 _validation = { 4099 'value': {'readonly': True}, 4100 'next_link': {'readonly': True}, 4101 } 4102 4103 _attribute_map = { 4104 'value': {'key': 'value', 'type': '[Role]'}, 4105 'next_link': {'key': 'nextLink', 'type': 'str'}, 4106 } 4107 4108 def __init__( 4109 self, 4110 **kwargs 4111 ): 4112 super(RoleList, self).__init__(**kwargs) 4113 self.value = None 4114 self.next_link = None 4115 4116 4117class RoleSinkInfo(msrest.serialization.Model): 4118 """Compute role against which events will be raised. 4119 4120 All required parameters must be populated in order to send to Azure. 4121 4122 :param role_id: Required. Compute role ID. 4123 :type role_id: str 4124 """ 4125 4126 _validation = { 4127 'role_id': {'required': True}, 4128 } 4129 4130 _attribute_map = { 4131 'role_id': {'key': 'roleId', 'type': 'str'}, 4132 } 4133 4134 def __init__( 4135 self, 4136 *, 4137 role_id: str, 4138 **kwargs 4139 ): 4140 super(RoleSinkInfo, self).__init__(**kwargs) 4141 self.role_id = role_id 4142 4143 4144class Secret(msrest.serialization.Model): 4145 """Holds device secret either as a KeyVault reference or as an encrypted value. 4146 4147 :param encrypted_secret: Encrypted (using device public key) secret value. 4148 :type encrypted_secret: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 4149 :param key_vault_id: Id of the Key-Vault where secret is stored (ex: 4150 secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740). 4151 :type key_vault_id: str 4152 """ 4153 4154 _attribute_map = { 4155 'encrypted_secret': {'key': 'encryptedSecret', 'type': 'AsymmetricEncryptedSecret'}, 4156 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, 4157 } 4158 4159 def __init__( 4160 self, 4161 *, 4162 encrypted_secret: Optional["AsymmetricEncryptedSecret"] = None, 4163 key_vault_id: Optional[str] = None, 4164 **kwargs 4165 ): 4166 super(Secret, self).__init__(**kwargs) 4167 self.encrypted_secret = encrypted_secret 4168 self.key_vault_id = key_vault_id 4169 4170 4171class SecuritySettings(ARMBaseModel): 4172 """The security settings of a device. 4173 4174 Variables are only populated by the server, and will be ignored when sending a request. 4175 4176 All required parameters must be populated in order to send to Azure. 4177 4178 :ivar id: The path ID that uniquely identifies the object. 4179 :vartype id: str 4180 :ivar name: The object name. 4181 :vartype name: str 4182 :ivar type: The hierarchical type of the object. 4183 :vartype type: str 4184 :param device_admin_password: Required. Device administrator password as an encrypted string 4185 (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual 4186 password should have at least 8 characters that are a combination of uppercase, lowercase, 4187 numeric, and special characters. 4188 :type device_admin_password: 4189 ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 4190 """ 4191 4192 _validation = { 4193 'id': {'readonly': True}, 4194 'name': {'readonly': True}, 4195 'type': {'readonly': True}, 4196 'device_admin_password': {'required': True}, 4197 } 4198 4199 _attribute_map = { 4200 'id': {'key': 'id', 'type': 'str'}, 4201 'name': {'key': 'name', 'type': 'str'}, 4202 'type': {'key': 'type', 'type': 'str'}, 4203 'device_admin_password': {'key': 'properties.deviceAdminPassword', 'type': 'AsymmetricEncryptedSecret'}, 4204 } 4205 4206 def __init__( 4207 self, 4208 *, 4209 device_admin_password: "AsymmetricEncryptedSecret", 4210 **kwargs 4211 ): 4212 super(SecuritySettings, self).__init__(**kwargs) 4213 self.device_admin_password = device_admin_password 4214 4215 4216class ServiceSpecification(msrest.serialization.Model): 4217 """Service specification. 4218 4219 :param metric_specifications: Metric specification as defined by shoebox. 4220 :type metric_specifications: 4221 list[~azure.mgmt.databoxedge.v2020_12_01.models.MetricSpecificationV1] 4222 """ 4223 4224 _attribute_map = { 4225 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecificationV1]'}, 4226 } 4227 4228 def __init__( 4229 self, 4230 *, 4231 metric_specifications: Optional[List["MetricSpecificationV1"]] = None, 4232 **kwargs 4233 ): 4234 super(ServiceSpecification, self).__init__(**kwargs) 4235 self.metric_specifications = metric_specifications 4236 4237 4238class Share(ARMBaseModel): 4239 """Represents a share on the Data Box Edge/Gateway device. 4240 4241 Variables are only populated by the server, and will be ignored when sending a request. 4242 4243 All required parameters must be populated in order to send to Azure. 4244 4245 :ivar id: The path ID that uniquely identifies the object. 4246 :vartype id: str 4247 :ivar name: The object name. 4248 :vartype name: str 4249 :ivar type: The hierarchical type of the object. 4250 :vartype type: str 4251 :ivar system_data: Share on ASE device. 4252 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 4253 :param description: Description for the share. 4254 :type description: str 4255 :param share_status: Required. Current status of the share. Possible values include: "Offline", 4256 "Unknown", "OK", "Updating", "NeedsAttention". 4257 :type share_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShareStatus 4258 :param monitoring_status: Required. Current monitoring status of the share. Possible values 4259 include: "Enabled", "Disabled". 4260 :type monitoring_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.MonitoringStatus 4261 :param azure_container_info: Azure container mapping for the share. 4262 :type azure_container_info: ~azure.mgmt.databoxedge.v2020_12_01.models.AzureContainerInfo 4263 :param access_protocol: Required. Access protocol to be used by the share. Possible values 4264 include: "SMB", "NFS". 4265 :type access_protocol: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShareAccessProtocol 4266 :param user_access_rights: Mapping of users and corresponding access rights on the share 4267 (required for SMB protocol). 4268 :type user_access_rights: list[~azure.mgmt.databoxedge.v2020_12_01.models.UserAccessRight] 4269 :param client_access_rights: List of IP addresses and corresponding access rights on the 4270 share(required for NFS protocol). 4271 :type client_access_rights: list[~azure.mgmt.databoxedge.v2020_12_01.models.ClientAccessRight] 4272 :param refresh_details: Details of the refresh job on this share. 4273 :type refresh_details: ~azure.mgmt.databoxedge.v2020_12_01.models.RefreshDetails 4274 :ivar share_mappings: Share mount point to the role. 4275 :vartype share_mappings: list[~azure.mgmt.databoxedge.v2020_12_01.models.MountPointMap] 4276 :param data_policy: Data policy of the share. Possible values include: "Cloud", "Local". 4277 :type data_policy: str or ~azure.mgmt.databoxedge.v2020_12_01.models.DataPolicy 4278 """ 4279 4280 _validation = { 4281 'id': {'readonly': True}, 4282 'name': {'readonly': True}, 4283 'type': {'readonly': True}, 4284 'system_data': {'readonly': True}, 4285 'share_status': {'required': True}, 4286 'monitoring_status': {'required': True}, 4287 'access_protocol': {'required': True}, 4288 'share_mappings': {'readonly': True}, 4289 } 4290 4291 _attribute_map = { 4292 'id': {'key': 'id', 'type': 'str'}, 4293 'name': {'key': 'name', 'type': 'str'}, 4294 'type': {'key': 'type', 'type': 'str'}, 4295 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 4296 'description': {'key': 'properties.description', 'type': 'str'}, 4297 'share_status': {'key': 'properties.shareStatus', 'type': 'str'}, 4298 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 4299 'azure_container_info': {'key': 'properties.azureContainerInfo', 'type': 'AzureContainerInfo'}, 4300 'access_protocol': {'key': 'properties.accessProtocol', 'type': 'str'}, 4301 'user_access_rights': {'key': 'properties.userAccessRights', 'type': '[UserAccessRight]'}, 4302 'client_access_rights': {'key': 'properties.clientAccessRights', 'type': '[ClientAccessRight]'}, 4303 'refresh_details': {'key': 'properties.refreshDetails', 'type': 'RefreshDetails'}, 4304 'share_mappings': {'key': 'properties.shareMappings', 'type': '[MountPointMap]'}, 4305 'data_policy': {'key': 'properties.dataPolicy', 'type': 'str'}, 4306 } 4307 4308 def __init__( 4309 self, 4310 *, 4311 share_status: Union[str, "ShareStatus"], 4312 monitoring_status: Union[str, "MonitoringStatus"], 4313 access_protocol: Union[str, "ShareAccessProtocol"], 4314 description: Optional[str] = None, 4315 azure_container_info: Optional["AzureContainerInfo"] = None, 4316 user_access_rights: Optional[List["UserAccessRight"]] = None, 4317 client_access_rights: Optional[List["ClientAccessRight"]] = None, 4318 refresh_details: Optional["RefreshDetails"] = None, 4319 data_policy: Optional[Union[str, "DataPolicy"]] = None, 4320 **kwargs 4321 ): 4322 super(Share, self).__init__(**kwargs) 4323 self.system_data = None 4324 self.description = description 4325 self.share_status = share_status 4326 self.monitoring_status = monitoring_status 4327 self.azure_container_info = azure_container_info 4328 self.access_protocol = access_protocol 4329 self.user_access_rights = user_access_rights 4330 self.client_access_rights = client_access_rights 4331 self.refresh_details = refresh_details 4332 self.share_mappings = None 4333 self.data_policy = data_policy 4334 4335 4336class ShareAccessRight(msrest.serialization.Model): 4337 """Specifies the mapping between this particular user and the type of access he has on shares on this device. 4338 4339 All required parameters must be populated in order to send to Azure. 4340 4341 :param share_id: Required. The share ID. 4342 :type share_id: str 4343 :param access_type: Required. Type of access to be allowed on the share for this user. Possible 4344 values include: "Change", "Read", "Custom". 4345 :type access_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShareAccessType 4346 """ 4347 4348 _validation = { 4349 'share_id': {'required': True}, 4350 'access_type': {'required': True}, 4351 } 4352 4353 _attribute_map = { 4354 'share_id': {'key': 'shareId', 'type': 'str'}, 4355 'access_type': {'key': 'accessType', 'type': 'str'}, 4356 } 4357 4358 def __init__( 4359 self, 4360 *, 4361 share_id: str, 4362 access_type: Union[str, "ShareAccessType"], 4363 **kwargs 4364 ): 4365 super(ShareAccessRight, self).__init__(**kwargs) 4366 self.share_id = share_id 4367 self.access_type = access_type 4368 4369 4370class ShareList(msrest.serialization.Model): 4371 """Collection of all the shares on the Data Box Edge/Gateway device. 4372 4373 Variables are only populated by the server, and will be ignored when sending a request. 4374 4375 :ivar value: The list of shares. 4376 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Share] 4377 :ivar next_link: Link to the next set of results. 4378 :vartype next_link: str 4379 """ 4380 4381 _validation = { 4382 'value': {'readonly': True}, 4383 'next_link': {'readonly': True}, 4384 } 4385 4386 _attribute_map = { 4387 'value': {'key': 'value', 'type': '[Share]'}, 4388 'next_link': {'key': 'nextLink', 'type': 'str'}, 4389 } 4390 4391 def __init__( 4392 self, 4393 **kwargs 4394 ): 4395 super(ShareList, self).__init__(**kwargs) 4396 self.value = None 4397 self.next_link = None 4398 4399 4400class Sku(msrest.serialization.Model): 4401 """The SKU type. 4402 4403 :param name: SKU name. Possible values include: "Gateway", "Edge", "TEA_1Node", 4404 "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", 4405 "TEA_4Node_UPS_Heater", "TMA", "TDC", "TCA_Small", "GPU", "TCA_Large", "EdgeP_Base", 4406 "EdgeP_High", "EdgePR_Base", "EdgePR_Base_UPS", "EdgeMR_Mini", "RCA_Small", "RCA_Large", "RDC". 4407 :type name: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuName 4408 :param tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard". 4409 :type tier: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SkuTier 4410 """ 4411 4412 _attribute_map = { 4413 'name': {'key': 'name', 'type': 'str'}, 4414 'tier': {'key': 'tier', 'type': 'str'}, 4415 } 4416 4417 def __init__( 4418 self, 4419 *, 4420 name: Optional[Union[str, "SkuName"]] = None, 4421 tier: Optional[Union[str, "SkuTier"]] = None, 4422 **kwargs 4423 ): 4424 super(Sku, self).__init__(**kwargs) 4425 self.name = name 4426 self.tier = tier 4427 4428 4429class SkuCapability(msrest.serialization.Model): 4430 """The metadata to describe the capability. 4431 4432 Variables are only populated by the server, and will be ignored when sending a request. 4433 4434 :ivar name: An invariant to describe the feature. 4435 :vartype name: str 4436 :ivar value: An invariant if the feature is measured by quantity. 4437 :vartype value: str 4438 """ 4439 4440 _validation = { 4441 'name': {'readonly': True}, 4442 'value': {'readonly': True}, 4443 } 4444 4445 _attribute_map = { 4446 'name': {'key': 'name', 'type': 'str'}, 4447 'value': {'key': 'value', 'type': 'str'}, 4448 } 4449 4450 def __init__( 4451 self, 4452 **kwargs 4453 ): 4454 super(SkuCapability, self).__init__(**kwargs) 4455 self.name = None 4456 self.value = None 4457 4458 4459class SkuCost(msrest.serialization.Model): 4460 """The metadata for retrieving price info. 4461 4462 Variables are only populated by the server, and will be ignored when sending a request. 4463 4464 :ivar meter_id: Used for querying price from commerce. 4465 :vartype meter_id: str 4466 :ivar quantity: The cost quantity. 4467 :vartype quantity: long 4468 :ivar extended_unit: The extended unit. 4469 :vartype extended_unit: str 4470 """ 4471 4472 _validation = { 4473 'meter_id': {'readonly': True}, 4474 'quantity': {'readonly': True}, 4475 'extended_unit': {'readonly': True}, 4476 } 4477 4478 _attribute_map = { 4479 'meter_id': {'key': 'meterId', 'type': 'str'}, 4480 'quantity': {'key': 'quantity', 'type': 'long'}, 4481 'extended_unit': {'key': 'extendedUnit', 'type': 'str'}, 4482 } 4483 4484 def __init__( 4485 self, 4486 **kwargs 4487 ): 4488 super(SkuCost, self).__init__(**kwargs) 4489 self.meter_id = None 4490 self.quantity = None 4491 self.extended_unit = None 4492 4493 4494class SkuInformation(msrest.serialization.Model): 4495 """Sku information. 4496 4497 Variables are only populated by the server, and will be ignored when sending a request. 4498 4499 :ivar name: The sku name. 4500 :vartype name: str 4501 :ivar tier: The sku tier. 4502 :vartype tier: str 4503 :ivar kind: The sku kind. 4504 :vartype kind: str 4505 :ivar family: The Sku family. 4506 :vartype family: str 4507 :ivar costs: The pricing info of the Sku. 4508 :vartype costs: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuCost] 4509 :ivar locations: The locations where Sku is available. 4510 :vartype locations: list[str] 4511 :ivar location_info: The locations where Sku is available with zones and sites info. 4512 :vartype location_info: list[~azure.mgmt.databoxedge.v2020_12_01.models.SkuLocationInfo] 4513 :ivar required_quota_ids: The required quotaIds for the sku to be available. 4514 :vartype required_quota_ids: list[str] 4515 :ivar required_features: The required features for the sku to be available. 4516 :vartype required_features: list[str] 4517 """ 4518 4519 _validation = { 4520 'name': {'readonly': True}, 4521 'tier': {'readonly': True}, 4522 'kind': {'readonly': True}, 4523 'family': {'readonly': True}, 4524 'costs': {'readonly': True}, 4525 'locations': {'readonly': True}, 4526 'location_info': {'readonly': True}, 4527 'required_quota_ids': {'readonly': True}, 4528 'required_features': {'readonly': True}, 4529 } 4530 4531 _attribute_map = { 4532 'name': {'key': 'name', 'type': 'str'}, 4533 'tier': {'key': 'tier', 'type': 'str'}, 4534 'kind': {'key': 'kind', 'type': 'str'}, 4535 'family': {'key': 'family', 'type': 'str'}, 4536 'costs': {'key': 'costs', 'type': '[SkuCost]'}, 4537 'locations': {'key': 'locations', 'type': '[str]'}, 4538 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfo]'}, 4539 'required_quota_ids': {'key': 'requiredQuotaIds', 'type': '[str]'}, 4540 'required_features': {'key': 'requiredFeatures', 'type': '[str]'}, 4541 } 4542 4543 def __init__( 4544 self, 4545 **kwargs 4546 ): 4547 super(SkuInformation, self).__init__(**kwargs) 4548 self.name = None 4549 self.tier = None 4550 self.kind = None 4551 self.family = None 4552 self.costs = None 4553 self.locations = None 4554 self.location_info = None 4555 self.required_quota_ids = None 4556 self.required_features = None 4557 4558 4559class SkuInformationList(msrest.serialization.Model): 4560 """List of SKU Information objects. 4561 4562 Variables are only populated by the server, and will be ignored when sending a request. 4563 4564 :ivar value: List of ResourceTypeSku objects. 4565 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.ResourceTypeSku] 4566 :ivar next_link: Links to the next set of results. 4567 :vartype next_link: str 4568 """ 4569 4570 _validation = { 4571 'value': {'readonly': True}, 4572 'next_link': {'readonly': True}, 4573 } 4574 4575 _attribute_map = { 4576 'value': {'key': 'value', 'type': '[ResourceTypeSku]'}, 4577 'next_link': {'key': 'nextLink', 'type': 'str'}, 4578 } 4579 4580 def __init__( 4581 self, 4582 **kwargs 4583 ): 4584 super(SkuInformationList, self).__init__(**kwargs) 4585 self.value = None 4586 self.next_link = None 4587 4588 4589class SkuLocationInfo(msrest.serialization.Model): 4590 """The location info. 4591 4592 Variables are only populated by the server, and will be ignored when sending a request. 4593 4594 :ivar location: The location. 4595 :vartype location: str 4596 :ivar zones: The zones. 4597 :vartype zones: list[str] 4598 :ivar sites: The sites. 4599 :vartype sites: list[str] 4600 """ 4601 4602 _validation = { 4603 'location': {'readonly': True}, 4604 'zones': {'readonly': True}, 4605 'sites': {'readonly': True}, 4606 } 4607 4608 _attribute_map = { 4609 'location': {'key': 'location', 'type': 'str'}, 4610 'zones': {'key': 'zones', 'type': '[str]'}, 4611 'sites': {'key': 'sites', 'type': '[str]'}, 4612 } 4613 4614 def __init__( 4615 self, 4616 **kwargs 4617 ): 4618 super(SkuLocationInfo, self).__init__(**kwargs) 4619 self.location = None 4620 self.zones = None 4621 self.sites = None 4622 4623 4624class StorageAccount(ARMBaseModel): 4625 """Represents a Storage Account on the Data Box Edge/Gateway device. 4626 4627 Variables are only populated by the server, and will be ignored when sending a request. 4628 4629 All required parameters must be populated in order to send to Azure. 4630 4631 :ivar id: The path ID that uniquely identifies the object. 4632 :vartype id: str 4633 :ivar name: The object name. 4634 :vartype name: str 4635 :ivar type: The hierarchical type of the object. 4636 :vartype type: str 4637 :ivar system_data: StorageAccount object on ASE device. 4638 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 4639 :param description: Description for the storage Account. 4640 :type description: str 4641 :param storage_account_status: Current status of the storage account. Possible values include: 4642 "OK", "Offline", "Unknown", "Updating", "NeedsAttention". 4643 :type storage_account_status: str or 4644 ~azure.mgmt.databoxedge.v2020_12_01.models.StorageAccountStatus 4645 :param data_policy: Required. Data policy of the storage Account. Possible values include: 4646 "Cloud", "Local". 4647 :type data_policy: str or ~azure.mgmt.databoxedge.v2020_12_01.models.DataPolicy 4648 :param storage_account_credential_id: Storage Account Credential Id. 4649 :type storage_account_credential_id: str 4650 :ivar blob_endpoint: BlobEndpoint of Storage Account. 4651 :vartype blob_endpoint: str 4652 :ivar container_count: The Container Count. Present only for Storage Accounts with DataPolicy 4653 set to Cloud. 4654 :vartype container_count: int 4655 """ 4656 4657 _validation = { 4658 'id': {'readonly': True}, 4659 'name': {'readonly': True}, 4660 'type': {'readonly': True}, 4661 'system_data': {'readonly': True}, 4662 'data_policy': {'required': True}, 4663 'blob_endpoint': {'readonly': True}, 4664 'container_count': {'readonly': True}, 4665 } 4666 4667 _attribute_map = { 4668 'id': {'key': 'id', 'type': 'str'}, 4669 'name': {'key': 'name', 'type': 'str'}, 4670 'type': {'key': 'type', 'type': 'str'}, 4671 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 4672 'description': {'key': 'properties.description', 'type': 'str'}, 4673 'storage_account_status': {'key': 'properties.storageAccountStatus', 'type': 'str'}, 4674 'data_policy': {'key': 'properties.dataPolicy', 'type': 'str'}, 4675 'storage_account_credential_id': {'key': 'properties.storageAccountCredentialId', 'type': 'str'}, 4676 'blob_endpoint': {'key': 'properties.blobEndpoint', 'type': 'str'}, 4677 'container_count': {'key': 'properties.containerCount', 'type': 'int'}, 4678 } 4679 4680 def __init__( 4681 self, 4682 *, 4683 data_policy: Union[str, "DataPolicy"], 4684 description: Optional[str] = None, 4685 storage_account_status: Optional[Union[str, "StorageAccountStatus"]] = None, 4686 storage_account_credential_id: Optional[str] = None, 4687 **kwargs 4688 ): 4689 super(StorageAccount, self).__init__(**kwargs) 4690 self.system_data = None 4691 self.description = description 4692 self.storage_account_status = storage_account_status 4693 self.data_policy = data_policy 4694 self.storage_account_credential_id = storage_account_credential_id 4695 self.blob_endpoint = None 4696 self.container_count = None 4697 4698 4699class StorageAccountCredential(ARMBaseModel): 4700 """The storage account credential. 4701 4702 Variables are only populated by the server, and will be ignored when sending a request. 4703 4704 All required parameters must be populated in order to send to Azure. 4705 4706 :ivar id: The path ID that uniquely identifies the object. 4707 :vartype id: str 4708 :ivar name: The object name. 4709 :vartype name: str 4710 :ivar type: The hierarchical type of the object. 4711 :vartype type: str 4712 :ivar system_data: StorageAccountCredential object. 4713 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 4714 :param alias: Required. Alias for the storage account. 4715 :type alias: str 4716 :param user_name: Username for the storage account. 4717 :type user_name: str 4718 :param account_key: Encrypted storage key. 4719 :type account_key: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 4720 :param connection_string: Connection string for the storage account. Use this string if 4721 username and account key are not specified. 4722 :type connection_string: str 4723 :param ssl_status: Required. Signifies whether SSL needs to be enabled or not. Possible values 4724 include: "Enabled", "Disabled". 4725 :type ssl_status: str or ~azure.mgmt.databoxedge.v2020_12_01.models.SSLStatus 4726 :param blob_domain_name: Blob end point for private clouds. 4727 :type blob_domain_name: str 4728 :param account_type: Required. Type of storage accessed on the storage account. Possible values 4729 include: "GeneralPurposeStorage", "BlobStorage". 4730 :type account_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AccountType 4731 :param storage_account_id: Id of the storage account. 4732 :type storage_account_id: str 4733 """ 4734 4735 _validation = { 4736 'id': {'readonly': True}, 4737 'name': {'readonly': True}, 4738 'type': {'readonly': True}, 4739 'system_data': {'readonly': True}, 4740 'alias': {'required': True}, 4741 'ssl_status': {'required': True}, 4742 'account_type': {'required': True}, 4743 } 4744 4745 _attribute_map = { 4746 'id': {'key': 'id', 'type': 'str'}, 4747 'name': {'key': 'name', 'type': 'str'}, 4748 'type': {'key': 'type', 'type': 'str'}, 4749 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 4750 'alias': {'key': 'properties.alias', 'type': 'str'}, 4751 'user_name': {'key': 'properties.userName', 'type': 'str'}, 4752 'account_key': {'key': 'properties.accountKey', 'type': 'AsymmetricEncryptedSecret'}, 4753 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, 4754 'ssl_status': {'key': 'properties.sslStatus', 'type': 'str'}, 4755 'blob_domain_name': {'key': 'properties.blobDomainName', 'type': 'str'}, 4756 'account_type': {'key': 'properties.accountType', 'type': 'str'}, 4757 'storage_account_id': {'key': 'properties.storageAccountId', 'type': 'str'}, 4758 } 4759 4760 def __init__( 4761 self, 4762 *, 4763 alias: str, 4764 ssl_status: Union[str, "SSLStatus"], 4765 account_type: Union[str, "AccountType"], 4766 user_name: Optional[str] = None, 4767 account_key: Optional["AsymmetricEncryptedSecret"] = None, 4768 connection_string: Optional[str] = None, 4769 blob_domain_name: Optional[str] = None, 4770 storage_account_id: Optional[str] = None, 4771 **kwargs 4772 ): 4773 super(StorageAccountCredential, self).__init__(**kwargs) 4774 self.system_data = None 4775 self.alias = alias 4776 self.user_name = user_name 4777 self.account_key = account_key 4778 self.connection_string = connection_string 4779 self.ssl_status = ssl_status 4780 self.blob_domain_name = blob_domain_name 4781 self.account_type = account_type 4782 self.storage_account_id = storage_account_id 4783 4784 4785class StorageAccountCredentialList(msrest.serialization.Model): 4786 """The collection of storage account credentials. 4787 4788 Variables are only populated by the server, and will be ignored when sending a request. 4789 4790 :ivar value: The value. 4791 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.StorageAccountCredential] 4792 :ivar next_link: Link to the next set of results. 4793 :vartype next_link: str 4794 """ 4795 4796 _validation = { 4797 'value': {'readonly': True}, 4798 'next_link': {'readonly': True}, 4799 } 4800 4801 _attribute_map = { 4802 'value': {'key': 'value', 'type': '[StorageAccountCredential]'}, 4803 'next_link': {'key': 'nextLink', 'type': 'str'}, 4804 } 4805 4806 def __init__( 4807 self, 4808 **kwargs 4809 ): 4810 super(StorageAccountCredentialList, self).__init__(**kwargs) 4811 self.value = None 4812 self.next_link = None 4813 4814 4815class StorageAccountList(msrest.serialization.Model): 4816 """Collection of all the Storage Accounts on the Data Box Edge/Gateway device. 4817 4818 Variables are only populated by the server, and will be ignored when sending a request. 4819 4820 :ivar value: The list of storageAccounts. 4821 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.StorageAccount] 4822 :ivar next_link: Link to the next set of results. 4823 :vartype next_link: str 4824 """ 4825 4826 _validation = { 4827 'value': {'readonly': True}, 4828 'next_link': {'readonly': True}, 4829 } 4830 4831 _attribute_map = { 4832 'value': {'key': 'value', 'type': '[StorageAccount]'}, 4833 'next_link': {'key': 'nextLink', 'type': 'str'}, 4834 } 4835 4836 def __init__( 4837 self, 4838 **kwargs 4839 ): 4840 super(StorageAccountList, self).__init__(**kwargs) 4841 self.value = None 4842 self.next_link = None 4843 4844 4845class SubscriptionRegisteredFeatures(msrest.serialization.Model): 4846 """SubscriptionRegisteredFeatures. 4847 4848 :param name: 4849 :type name: str 4850 :param state: 4851 :type state: str 4852 """ 4853 4854 _attribute_map = { 4855 'name': {'key': 'name', 'type': 'str'}, 4856 'state': {'key': 'state', 'type': 'str'}, 4857 } 4858 4859 def __init__( 4860 self, 4861 *, 4862 name: Optional[str] = None, 4863 state: Optional[str] = None, 4864 **kwargs 4865 ): 4866 super(SubscriptionRegisteredFeatures, self).__init__(**kwargs) 4867 self.name = name 4868 self.state = state 4869 4870 4871class SymmetricKey(msrest.serialization.Model): 4872 """Symmetric key for authentication. 4873 4874 :param connection_string: Connection string based on the symmetric key. 4875 :type connection_string: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 4876 """ 4877 4878 _attribute_map = { 4879 'connection_string': {'key': 'connectionString', 'type': 'AsymmetricEncryptedSecret'}, 4880 } 4881 4882 def __init__( 4883 self, 4884 *, 4885 connection_string: Optional["AsymmetricEncryptedSecret"] = None, 4886 **kwargs 4887 ): 4888 super(SymmetricKey, self).__init__(**kwargs) 4889 self.connection_string = connection_string 4890 4891 4892class SystemData(msrest.serialization.Model): 4893 """Metadata pertaining to creation and last modification of the resource. 4894 4895 :param created_by: The identity that created the resource. 4896 :type created_by: str 4897 :param created_by_type: The type of identity that created the resource. Possible values 4898 include: "User", "Application", "ManagedIdentity", "Key". 4899 :type created_by_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.CreatedByType 4900 :param created_at: The timestamp of resource creation (UTC). 4901 :type created_at: ~datetime.datetime 4902 :param last_modified_by: The identity that last modified the resource. 4903 :type last_modified_by: str 4904 :param last_modified_by_type: The type of identity that last modified the resource. Possible 4905 values include: "User", "Application", "ManagedIdentity", "Key". 4906 :type last_modified_by_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.CreatedByType 4907 :param last_modified_at: The type of identity that last modified the resource. 4908 :type last_modified_at: ~datetime.datetime 4909 """ 4910 4911 _attribute_map = { 4912 'created_by': {'key': 'createdBy', 'type': 'str'}, 4913 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 4914 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 4915 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 4916 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 4917 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 4918 } 4919 4920 def __init__( 4921 self, 4922 *, 4923 created_by: Optional[str] = None, 4924 created_by_type: Optional[Union[str, "CreatedByType"]] = None, 4925 created_at: Optional[datetime.datetime] = None, 4926 last_modified_by: Optional[str] = None, 4927 last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, 4928 last_modified_at: Optional[datetime.datetime] = None, 4929 **kwargs 4930 ): 4931 super(SystemData, self).__init__(**kwargs) 4932 self.created_by = created_by 4933 self.created_by_type = created_by_type 4934 self.created_at = created_at 4935 self.last_modified_by = last_modified_by 4936 self.last_modified_by_type = last_modified_by_type 4937 self.last_modified_at = last_modified_at 4938 4939 4940class TrackingInfo(msrest.serialization.Model): 4941 """Tracking courier information. 4942 4943 :param serial_number: Serial number of the device being tracked. 4944 :type serial_number: str 4945 :param carrier_name: Name of the carrier used in the delivery. 4946 :type carrier_name: str 4947 :param tracking_id: Tracking ID of the shipment. 4948 :type tracking_id: str 4949 :param tracking_url: Tracking URL of the shipment. 4950 :type tracking_url: str 4951 """ 4952 4953 _attribute_map = { 4954 'serial_number': {'key': 'serialNumber', 'type': 'str'}, 4955 'carrier_name': {'key': 'carrierName', 'type': 'str'}, 4956 'tracking_id': {'key': 'trackingId', 'type': 'str'}, 4957 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, 4958 } 4959 4960 def __init__( 4961 self, 4962 *, 4963 serial_number: Optional[str] = None, 4964 carrier_name: Optional[str] = None, 4965 tracking_id: Optional[str] = None, 4966 tracking_url: Optional[str] = None, 4967 **kwargs 4968 ): 4969 super(TrackingInfo, self).__init__(**kwargs) 4970 self.serial_number = serial_number 4971 self.carrier_name = carrier_name 4972 self.tracking_id = tracking_id 4973 self.tracking_url = tracking_url 4974 4975 4976class TriggerList(msrest.serialization.Model): 4977 """Collection of all trigger on the data box edge device. 4978 4979 Variables are only populated by the server, and will be ignored when sending a request. 4980 4981 :ivar value: The list of triggers. 4982 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.Trigger] 4983 :ivar next_link: Link to the next set of results. 4984 :vartype next_link: str 4985 """ 4986 4987 _validation = { 4988 'value': {'readonly': True}, 4989 'next_link': {'readonly': True}, 4990 } 4991 4992 _attribute_map = { 4993 'value': {'key': 'value', 'type': '[Trigger]'}, 4994 'next_link': {'key': 'nextLink', 'type': 'str'}, 4995 } 4996 4997 def __init__( 4998 self, 4999 **kwargs 5000 ): 5001 super(TriggerList, self).__init__(**kwargs) 5002 self.value = None 5003 self.next_link = None 5004 5005 5006class UpdateDownloadProgress(msrest.serialization.Model): 5007 """Details about the download progress of update. 5008 5009 Variables are only populated by the server, and will be ignored when sending a request. 5010 5011 :ivar download_phase: The download phase. Possible values include: "Unknown", "Initializing", 5012 "Downloading", "Verifying". 5013 :vartype download_phase: str or ~azure.mgmt.databoxedge.v2020_12_01.models.DownloadPhase 5014 :ivar percent_complete: Percentage of completion. 5015 :vartype percent_complete: int 5016 :ivar total_bytes_to_download: Total bytes to download. 5017 :vartype total_bytes_to_download: float 5018 :ivar total_bytes_downloaded: Total bytes downloaded. 5019 :vartype total_bytes_downloaded: float 5020 :ivar number_of_updates_to_download: Number of updates to download. 5021 :vartype number_of_updates_to_download: int 5022 :ivar number_of_updates_downloaded: Number of updates downloaded. 5023 :vartype number_of_updates_downloaded: int 5024 """ 5025 5026 _validation = { 5027 'download_phase': {'readonly': True}, 5028 'percent_complete': {'readonly': True}, 5029 'total_bytes_to_download': {'readonly': True}, 5030 'total_bytes_downloaded': {'readonly': True}, 5031 'number_of_updates_to_download': {'readonly': True}, 5032 'number_of_updates_downloaded': {'readonly': True}, 5033 } 5034 5035 _attribute_map = { 5036 'download_phase': {'key': 'downloadPhase', 'type': 'str'}, 5037 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 5038 'total_bytes_to_download': {'key': 'totalBytesToDownload', 'type': 'float'}, 5039 'total_bytes_downloaded': {'key': 'totalBytesDownloaded', 'type': 'float'}, 5040 'number_of_updates_to_download': {'key': 'numberOfUpdatesToDownload', 'type': 'int'}, 5041 'number_of_updates_downloaded': {'key': 'numberOfUpdatesDownloaded', 'type': 'int'}, 5042 } 5043 5044 def __init__( 5045 self, 5046 **kwargs 5047 ): 5048 super(UpdateDownloadProgress, self).__init__(**kwargs) 5049 self.download_phase = None 5050 self.percent_complete = None 5051 self.total_bytes_to_download = None 5052 self.total_bytes_downloaded = None 5053 self.number_of_updates_to_download = None 5054 self.number_of_updates_downloaded = None 5055 5056 5057class UpdateInstallProgress(msrest.serialization.Model): 5058 """Progress details during installation of updates. 5059 5060 Variables are only populated by the server, and will be ignored when sending a request. 5061 5062 :ivar percent_complete: Percentage completed. 5063 :vartype percent_complete: int 5064 :ivar number_of_updates_to_install: Number of updates to install. 5065 :vartype number_of_updates_to_install: int 5066 :ivar number_of_updates_installed: Number of updates installed. 5067 :vartype number_of_updates_installed: int 5068 """ 5069 5070 _validation = { 5071 'percent_complete': {'readonly': True}, 5072 'number_of_updates_to_install': {'readonly': True}, 5073 'number_of_updates_installed': {'readonly': True}, 5074 } 5075 5076 _attribute_map = { 5077 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 5078 'number_of_updates_to_install': {'key': 'numberOfUpdatesToInstall', 'type': 'int'}, 5079 'number_of_updates_installed': {'key': 'numberOfUpdatesInstalled', 'type': 'int'}, 5080 } 5081 5082 def __init__( 5083 self, 5084 **kwargs 5085 ): 5086 super(UpdateInstallProgress, self).__init__(**kwargs) 5087 self.percent_complete = None 5088 self.number_of_updates_to_install = None 5089 self.number_of_updates_installed = None 5090 5091 5092class UpdateSummary(ARMBaseModel): 5093 """Details about ongoing updates and availability of updates on the device. 5094 5095 Variables are only populated by the server, and will be ignored when sending a request. 5096 5097 :ivar id: The path ID that uniquely identifies the object. 5098 :vartype id: str 5099 :ivar name: The object name. 5100 :vartype name: str 5101 :ivar type: The hierarchical type of the object. 5102 :vartype type: str 5103 :param device_version_number: The current version of the device in format: 1.2.17312.13.",. 5104 :type device_version_number: str 5105 :param friendly_device_version_name: The current version of the device in text format. 5106 :type friendly_device_version_name: str 5107 :param device_last_scanned_date_time: The last time when a scan was done on the device. 5108 :type device_last_scanned_date_time: ~datetime.datetime 5109 :param last_completed_scan_job_date_time: The time when the last scan job was completed 5110 (success/cancelled/failed) on the appliance. 5111 :type last_completed_scan_job_date_time: ~datetime.datetime 5112 :ivar last_completed_download_job_date_time: The time when the last Download job was completed 5113 (success/cancelled/failed) on the appliance. 5114 :vartype last_completed_download_job_date_time: ~datetime.datetime 5115 :ivar last_completed_install_job_date_time: The time when the last Install job was completed 5116 (success/cancelled/failed) on the appliance. 5117 :vartype last_completed_install_job_date_time: ~datetime.datetime 5118 :ivar total_number_of_updates_available: The number of updates available for the current device 5119 version as per the last device scan. 5120 :vartype total_number_of_updates_available: int 5121 :ivar total_number_of_updates_pending_download: The total number of items pending download. 5122 :vartype total_number_of_updates_pending_download: int 5123 :ivar total_number_of_updates_pending_install: The total number of items pending install. 5124 :vartype total_number_of_updates_pending_install: int 5125 :ivar reboot_behavior: Indicates if updates are available and at least one of the updates needs 5126 a reboot. Possible values include: "NeverReboots", "RequiresReboot", "RequestReboot". 5127 :vartype reboot_behavior: str or 5128 ~azure.mgmt.databoxedge.v2020_12_01.models.InstallRebootBehavior 5129 :ivar ongoing_update_operation: The current update operation. Possible values include: "None", 5130 "Scan", "Download", "Install". 5131 :vartype ongoing_update_operation: str or 5132 ~azure.mgmt.databoxedge.v2020_12_01.models.UpdateOperation 5133 :ivar in_progress_download_job_id: The job ID of the download job in progress. 5134 :vartype in_progress_download_job_id: str 5135 :ivar in_progress_install_job_id: The job ID of the install job in progress. 5136 :vartype in_progress_install_job_id: str 5137 :ivar in_progress_download_job_started_date_time: The time when the currently running download 5138 (if any) started. 5139 :vartype in_progress_download_job_started_date_time: ~datetime.datetime 5140 :ivar in_progress_install_job_started_date_time: The time when the currently running install 5141 (if any) started. 5142 :vartype in_progress_install_job_started_date_time: ~datetime.datetime 5143 :ivar update_titles: The list of updates available for install. 5144 :vartype update_titles: list[str] 5145 :ivar total_update_size_in_bytes: The total size of updates available for download in bytes. 5146 :vartype total_update_size_in_bytes: float 5147 """ 5148 5149 _validation = { 5150 'id': {'readonly': True}, 5151 'name': {'readonly': True}, 5152 'type': {'readonly': True}, 5153 'last_completed_download_job_date_time': {'readonly': True}, 5154 'last_completed_install_job_date_time': {'readonly': True}, 5155 'total_number_of_updates_available': {'readonly': True}, 5156 'total_number_of_updates_pending_download': {'readonly': True}, 5157 'total_number_of_updates_pending_install': {'readonly': True}, 5158 'reboot_behavior': {'readonly': True}, 5159 'ongoing_update_operation': {'readonly': True}, 5160 'in_progress_download_job_id': {'readonly': True}, 5161 'in_progress_install_job_id': {'readonly': True}, 5162 'in_progress_download_job_started_date_time': {'readonly': True}, 5163 'in_progress_install_job_started_date_time': {'readonly': True}, 5164 'update_titles': {'readonly': True}, 5165 'total_update_size_in_bytes': {'readonly': True}, 5166 } 5167 5168 _attribute_map = { 5169 'id': {'key': 'id', 'type': 'str'}, 5170 'name': {'key': 'name', 'type': 'str'}, 5171 'type': {'key': 'type', 'type': 'str'}, 5172 'device_version_number': {'key': 'properties.deviceVersionNumber', 'type': 'str'}, 5173 'friendly_device_version_name': {'key': 'properties.friendlyDeviceVersionName', 'type': 'str'}, 5174 'device_last_scanned_date_time': {'key': 'properties.deviceLastScannedDateTime', 'type': 'iso-8601'}, 5175 'last_completed_scan_job_date_time': {'key': 'properties.lastCompletedScanJobDateTime', 'type': 'iso-8601'}, 5176 'last_completed_download_job_date_time': {'key': 'properties.lastCompletedDownloadJobDateTime', 'type': 'iso-8601'}, 5177 'last_completed_install_job_date_time': {'key': 'properties.lastCompletedInstallJobDateTime', 'type': 'iso-8601'}, 5178 'total_number_of_updates_available': {'key': 'properties.totalNumberOfUpdatesAvailable', 'type': 'int'}, 5179 'total_number_of_updates_pending_download': {'key': 'properties.totalNumberOfUpdatesPendingDownload', 'type': 'int'}, 5180 'total_number_of_updates_pending_install': {'key': 'properties.totalNumberOfUpdatesPendingInstall', 'type': 'int'}, 5181 'reboot_behavior': {'key': 'properties.rebootBehavior', 'type': 'str'}, 5182 'ongoing_update_operation': {'key': 'properties.ongoingUpdateOperation', 'type': 'str'}, 5183 'in_progress_download_job_id': {'key': 'properties.inProgressDownloadJobId', 'type': 'str'}, 5184 'in_progress_install_job_id': {'key': 'properties.inProgressInstallJobId', 'type': 'str'}, 5185 'in_progress_download_job_started_date_time': {'key': 'properties.inProgressDownloadJobStartedDateTime', 'type': 'iso-8601'}, 5186 'in_progress_install_job_started_date_time': {'key': 'properties.inProgressInstallJobStartedDateTime', 'type': 'iso-8601'}, 5187 'update_titles': {'key': 'properties.updateTitles', 'type': '[str]'}, 5188 'total_update_size_in_bytes': {'key': 'properties.totalUpdateSizeInBytes', 'type': 'float'}, 5189 } 5190 5191 def __init__( 5192 self, 5193 *, 5194 device_version_number: Optional[str] = None, 5195 friendly_device_version_name: Optional[str] = None, 5196 device_last_scanned_date_time: Optional[datetime.datetime] = None, 5197 last_completed_scan_job_date_time: Optional[datetime.datetime] = None, 5198 **kwargs 5199 ): 5200 super(UpdateSummary, self).__init__(**kwargs) 5201 self.device_version_number = device_version_number 5202 self.friendly_device_version_name = friendly_device_version_name 5203 self.device_last_scanned_date_time = device_last_scanned_date_time 5204 self.last_completed_scan_job_date_time = last_completed_scan_job_date_time 5205 self.last_completed_download_job_date_time = None 5206 self.last_completed_install_job_date_time = None 5207 self.total_number_of_updates_available = None 5208 self.total_number_of_updates_pending_download = None 5209 self.total_number_of_updates_pending_install = None 5210 self.reboot_behavior = None 5211 self.ongoing_update_operation = None 5212 self.in_progress_download_job_id = None 5213 self.in_progress_install_job_id = None 5214 self.in_progress_download_job_started_date_time = None 5215 self.in_progress_install_job_started_date_time = None 5216 self.update_titles = None 5217 self.total_update_size_in_bytes = None 5218 5219 5220class UploadCertificateRequest(msrest.serialization.Model): 5221 """The upload certificate request. 5222 5223 All required parameters must be populated in order to send to Azure. 5224 5225 :param authentication_type: The authentication type. Possible values include: "Invalid", 5226 "AzureActiveDirectory". 5227 :type authentication_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AuthenticationType 5228 :param certificate: Required. The base64 encoded certificate raw data. 5229 :type certificate: str 5230 """ 5231 5232 _validation = { 5233 'certificate': {'required': True}, 5234 } 5235 5236 _attribute_map = { 5237 'authentication_type': {'key': 'properties.authenticationType', 'type': 'str'}, 5238 'certificate': {'key': 'properties.certificate', 'type': 'str'}, 5239 } 5240 5241 def __init__( 5242 self, 5243 *, 5244 certificate: str, 5245 authentication_type: Optional[Union[str, "AuthenticationType"]] = None, 5246 **kwargs 5247 ): 5248 super(UploadCertificateRequest, self).__init__(**kwargs) 5249 self.authentication_type = authentication_type 5250 self.certificate = certificate 5251 5252 5253class UploadCertificateResponse(msrest.serialization.Model): 5254 """The upload registration certificate response. 5255 5256 Variables are only populated by the server, and will be ignored when sending a request. 5257 5258 :param auth_type: Specifies authentication type. Possible values include: "Invalid", 5259 "AzureActiveDirectory". 5260 :type auth_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.AuthenticationType 5261 :ivar resource_id: The resource ID of the Data Box Edge/Gateway device. 5262 :vartype resource_id: str 5263 :ivar aad_authority: Azure Active Directory tenant authority. 5264 :vartype aad_authority: str 5265 :ivar aad_tenant_id: Azure Active Directory tenant ID. 5266 :vartype aad_tenant_id: str 5267 :ivar service_principal_client_id: Azure Active Directory service principal client ID. 5268 :vartype service_principal_client_id: str 5269 :ivar service_principal_object_id: Azure Active Directory service principal object ID. 5270 :vartype service_principal_object_id: str 5271 :ivar azure_management_endpoint_audience: The azure management endpoint audience. 5272 :vartype azure_management_endpoint_audience: str 5273 :ivar aad_audience: Identifier of the target resource that is the recipient of the requested 5274 token. 5275 :vartype aad_audience: str 5276 """ 5277 5278 _validation = { 5279 'resource_id': {'readonly': True}, 5280 'aad_authority': {'readonly': True}, 5281 'aad_tenant_id': {'readonly': True}, 5282 'service_principal_client_id': {'readonly': True}, 5283 'service_principal_object_id': {'readonly': True}, 5284 'azure_management_endpoint_audience': {'readonly': True}, 5285 'aad_audience': {'readonly': True}, 5286 } 5287 5288 _attribute_map = { 5289 'auth_type': {'key': 'authType', 'type': 'str'}, 5290 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5291 'aad_authority': {'key': 'aadAuthority', 'type': 'str'}, 5292 'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'}, 5293 'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'}, 5294 'service_principal_object_id': {'key': 'servicePrincipalObjectId', 'type': 'str'}, 5295 'azure_management_endpoint_audience': {'key': 'azureManagementEndpointAudience', 'type': 'str'}, 5296 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 5297 } 5298 5299 def __init__( 5300 self, 5301 *, 5302 auth_type: Optional[Union[str, "AuthenticationType"]] = None, 5303 **kwargs 5304 ): 5305 super(UploadCertificateResponse, self).__init__(**kwargs) 5306 self.auth_type = auth_type 5307 self.resource_id = None 5308 self.aad_authority = None 5309 self.aad_tenant_id = None 5310 self.service_principal_client_id = None 5311 self.service_principal_object_id = None 5312 self.azure_management_endpoint_audience = None 5313 self.aad_audience = None 5314 5315 5316class User(ARMBaseModel): 5317 """Represents a user who has access to one or more shares on the Data Box Edge/Gateway device. 5318 5319 Variables are only populated by the server, and will be ignored when sending a request. 5320 5321 All required parameters must be populated in order to send to Azure. 5322 5323 :ivar id: The path ID that uniquely identifies the object. 5324 :vartype id: str 5325 :ivar name: The object name. 5326 :vartype name: str 5327 :ivar type: The hierarchical type of the object. 5328 :vartype type: str 5329 :ivar system_data: User in DataBoxEdge Resource. 5330 :vartype system_data: ~azure.mgmt.databoxedge.v2020_12_01.models.SystemData 5331 :param encrypted_password: The password details. 5332 :type encrypted_password: ~azure.mgmt.databoxedge.v2020_12_01.models.AsymmetricEncryptedSecret 5333 :ivar share_access_rights: List of shares that the user has rights on. This field should not be 5334 specified during user creation. 5335 :vartype share_access_rights: list[~azure.mgmt.databoxedge.v2020_12_01.models.ShareAccessRight] 5336 :param user_type: Required. Type of the user. Possible values include: "Share", 5337 "LocalManagement", "ARM". 5338 :type user_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.UserType 5339 """ 5340 5341 _validation = { 5342 'id': {'readonly': True}, 5343 'name': {'readonly': True}, 5344 'type': {'readonly': True}, 5345 'system_data': {'readonly': True}, 5346 'share_access_rights': {'readonly': True}, 5347 'user_type': {'required': True}, 5348 } 5349 5350 _attribute_map = { 5351 'id': {'key': 'id', 'type': 'str'}, 5352 'name': {'key': 'name', 'type': 'str'}, 5353 'type': {'key': 'type', 'type': 'str'}, 5354 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 5355 'encrypted_password': {'key': 'properties.encryptedPassword', 'type': 'AsymmetricEncryptedSecret'}, 5356 'share_access_rights': {'key': 'properties.shareAccessRights', 'type': '[ShareAccessRight]'}, 5357 'user_type': {'key': 'properties.userType', 'type': 'str'}, 5358 } 5359 5360 def __init__( 5361 self, 5362 *, 5363 user_type: Union[str, "UserType"], 5364 encrypted_password: Optional["AsymmetricEncryptedSecret"] = None, 5365 **kwargs 5366 ): 5367 super(User, self).__init__(**kwargs) 5368 self.system_data = None 5369 self.encrypted_password = encrypted_password 5370 self.share_access_rights = None 5371 self.user_type = user_type 5372 5373 5374class UserAccessRight(msrest.serialization.Model): 5375 """The mapping between a particular user and the access type on the SMB share. 5376 5377 All required parameters must be populated in order to send to Azure. 5378 5379 :param user_id: Required. User ID (already existing in the device). 5380 :type user_id: str 5381 :param access_type: Required. Type of access to be allowed for the user. Possible values 5382 include: "Change", "Read", "Custom". 5383 :type access_type: str or ~azure.mgmt.databoxedge.v2020_12_01.models.ShareAccessType 5384 """ 5385 5386 _validation = { 5387 'user_id': {'required': True}, 5388 'access_type': {'required': True}, 5389 } 5390 5391 _attribute_map = { 5392 'user_id': {'key': 'userId', 'type': 'str'}, 5393 'access_type': {'key': 'accessType', 'type': 'str'}, 5394 } 5395 5396 def __init__( 5397 self, 5398 *, 5399 user_id: str, 5400 access_type: Union[str, "ShareAccessType"], 5401 **kwargs 5402 ): 5403 super(UserAccessRight, self).__init__(**kwargs) 5404 self.user_id = user_id 5405 self.access_type = access_type 5406 5407 5408class UserList(msrest.serialization.Model): 5409 """Collection of users. 5410 5411 Variables are only populated by the server, and will be ignored when sending a request. 5412 5413 :ivar value: The list of users. 5414 :vartype value: list[~azure.mgmt.databoxedge.v2020_12_01.models.User] 5415 :ivar next_link: Link to the next set of results. 5416 :vartype next_link: str 5417 """ 5418 5419 _validation = { 5420 'value': {'readonly': True}, 5421 'next_link': {'readonly': True}, 5422 } 5423 5424 _attribute_map = { 5425 'value': {'key': 'value', 'type': '[User]'}, 5426 'next_link': {'key': 'nextLink', 'type': 'str'}, 5427 } 5428 5429 def __init__( 5430 self, 5431 **kwargs 5432 ): 5433 super(UserList, self).__init__(**kwargs) 5434 self.value = None 5435 self.next_link = None 5436