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