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 Address(msrest.serialization.Model): 13 """The shipping address of the customer. 14 15 All required parameters must be populated in order to send to Azure. 16 17 :param address_line1: Required. The address line1. 18 :type address_line1: str 19 :param address_line2: The address line2. 20 :type address_line2: str 21 :param address_line3: The address line3. 22 :type address_line3: str 23 :param postal_code: Required. The postal code. 24 :type postal_code: str 25 :param city: Required. The city name. 26 :type city: str 27 :param state: Required. The state name. 28 :type state: str 29 :param country: Required. The country name. 30 :type country: str 31 """ 32 33 _validation = { 34 'address_line1': {'required': True}, 35 'postal_code': {'required': True}, 36 'city': {'required': True}, 37 'state': {'required': True}, 38 'country': {'required': True}, 39 } 40 41 _attribute_map = { 42 'address_line1': {'key': 'addressLine1', 'type': 'str'}, 43 'address_line2': {'key': 'addressLine2', 'type': 'str'}, 44 'address_line3': {'key': 'addressLine3', 'type': 'str'}, 45 'postal_code': {'key': 'postalCode', 'type': 'str'}, 46 'city': {'key': 'city', 'type': 'str'}, 47 'state': {'key': 'state', 'type': 'str'}, 48 'country': {'key': 'country', 'type': 'str'}, 49 } 50 51 def __init__( 52 self, 53 **kwargs 54 ): 55 super(Address, self).__init__(**kwargs) 56 self.address_line1 = kwargs['address_line1'] 57 self.address_line2 = kwargs.get('address_line2', None) 58 self.address_line3 = kwargs.get('address_line3', None) 59 self.postal_code = kwargs['postal_code'] 60 self.city = kwargs['city'] 61 self.state = kwargs['state'] 62 self.country = kwargs['country'] 63 64 65class ARMBaseModel(msrest.serialization.Model): 66 """Represents the base class for all object models. 67 68 Variables are only populated by the server, and will be ignored when sending a request. 69 70 :ivar id: The path ID that uniquely identifies the object. 71 :vartype id: str 72 :ivar name: The object name. 73 :vartype name: str 74 :ivar type: The hierarchical type of the object. 75 :vartype type: str 76 """ 77 78 _validation = { 79 'id': {'readonly': True}, 80 'name': {'readonly': True}, 81 'type': {'readonly': True}, 82 } 83 84 _attribute_map = { 85 'id': {'key': 'id', 'type': 'str'}, 86 'name': {'key': 'name', 'type': 'str'}, 87 'type': {'key': 'type', 'type': 'str'}, 88 } 89 90 def __init__( 91 self, 92 **kwargs 93 ): 94 super(ARMBaseModel, self).__init__(**kwargs) 95 self.id = None 96 self.name = None 97 self.type = None 98 99 100class Alert(ARMBaseModel): 101 """Alert on the data box edge/gateway device. 102 103 Variables are only populated by the server, and will be ignored when sending a request. 104 105 :ivar id: The path ID that uniquely identifies the object. 106 :vartype id: str 107 :ivar name: The object name. 108 :vartype name: str 109 :ivar type: The hierarchical type of the object. 110 :vartype type: str 111 :ivar title: Alert title. 112 :vartype title: str 113 :ivar alert_type: Alert type. 114 :vartype alert_type: str 115 :ivar appeared_at_date_time: UTC time when the alert appeared. 116 :vartype appeared_at_date_time: ~datetime.datetime 117 :ivar recommendation: Alert recommendation. 118 :vartype recommendation: str 119 :ivar severity: Severity of the alert. Possible values include: "Informational", "Warning", 120 "Critical". 121 :vartype severity: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AlertSeverity 122 :ivar error_details: Error details of the alert. 123 :vartype error_details: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AlertErrorDetails 124 :ivar detailed_information: Alert details. 125 :vartype detailed_information: dict[str, str] 126 """ 127 128 _validation = { 129 'id': {'readonly': True}, 130 'name': {'readonly': True}, 131 'type': {'readonly': True}, 132 'title': {'readonly': True}, 133 'alert_type': {'readonly': True}, 134 'appeared_at_date_time': {'readonly': True}, 135 'recommendation': {'readonly': True}, 136 'severity': {'readonly': True}, 137 'error_details': {'readonly': True}, 138 'detailed_information': {'readonly': True}, 139 } 140 141 _attribute_map = { 142 'id': {'key': 'id', 'type': 'str'}, 143 'name': {'key': 'name', 'type': 'str'}, 144 'type': {'key': 'type', 'type': 'str'}, 145 'title': {'key': 'properties.title', 'type': 'str'}, 146 'alert_type': {'key': 'properties.alertType', 'type': 'str'}, 147 'appeared_at_date_time': {'key': 'properties.appearedAtDateTime', 'type': 'iso-8601'}, 148 'recommendation': {'key': 'properties.recommendation', 'type': 'str'}, 149 'severity': {'key': 'properties.severity', 'type': 'str'}, 150 'error_details': {'key': 'properties.errorDetails', 'type': 'AlertErrorDetails'}, 151 'detailed_information': {'key': 'properties.detailedInformation', 'type': '{str}'}, 152 } 153 154 def __init__( 155 self, 156 **kwargs 157 ): 158 super(Alert, self).__init__(**kwargs) 159 self.title = None 160 self.alert_type = None 161 self.appeared_at_date_time = None 162 self.recommendation = None 163 self.severity = None 164 self.error_details = None 165 self.detailed_information = None 166 167 168class AlertErrorDetails(msrest.serialization.Model): 169 """Error details for the alert. 170 171 Variables are only populated by the server, and will be ignored when sending a request. 172 173 :ivar error_code: Error code. 174 :vartype error_code: str 175 :ivar error_message: Error Message. 176 :vartype error_message: str 177 :ivar occurrences: Number of occurrences. 178 :vartype occurrences: int 179 """ 180 181 _validation = { 182 'error_code': {'readonly': True}, 183 'error_message': {'readonly': True}, 184 'occurrences': {'readonly': True}, 185 } 186 187 _attribute_map = { 188 'error_code': {'key': 'errorCode', 'type': 'str'}, 189 'error_message': {'key': 'errorMessage', 'type': 'str'}, 190 'occurrences': {'key': 'occurrences', 'type': 'int'}, 191 } 192 193 def __init__( 194 self, 195 **kwargs 196 ): 197 super(AlertErrorDetails, self).__init__(**kwargs) 198 self.error_code = None 199 self.error_message = None 200 self.occurrences = None 201 202 203class AlertList(msrest.serialization.Model): 204 """Collection of alerts. 205 206 Variables are only populated by the server, and will be ignored when sending a request. 207 208 :ivar value: The value. 209 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Alert] 210 :ivar next_link: Link to the next set of results. 211 :vartype next_link: str 212 """ 213 214 _validation = { 215 'value': {'readonly': True}, 216 'next_link': {'readonly': True}, 217 } 218 219 _attribute_map = { 220 'value': {'key': 'value', 'type': '[Alert]'}, 221 'next_link': {'key': 'nextLink', 'type': 'str'}, 222 } 223 224 def __init__( 225 self, 226 **kwargs 227 ): 228 super(AlertList, self).__init__(**kwargs) 229 self.value = None 230 self.next_link = None 231 232 233class AsymmetricEncryptedSecret(msrest.serialization.Model): 234 """Represent the secrets intended for encryption with asymmetric key pair. 235 236 All required parameters must be populated in order to send to Azure. 237 238 :param value: Required. The value of the secret. 239 :type value: str 240 :param encryption_cert_thumbprint: Thumbprint certificate used to encrypt \"Value\". If the 241 value is unencrypted, it will be null. 242 :type encryption_cert_thumbprint: str 243 :param encryption_algorithm: Required. The algorithm used to encrypt "Value". Possible values 244 include: "None", "AES256", "RSAES_PKCS1_v_1_5". 245 :type encryption_algorithm: str or 246 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.EncryptionAlgorithm 247 """ 248 249 _validation = { 250 'value': {'required': True}, 251 'encryption_algorithm': {'required': True}, 252 } 253 254 _attribute_map = { 255 'value': {'key': 'value', 'type': 'str'}, 256 'encryption_cert_thumbprint': {'key': 'encryptionCertThumbprint', 'type': 'str'}, 257 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, 258 } 259 260 def __init__( 261 self, 262 **kwargs 263 ): 264 super(AsymmetricEncryptedSecret, self).__init__(**kwargs) 265 self.value = kwargs['value'] 266 self.encryption_cert_thumbprint = kwargs.get('encryption_cert_thumbprint', None) 267 self.encryption_algorithm = kwargs['encryption_algorithm'] 268 269 270class Authentication(msrest.serialization.Model): 271 """Authentication mechanism for IoT devices. 272 273 :param symmetric_key: Symmetric key for authentication. 274 :type symmetric_key: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SymmetricKey 275 """ 276 277 _attribute_map = { 278 'symmetric_key': {'key': 'symmetricKey', 'type': 'SymmetricKey'}, 279 } 280 281 def __init__( 282 self, 283 **kwargs 284 ): 285 super(Authentication, self).__init__(**kwargs) 286 self.symmetric_key = kwargs.get('symmetric_key', None) 287 288 289class AzureContainerInfo(msrest.serialization.Model): 290 """Azure container mapping of the endpoint. 291 292 All required parameters must be populated in order to send to Azure. 293 294 :param storage_account_credential_id: Required. ID of the storage account credential used to 295 access storage. 296 :type storage_account_credential_id: str 297 :param container_name: Required. Container name (Based on the data format specified, this 298 represents the name of Azure Files/Page blob/Block blob). 299 :type container_name: str 300 :param data_format: Required. Storage format used for the file represented by the share. 301 Possible values include: "BlockBlob", "PageBlob", "AzureFile". 302 :type data_format: str or 303 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AzureContainerDataFormat 304 """ 305 306 _validation = { 307 'storage_account_credential_id': {'required': True}, 308 'container_name': {'required': True}, 309 'data_format': {'required': True}, 310 } 311 312 _attribute_map = { 313 'storage_account_credential_id': {'key': 'storageAccountCredentialId', 'type': 'str'}, 314 'container_name': {'key': 'containerName', 'type': 'str'}, 315 'data_format': {'key': 'dataFormat', 'type': 'str'}, 316 } 317 318 def __init__( 319 self, 320 **kwargs 321 ): 322 super(AzureContainerInfo, self).__init__(**kwargs) 323 self.storage_account_credential_id = kwargs['storage_account_credential_id'] 324 self.container_name = kwargs['container_name'] 325 self.data_format = kwargs['data_format'] 326 327 328class BandwidthSchedule(ARMBaseModel): 329 """The bandwidth schedule details. 330 331 Variables are only populated by the server, and will be ignored when sending a request. 332 333 All required parameters must be populated in order to send to Azure. 334 335 :ivar id: The path ID that uniquely identifies the object. 336 :vartype id: str 337 :ivar name: The object name. 338 :vartype name: str 339 :ivar type: The hierarchical type of the object. 340 :vartype type: str 341 :param start: Required. The start time of the schedule in UTC. 342 :type start: str 343 :param stop: Required. The stop time of the schedule in UTC. 344 :type stop: str 345 :param rate_in_mbps: Required. The bandwidth rate in Mbps. 346 :type rate_in_mbps: int 347 :param days: Required. The days of the week when this schedule is applicable. 348 :type days: list[str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DayOfWeek] 349 """ 350 351 _validation = { 352 'id': {'readonly': True}, 353 'name': {'readonly': True}, 354 'type': {'readonly': True}, 355 'start': {'required': True}, 356 'stop': {'required': True}, 357 'rate_in_mbps': {'required': True}, 358 'days': {'required': True}, 359 } 360 361 _attribute_map = { 362 'id': {'key': 'id', 'type': 'str'}, 363 'name': {'key': 'name', 'type': 'str'}, 364 'type': {'key': 'type', 'type': 'str'}, 365 'start': {'key': 'properties.start', 'type': 'str'}, 366 'stop': {'key': 'properties.stop', 'type': 'str'}, 367 'rate_in_mbps': {'key': 'properties.rateInMbps', 'type': 'int'}, 368 'days': {'key': 'properties.days', 'type': '[str]'}, 369 } 370 371 def __init__( 372 self, 373 **kwargs 374 ): 375 super(BandwidthSchedule, self).__init__(**kwargs) 376 self.start = kwargs['start'] 377 self.stop = kwargs['stop'] 378 self.rate_in_mbps = kwargs['rate_in_mbps'] 379 self.days = kwargs['days'] 380 381 382class BandwidthSchedulesList(msrest.serialization.Model): 383 """The collection of bandwidth schedules. 384 385 Variables are only populated by the server, and will be ignored when sending a request. 386 387 :ivar value: The list of bandwidth schedules. 388 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.BandwidthSchedule] 389 :ivar next_link: Link to the next set of results. 390 :vartype next_link: str 391 """ 392 393 _validation = { 394 'value': {'readonly': True}, 395 'next_link': {'readonly': True}, 396 } 397 398 _attribute_map = { 399 'value': {'key': 'value', 'type': '[BandwidthSchedule]'}, 400 'next_link': {'key': 'nextLink', 'type': 'str'}, 401 } 402 403 def __init__( 404 self, 405 **kwargs 406 ): 407 super(BandwidthSchedulesList, self).__init__(**kwargs) 408 self.value = None 409 self.next_link = None 410 411 412class ClientAccessRight(msrest.serialization.Model): 413 """The mapping between a particular client IP and the type of access client has on the NFS share. 414 415 All required parameters must be populated in order to send to Azure. 416 417 :param client: Required. IP of the client. 418 :type client: str 419 :param access_permission: Required. Type of access to be allowed for the client. Possible 420 values include: "NoAccess", "ReadOnly", "ReadWrite". 421 :type access_permission: str or 422 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ClientPermissionType 423 """ 424 425 _validation = { 426 'client': {'required': True}, 427 'access_permission': {'required': True}, 428 } 429 430 _attribute_map = { 431 'client': {'key': 'client', 'type': 'str'}, 432 'access_permission': {'key': 'accessPermission', 'type': 'str'}, 433 } 434 435 def __init__( 436 self, 437 **kwargs 438 ): 439 super(ClientAccessRight, self).__init__(**kwargs) 440 self.client = kwargs['client'] 441 self.access_permission = kwargs['access_permission'] 442 443 444class CloudErrorBody(msrest.serialization.Model): 445 """An error response from the service. 446 447 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 448 programmatically. 449 :type code: str 450 :param message: A message describing the error, intended to be suitable for display in a user 451 interface. 452 :type message: str 453 :param details: A list of additional details about the error. 454 :type details: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.CloudErrorBody] 455 """ 456 457 _attribute_map = { 458 'code': {'key': 'code', 'type': 'str'}, 459 'message': {'key': 'message', 'type': 'str'}, 460 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 461 } 462 463 def __init__( 464 self, 465 **kwargs 466 ): 467 super(CloudErrorBody, self).__init__(**kwargs) 468 self.code = kwargs.get('code', None) 469 self.message = kwargs.get('message', None) 470 self.details = kwargs.get('details', None) 471 472 473class ContactDetails(msrest.serialization.Model): 474 """Contains all the contact details of the customer. 475 476 All required parameters must be populated in order to send to Azure. 477 478 :param contact_person: Required. The contact person name. 479 :type contact_person: str 480 :param company_name: Required. The name of the company. 481 :type company_name: str 482 :param phone: Required. The phone number. 483 :type phone: str 484 :param email_list: Required. The email list. 485 :type email_list: list[str] 486 """ 487 488 _validation = { 489 'contact_person': {'required': True}, 490 'company_name': {'required': True}, 491 'phone': {'required': True}, 492 'email_list': {'required': True}, 493 } 494 495 _attribute_map = { 496 'contact_person': {'key': 'contactPerson', 'type': 'str'}, 497 'company_name': {'key': 'companyName', 'type': 'str'}, 498 'phone': {'key': 'phone', 'type': 'str'}, 499 'email_list': {'key': 'emailList', 'type': '[str]'}, 500 } 501 502 def __init__( 503 self, 504 **kwargs 505 ): 506 super(ContactDetails, self).__init__(**kwargs) 507 self.contact_person = kwargs['contact_person'] 508 self.company_name = kwargs['company_name'] 509 self.phone = kwargs['phone'] 510 self.email_list = kwargs['email_list'] 511 512 513class Container(ARMBaseModel): 514 """Represents a container on the Data Box Edge/Gateway device. 515 516 Variables are only populated by the server, and will be ignored when sending a request. 517 518 All required parameters must be populated in order to send to Azure. 519 520 :ivar id: The path ID that uniquely identifies the object. 521 :vartype id: str 522 :ivar name: The object name. 523 :vartype name: str 524 :ivar type: The hierarchical type of the object. 525 :vartype type: str 526 :ivar container_status: Current status of the container. Possible values include: "OK", 527 "Offline", "Unknown", "Updating", "NeedsAttention". 528 :vartype container_status: str or 529 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ContainerStatus 530 :param data_format: Required. DataFormat for Container. Possible values include: "BlockBlob", 531 "PageBlob", "AzureFile". 532 :type data_format: str or 533 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AzureContainerDataFormat 534 :ivar refresh_details: Details of the refresh job on this container. 535 :vartype refresh_details: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RefreshDetails 536 :ivar created_date_time: The UTC time when container got created. 537 :vartype created_date_time: ~datetime.datetime 538 """ 539 540 _validation = { 541 'id': {'readonly': True}, 542 'name': {'readonly': True}, 543 'type': {'readonly': True}, 544 'container_status': {'readonly': True}, 545 'data_format': {'required': True}, 546 'refresh_details': {'readonly': True}, 547 'created_date_time': {'readonly': True}, 548 } 549 550 _attribute_map = { 551 'id': {'key': 'id', 'type': 'str'}, 552 'name': {'key': 'name', 'type': 'str'}, 553 'type': {'key': 'type', 'type': 'str'}, 554 'container_status': {'key': 'properties.containerStatus', 'type': 'str'}, 555 'data_format': {'key': 'properties.dataFormat', 'type': 'str'}, 556 'refresh_details': {'key': 'properties.refreshDetails', 'type': 'RefreshDetails'}, 557 'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'}, 558 } 559 560 def __init__( 561 self, 562 **kwargs 563 ): 564 super(Container, self).__init__(**kwargs) 565 self.container_status = None 566 self.data_format = kwargs['data_format'] 567 self.refresh_details = None 568 self.created_date_time = None 569 570 571class ContainerList(msrest.serialization.Model): 572 """Collection of all the containers on the Data Box Edge/Gateway device. 573 574 Variables are only populated by the server, and will be ignored when sending a request. 575 576 :ivar value: The list of containers. 577 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Container] 578 :ivar next_link: Link to the next set of results. 579 :vartype next_link: str 580 """ 581 582 _validation = { 583 'value': {'readonly': True}, 584 'next_link': {'readonly': True}, 585 } 586 587 _attribute_map = { 588 'value': {'key': 'value', 'type': '[Container]'}, 589 'next_link': {'key': 'nextLink', 'type': 'str'}, 590 } 591 592 def __init__( 593 self, 594 **kwargs 595 ): 596 super(ContainerList, self).__init__(**kwargs) 597 self.value = None 598 self.next_link = None 599 600 601class DataBoxEdgeDevice(ARMBaseModel): 602 """The Data Box Edge/Gateway device. 603 604 Variables are only populated by the server, and will be ignored when sending a request. 605 606 All required parameters must be populated in order to send to Azure. 607 608 :ivar id: The path ID that uniquely identifies the object. 609 :vartype id: str 610 :ivar name: The object name. 611 :vartype name: str 612 :ivar type: The hierarchical type of the object. 613 :vartype type: str 614 :param location: Required. The location of the device. This is a supported and registered Azure 615 geographical region (for example, West US, East US, or Southeast Asia). The geographical region 616 of a device cannot be changed once it is created, but if an identical geographical region is 617 specified on update, the request will succeed. 618 :type location: str 619 :param tags: A set of tags. The list of tags that describe the device. These tags can be used 620 to view and group this device (across resource groups). 621 :type tags: dict[str, str] 622 :param sku: The SKU type. 623 :type sku: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.Sku 624 :param etag: The etag for the devices. 625 :type etag: str 626 :param data_box_edge_device_status: The status of the Data Box Edge/Gateway device. Possible 627 values include: "ReadyToSetup", "Online", "Offline", "NeedsAttention", "Disconnected", 628 "PartiallyDisconnected", "Maintenance". 629 :type data_box_edge_device_status: str or 630 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DataBoxEdgeDeviceStatus 631 :ivar serial_number: The Serial Number of Data Box Edge/Gateway device. 632 :vartype serial_number: str 633 :param description: The Description of the Data Box Edge/Gateway device. 634 :type description: str 635 :param model_description: The description of the Data Box Edge/Gateway device model. 636 :type model_description: str 637 :ivar device_type: The type of the Data Box Edge/Gateway device. Possible values include: 638 "DataBoxEdgeDevice". 639 :vartype device_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DeviceType 640 :param friendly_name: The Data Box Edge/Gateway device name. 641 :type friendly_name: str 642 :ivar culture: The Data Box Edge/Gateway device culture. 643 :vartype culture: str 644 :ivar device_model: The Data Box Edge/Gateway device model. 645 :vartype device_model: str 646 :ivar device_software_version: The Data Box Edge/Gateway device software version. 647 :vartype device_software_version: str 648 :ivar device_local_capacity: The Data Box Edge/Gateway device local capacity in MB. 649 :vartype device_local_capacity: long 650 :ivar time_zone: The Data Box Edge/Gateway device timezone. 651 :vartype time_zone: str 652 :ivar device_hcs_version: The device software version number of the device (eg: 1.2.18105.6). 653 :vartype device_hcs_version: str 654 :ivar configured_role_types: Type of compute roles configured. 655 :vartype configured_role_types: list[str or 656 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleTypes] 657 :ivar node_count: The number of nodes in the cluster. 658 :vartype node_count: int 659 """ 660 661 _validation = { 662 'id': {'readonly': True}, 663 'name': {'readonly': True}, 664 'type': {'readonly': True}, 665 'location': {'required': True}, 666 'serial_number': {'readonly': True}, 667 'device_type': {'readonly': True}, 668 'culture': {'readonly': True}, 669 'device_model': {'readonly': True}, 670 'device_software_version': {'readonly': True}, 671 'device_local_capacity': {'readonly': True}, 672 'time_zone': {'readonly': True}, 673 'device_hcs_version': {'readonly': True}, 674 'configured_role_types': {'readonly': True}, 675 'node_count': {'readonly': True}, 676 } 677 678 _attribute_map = { 679 'id': {'key': 'id', 'type': 'str'}, 680 'name': {'key': 'name', 'type': 'str'}, 681 'type': {'key': 'type', 'type': 'str'}, 682 'location': {'key': 'location', 'type': 'str'}, 683 'tags': {'key': 'tags', 'type': '{str}'}, 684 'sku': {'key': 'sku', 'type': 'Sku'}, 685 'etag': {'key': 'etag', 'type': 'str'}, 686 'data_box_edge_device_status': {'key': 'properties.dataBoxEdgeDeviceStatus', 'type': 'str'}, 687 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, 688 'description': {'key': 'properties.description', 'type': 'str'}, 689 'model_description': {'key': 'properties.modelDescription', 'type': 'str'}, 690 'device_type': {'key': 'properties.deviceType', 'type': 'str'}, 691 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 692 'culture': {'key': 'properties.culture', 'type': 'str'}, 693 'device_model': {'key': 'properties.deviceModel', 'type': 'str'}, 694 'device_software_version': {'key': 'properties.deviceSoftwareVersion', 'type': 'str'}, 695 'device_local_capacity': {'key': 'properties.deviceLocalCapacity', 'type': 'long'}, 696 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, 697 'device_hcs_version': {'key': 'properties.deviceHcsVersion', 'type': 'str'}, 698 'configured_role_types': {'key': 'properties.configuredRoleTypes', 'type': '[str]'}, 699 'node_count': {'key': 'properties.nodeCount', 'type': 'int'}, 700 } 701 702 def __init__( 703 self, 704 **kwargs 705 ): 706 super(DataBoxEdgeDevice, self).__init__(**kwargs) 707 self.location = kwargs['location'] 708 self.tags = kwargs.get('tags', None) 709 self.sku = kwargs.get('sku', None) 710 self.etag = kwargs.get('etag', None) 711 self.data_box_edge_device_status = kwargs.get('data_box_edge_device_status', None) 712 self.serial_number = None 713 self.description = kwargs.get('description', None) 714 self.model_description = kwargs.get('model_description', None) 715 self.device_type = None 716 self.friendly_name = kwargs.get('friendly_name', None) 717 self.culture = None 718 self.device_model = None 719 self.device_software_version = None 720 self.device_local_capacity = None 721 self.time_zone = None 722 self.device_hcs_version = None 723 self.configured_role_types = None 724 self.node_count = None 725 726 727class DataBoxEdgeDeviceExtendedInfo(ARMBaseModel): 728 """The extended Info of the Data Box Edge/Gateway device. 729 730 Variables are only populated by the server, and will be ignored when sending a request. 731 732 :ivar id: The path ID that uniquely identifies the object. 733 :vartype id: str 734 :ivar name: The object name. 735 :vartype name: str 736 :ivar type: The hierarchical type of the object. 737 :vartype type: str 738 :param encryption_key_thumbprint: The digital signature of encrypted certificate. 739 :type encryption_key_thumbprint: str 740 :param encryption_key: The public part of the encryption certificate. Client uses this to 741 encrypt any secret. 742 :type encryption_key: str 743 :ivar resource_key: The Resource ID of the Resource. 744 :vartype resource_key: str 745 """ 746 747 _validation = { 748 'id': {'readonly': True}, 749 'name': {'readonly': True}, 750 'type': {'readonly': True}, 751 'resource_key': {'readonly': True}, 752 } 753 754 _attribute_map = { 755 'id': {'key': 'id', 'type': 'str'}, 756 'name': {'key': 'name', 'type': 'str'}, 757 'type': {'key': 'type', 'type': 'str'}, 758 'encryption_key_thumbprint': {'key': 'properties.encryptionKeyThumbprint', 'type': 'str'}, 759 'encryption_key': {'key': 'properties.encryptionKey', 'type': 'str'}, 760 'resource_key': {'key': 'properties.resourceKey', 'type': 'str'}, 761 } 762 763 def __init__( 764 self, 765 **kwargs 766 ): 767 super(DataBoxEdgeDeviceExtendedInfo, self).__init__(**kwargs) 768 self.encryption_key_thumbprint = kwargs.get('encryption_key_thumbprint', None) 769 self.encryption_key = kwargs.get('encryption_key', None) 770 self.resource_key = None 771 772 773class DataBoxEdgeDeviceList(msrest.serialization.Model): 774 """The collection of Data Box Edge/Gateway devices. 775 776 Variables are only populated by the server, and will be ignored when sending a request. 777 778 :ivar value: The list of Data Box Edge/Gateway devices. 779 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.DataBoxEdgeDevice] 780 :ivar next_link: Link to the next set of results. 781 :vartype next_link: str 782 """ 783 784 _validation = { 785 'value': {'readonly': True}, 786 'next_link': {'readonly': True}, 787 } 788 789 _attribute_map = { 790 'value': {'key': 'value', 'type': '[DataBoxEdgeDevice]'}, 791 'next_link': {'key': 'nextLink', 'type': 'str'}, 792 } 793 794 def __init__( 795 self, 796 **kwargs 797 ): 798 super(DataBoxEdgeDeviceList, self).__init__(**kwargs) 799 self.value = None 800 self.next_link = None 801 802 803class DataBoxEdgeDevicePatch(msrest.serialization.Model): 804 """The Data Box Edge/Gateway device patch. 805 806 :param tags: A set of tags. The tags attached to the Data Box Edge/Gateway resource. 807 :type tags: dict[str, str] 808 """ 809 810 _attribute_map = { 811 'tags': {'key': 'tags', 'type': '{str}'}, 812 } 813 814 def __init__( 815 self, 816 **kwargs 817 ): 818 super(DataBoxEdgeDevicePatch, self).__init__(**kwargs) 819 self.tags = kwargs.get('tags', None) 820 821 822class DataBoxEdgeSku(msrest.serialization.Model): 823 """The Sku information. 824 825 Variables are only populated by the server, and will be ignored when sending a request. 826 827 :ivar resource_type: The type of the resource. 828 :vartype resource_type: str 829 :ivar name: The Sku name. Possible values include: "Gateway", "Edge", "TEA_1Node", 830 "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", 831 "TEA_4Node_UPS_Heater", "TMA", "TDC", "TCA_Large", "TCA_Small", "GPU". 832 :vartype name: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuName 833 :ivar kind: The Sku kind. 834 :vartype kind: str 835 :ivar tier: The Sku tier. Possible values include: "Standard". 836 :vartype tier: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuTier 837 :ivar size: The Sku kind. 838 :vartype size: str 839 :ivar family: The Sku family. 840 :vartype family: str 841 :ivar locations: Availability of the Sku for the region. 842 :vartype locations: list[str] 843 :ivar api_versions: The API versions in which Sku is available. 844 :vartype api_versions: list[str] 845 :ivar location_info: Availability of the Sku for the location/zone/site. 846 :vartype location_info: 847 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuLocationInfo] 848 :ivar costs: The pricing info of the Sku. 849 :vartype costs: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuCost] 850 :ivar restrictions: Restriction info of the SKU. 851 :vartype restrictions: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuRestriction] 852 :ivar signup_option: Can the SKU be signed up.. Possible values include: "None", "Available". 853 :vartype signup_option: str or 854 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuSignupOption 855 :ivar version: Sku version. Possible values include: "Stable", "Preview". 856 :vartype version: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuVersion 857 :ivar availability: Is SKU available. Possible values include: "Available", "Unavailable". 858 :vartype availability: str or 859 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuAvailability 860 """ 861 862 _validation = { 863 'resource_type': {'readonly': True}, 864 'name': {'readonly': True}, 865 'kind': {'readonly': True}, 866 'tier': {'readonly': True}, 867 'size': {'readonly': True}, 868 'family': {'readonly': True}, 869 'locations': {'readonly': True}, 870 'api_versions': {'readonly': True}, 871 'location_info': {'readonly': True}, 872 'costs': {'readonly': True}, 873 'restrictions': {'readonly': True}, 874 'signup_option': {'readonly': True}, 875 'version': {'readonly': True}, 876 'availability': {'readonly': True}, 877 } 878 879 _attribute_map = { 880 'resource_type': {'key': 'resourceType', 'type': 'str'}, 881 'name': {'key': 'name', 'type': 'str'}, 882 'kind': {'key': 'kind', 'type': 'str'}, 883 'tier': {'key': 'tier', 'type': 'str'}, 884 'size': {'key': 'size', 'type': 'str'}, 885 'family': {'key': 'family', 'type': 'str'}, 886 'locations': {'key': 'locations', 'type': '[str]'}, 887 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, 888 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfo]'}, 889 'costs': {'key': 'costs', 'type': '[SkuCost]'}, 890 'restrictions': {'key': 'restrictions', 'type': '[SkuRestriction]'}, 891 'signup_option': {'key': 'signupOption', 'type': 'str'}, 892 'version': {'key': 'version', 'type': 'str'}, 893 'availability': {'key': 'availability', 'type': 'str'}, 894 } 895 896 def __init__( 897 self, 898 **kwargs 899 ): 900 super(DataBoxEdgeSku, self).__init__(**kwargs) 901 self.resource_type = None 902 self.name = None 903 self.kind = None 904 self.tier = None 905 self.size = None 906 self.family = None 907 self.locations = None 908 self.api_versions = None 909 self.location_info = None 910 self.costs = None 911 self.restrictions = None 912 self.signup_option = None 913 self.version = None 914 self.availability = None 915 916 917class DataBoxEdgeSkuList(msrest.serialization.Model): 918 """List of SKU Information objects. 919 920 Variables are only populated by the server, and will be ignored when sending a request. 921 922 :ivar value: List of ResourceType Sku. 923 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.DataBoxEdgeSku] 924 :ivar next_link: Links to the next set of results. 925 :vartype next_link: str 926 """ 927 928 _validation = { 929 'value': {'readonly': True}, 930 'next_link': {'readonly': True}, 931 } 932 933 _attribute_map = { 934 'value': {'key': 'value', 'type': '[DataBoxEdgeSku]'}, 935 'next_link': {'key': 'nextLink', 'type': 'str'}, 936 } 937 938 def __init__( 939 self, 940 **kwargs 941 ): 942 super(DataBoxEdgeSkuList, self).__init__(**kwargs) 943 self.value = None 944 self.next_link = None 945 946 947class Trigger(ARMBaseModel): 948 """Trigger details. 949 950 You probably want to use the sub-classes and not this class directly. Known 951 sub-classes are: FileEventTrigger, PeriodicTimerEventTrigger. 952 953 Variables are only populated by the server, and will be ignored when sending a request. 954 955 All required parameters must be populated in order to send to Azure. 956 957 :ivar id: The path ID that uniquely identifies the object. 958 :vartype id: str 959 :ivar name: The object name. 960 :vartype name: str 961 :ivar type: The hierarchical type of the object. 962 :vartype type: str 963 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 964 "FileEvent", "PeriodicTimerEvent". 965 :type kind: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.TriggerEventType 966 """ 967 968 _validation = { 969 'id': {'readonly': True}, 970 'name': {'readonly': True}, 971 'type': {'readonly': True}, 972 'kind': {'required': True}, 973 } 974 975 _attribute_map = { 976 'id': {'key': 'id', 'type': 'str'}, 977 'name': {'key': 'name', 'type': 'str'}, 978 'type': {'key': 'type', 'type': 'str'}, 979 'kind': {'key': 'kind', 'type': 'str'}, 980 } 981 982 _subtype_map = { 983 'kind': {'FileEvent': 'FileEventTrigger', 'PeriodicTimerEvent': 'PeriodicTimerEventTrigger'} 984 } 985 986 def __init__( 987 self, 988 **kwargs 989 ): 990 super(Trigger, self).__init__(**kwargs) 991 self.kind = 'Trigger' # type: str 992 993 994class FileEventTrigger(Trigger): 995 """Trigger details. 996 997 Variables are only populated by the server, and will be ignored when sending a request. 998 999 All required parameters must be populated in order to send to Azure. 1000 1001 :ivar id: The path ID that uniquely identifies the object. 1002 :vartype id: str 1003 :ivar name: The object name. 1004 :vartype name: str 1005 :ivar type: The hierarchical type of the object. 1006 :vartype type: str 1007 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 1008 "FileEvent", "PeriodicTimerEvent". 1009 :type kind: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.TriggerEventType 1010 :param source_info: Required. File event source details. 1011 :type source_info: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.FileSourceInfo 1012 :param sink_info: Required. Role sink info. 1013 :type sink_info: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleSinkInfo 1014 :param custom_context_tag: A custom context tag typically used to correlate the trigger against 1015 its usage. For example, if a periodic timer trigger is intended for certain specific IoT 1016 modules in the device, the tag can be the name or the image URL of the module. 1017 :type custom_context_tag: str 1018 """ 1019 1020 _validation = { 1021 'id': {'readonly': True}, 1022 'name': {'readonly': True}, 1023 'type': {'readonly': True}, 1024 'kind': {'required': True}, 1025 'source_info': {'required': True}, 1026 'sink_info': {'required': True}, 1027 } 1028 1029 _attribute_map = { 1030 'id': {'key': 'id', 'type': 'str'}, 1031 'name': {'key': 'name', 'type': 'str'}, 1032 'type': {'key': 'type', 'type': 'str'}, 1033 'kind': {'key': 'kind', 'type': 'str'}, 1034 'source_info': {'key': 'properties.sourceInfo', 'type': 'FileSourceInfo'}, 1035 'sink_info': {'key': 'properties.sinkInfo', 'type': 'RoleSinkInfo'}, 1036 'custom_context_tag': {'key': 'properties.customContextTag', 'type': 'str'}, 1037 } 1038 1039 def __init__( 1040 self, 1041 **kwargs 1042 ): 1043 super(FileEventTrigger, self).__init__(**kwargs) 1044 self.kind = 'FileEvent' # type: str 1045 self.source_info = kwargs['source_info'] 1046 self.sink_info = kwargs['sink_info'] 1047 self.custom_context_tag = kwargs.get('custom_context_tag', None) 1048 1049 1050class FileSourceInfo(msrest.serialization.Model): 1051 """File source details. 1052 1053 All required parameters must be populated in order to send to Azure. 1054 1055 :param share_id: Required. File share ID. 1056 :type share_id: str 1057 """ 1058 1059 _validation = { 1060 'share_id': {'required': True}, 1061 } 1062 1063 _attribute_map = { 1064 'share_id': {'key': 'shareId', 'type': 'str'}, 1065 } 1066 1067 def __init__( 1068 self, 1069 **kwargs 1070 ): 1071 super(FileSourceInfo, self).__init__(**kwargs) 1072 self.share_id = kwargs['share_id'] 1073 1074 1075class ImageRepositoryCredential(msrest.serialization.Model): 1076 """Image repository credential. 1077 1078 All required parameters must be populated in order to send to Azure. 1079 1080 :param image_repository_url: Required. Image repository url (e.g.: mcr.microsoft.com). 1081 :type image_repository_url: str 1082 :param user_name: Required. Repository user name. 1083 :type user_name: str 1084 :param password: Repository user password. 1085 :type password: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AsymmetricEncryptedSecret 1086 """ 1087 1088 _validation = { 1089 'image_repository_url': {'required': True}, 1090 'user_name': {'required': True}, 1091 } 1092 1093 _attribute_map = { 1094 'image_repository_url': {'key': 'imageRepositoryUrl', 'type': 'str'}, 1095 'user_name': {'key': 'userName', 'type': 'str'}, 1096 'password': {'key': 'password', 'type': 'AsymmetricEncryptedSecret'}, 1097 } 1098 1099 def __init__( 1100 self, 1101 **kwargs 1102 ): 1103 super(ImageRepositoryCredential, self).__init__(**kwargs) 1104 self.image_repository_url = kwargs['image_repository_url'] 1105 self.user_name = kwargs['user_name'] 1106 self.password = kwargs.get('password', None) 1107 1108 1109class IoTDeviceInfo(msrest.serialization.Model): 1110 """Metadata of IoT device/IoT Edge device to be configured. 1111 1112 All required parameters must be populated in order to send to Azure. 1113 1114 :param device_id: Required. ID of the IoT device/edge device. 1115 :type device_id: str 1116 :param io_t_host_hub: Required. Host name for the IoT hub associated to the device. 1117 :type io_t_host_hub: str 1118 :param io_t_host_hub_id: Id for the IoT hub associated to the device. 1119 :type io_t_host_hub_id: str 1120 :param authentication: Encrypted IoT device/IoT edge device connection string. 1121 :type authentication: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.Authentication 1122 """ 1123 1124 _validation = { 1125 'device_id': {'required': True}, 1126 'io_t_host_hub': {'required': True}, 1127 } 1128 1129 _attribute_map = { 1130 'device_id': {'key': 'deviceId', 'type': 'str'}, 1131 'io_t_host_hub': {'key': 'ioTHostHub', 'type': 'str'}, 1132 'io_t_host_hub_id': {'key': 'ioTHostHubId', 'type': 'str'}, 1133 'authentication': {'key': 'authentication', 'type': 'Authentication'}, 1134 } 1135 1136 def __init__( 1137 self, 1138 **kwargs 1139 ): 1140 super(IoTDeviceInfo, self).__init__(**kwargs) 1141 self.device_id = kwargs['device_id'] 1142 self.io_t_host_hub = kwargs['io_t_host_hub'] 1143 self.io_t_host_hub_id = kwargs.get('io_t_host_hub_id', None) 1144 self.authentication = kwargs.get('authentication', None) 1145 1146 1147class IoTEdgeAgentInfo(msrest.serialization.Model): 1148 """IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified. 1149 1150 All required parameters must be populated in order to send to Azure. 1151 1152 :param image_name: Required. Name of the IoT edge agent image. 1153 :type image_name: str 1154 :param tag: Required. Image Tag. 1155 :type tag: str 1156 :param image_repository: Image repository details. 1157 :type image_repository: 1158 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ImageRepositoryCredential 1159 """ 1160 1161 _validation = { 1162 'image_name': {'required': True}, 1163 'tag': {'required': True}, 1164 } 1165 1166 _attribute_map = { 1167 'image_name': {'key': 'imageName', 'type': 'str'}, 1168 'tag': {'key': 'tag', 'type': 'str'}, 1169 'image_repository': {'key': 'imageRepository', 'type': 'ImageRepositoryCredential'}, 1170 } 1171 1172 def __init__( 1173 self, 1174 **kwargs 1175 ): 1176 super(IoTEdgeAgentInfo, self).__init__(**kwargs) 1177 self.image_name = kwargs['image_name'] 1178 self.tag = kwargs['tag'] 1179 self.image_repository = kwargs.get('image_repository', None) 1180 1181 1182class Role(ARMBaseModel): 1183 """Compute role. 1184 1185 You probably want to use the sub-classes and not this class directly. Known 1186 sub-classes are: IoTRole. 1187 1188 Variables are only populated by the server, and will be ignored when sending a request. 1189 1190 All required parameters must be populated in order to send to Azure. 1191 1192 :ivar id: The path ID that uniquely identifies the object. 1193 :vartype id: str 1194 :ivar name: The object name. 1195 :vartype name: str 1196 :ivar type: The hierarchical type of the object. 1197 :vartype type: str 1198 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 1199 "ASA", "Functions", "Cognitive". 1200 :type kind: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleTypes 1201 """ 1202 1203 _validation = { 1204 'id': {'readonly': True}, 1205 'name': {'readonly': True}, 1206 'type': {'readonly': True}, 1207 'kind': {'required': True}, 1208 } 1209 1210 _attribute_map = { 1211 'id': {'key': 'id', 'type': 'str'}, 1212 'name': {'key': 'name', 'type': 'str'}, 1213 'type': {'key': 'type', 'type': 'str'}, 1214 'kind': {'key': 'kind', 'type': 'str'}, 1215 } 1216 1217 _subtype_map = { 1218 'kind': {'IOT': 'IoTRole'} 1219 } 1220 1221 def __init__( 1222 self, 1223 **kwargs 1224 ): 1225 super(Role, self).__init__(**kwargs) 1226 self.kind = 'Role' # type: str 1227 1228 1229class IoTRole(Role): 1230 """Compute role. 1231 1232 Variables are only populated by the server, and will be ignored when sending a request. 1233 1234 All required parameters must be populated in order to send to Azure. 1235 1236 :ivar id: The path ID that uniquely identifies the object. 1237 :vartype id: str 1238 :ivar name: The object name. 1239 :vartype name: str 1240 :ivar type: The hierarchical type of the object. 1241 :vartype type: str 1242 :param kind: Required. Role type.Constant filled by server. Possible values include: "IOT", 1243 "ASA", "Functions", "Cognitive". 1244 :type kind: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleTypes 1245 :param host_platform: Host OS supported by the IoT role. Possible values include: "Windows", 1246 "Linux". 1247 :type host_platform: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.PlatformType 1248 :param io_t_device_details: IoT device metadata to which data box edge device needs to be 1249 connected. 1250 :type io_t_device_details: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.IoTDeviceInfo 1251 :param io_t_edge_device_details: IoT edge device to which the IoT role needs to be configured. 1252 :type io_t_edge_device_details: 1253 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.IoTDeviceInfo 1254 :param share_mappings: Mount points of shares in role(s). 1255 :type share_mappings: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.MountPointMap] 1256 :param io_t_edge_agent_info: Iot edge agent details to download the agent and bootstrap iot 1257 runtime. 1258 :type io_t_edge_agent_info: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.IoTEdgeAgentInfo 1259 :ivar host_platform_type: Platform where the Iot runtime is hosted. Possible values include: 1260 "KubernetesCluster", "LinuxVM". 1261 :vartype host_platform_type: str or 1262 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.HostPlatformType 1263 :param role_status: Role status. Possible values include: "Enabled", "Disabled". 1264 :type role_status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleStatus 1265 """ 1266 1267 _validation = { 1268 'id': {'readonly': True}, 1269 'name': {'readonly': True}, 1270 'type': {'readonly': True}, 1271 'kind': {'required': True}, 1272 'host_platform_type': {'readonly': True}, 1273 } 1274 1275 _attribute_map = { 1276 'id': {'key': 'id', 'type': 'str'}, 1277 'name': {'key': 'name', 'type': 'str'}, 1278 'type': {'key': 'type', 'type': 'str'}, 1279 'kind': {'key': 'kind', 'type': 'str'}, 1280 'host_platform': {'key': 'properties.hostPlatform', 'type': 'str'}, 1281 'io_t_device_details': {'key': 'properties.ioTDeviceDetails', 'type': 'IoTDeviceInfo'}, 1282 'io_t_edge_device_details': {'key': 'properties.ioTEdgeDeviceDetails', 'type': 'IoTDeviceInfo'}, 1283 'share_mappings': {'key': 'properties.shareMappings', 'type': '[MountPointMap]'}, 1284 'io_t_edge_agent_info': {'key': 'properties.ioTEdgeAgentInfo', 'type': 'IoTEdgeAgentInfo'}, 1285 'host_platform_type': {'key': 'properties.hostPlatformType', 'type': 'str'}, 1286 'role_status': {'key': 'properties.roleStatus', 'type': 'str'}, 1287 } 1288 1289 def __init__( 1290 self, 1291 **kwargs 1292 ): 1293 super(IoTRole, self).__init__(**kwargs) 1294 self.kind = 'IOT' # type: str 1295 self.host_platform = kwargs.get('host_platform', None) 1296 self.io_t_device_details = kwargs.get('io_t_device_details', None) 1297 self.io_t_edge_device_details = kwargs.get('io_t_edge_device_details', None) 1298 self.share_mappings = kwargs.get('share_mappings', None) 1299 self.io_t_edge_agent_info = kwargs.get('io_t_edge_agent_info', None) 1300 self.host_platform_type = None 1301 self.role_status = kwargs.get('role_status', None) 1302 1303 1304class Ipv4Config(msrest.serialization.Model): 1305 """Details related to the IPv4 address configuration. 1306 1307 Variables are only populated by the server, and will be ignored when sending a request. 1308 1309 :ivar ip_address: The IPv4 address of the network adapter. 1310 :vartype ip_address: str 1311 :ivar subnet: The IPv4 subnet of the network adapter. 1312 :vartype subnet: str 1313 :ivar gateway: The IPv4 gateway of the network adapter. 1314 :vartype gateway: str 1315 """ 1316 1317 _validation = { 1318 'ip_address': {'readonly': True}, 1319 'subnet': {'readonly': True}, 1320 'gateway': {'readonly': True}, 1321 } 1322 1323 _attribute_map = { 1324 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 1325 'subnet': {'key': 'subnet', 'type': 'str'}, 1326 'gateway': {'key': 'gateway', 'type': 'str'}, 1327 } 1328 1329 def __init__( 1330 self, 1331 **kwargs 1332 ): 1333 super(Ipv4Config, self).__init__(**kwargs) 1334 self.ip_address = None 1335 self.subnet = None 1336 self.gateway = None 1337 1338 1339class Ipv6Config(msrest.serialization.Model): 1340 """Details related to the IPv6 address configuration. 1341 1342 Variables are only populated by the server, and will be ignored when sending a request. 1343 1344 :ivar ip_address: The IPv6 address of the network adapter. 1345 :vartype ip_address: str 1346 :ivar prefix_length: The IPv6 prefix of the network adapter. 1347 :vartype prefix_length: int 1348 :ivar gateway: The IPv6 gateway of the network adapter. 1349 :vartype gateway: str 1350 """ 1351 1352 _validation = { 1353 'ip_address': {'readonly': True}, 1354 'prefix_length': {'readonly': True}, 1355 'gateway': {'readonly': True}, 1356 } 1357 1358 _attribute_map = { 1359 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 1360 'prefix_length': {'key': 'prefixLength', 'type': 'int'}, 1361 'gateway': {'key': 'gateway', 'type': 'str'}, 1362 } 1363 1364 def __init__( 1365 self, 1366 **kwargs 1367 ): 1368 super(Ipv6Config, self).__init__(**kwargs) 1369 self.ip_address = None 1370 self.prefix_length = None 1371 self.gateway = None 1372 1373 1374class Job(msrest.serialization.Model): 1375 """A device job. 1376 1377 Variables are only populated by the server, and will be ignored when sending a request. 1378 1379 :ivar id: The path ID that uniquely identifies the object. 1380 :vartype id: str 1381 :ivar name: The name of the object. 1382 :vartype name: str 1383 :ivar type: The hierarchical type of the object. 1384 :vartype type: str 1385 :ivar status: The current status of the job. Possible values include: "Invalid", "Running", 1386 "Succeeded", "Failed", "Canceled", "Paused", "Scheduled". 1387 :vartype status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.JobStatus 1388 :ivar start_time: The UTC date and time at which the job started. 1389 :vartype start_time: ~datetime.datetime 1390 :ivar end_time: The UTC date and time at which the job completed. 1391 :vartype end_time: ~datetime.datetime 1392 :ivar percent_complete: The percentage of the job that is complete. 1393 :vartype percent_complete: int 1394 :ivar error: The error details. 1395 :vartype error: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.JobErrorDetails 1396 :ivar job_type: The type of the job. Possible values include: "Invalid", "ScanForUpdates", 1397 "DownloadUpdates", "InstallUpdates", "RefreshShare", "RefreshContainer". 1398 :vartype job_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.JobType 1399 :ivar current_stage: Current stage of the update operation. Possible values include: "Unknown", 1400 "Initial", "ScanStarted", "ScanComplete", "ScanFailed", "DownloadStarted", "DownloadComplete", 1401 "DownloadFailed", "InstallStarted", "InstallComplete", "InstallFailed", "RebootInitiated", 1402 "Success", "Failure", "RescanStarted", "RescanComplete", "RescanFailed". 1403 :vartype current_stage: str or 1404 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.UpdateOperationStage 1405 :ivar download_progress: The download progress. 1406 :vartype download_progress: 1407 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.UpdateDownloadProgress 1408 :ivar install_progress: The install progress. 1409 :vartype install_progress: 1410 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.UpdateInstallProgress 1411 :ivar total_refresh_errors: Total number of errors encountered during the refresh process. 1412 :vartype total_refresh_errors: int 1413 :ivar error_manifest_file: Local share/remote container relative path to the error manifest 1414 file of the refresh. 1415 :vartype error_manifest_file: str 1416 :ivar refreshed_entity_id: ARM ID of the entity that was refreshed. 1417 :vartype refreshed_entity_id: str 1418 :param folder: If only subfolders need to be refreshed, then the subfolder path inside the 1419 share or container. (The path is empty if there are no subfolders.). 1420 :type folder: str 1421 """ 1422 1423 _validation = { 1424 'id': {'readonly': True}, 1425 'name': {'readonly': True}, 1426 'type': {'readonly': True}, 1427 'status': {'readonly': True}, 1428 'start_time': {'readonly': True}, 1429 'end_time': {'readonly': True}, 1430 'percent_complete': {'readonly': True}, 1431 'error': {'readonly': True}, 1432 'job_type': {'readonly': True}, 1433 'current_stage': {'readonly': True}, 1434 'download_progress': {'readonly': True}, 1435 'install_progress': {'readonly': True}, 1436 'total_refresh_errors': {'readonly': True}, 1437 'error_manifest_file': {'readonly': True}, 1438 'refreshed_entity_id': {'readonly': True}, 1439 } 1440 1441 _attribute_map = { 1442 'id': {'key': 'id', 'type': 'str'}, 1443 'name': {'key': 'name', 'type': 'str'}, 1444 'type': {'key': 'type', 'type': 'str'}, 1445 'status': {'key': 'status', 'type': 'str'}, 1446 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 1447 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 1448 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 1449 'error': {'key': 'error', 'type': 'JobErrorDetails'}, 1450 'job_type': {'key': 'properties.jobType', 'type': 'str'}, 1451 'current_stage': {'key': 'properties.currentStage', 'type': 'str'}, 1452 'download_progress': {'key': 'properties.downloadProgress', 'type': 'UpdateDownloadProgress'}, 1453 'install_progress': {'key': 'properties.installProgress', 'type': 'UpdateInstallProgress'}, 1454 'total_refresh_errors': {'key': 'properties.totalRefreshErrors', 'type': 'int'}, 1455 'error_manifest_file': {'key': 'properties.errorManifestFile', 'type': 'str'}, 1456 'refreshed_entity_id': {'key': 'properties.refreshedEntityId', 'type': 'str'}, 1457 'folder': {'key': 'properties.folder', 'type': 'str'}, 1458 } 1459 1460 def __init__( 1461 self, 1462 **kwargs 1463 ): 1464 super(Job, self).__init__(**kwargs) 1465 self.id = None 1466 self.name = None 1467 self.type = None 1468 self.status = None 1469 self.start_time = None 1470 self.end_time = None 1471 self.percent_complete = None 1472 self.error = None 1473 self.job_type = None 1474 self.current_stage = None 1475 self.download_progress = None 1476 self.install_progress = None 1477 self.total_refresh_errors = None 1478 self.error_manifest_file = None 1479 self.refreshed_entity_id = None 1480 self.folder = kwargs.get('folder', None) 1481 1482 1483class JobErrorDetails(msrest.serialization.Model): 1484 """The job error information containing the list of job errors. 1485 1486 Variables are only populated by the server, and will be ignored when sending a request. 1487 1488 :ivar error_details: The error details. 1489 :vartype error_details: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.JobErrorItem] 1490 :ivar code: The code intended for programmatic access. 1491 :vartype code: str 1492 :ivar message: The message that describes the error in detail. 1493 :vartype message: str 1494 """ 1495 1496 _validation = { 1497 'error_details': {'readonly': True}, 1498 'code': {'readonly': True}, 1499 'message': {'readonly': True}, 1500 } 1501 1502 _attribute_map = { 1503 'error_details': {'key': 'errorDetails', 'type': '[JobErrorItem]'}, 1504 'code': {'key': 'code', 'type': 'str'}, 1505 'message': {'key': 'message', 'type': 'str'}, 1506 } 1507 1508 def __init__( 1509 self, 1510 **kwargs 1511 ): 1512 super(JobErrorDetails, self).__init__(**kwargs) 1513 self.error_details = None 1514 self.code = None 1515 self.message = None 1516 1517 1518class JobErrorItem(msrest.serialization.Model): 1519 """The job error items. 1520 1521 Variables are only populated by the server, and will be ignored when sending a request. 1522 1523 :ivar recommendations: The recommended actions. 1524 :vartype recommendations: list[str] 1525 :ivar code: The code intended for programmatic access. 1526 :vartype code: str 1527 :ivar message: The message that describes the error in detail. 1528 :vartype message: str 1529 """ 1530 1531 _validation = { 1532 'recommendations': {'readonly': True}, 1533 'code': {'readonly': True}, 1534 'message': {'readonly': True}, 1535 } 1536 1537 _attribute_map = { 1538 'recommendations': {'key': 'recommendations', 'type': '[str]'}, 1539 'code': {'key': 'code', 'type': 'str'}, 1540 'message': {'key': 'message', 'type': 'str'}, 1541 } 1542 1543 def __init__( 1544 self, 1545 **kwargs 1546 ): 1547 super(JobErrorItem, self).__init__(**kwargs) 1548 self.recommendations = None 1549 self.code = None 1550 self.message = None 1551 1552 1553class MetricDimensionV1(msrest.serialization.Model): 1554 """Metric Dimension v1. 1555 1556 :param name: Name of the metrics dimension. 1557 :type name: str 1558 :param display_name: Display name of the metrics dimension. 1559 :type display_name: str 1560 :param to_be_exported_for_shoebox: To be exported to shoe box. 1561 :type to_be_exported_for_shoebox: bool 1562 """ 1563 1564 _attribute_map = { 1565 'name': {'key': 'name', 'type': 'str'}, 1566 'display_name': {'key': 'displayName', 'type': 'str'}, 1567 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, 1568 } 1569 1570 def __init__( 1571 self, 1572 **kwargs 1573 ): 1574 super(MetricDimensionV1, self).__init__(**kwargs) 1575 self.name = kwargs.get('name', None) 1576 self.display_name = kwargs.get('display_name', None) 1577 self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) 1578 1579 1580class MetricSpecificationV1(msrest.serialization.Model): 1581 """Metric specification version 1. 1582 1583 :param name: Name of the metric. 1584 :type name: str 1585 :param display_name: Display name of the metric. 1586 :type display_name: str 1587 :param display_description: Description of the metric to be displayed. 1588 :type display_description: str 1589 :param unit: Metric units. Possible values include: "NotSpecified", "Percent", "Count", 1590 "Seconds", "Milliseconds", "Bytes", "BytesPerSecond", "CountPerSecond". 1591 :type unit: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricUnit 1592 :param aggregation_type: Metric aggregation type. Possible values include: "NotSpecified", 1593 "None", "Average", "Minimum", "Maximum", "Total", "Count". 1594 :type aggregation_type: str or 1595 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricAggregationType 1596 :param dimensions: Metric dimensions, other than default dimension which is resource. 1597 :type dimensions: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricDimensionV1] 1598 :param fill_gap_with_zero: Set true to fill the gaps with zero. 1599 :type fill_gap_with_zero: bool 1600 :param category: Metric category. Possible values include: "Capacity", "Transaction". 1601 :type category: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricCategory 1602 :param resource_id_dimension_name_override: Resource name override. 1603 :type resource_id_dimension_name_override: str 1604 :param supported_time_grain_types: Support granularity of metrics. 1605 :type supported_time_grain_types: list[str or 1606 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.TimeGrain] 1607 :param supported_aggregation_types: Support metric aggregation type. 1608 :type supported_aggregation_types: list[str or 1609 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricAggregationType] 1610 """ 1611 1612 _attribute_map = { 1613 'name': {'key': 'name', 'type': 'str'}, 1614 'display_name': {'key': 'displayName', 'type': 'str'}, 1615 'display_description': {'key': 'displayDescription', 'type': 'str'}, 1616 'unit': {'key': 'unit', 'type': 'str'}, 1617 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 1618 'dimensions': {'key': 'dimensions', 'type': '[MetricDimensionV1]'}, 1619 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 1620 'category': {'key': 'category', 'type': 'str'}, 1621 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 1622 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 1623 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, 1624 } 1625 1626 def __init__( 1627 self, 1628 **kwargs 1629 ): 1630 super(MetricSpecificationV1, self).__init__(**kwargs) 1631 self.name = kwargs.get('name', None) 1632 self.display_name = kwargs.get('display_name', None) 1633 self.display_description = kwargs.get('display_description', None) 1634 self.unit = kwargs.get('unit', None) 1635 self.aggregation_type = kwargs.get('aggregation_type', None) 1636 self.dimensions = kwargs.get('dimensions', None) 1637 self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) 1638 self.category = kwargs.get('category', None) 1639 self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) 1640 self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) 1641 self.supported_aggregation_types = kwargs.get('supported_aggregation_types', None) 1642 1643 1644class MountPointMap(msrest.serialization.Model): 1645 """The share mount point. 1646 1647 Variables are only populated by the server, and will be ignored when sending a request. 1648 1649 All required parameters must be populated in order to send to Azure. 1650 1651 :param share_id: Required. ID of the share mounted to the role VM. 1652 :type share_id: str 1653 :ivar role_id: ID of the role to which share is mounted. 1654 :vartype role_id: str 1655 :ivar mount_point: Mount point for the share. 1656 :vartype mount_point: str 1657 :ivar mount_type: Mounting type. Possible values include: "Volume", "HostPath". 1658 :vartype mount_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MountType 1659 :ivar role_type: Role type. Possible values include: "IOT", "ASA", "Functions", "Cognitive". 1660 :vartype role_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleTypes 1661 """ 1662 1663 _validation = { 1664 'share_id': {'required': True}, 1665 'role_id': {'readonly': True}, 1666 'mount_point': {'readonly': True}, 1667 'mount_type': {'readonly': True}, 1668 'role_type': {'readonly': True}, 1669 } 1670 1671 _attribute_map = { 1672 'share_id': {'key': 'shareId', 'type': 'str'}, 1673 'role_id': {'key': 'roleId', 'type': 'str'}, 1674 'mount_point': {'key': 'mountPoint', 'type': 'str'}, 1675 'mount_type': {'key': 'mountType', 'type': 'str'}, 1676 'role_type': {'key': 'roleType', 'type': 'str'}, 1677 } 1678 1679 def __init__( 1680 self, 1681 **kwargs 1682 ): 1683 super(MountPointMap, self).__init__(**kwargs) 1684 self.share_id = kwargs['share_id'] 1685 self.role_id = None 1686 self.mount_point = None 1687 self.mount_type = None 1688 self.role_type = None 1689 1690 1691class NetworkAdapter(msrest.serialization.Model): 1692 """Represents the networkAdapter on a device. 1693 1694 Variables are only populated by the server, and will be ignored when sending a request. 1695 1696 :ivar adapter_id: Instance ID of network adapter. 1697 :vartype adapter_id: str 1698 :ivar adapter_position: Hardware position of network adapter. 1699 :vartype adapter_position: 1700 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkAdapterPosition 1701 :ivar index: Logical index of the adapter. 1702 :vartype index: int 1703 :ivar node_id: Node ID of the network adapter. 1704 :vartype node_id: str 1705 :ivar network_adapter_name: Network adapter name. 1706 :vartype network_adapter_name: str 1707 :ivar label: Hardware label for the adapter. 1708 :vartype label: str 1709 :ivar mac_address: MAC address. 1710 :vartype mac_address: str 1711 :ivar link_speed: Link speed. 1712 :vartype link_speed: long 1713 :ivar status: Value indicating whether this adapter is valid. Possible values include: 1714 "Inactive", "Active". 1715 :vartype status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkAdapterStatus 1716 :param rdma_status: Value indicating whether this adapter is RDMA capable. Possible values 1717 include: "Incapable", "Capable". 1718 :type rdma_status: str or 1719 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkAdapterRDMAStatus 1720 :param dhcp_status: Value indicating whether this adapter has DHCP enabled. Possible values 1721 include: "Disabled", "Enabled". 1722 :type dhcp_status: str or 1723 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkAdapterDHCPStatus 1724 :ivar ipv4_configuration: The IPv4 configuration of the network adapter. 1725 :vartype ipv4_configuration: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.Ipv4Config 1726 :ivar ipv6_configuration: The IPv6 configuration of the network adapter. 1727 :vartype ipv6_configuration: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.Ipv6Config 1728 :ivar ipv6_link_local_address: The IPv6 local address. 1729 :vartype ipv6_link_local_address: str 1730 :ivar dns_servers: The list of DNS Servers of the device. 1731 :vartype dns_servers: list[str] 1732 """ 1733 1734 _validation = { 1735 'adapter_id': {'readonly': True}, 1736 'adapter_position': {'readonly': True}, 1737 'index': {'readonly': True}, 1738 'node_id': {'readonly': True}, 1739 'network_adapter_name': {'readonly': True}, 1740 'label': {'readonly': True}, 1741 'mac_address': {'readonly': True}, 1742 'link_speed': {'readonly': True}, 1743 'status': {'readonly': True}, 1744 'ipv4_configuration': {'readonly': True}, 1745 'ipv6_configuration': {'readonly': True}, 1746 'ipv6_link_local_address': {'readonly': True}, 1747 'dns_servers': {'readonly': True}, 1748 } 1749 1750 _attribute_map = { 1751 'adapter_id': {'key': 'adapterId', 'type': 'str'}, 1752 'adapter_position': {'key': 'adapterPosition', 'type': 'NetworkAdapterPosition'}, 1753 'index': {'key': 'index', 'type': 'int'}, 1754 'node_id': {'key': 'nodeId', 'type': 'str'}, 1755 'network_adapter_name': {'key': 'networkAdapterName', 'type': 'str'}, 1756 'label': {'key': 'label', 'type': 'str'}, 1757 'mac_address': {'key': 'macAddress', 'type': 'str'}, 1758 'link_speed': {'key': 'linkSpeed', 'type': 'long'}, 1759 'status': {'key': 'status', 'type': 'str'}, 1760 'rdma_status': {'key': 'rdmaStatus', 'type': 'str'}, 1761 'dhcp_status': {'key': 'dhcpStatus', 'type': 'str'}, 1762 'ipv4_configuration': {'key': 'ipv4Configuration', 'type': 'Ipv4Config'}, 1763 'ipv6_configuration': {'key': 'ipv6Configuration', 'type': 'Ipv6Config'}, 1764 'ipv6_link_local_address': {'key': 'ipv6LinkLocalAddress', 'type': 'str'}, 1765 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 1766 } 1767 1768 def __init__( 1769 self, 1770 **kwargs 1771 ): 1772 super(NetworkAdapter, self).__init__(**kwargs) 1773 self.adapter_id = None 1774 self.adapter_position = None 1775 self.index = None 1776 self.node_id = None 1777 self.network_adapter_name = None 1778 self.label = None 1779 self.mac_address = None 1780 self.link_speed = None 1781 self.status = None 1782 self.rdma_status = kwargs.get('rdma_status', None) 1783 self.dhcp_status = kwargs.get('dhcp_status', None) 1784 self.ipv4_configuration = None 1785 self.ipv6_configuration = None 1786 self.ipv6_link_local_address = None 1787 self.dns_servers = None 1788 1789 1790class NetworkAdapterPosition(msrest.serialization.Model): 1791 """The network adapter position. 1792 1793 Variables are only populated by the server, and will be ignored when sending a request. 1794 1795 :ivar network_group: The network group. Possible values include: "None", "NonRDMA", "RDMA". 1796 :vartype network_group: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkGroup 1797 :ivar port: The port. 1798 :vartype port: int 1799 """ 1800 1801 _validation = { 1802 'network_group': {'readonly': True}, 1803 'port': {'readonly': True}, 1804 } 1805 1806 _attribute_map = { 1807 'network_group': {'key': 'networkGroup', 'type': 'str'}, 1808 'port': {'key': 'port', 'type': 'int'}, 1809 } 1810 1811 def __init__( 1812 self, 1813 **kwargs 1814 ): 1815 super(NetworkAdapterPosition, self).__init__(**kwargs) 1816 self.network_group = None 1817 self.port = None 1818 1819 1820class NetworkSettings(ARMBaseModel): 1821 """The network settings of a device. 1822 1823 Variables are only populated by the server, and will be ignored when sending a request. 1824 1825 :ivar id: The path ID that uniquely identifies the object. 1826 :vartype id: str 1827 :ivar name: The object name. 1828 :vartype name: str 1829 :ivar type: The hierarchical type of the object. 1830 :vartype type: str 1831 :ivar network_adapters: The network adapter list on the device. 1832 :vartype network_adapters: 1833 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.NetworkAdapter] 1834 """ 1835 1836 _validation = { 1837 'id': {'readonly': True}, 1838 'name': {'readonly': True}, 1839 'type': {'readonly': True}, 1840 'network_adapters': {'readonly': True}, 1841 } 1842 1843 _attribute_map = { 1844 'id': {'key': 'id', 'type': 'str'}, 1845 'name': {'key': 'name', 'type': 'str'}, 1846 'type': {'key': 'type', 'type': 'str'}, 1847 'network_adapters': {'key': 'properties.networkAdapters', 'type': '[NetworkAdapter]'}, 1848 } 1849 1850 def __init__( 1851 self, 1852 **kwargs 1853 ): 1854 super(NetworkSettings, self).__init__(**kwargs) 1855 self.network_adapters = None 1856 1857 1858class Node(ARMBaseModel): 1859 """Represents a single node in a Data box Edge/Gateway device 1860Gateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node 1861Multi-node Edge devices will have more than 1 nodes. 1862 1863 Variables are only populated by the server, and will be ignored when sending a request. 1864 1865 :ivar id: The path ID that uniquely identifies the object. 1866 :vartype id: str 1867 :ivar name: The object name. 1868 :vartype name: str 1869 :ivar type: The hierarchical type of the object. 1870 :vartype type: str 1871 :ivar node_status: The current status of the individual node. Possible values include: 1872 "Unknown", "Up", "Down", "Rebooting", "ShuttingDown". 1873 :vartype node_status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.NodeStatus 1874 :ivar node_chassis_serial_number: Serial number of the Chassis. 1875 :vartype node_chassis_serial_number: str 1876 :ivar node_serial_number: Serial number of the individual node. 1877 :vartype node_serial_number: str 1878 :ivar node_display_name: Display Name of the individual node. 1879 :vartype node_display_name: str 1880 :ivar node_friendly_software_version: Friendly software version name that is currently 1881 installed on the node. 1882 :vartype node_friendly_software_version: str 1883 :ivar node_hcs_version: HCS version that is currently installed on the node. 1884 :vartype node_hcs_version: str 1885 :ivar node_instance_id: Guid instance id of the node. 1886 :vartype node_instance_id: str 1887 """ 1888 1889 _validation = { 1890 'id': {'readonly': True}, 1891 'name': {'readonly': True}, 1892 'type': {'readonly': True}, 1893 'node_status': {'readonly': True}, 1894 'node_chassis_serial_number': {'readonly': True}, 1895 'node_serial_number': {'readonly': True}, 1896 'node_display_name': {'readonly': True}, 1897 'node_friendly_software_version': {'readonly': True}, 1898 'node_hcs_version': {'readonly': True}, 1899 'node_instance_id': {'readonly': True}, 1900 } 1901 1902 _attribute_map = { 1903 'id': {'key': 'id', 'type': 'str'}, 1904 'name': {'key': 'name', 'type': 'str'}, 1905 'type': {'key': 'type', 'type': 'str'}, 1906 'node_status': {'key': 'properties.nodeStatus', 'type': 'str'}, 1907 'node_chassis_serial_number': {'key': 'properties.nodeChassisSerialNumber', 'type': 'str'}, 1908 'node_serial_number': {'key': 'properties.nodeSerialNumber', 'type': 'str'}, 1909 'node_display_name': {'key': 'properties.nodeDisplayName', 'type': 'str'}, 1910 'node_friendly_software_version': {'key': 'properties.nodeFriendlySoftwareVersion', 'type': 'str'}, 1911 'node_hcs_version': {'key': 'properties.nodeHcsVersion', 'type': 'str'}, 1912 'node_instance_id': {'key': 'properties.nodeInstanceId', 'type': 'str'}, 1913 } 1914 1915 def __init__( 1916 self, 1917 **kwargs 1918 ): 1919 super(Node, self).__init__(**kwargs) 1920 self.node_status = None 1921 self.node_chassis_serial_number = None 1922 self.node_serial_number = None 1923 self.node_display_name = None 1924 self.node_friendly_software_version = None 1925 self.node_hcs_version = None 1926 self.node_instance_id = None 1927 1928 1929class NodeList(msrest.serialization.Model): 1930 """Collection of Nodes. 1931 1932 Variables are only populated by the server, and will be ignored when sending a request. 1933 1934 :ivar value: The list of Nodes. 1935 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Node] 1936 """ 1937 1938 _validation = { 1939 'value': {'readonly': True}, 1940 } 1941 1942 _attribute_map = { 1943 'value': {'key': 'value', 'type': '[Node]'}, 1944 } 1945 1946 def __init__( 1947 self, 1948 **kwargs 1949 ): 1950 super(NodeList, self).__init__(**kwargs) 1951 self.value = None 1952 1953 1954class Operation(msrest.serialization.Model): 1955 """Operations. 1956 1957 :param name: Name of the operation. 1958 :type name: str 1959 :param display: Properties displayed for the operation. 1960 :type display: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.OperationDisplay 1961 :param origin: Origin of the operation. 1962 :type origin: str 1963 :param service_specification: Service specification. 1964 :type service_specification: 1965 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ServiceSpecification 1966 """ 1967 1968 _attribute_map = { 1969 'name': {'key': 'name', 'type': 'str'}, 1970 'display': {'key': 'display', 'type': 'OperationDisplay'}, 1971 'origin': {'key': 'origin', 'type': 'str'}, 1972 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, 1973 } 1974 1975 def __init__( 1976 self, 1977 **kwargs 1978 ): 1979 super(Operation, self).__init__(**kwargs) 1980 self.name = kwargs.get('name', None) 1981 self.display = kwargs.get('display', None) 1982 self.origin = kwargs.get('origin', None) 1983 self.service_specification = kwargs.get('service_specification', None) 1984 1985 1986class OperationDisplay(msrest.serialization.Model): 1987 """Operation display properties. 1988 1989 :param provider: Provider name. 1990 :type provider: str 1991 :param resource: The type of resource in which the operation is performed. 1992 :type resource: str 1993 :param operation: Operation to be performed on the resource. 1994 :type operation: str 1995 :param description: Description of the operation to be performed. 1996 :type description: str 1997 """ 1998 1999 _attribute_map = { 2000 'provider': {'key': 'provider', 'type': 'str'}, 2001 'resource': {'key': 'resource', 'type': 'str'}, 2002 'operation': {'key': 'operation', 'type': 'str'}, 2003 'description': {'key': 'description', 'type': 'str'}, 2004 } 2005 2006 def __init__( 2007 self, 2008 **kwargs 2009 ): 2010 super(OperationDisplay, self).__init__(**kwargs) 2011 self.provider = kwargs.get('provider', None) 2012 self.resource = kwargs.get('resource', None) 2013 self.operation = kwargs.get('operation', None) 2014 self.description = kwargs.get('description', None) 2015 2016 2017class OperationsList(msrest.serialization.Model): 2018 """The list of operations used for the discovery of available provider operations. 2019 2020 All required parameters must be populated in order to send to Azure. 2021 2022 :param value: Required. The value. 2023 :type value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Operation] 2024 :param next_link: Link to the next set of results. 2025 :type next_link: str 2026 """ 2027 2028 _validation = { 2029 'value': {'required': True}, 2030 } 2031 2032 _attribute_map = { 2033 'value': {'key': 'value', 'type': '[Operation]'}, 2034 'next_link': {'key': 'nextLink', 'type': 'str'}, 2035 } 2036 2037 def __init__( 2038 self, 2039 **kwargs 2040 ): 2041 super(OperationsList, self).__init__(**kwargs) 2042 self.value = kwargs['value'] 2043 self.next_link = kwargs.get('next_link', None) 2044 2045 2046class Order(ARMBaseModel): 2047 """The order details. 2048 2049 Variables are only populated by the server, and will be ignored when sending a request. 2050 2051 :ivar id: The path ID that uniquely identifies the object. 2052 :vartype id: str 2053 :ivar name: The object name. 2054 :vartype name: str 2055 :ivar type: The hierarchical type of the object. 2056 :vartype type: str 2057 :param contact_information: The contact details. 2058 :type contact_information: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ContactDetails 2059 :param shipping_address: The shipping address. 2060 :type shipping_address: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.Address 2061 :param current_status: Current status of the order. 2062 :type current_status: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.OrderStatus 2063 :ivar order_history: List of status changes in the order. 2064 :vartype order_history: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.OrderStatus] 2065 :ivar serial_number: Serial number of the device. 2066 :vartype serial_number: str 2067 :ivar delivery_tracking_info: Tracking information for the package delivered to the customer 2068 whether it has an original or a replacement device. 2069 :vartype delivery_tracking_info: 2070 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.TrackingInfo] 2071 :ivar return_tracking_info: Tracking information for the package returned from the customer 2072 whether it has an original or a replacement device. 2073 :vartype return_tracking_info: 2074 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.TrackingInfo] 2075 """ 2076 2077 _validation = { 2078 'id': {'readonly': True}, 2079 'name': {'readonly': True}, 2080 'type': {'readonly': True}, 2081 'order_history': {'readonly': True}, 2082 'serial_number': {'readonly': True}, 2083 'delivery_tracking_info': {'readonly': True}, 2084 'return_tracking_info': {'readonly': True}, 2085 } 2086 2087 _attribute_map = { 2088 'id': {'key': 'id', 'type': 'str'}, 2089 'name': {'key': 'name', 'type': 'str'}, 2090 'type': {'key': 'type', 'type': 'str'}, 2091 'contact_information': {'key': 'properties.contactInformation', 'type': 'ContactDetails'}, 2092 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'Address'}, 2093 'current_status': {'key': 'properties.currentStatus', 'type': 'OrderStatus'}, 2094 'order_history': {'key': 'properties.orderHistory', 'type': '[OrderStatus]'}, 2095 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, 2096 'delivery_tracking_info': {'key': 'properties.deliveryTrackingInfo', 'type': '[TrackingInfo]'}, 2097 'return_tracking_info': {'key': 'properties.returnTrackingInfo', 'type': '[TrackingInfo]'}, 2098 } 2099 2100 def __init__( 2101 self, 2102 **kwargs 2103 ): 2104 super(Order, self).__init__(**kwargs) 2105 self.contact_information = kwargs.get('contact_information', None) 2106 self.shipping_address = kwargs.get('shipping_address', None) 2107 self.current_status = kwargs.get('current_status', None) 2108 self.order_history = None 2109 self.serial_number = None 2110 self.delivery_tracking_info = None 2111 self.return_tracking_info = None 2112 2113 2114class OrderList(msrest.serialization.Model): 2115 """List of order entities. 2116 2117 Variables are only populated by the server, and will be ignored when sending a request. 2118 2119 :ivar value: The list of orders. 2120 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Order] 2121 :ivar next_link: Link to the next set of results. 2122 :vartype next_link: str 2123 """ 2124 2125 _validation = { 2126 'value': {'readonly': True}, 2127 'next_link': {'readonly': True}, 2128 } 2129 2130 _attribute_map = { 2131 'value': {'key': 'value', 'type': '[Order]'}, 2132 'next_link': {'key': 'nextLink', 'type': 'str'}, 2133 } 2134 2135 def __init__( 2136 self, 2137 **kwargs 2138 ): 2139 super(OrderList, self).__init__(**kwargs) 2140 self.value = None 2141 self.next_link = None 2142 2143 2144class OrderStatus(msrest.serialization.Model): 2145 """Represents a single status change. 2146 2147 Variables are only populated by the server, and will be ignored when sending a request. 2148 2149 All required parameters must be populated in order to send to Azure. 2150 2151 :param status: Required. Status of the order as per the allowed status types. Possible values 2152 include: "Untracked", "AwaitingFulfilment", "AwaitingPreparation", "AwaitingShipment", 2153 "Shipped", "Arriving", "Delivered", "ReplacementRequested", "LostDevice", "Declined", 2154 "ReturnInitiated", "AwaitingReturnShipment", "ShippedBack", "CollectedAtMicrosoft". 2155 :type status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.OrderState 2156 :ivar update_date_time: Time of status update. 2157 :vartype update_date_time: ~datetime.datetime 2158 :param comments: Comments related to this status change. 2159 :type comments: str 2160 :ivar additional_order_details: Dictionary to hold generic information which is not stored 2161 by the already existing properties. 2162 :vartype additional_order_details: dict[str, str] 2163 """ 2164 2165 _validation = { 2166 'status': {'required': True}, 2167 'update_date_time': {'readonly': True}, 2168 'additional_order_details': {'readonly': True}, 2169 } 2170 2171 _attribute_map = { 2172 'status': {'key': 'status', 'type': 'str'}, 2173 'update_date_time': {'key': 'updateDateTime', 'type': 'iso-8601'}, 2174 'comments': {'key': 'comments', 'type': 'str'}, 2175 'additional_order_details': {'key': 'additionalOrderDetails', 'type': '{str}'}, 2176 } 2177 2178 def __init__( 2179 self, 2180 **kwargs 2181 ): 2182 super(OrderStatus, self).__init__(**kwargs) 2183 self.status = kwargs['status'] 2184 self.update_date_time = None 2185 self.comments = kwargs.get('comments', None) 2186 self.additional_order_details = None 2187 2188 2189class PeriodicTimerEventTrigger(Trigger): 2190 """Trigger details. 2191 2192 Variables are only populated by the server, and will be ignored when sending a request. 2193 2194 All required parameters must be populated in order to send to Azure. 2195 2196 :ivar id: The path ID that uniquely identifies the object. 2197 :vartype id: str 2198 :ivar name: The object name. 2199 :vartype name: str 2200 :ivar type: The hierarchical type of the object. 2201 :vartype type: str 2202 :param kind: Required. Trigger Kind.Constant filled by server. Possible values include: 2203 "FileEvent", "PeriodicTimerEvent". 2204 :type kind: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.TriggerEventType 2205 :param source_info: Required. Periodic timer details. 2206 :type source_info: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.PeriodicTimerSourceInfo 2207 :param sink_info: Required. Role Sink information. 2208 :type sink_info: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RoleSinkInfo 2209 :param custom_context_tag: A custom context tag typically used to correlate the trigger against 2210 its usage. For example, if a periodic timer trigger is intended for certain specific IoT 2211 modules in the device, the tag can be the name or the image URL of the module. 2212 :type custom_context_tag: str 2213 """ 2214 2215 _validation = { 2216 'id': {'readonly': True}, 2217 'name': {'readonly': True}, 2218 'type': {'readonly': True}, 2219 'kind': {'required': True}, 2220 'source_info': {'required': True}, 2221 'sink_info': {'required': True}, 2222 } 2223 2224 _attribute_map = { 2225 'id': {'key': 'id', 'type': 'str'}, 2226 'name': {'key': 'name', 'type': 'str'}, 2227 'type': {'key': 'type', 'type': 'str'}, 2228 'kind': {'key': 'kind', 'type': 'str'}, 2229 'source_info': {'key': 'properties.sourceInfo', 'type': 'PeriodicTimerSourceInfo'}, 2230 'sink_info': {'key': 'properties.sinkInfo', 'type': 'RoleSinkInfo'}, 2231 'custom_context_tag': {'key': 'properties.customContextTag', 'type': 'str'}, 2232 } 2233 2234 def __init__( 2235 self, 2236 **kwargs 2237 ): 2238 super(PeriodicTimerEventTrigger, self).__init__(**kwargs) 2239 self.kind = 'PeriodicTimerEvent' # type: str 2240 self.source_info = kwargs['source_info'] 2241 self.sink_info = kwargs['sink_info'] 2242 self.custom_context_tag = kwargs.get('custom_context_tag', None) 2243 2244 2245class PeriodicTimerSourceInfo(msrest.serialization.Model): 2246 """Periodic timer event source. 2247 2248 All required parameters must be populated in order to send to Azure. 2249 2250 :param start_time: Required. The time of the day that results in a valid trigger. Schedule is 2251 computed with reference to the time specified upto seconds. If timezone is not specified the 2252 time will considered to be in device timezone. The value will always be returned as UTC time. 2253 :type start_time: ~datetime.datetime 2254 :param schedule: Required. Periodic frequency at which timer event needs to be raised. Supports 2255 daily, hourly, minutes, and seconds. 2256 :type schedule: str 2257 :param topic: Topic where periodic events are published to IoT device. 2258 :type topic: str 2259 """ 2260 2261 _validation = { 2262 'start_time': {'required': True}, 2263 'schedule': {'required': True}, 2264 } 2265 2266 _attribute_map = { 2267 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2268 'schedule': {'key': 'schedule', 'type': 'str'}, 2269 'topic': {'key': 'topic', 'type': 'str'}, 2270 } 2271 2272 def __init__( 2273 self, 2274 **kwargs 2275 ): 2276 super(PeriodicTimerSourceInfo, self).__init__(**kwargs) 2277 self.start_time = kwargs['start_time'] 2278 self.schedule = kwargs['schedule'] 2279 self.topic = kwargs.get('topic', None) 2280 2281 2282class RefreshDetails(msrest.serialization.Model): 2283 """Fields for tracking refresh job on the share or container. 2284 2285 :param in_progress_refresh_job_id: If a refresh job is currently in progress on this share or 2286 container, this field indicates the ARM resource ID of that job. The field is empty if no job 2287 is in progress. 2288 :type in_progress_refresh_job_id: str 2289 :param last_completed_refresh_job_time_in_utc: Indicates the completed time for the last 2290 refresh job on this particular share or container, if any.This could be a failed job or a 2291 successful job. 2292 :type last_completed_refresh_job_time_in_utc: ~datetime.datetime 2293 :param error_manifest_file: Indicates the relative path of the error xml for the last refresh 2294 job on this particular share or container, if any. This could be a failed job or a successful 2295 job. 2296 :type error_manifest_file: str 2297 :param last_job: Indicates the id of the last refresh job on this particular share or 2298 container,if any. This could be a failed job or a successful job. 2299 :type last_job: str 2300 """ 2301 2302 _attribute_map = { 2303 'in_progress_refresh_job_id': {'key': 'inProgressRefreshJobId', 'type': 'str'}, 2304 'last_completed_refresh_job_time_in_utc': {'key': 'lastCompletedRefreshJobTimeInUTC', 'type': 'iso-8601'}, 2305 'error_manifest_file': {'key': 'errorManifestFile', 'type': 'str'}, 2306 'last_job': {'key': 'lastJob', 'type': 'str'}, 2307 } 2308 2309 def __init__( 2310 self, 2311 **kwargs 2312 ): 2313 super(RefreshDetails, self).__init__(**kwargs) 2314 self.in_progress_refresh_job_id = kwargs.get('in_progress_refresh_job_id', None) 2315 self.last_completed_refresh_job_time_in_utc = kwargs.get('last_completed_refresh_job_time_in_utc', None) 2316 self.error_manifest_file = kwargs.get('error_manifest_file', None) 2317 self.last_job = kwargs.get('last_job', None) 2318 2319 2320class ResourceTypeSku(msrest.serialization.Model): 2321 """SkuInformation object. 2322 2323 Variables are only populated by the server, and will be ignored when sending a request. 2324 2325 :ivar resource_type: The type of the resource. 2326 :vartype resource_type: str 2327 :ivar name: The Sku name. Possible values include: "Gateway", "Edge", "TEA_1Node", 2328 "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", 2329 "TEA_4Node_UPS_Heater", "TMA", "TDC", "TCA_Large", "TCA_Small", "GPU". 2330 :vartype name: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuName 2331 :ivar kind: The Sku kind. 2332 :vartype kind: str 2333 :ivar tier: The Sku tier. Possible values include: "Standard". 2334 :vartype tier: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuTier 2335 :ivar family: The Sku family. 2336 :vartype family: str 2337 :ivar locations: Availability of the SKU for the region. 2338 :vartype locations: list[str] 2339 :ivar api_versions: The API versions in which SKU is available. 2340 :vartype api_versions: list[str] 2341 :ivar location_info: Availability of the SKU for the location/zone. 2342 :vartype location_info: 2343 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuLocationInfo] 2344 :ivar costs: The pricing info of the Sku. 2345 :vartype costs: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuCost] 2346 :ivar restrictions: Restrictions of the SKU availability. 2347 :vartype restrictions: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuRestriction] 2348 """ 2349 2350 _validation = { 2351 'resource_type': {'readonly': True}, 2352 'name': {'readonly': True}, 2353 'kind': {'readonly': True}, 2354 'tier': {'readonly': True}, 2355 'family': {'readonly': True}, 2356 'locations': {'readonly': True}, 2357 'api_versions': {'readonly': True}, 2358 'location_info': {'readonly': True}, 2359 'costs': {'readonly': True}, 2360 'restrictions': {'readonly': True}, 2361 } 2362 2363 _attribute_map = { 2364 'resource_type': {'key': 'resourceType', 'type': 'str'}, 2365 'name': {'key': 'name', 'type': 'str'}, 2366 'kind': {'key': 'kind', 'type': 'str'}, 2367 'tier': {'key': 'tier', 'type': 'str'}, 2368 'family': {'key': 'family', 'type': 'str'}, 2369 'locations': {'key': 'locations', 'type': '[str]'}, 2370 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, 2371 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfo]'}, 2372 'costs': {'key': 'costs', 'type': '[SkuCost]'}, 2373 'restrictions': {'key': 'restrictions', 'type': '[SkuRestriction]'}, 2374 } 2375 2376 def __init__( 2377 self, 2378 **kwargs 2379 ): 2380 super(ResourceTypeSku, self).__init__(**kwargs) 2381 self.resource_type = None 2382 self.name = None 2383 self.kind = None 2384 self.tier = None 2385 self.family = None 2386 self.locations = None 2387 self.api_versions = None 2388 self.location_info = None 2389 self.costs = None 2390 self.restrictions = None 2391 2392 2393class RoleList(msrest.serialization.Model): 2394 """Collection of all the roles on the Data Box Edge device. 2395 2396 Variables are only populated by the server, and will be ignored when sending a request. 2397 2398 :ivar value: The Value. 2399 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Role] 2400 :ivar next_link: Link to the next set of results. 2401 :vartype next_link: str 2402 """ 2403 2404 _validation = { 2405 'value': {'readonly': True}, 2406 'next_link': {'readonly': True}, 2407 } 2408 2409 _attribute_map = { 2410 'value': {'key': 'value', 'type': '[Role]'}, 2411 'next_link': {'key': 'nextLink', 'type': 'str'}, 2412 } 2413 2414 def __init__( 2415 self, 2416 **kwargs 2417 ): 2418 super(RoleList, self).__init__(**kwargs) 2419 self.value = None 2420 self.next_link = None 2421 2422 2423class RoleSinkInfo(msrest.serialization.Model): 2424 """Compute role against which events will be raised. 2425 2426 All required parameters must be populated in order to send to Azure. 2427 2428 :param role_id: Required. Compute role ID. 2429 :type role_id: str 2430 """ 2431 2432 _validation = { 2433 'role_id': {'required': True}, 2434 } 2435 2436 _attribute_map = { 2437 'role_id': {'key': 'roleId', 'type': 'str'}, 2438 } 2439 2440 def __init__( 2441 self, 2442 **kwargs 2443 ): 2444 super(RoleSinkInfo, self).__init__(**kwargs) 2445 self.role_id = kwargs['role_id'] 2446 2447 2448class SecuritySettings(ARMBaseModel): 2449 """The security settings of a device. 2450 2451 Variables are only populated by the server, and will be ignored when sending a request. 2452 2453 All required parameters must be populated in order to send to Azure. 2454 2455 :ivar id: The path ID that uniquely identifies the object. 2456 :vartype id: str 2457 :ivar name: The object name. 2458 :vartype name: str 2459 :ivar type: The hierarchical type of the object. 2460 :vartype type: str 2461 :param device_admin_password: Required. Device administrator password as an encrypted string 2462 (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual 2463 password should have at least 8 characters that are a combination of uppercase, lowercase, 2464 numeric, and special characters. 2465 :type device_admin_password: 2466 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AsymmetricEncryptedSecret 2467 """ 2468 2469 _validation = { 2470 'id': {'readonly': True}, 2471 'name': {'readonly': True}, 2472 'type': {'readonly': True}, 2473 'device_admin_password': {'required': True}, 2474 } 2475 2476 _attribute_map = { 2477 'id': {'key': 'id', 'type': 'str'}, 2478 'name': {'key': 'name', 'type': 'str'}, 2479 'type': {'key': 'type', 'type': 'str'}, 2480 'device_admin_password': {'key': 'properties.deviceAdminPassword', 'type': 'AsymmetricEncryptedSecret'}, 2481 } 2482 2483 def __init__( 2484 self, 2485 **kwargs 2486 ): 2487 super(SecuritySettings, self).__init__(**kwargs) 2488 self.device_admin_password = kwargs['device_admin_password'] 2489 2490 2491class ServiceSpecification(msrest.serialization.Model): 2492 """Service specification. 2493 2494 :param metric_specifications: Metric specification as defined by shoebox. 2495 :type metric_specifications: 2496 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.MetricSpecificationV1] 2497 """ 2498 2499 _attribute_map = { 2500 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecificationV1]'}, 2501 } 2502 2503 def __init__( 2504 self, 2505 **kwargs 2506 ): 2507 super(ServiceSpecification, self).__init__(**kwargs) 2508 self.metric_specifications = kwargs.get('metric_specifications', None) 2509 2510 2511class Share(ARMBaseModel): 2512 """Represents a share on the Data Box Edge/Gateway device. 2513 2514 Variables are only populated by the server, and will be ignored when sending a request. 2515 2516 All required parameters must be populated in order to send to Azure. 2517 2518 :ivar id: The path ID that uniquely identifies the object. 2519 :vartype id: str 2520 :ivar name: The object name. 2521 :vartype name: str 2522 :ivar type: The hierarchical type of the object. 2523 :vartype type: str 2524 :param description: Description for the share. 2525 :type description: str 2526 :param share_status: Required. Current status of the share. Possible values include: "Offline", 2527 "Unknown", "OK", "Updating", "NeedsAttention". 2528 :type share_status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ShareStatus 2529 :param monitoring_status: Required. Current monitoring status of the share. Possible values 2530 include: "Enabled", "Disabled". 2531 :type monitoring_status: str or 2532 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.MonitoringStatus 2533 :param azure_container_info: Azure container mapping for the share. 2534 :type azure_container_info: 2535 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AzureContainerInfo 2536 :param access_protocol: Required. Access protocol to be used by the share. Possible values 2537 include: "SMB", "NFS". 2538 :type access_protocol: str or 2539 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ShareAccessProtocol 2540 :param user_access_rights: Mapping of users and corresponding access rights on the share 2541 (required for SMB protocol). 2542 :type user_access_rights: 2543 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.UserAccessRight] 2544 :param client_access_rights: List of IP addresses and corresponding access rights on the 2545 share(required for NFS protocol). 2546 :type client_access_rights: 2547 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.ClientAccessRight] 2548 :param refresh_details: Details of the refresh job on this share. 2549 :type refresh_details: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.RefreshDetails 2550 :ivar share_mappings: Share mount point to the role. 2551 :vartype share_mappings: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.MountPointMap] 2552 :param data_policy: Data policy of the share. Possible values include: "Cloud", "Local". 2553 :type data_policy: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DataPolicy 2554 """ 2555 2556 _validation = { 2557 'id': {'readonly': True}, 2558 'name': {'readonly': True}, 2559 'type': {'readonly': True}, 2560 'share_status': {'required': True}, 2561 'monitoring_status': {'required': True}, 2562 'access_protocol': {'required': True}, 2563 'share_mappings': {'readonly': True}, 2564 } 2565 2566 _attribute_map = { 2567 'id': {'key': 'id', 'type': 'str'}, 2568 'name': {'key': 'name', 'type': 'str'}, 2569 'type': {'key': 'type', 'type': 'str'}, 2570 'description': {'key': 'properties.description', 'type': 'str'}, 2571 'share_status': {'key': 'properties.shareStatus', 'type': 'str'}, 2572 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 2573 'azure_container_info': {'key': 'properties.azureContainerInfo', 'type': 'AzureContainerInfo'}, 2574 'access_protocol': {'key': 'properties.accessProtocol', 'type': 'str'}, 2575 'user_access_rights': {'key': 'properties.userAccessRights', 'type': '[UserAccessRight]'}, 2576 'client_access_rights': {'key': 'properties.clientAccessRights', 'type': '[ClientAccessRight]'}, 2577 'refresh_details': {'key': 'properties.refreshDetails', 'type': 'RefreshDetails'}, 2578 'share_mappings': {'key': 'properties.shareMappings', 'type': '[MountPointMap]'}, 2579 'data_policy': {'key': 'properties.dataPolicy', 'type': 'str'}, 2580 } 2581 2582 def __init__( 2583 self, 2584 **kwargs 2585 ): 2586 super(Share, self).__init__(**kwargs) 2587 self.description = kwargs.get('description', None) 2588 self.share_status = kwargs['share_status'] 2589 self.monitoring_status = kwargs['monitoring_status'] 2590 self.azure_container_info = kwargs.get('azure_container_info', None) 2591 self.access_protocol = kwargs['access_protocol'] 2592 self.user_access_rights = kwargs.get('user_access_rights', None) 2593 self.client_access_rights = kwargs.get('client_access_rights', None) 2594 self.refresh_details = kwargs.get('refresh_details', None) 2595 self.share_mappings = None 2596 self.data_policy = kwargs.get('data_policy', None) 2597 2598 2599class ShareAccessRight(msrest.serialization.Model): 2600 """Specifies the mapping between this particular user and the type of access he has on shares on this device. 2601 2602 All required parameters must be populated in order to send to Azure. 2603 2604 :param share_id: Required. The share ID. 2605 :type share_id: str 2606 :param access_type: Required. Type of access to be allowed on the share for this user. Possible 2607 values include: "Change", "Read", "Custom". 2608 :type access_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ShareAccessType 2609 """ 2610 2611 _validation = { 2612 'share_id': {'required': True}, 2613 'access_type': {'required': True}, 2614 } 2615 2616 _attribute_map = { 2617 'share_id': {'key': 'shareId', 'type': 'str'}, 2618 'access_type': {'key': 'accessType', 'type': 'str'}, 2619 } 2620 2621 def __init__( 2622 self, 2623 **kwargs 2624 ): 2625 super(ShareAccessRight, self).__init__(**kwargs) 2626 self.share_id = kwargs['share_id'] 2627 self.access_type = kwargs['access_type'] 2628 2629 2630class ShareList(msrest.serialization.Model): 2631 """Collection of all the shares on the Data Box Edge/Gateway device. 2632 2633 Variables are only populated by the server, and will be ignored when sending a request. 2634 2635 :ivar value: The list of shares. 2636 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Share] 2637 :ivar next_link: Link to the next set of results. 2638 :vartype next_link: str 2639 """ 2640 2641 _validation = { 2642 'value': {'readonly': True}, 2643 'next_link': {'readonly': True}, 2644 } 2645 2646 _attribute_map = { 2647 'value': {'key': 'value', 'type': '[Share]'}, 2648 'next_link': {'key': 'nextLink', 'type': 'str'}, 2649 } 2650 2651 def __init__( 2652 self, 2653 **kwargs 2654 ): 2655 super(ShareList, self).__init__(**kwargs) 2656 self.value = None 2657 self.next_link = None 2658 2659 2660class Sku(msrest.serialization.Model): 2661 """The SKU type. 2662 2663 :param name: SKU name. Possible values include: "Gateway", "Edge", "TEA_1Node", 2664 "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", 2665 "TEA_4Node_UPS_Heater", "TMA", "TDC", "TCA_Large", "TCA_Small", "GPU". 2666 :type name: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuName 2667 :param tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard". 2668 :type tier: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuTier 2669 """ 2670 2671 _attribute_map = { 2672 'name': {'key': 'name', 'type': 'str'}, 2673 'tier': {'key': 'tier', 'type': 'str'}, 2674 } 2675 2676 def __init__( 2677 self, 2678 **kwargs 2679 ): 2680 super(Sku, self).__init__(**kwargs) 2681 self.name = kwargs.get('name', None) 2682 self.tier = kwargs.get('tier', None) 2683 2684 2685class SKUCapability(msrest.serialization.Model): 2686 """The capabilities of the SKU. 2687 2688 Variables are only populated by the server, and will be ignored when sending a request. 2689 2690 :ivar name: The capability name. 2691 :vartype name: str 2692 :ivar value: The capability value. 2693 :vartype value: str 2694 """ 2695 2696 _validation = { 2697 'name': {'readonly': True}, 2698 'value': {'readonly': True}, 2699 } 2700 2701 _attribute_map = { 2702 'name': {'key': 'name', 'type': 'str'}, 2703 'value': {'key': 'value', 'type': 'str'}, 2704 } 2705 2706 def __init__( 2707 self, 2708 **kwargs 2709 ): 2710 super(SKUCapability, self).__init__(**kwargs) 2711 self.name = None 2712 self.value = None 2713 2714 2715class SkuCost(msrest.serialization.Model): 2716 """The metadata for retrieving price info. 2717 2718 Variables are only populated by the server, and will be ignored when sending a request. 2719 2720 :ivar meter_id: Used for querying price from commerce. 2721 :vartype meter_id: str 2722 :ivar quantity: The cost quantity. 2723 :vartype quantity: long 2724 :ivar extended_unit: The extended unit. 2725 :vartype extended_unit: str 2726 """ 2727 2728 _validation = { 2729 'meter_id': {'readonly': True}, 2730 'quantity': {'readonly': True}, 2731 'extended_unit': {'readonly': True}, 2732 } 2733 2734 _attribute_map = { 2735 'meter_id': {'key': 'meterId', 'type': 'str'}, 2736 'quantity': {'key': 'quantity', 'type': 'long'}, 2737 'extended_unit': {'key': 'extendedUnit', 'type': 'str'}, 2738 } 2739 2740 def __init__( 2741 self, 2742 **kwargs 2743 ): 2744 super(SkuCost, self).__init__(**kwargs) 2745 self.meter_id = None 2746 self.quantity = None 2747 self.extended_unit = None 2748 2749 2750class SkuInformation(msrest.serialization.Model): 2751 """Sku information. 2752 2753 Variables are only populated by the server, and will be ignored when sending a request. 2754 2755 :ivar resource_type: The resource type. 2756 :vartype resource_type: str 2757 :ivar name: The sku name. 2758 :vartype name: str 2759 :ivar tier: The sku tier. 2760 :vartype tier: str 2761 :ivar kind: The sku kind. 2762 :vartype kind: str 2763 :ivar size: The sku size. 2764 :vartype size: str 2765 :ivar family: The sku family. 2766 :vartype family: str 2767 :ivar locations: The locations where Sku is available. 2768 :vartype locations: list[str] 2769 :ivar location_info: The locations where Sku is available with zones and sites info. 2770 :vartype location_info: 2771 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuLocationInfo] 2772 :ivar required_quota_ids: The required quotaIds for the sku to be available. 2773 :vartype required_quota_ids: list[str] 2774 :ivar required_features: The required features for the sku to be available. 2775 :vartype required_features: list[str] 2776 :ivar costs: The cost of the SKU. 2777 :vartype costs: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuCost] 2778 :ivar capabilities: The capabilities of the SKU. 2779 :vartype capabilities: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.SKUCapability] 2780 """ 2781 2782 _validation = { 2783 'resource_type': {'readonly': True}, 2784 'name': {'readonly': True}, 2785 'tier': {'readonly': True}, 2786 'kind': {'readonly': True}, 2787 'size': {'readonly': True}, 2788 'family': {'readonly': True}, 2789 'locations': {'readonly': True}, 2790 'location_info': {'readonly': True}, 2791 'required_quota_ids': {'readonly': True}, 2792 'required_features': {'readonly': True}, 2793 'costs': {'readonly': True}, 2794 'capabilities': {'readonly': True}, 2795 } 2796 2797 _attribute_map = { 2798 'resource_type': {'key': 'resourceType', 'type': 'str'}, 2799 'name': {'key': 'name', 'type': 'str'}, 2800 'tier': {'key': 'tier', 'type': 'str'}, 2801 'kind': {'key': 'kind', 'type': 'str'}, 2802 'size': {'key': 'size', 'type': 'str'}, 2803 'family': {'key': 'family', 'type': 'str'}, 2804 'locations': {'key': 'locations', 'type': '[str]'}, 2805 'location_info': {'key': 'locationInfo', 'type': '[SkuLocationInfo]'}, 2806 'required_quota_ids': {'key': 'requiredQuotaIds', 'type': '[str]'}, 2807 'required_features': {'key': 'requiredFeatures', 'type': '[str]'}, 2808 'costs': {'key': 'costs', 'type': '[SkuCost]'}, 2809 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, 2810 } 2811 2812 def __init__( 2813 self, 2814 **kwargs 2815 ): 2816 super(SkuInformation, self).__init__(**kwargs) 2817 self.resource_type = None 2818 self.name = None 2819 self.tier = None 2820 self.kind = None 2821 self.size = None 2822 self.family = None 2823 self.locations = None 2824 self.location_info = None 2825 self.required_quota_ids = None 2826 self.required_features = None 2827 self.costs = None 2828 self.capabilities = None 2829 2830 2831class SkuInformationList(msrest.serialization.Model): 2832 """List of SKU Information objects. 2833 2834 Variables are only populated by the server, and will be ignored when sending a request. 2835 2836 :ivar value: List of ResourceType Sku. 2837 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.ResourceTypeSku] 2838 :ivar next_link: Links to the next set of results. 2839 :vartype next_link: str 2840 """ 2841 2842 _validation = { 2843 'value': {'readonly': True}, 2844 'next_link': {'readonly': True}, 2845 } 2846 2847 _attribute_map = { 2848 'value': {'key': 'value', 'type': '[ResourceTypeSku]'}, 2849 'next_link': {'key': 'nextLink', 'type': 'str'}, 2850 } 2851 2852 def __init__( 2853 self, 2854 **kwargs 2855 ): 2856 super(SkuInformationList, self).__init__(**kwargs) 2857 self.value = None 2858 self.next_link = None 2859 2860 2861class SkuLocationInfo(msrest.serialization.Model): 2862 """The location info. 2863 2864 Variables are only populated by the server, and will be ignored when sending a request. 2865 2866 :ivar location: The location. 2867 :vartype location: str 2868 :ivar zones: The zones. 2869 :vartype zones: list[str] 2870 :ivar sites: The sites. 2871 :vartype sites: list[str] 2872 """ 2873 2874 _validation = { 2875 'location': {'readonly': True}, 2876 'zones': {'readonly': True}, 2877 'sites': {'readonly': True}, 2878 } 2879 2880 _attribute_map = { 2881 'location': {'key': 'location', 'type': 'str'}, 2882 'zones': {'key': 'zones', 'type': '[str]'}, 2883 'sites': {'key': 'sites', 'type': '[str]'}, 2884 } 2885 2886 def __init__( 2887 self, 2888 **kwargs 2889 ): 2890 super(SkuLocationInfo, self).__init__(**kwargs) 2891 self.location = None 2892 self.zones = None 2893 self.sites = None 2894 2895 2896class SkuRestriction(msrest.serialization.Model): 2897 """The restrictions because of which SKU cannot be used. 2898 2899 Variables are only populated by the server, and will be ignored when sending a request. 2900 2901 :ivar type: The type of the restriction. 2902 :vartype type: str 2903 :ivar values: The locations where sku is restricted. 2904 :vartype values: list[str] 2905 :ivar reason_code: The SKU restriction reason. Possible values include: 2906 "NotAvailableForSubscription", "QuotaId". 2907 :vartype reason_code: str or 2908 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuRestrictionReasonCode 2909 :ivar restriction_info: Restriction of the SKU for the location/zone. 2910 :vartype restriction_info: 2911 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SkuRestrictionInfo 2912 """ 2913 2914 _validation = { 2915 'type': {'readonly': True}, 2916 'values': {'readonly': True}, 2917 'reason_code': {'readonly': True}, 2918 'restriction_info': {'readonly': True}, 2919 } 2920 2921 _attribute_map = { 2922 'type': {'key': 'type', 'type': 'str'}, 2923 'values': {'key': 'values', 'type': '[str]'}, 2924 'reason_code': {'key': 'reasonCode', 'type': 'str'}, 2925 'restriction_info': {'key': 'restrictionInfo', 'type': 'SkuRestrictionInfo'}, 2926 } 2927 2928 def __init__( 2929 self, 2930 **kwargs 2931 ): 2932 super(SkuRestriction, self).__init__(**kwargs) 2933 self.type = None 2934 self.values = None 2935 self.reason_code = None 2936 self.restriction_info = None 2937 2938 2939class SkuRestrictionInfo(msrest.serialization.Model): 2940 """The restriction info with locations and zones. 2941 2942 Variables are only populated by the server, and will be ignored when sending a request. 2943 2944 :ivar locations: The locations. 2945 :vartype locations: list[str] 2946 :ivar zones: The zones. 2947 :vartype zones: list[str] 2948 """ 2949 2950 _validation = { 2951 'locations': {'readonly': True}, 2952 'zones': {'readonly': True}, 2953 } 2954 2955 _attribute_map = { 2956 'locations': {'key': 'locations', 'type': '[str]'}, 2957 'zones': {'key': 'zones', 'type': '[str]'}, 2958 } 2959 2960 def __init__( 2961 self, 2962 **kwargs 2963 ): 2964 super(SkuRestrictionInfo, self).__init__(**kwargs) 2965 self.locations = None 2966 self.zones = None 2967 2968 2969class StorageAccount(ARMBaseModel): 2970 """Represents a Storage Account on the Data Box Edge/Gateway device. 2971 2972 Variables are only populated by the server, and will be ignored when sending a request. 2973 2974 :ivar id: The path ID that uniquely identifies the object. 2975 :vartype id: str 2976 :ivar name: The object name. 2977 :vartype name: str 2978 :ivar type: The hierarchical type of the object. 2979 :vartype type: str 2980 :param description: Description for the storage Account. 2981 :type description: str 2982 :param storage_account_status: Current status of the storage account. Possible values include: 2983 "OK", "Offline", "Unknown", "Updating", "NeedsAttention". 2984 :type storage_account_status: str or 2985 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.StorageAccountStatus 2986 :param data_policy: Data policy of the storage Account. Possible values include: "Cloud", 2987 "Local". 2988 :type data_policy: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DataPolicy 2989 :param storage_account_credential_id: Storage Account Credential Id. 2990 :type storage_account_credential_id: str 2991 :ivar blob_endpoint: BlobEndpoint of Storage Account. 2992 :vartype blob_endpoint: str 2993 :ivar container_count: The Container Count. Present only for Storage Accounts with DataPolicy 2994 set to Cloud. 2995 :vartype container_count: int 2996 """ 2997 2998 _validation = { 2999 'id': {'readonly': True}, 3000 'name': {'readonly': True}, 3001 'type': {'readonly': True}, 3002 'blob_endpoint': {'readonly': True}, 3003 'container_count': {'readonly': True}, 3004 } 3005 3006 _attribute_map = { 3007 'id': {'key': 'id', 'type': 'str'}, 3008 'name': {'key': 'name', 'type': 'str'}, 3009 'type': {'key': 'type', 'type': 'str'}, 3010 'description': {'key': 'properties.description', 'type': 'str'}, 3011 'storage_account_status': {'key': 'properties.storageAccountStatus', 'type': 'str'}, 3012 'data_policy': {'key': 'properties.dataPolicy', 'type': 'str'}, 3013 'storage_account_credential_id': {'key': 'properties.storageAccountCredentialId', 'type': 'str'}, 3014 'blob_endpoint': {'key': 'properties.blobEndpoint', 'type': 'str'}, 3015 'container_count': {'key': 'properties.containerCount', 'type': 'int'}, 3016 } 3017 3018 def __init__( 3019 self, 3020 **kwargs 3021 ): 3022 super(StorageAccount, self).__init__(**kwargs) 3023 self.description = kwargs.get('description', None) 3024 self.storage_account_status = kwargs.get('storage_account_status', None) 3025 self.data_policy = kwargs.get('data_policy', None) 3026 self.storage_account_credential_id = kwargs.get('storage_account_credential_id', None) 3027 self.blob_endpoint = None 3028 self.container_count = None 3029 3030 3031class StorageAccountCredential(ARMBaseModel): 3032 """The storage account credential. 3033 3034 Variables are only populated by the server, and will be ignored when sending a request. 3035 3036 All required parameters must be populated in order to send to Azure. 3037 3038 :ivar id: The path ID that uniquely identifies the object. 3039 :vartype id: str 3040 :ivar name: The object name. 3041 :vartype name: str 3042 :ivar type: The hierarchical type of the object. 3043 :vartype type: str 3044 :param alias: Required. Alias for the storage account. 3045 :type alias: str 3046 :param user_name: Username for the storage account. 3047 :type user_name: str 3048 :param account_key: Encrypted storage key. 3049 :type account_key: ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AsymmetricEncryptedSecret 3050 :param connection_string: Connection string for the storage account. Use this string if 3051 username and account key are not specified. 3052 :type connection_string: str 3053 :param ssl_status: Required. Signifies whether SSL needs to be enabled or not. Possible values 3054 include: "Enabled", "Disabled". 3055 :type ssl_status: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.SSLStatus 3056 :param blob_domain_name: Blob end point for private clouds. 3057 :type blob_domain_name: str 3058 :param account_type: Required. Type of storage accessed on the storage account. Possible values 3059 include: "GeneralPurposeStorage", "BlobStorage". 3060 :type account_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AccountType 3061 :param storage_account_id: Id of the storage account. 3062 :type storage_account_id: str 3063 """ 3064 3065 _validation = { 3066 'id': {'readonly': True}, 3067 'name': {'readonly': True}, 3068 'type': {'readonly': True}, 3069 'alias': {'required': True}, 3070 'ssl_status': {'required': True}, 3071 'account_type': {'required': True}, 3072 } 3073 3074 _attribute_map = { 3075 'id': {'key': 'id', 'type': 'str'}, 3076 'name': {'key': 'name', 'type': 'str'}, 3077 'type': {'key': 'type', 'type': 'str'}, 3078 'alias': {'key': 'properties.alias', 'type': 'str'}, 3079 'user_name': {'key': 'properties.userName', 'type': 'str'}, 3080 'account_key': {'key': 'properties.accountKey', 'type': 'AsymmetricEncryptedSecret'}, 3081 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, 3082 'ssl_status': {'key': 'properties.sslStatus', 'type': 'str'}, 3083 'blob_domain_name': {'key': 'properties.blobDomainName', 'type': 'str'}, 3084 'account_type': {'key': 'properties.accountType', 'type': 'str'}, 3085 'storage_account_id': {'key': 'properties.storageAccountId', 'type': 'str'}, 3086 } 3087 3088 def __init__( 3089 self, 3090 **kwargs 3091 ): 3092 super(StorageAccountCredential, self).__init__(**kwargs) 3093 self.alias = kwargs['alias'] 3094 self.user_name = kwargs.get('user_name', None) 3095 self.account_key = kwargs.get('account_key', None) 3096 self.connection_string = kwargs.get('connection_string', None) 3097 self.ssl_status = kwargs['ssl_status'] 3098 self.blob_domain_name = kwargs.get('blob_domain_name', None) 3099 self.account_type = kwargs['account_type'] 3100 self.storage_account_id = kwargs.get('storage_account_id', None) 3101 3102 3103class StorageAccountCredentialList(msrest.serialization.Model): 3104 """The collection of storage account credentials. 3105 3106 Variables are only populated by the server, and will be ignored when sending a request. 3107 3108 :ivar value: The value. 3109 :vartype value: 3110 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.StorageAccountCredential] 3111 :ivar next_link: Link to the next set of results. 3112 :vartype next_link: str 3113 """ 3114 3115 _validation = { 3116 'value': {'readonly': True}, 3117 'next_link': {'readonly': True}, 3118 } 3119 3120 _attribute_map = { 3121 'value': {'key': 'value', 'type': '[StorageAccountCredential]'}, 3122 'next_link': {'key': 'nextLink', 'type': 'str'}, 3123 } 3124 3125 def __init__( 3126 self, 3127 **kwargs 3128 ): 3129 super(StorageAccountCredentialList, self).__init__(**kwargs) 3130 self.value = None 3131 self.next_link = None 3132 3133 3134class StorageAccountList(msrest.serialization.Model): 3135 """Collection of all the Storage Accounts on the Data Box Edge/Gateway device. 3136 3137 Variables are only populated by the server, and will be ignored when sending a request. 3138 3139 :ivar value: The list of storageAccounts. 3140 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.StorageAccount] 3141 :ivar next_link: Link to the next set of results. 3142 :vartype next_link: str 3143 """ 3144 3145 _validation = { 3146 'value': {'readonly': True}, 3147 'next_link': {'readonly': True}, 3148 } 3149 3150 _attribute_map = { 3151 'value': {'key': 'value', 'type': '[StorageAccount]'}, 3152 'next_link': {'key': 'nextLink', 'type': 'str'}, 3153 } 3154 3155 def __init__( 3156 self, 3157 **kwargs 3158 ): 3159 super(StorageAccountList, self).__init__(**kwargs) 3160 self.value = None 3161 self.next_link = None 3162 3163 3164class SymmetricKey(msrest.serialization.Model): 3165 """Symmetric key for authentication. 3166 3167 :param connection_string: Connection string based on the symmetric key. 3168 :type connection_string: 3169 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AsymmetricEncryptedSecret 3170 """ 3171 3172 _attribute_map = { 3173 'connection_string': {'key': 'connectionString', 'type': 'AsymmetricEncryptedSecret'}, 3174 } 3175 3176 def __init__( 3177 self, 3178 **kwargs 3179 ): 3180 super(SymmetricKey, self).__init__(**kwargs) 3181 self.connection_string = kwargs.get('connection_string', None) 3182 3183 3184class TrackingInfo(msrest.serialization.Model): 3185 """Tracking courier information. 3186 3187 :param serial_number: Serial number of the device being tracked. 3188 :type serial_number: str 3189 :param carrier_name: Name of the carrier used in the delivery. 3190 :type carrier_name: str 3191 :param tracking_id: Tracking ID of the shipment. 3192 :type tracking_id: str 3193 :param tracking_url: Tracking URL of the shipment. 3194 :type tracking_url: str 3195 """ 3196 3197 _attribute_map = { 3198 'serial_number': {'key': 'serialNumber', 'type': 'str'}, 3199 'carrier_name': {'key': 'carrierName', 'type': 'str'}, 3200 'tracking_id': {'key': 'trackingId', 'type': 'str'}, 3201 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, 3202 } 3203 3204 def __init__( 3205 self, 3206 **kwargs 3207 ): 3208 super(TrackingInfo, self).__init__(**kwargs) 3209 self.serial_number = kwargs.get('serial_number', None) 3210 self.carrier_name = kwargs.get('carrier_name', None) 3211 self.tracking_id = kwargs.get('tracking_id', None) 3212 self.tracking_url = kwargs.get('tracking_url', None) 3213 3214 3215class TriggerList(msrest.serialization.Model): 3216 """Collection of all trigger on the data box edge device. 3217 3218 Variables are only populated by the server, and will be ignored when sending a request. 3219 3220 :ivar value: The list of triggers. 3221 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.Trigger] 3222 :ivar next_link: Link to the next set of results. 3223 :vartype next_link: str 3224 """ 3225 3226 _validation = { 3227 'value': {'readonly': True}, 3228 'next_link': {'readonly': True}, 3229 } 3230 3231 _attribute_map = { 3232 'value': {'key': 'value', 'type': '[Trigger]'}, 3233 'next_link': {'key': 'nextLink', 'type': 'str'}, 3234 } 3235 3236 def __init__( 3237 self, 3238 **kwargs 3239 ): 3240 super(TriggerList, self).__init__(**kwargs) 3241 self.value = None 3242 self.next_link = None 3243 3244 3245class UpdateDownloadProgress(msrest.serialization.Model): 3246 """Details about the download progress of update. 3247 3248 Variables are only populated by the server, and will be ignored when sending a request. 3249 3250 :ivar download_phase: The download phase. Possible values include: "Unknown", "Initializing", 3251 "Downloading", "Verifying". 3252 :vartype download_phase: str or 3253 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.DownloadPhase 3254 :ivar percent_complete: Percentage of completion. 3255 :vartype percent_complete: int 3256 :ivar total_bytes_to_download: Total bytes to download. 3257 :vartype total_bytes_to_download: float 3258 :ivar total_bytes_downloaded: Total bytes downloaded. 3259 :vartype total_bytes_downloaded: float 3260 :ivar number_of_updates_to_download: Number of updates to download. 3261 :vartype number_of_updates_to_download: int 3262 :ivar number_of_updates_downloaded: Number of updates downloaded. 3263 :vartype number_of_updates_downloaded: int 3264 """ 3265 3266 _validation = { 3267 'download_phase': {'readonly': True}, 3268 'percent_complete': {'readonly': True}, 3269 'total_bytes_to_download': {'readonly': True}, 3270 'total_bytes_downloaded': {'readonly': True}, 3271 'number_of_updates_to_download': {'readonly': True}, 3272 'number_of_updates_downloaded': {'readonly': True}, 3273 } 3274 3275 _attribute_map = { 3276 'download_phase': {'key': 'downloadPhase', 'type': 'str'}, 3277 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 3278 'total_bytes_to_download': {'key': 'totalBytesToDownload', 'type': 'float'}, 3279 'total_bytes_downloaded': {'key': 'totalBytesDownloaded', 'type': 'float'}, 3280 'number_of_updates_to_download': {'key': 'numberOfUpdatesToDownload', 'type': 'int'}, 3281 'number_of_updates_downloaded': {'key': 'numberOfUpdatesDownloaded', 'type': 'int'}, 3282 } 3283 3284 def __init__( 3285 self, 3286 **kwargs 3287 ): 3288 super(UpdateDownloadProgress, self).__init__(**kwargs) 3289 self.download_phase = None 3290 self.percent_complete = None 3291 self.total_bytes_to_download = None 3292 self.total_bytes_downloaded = None 3293 self.number_of_updates_to_download = None 3294 self.number_of_updates_downloaded = None 3295 3296 3297class UpdateInstallProgress(msrest.serialization.Model): 3298 """Progress details during installation of updates. 3299 3300 Variables are only populated by the server, and will be ignored when sending a request. 3301 3302 :ivar percent_complete: Percentage completed. 3303 :vartype percent_complete: int 3304 :ivar number_of_updates_to_install: Number of updates to install. 3305 :vartype number_of_updates_to_install: int 3306 :ivar number_of_updates_installed: Number of updates installed. 3307 :vartype number_of_updates_installed: int 3308 """ 3309 3310 _validation = { 3311 'percent_complete': {'readonly': True}, 3312 'number_of_updates_to_install': {'readonly': True}, 3313 'number_of_updates_installed': {'readonly': True}, 3314 } 3315 3316 _attribute_map = { 3317 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, 3318 'number_of_updates_to_install': {'key': 'numberOfUpdatesToInstall', 'type': 'int'}, 3319 'number_of_updates_installed': {'key': 'numberOfUpdatesInstalled', 'type': 'int'}, 3320 } 3321 3322 def __init__( 3323 self, 3324 **kwargs 3325 ): 3326 super(UpdateInstallProgress, self).__init__(**kwargs) 3327 self.percent_complete = None 3328 self.number_of_updates_to_install = None 3329 self.number_of_updates_installed = None 3330 3331 3332class UpdateSummary(ARMBaseModel): 3333 """Details about ongoing updates and availability of updates on the device. 3334 3335 Variables are only populated by the server, and will be ignored when sending a request. 3336 3337 :ivar id: The path ID that uniquely identifies the object. 3338 :vartype id: str 3339 :ivar name: The object name. 3340 :vartype name: str 3341 :ivar type: The hierarchical type of the object. 3342 :vartype type: str 3343 :param device_version_number: The current version of the device in format: 1.2.17312.13.",. 3344 :type device_version_number: str 3345 :param friendly_device_version_name: The current version of the device in text format. 3346 :type friendly_device_version_name: str 3347 :param device_last_scanned_date_time: The last time when a scan was done on the device. 3348 :type device_last_scanned_date_time: ~datetime.datetime 3349 :param last_completed_scan_job_date_time: The time when the last scan job was completed 3350 (success/cancelled/failed) on the appliance. 3351 :type last_completed_scan_job_date_time: ~datetime.datetime 3352 :ivar last_completed_download_job_date_time: The time when the last Download job was completed 3353 (success/cancelled/failed) on the appliance. 3354 :vartype last_completed_download_job_date_time: ~datetime.datetime 3355 :ivar last_completed_install_job_date_time: The time when the last Install job was completed 3356 (success/cancelled/failed) on the appliance. 3357 :vartype last_completed_install_job_date_time: ~datetime.datetime 3358 :ivar total_number_of_updates_available: The number of updates available for the current device 3359 version as per the last device scan. 3360 :vartype total_number_of_updates_available: int 3361 :ivar total_number_of_updates_pending_download: The total number of items pending download. 3362 :vartype total_number_of_updates_pending_download: int 3363 :ivar total_number_of_updates_pending_install: The total number of items pending install. 3364 :vartype total_number_of_updates_pending_install: int 3365 :ivar reboot_behavior: Indicates if updates are available and at least one of the updates needs 3366 a reboot. Possible values include: "NeverReboots", "RequiresReboot", "RequestReboot". 3367 :vartype reboot_behavior: str or 3368 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.InstallRebootBehavior 3369 :ivar ongoing_update_operation: The current update operation. Possible values include: "None", 3370 "Scan", "Download", "Install". 3371 :vartype ongoing_update_operation: str or 3372 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.UpdateOperation 3373 :ivar in_progress_download_job_id: The job ID of the download job in progress. 3374 :vartype in_progress_download_job_id: str 3375 :ivar in_progress_install_job_id: The job ID of the install job in progress. 3376 :vartype in_progress_install_job_id: str 3377 :ivar in_progress_download_job_started_date_time: The time when the currently running download 3378 (if any) started. 3379 :vartype in_progress_download_job_started_date_time: ~datetime.datetime 3380 :ivar in_progress_install_job_started_date_time: The time when the currently running install 3381 (if any) started. 3382 :vartype in_progress_install_job_started_date_time: ~datetime.datetime 3383 :ivar update_titles: The list of updates available for install. 3384 :vartype update_titles: list[str] 3385 :ivar total_update_size_in_bytes: The total size of updates available for download in bytes. 3386 :vartype total_update_size_in_bytes: float 3387 """ 3388 3389 _validation = { 3390 'id': {'readonly': True}, 3391 'name': {'readonly': True}, 3392 'type': {'readonly': True}, 3393 'last_completed_download_job_date_time': {'readonly': True}, 3394 'last_completed_install_job_date_time': {'readonly': True}, 3395 'total_number_of_updates_available': {'readonly': True}, 3396 'total_number_of_updates_pending_download': {'readonly': True}, 3397 'total_number_of_updates_pending_install': {'readonly': True}, 3398 'reboot_behavior': {'readonly': True}, 3399 'ongoing_update_operation': {'readonly': True}, 3400 'in_progress_download_job_id': {'readonly': True}, 3401 'in_progress_install_job_id': {'readonly': True}, 3402 'in_progress_download_job_started_date_time': {'readonly': True}, 3403 'in_progress_install_job_started_date_time': {'readonly': True}, 3404 'update_titles': {'readonly': True}, 3405 'total_update_size_in_bytes': {'readonly': True}, 3406 } 3407 3408 _attribute_map = { 3409 'id': {'key': 'id', 'type': 'str'}, 3410 'name': {'key': 'name', 'type': 'str'}, 3411 'type': {'key': 'type', 'type': 'str'}, 3412 'device_version_number': {'key': 'properties.deviceVersionNumber', 'type': 'str'}, 3413 'friendly_device_version_name': {'key': 'properties.friendlyDeviceVersionName', 'type': 'str'}, 3414 'device_last_scanned_date_time': {'key': 'properties.deviceLastScannedDateTime', 'type': 'iso-8601'}, 3415 'last_completed_scan_job_date_time': {'key': 'properties.lastCompletedScanJobDateTime', 'type': 'iso-8601'}, 3416 'last_completed_download_job_date_time': {'key': 'properties.lastCompletedDownloadJobDateTime', 'type': 'iso-8601'}, 3417 'last_completed_install_job_date_time': {'key': 'properties.lastCompletedInstallJobDateTime', 'type': 'iso-8601'}, 3418 'total_number_of_updates_available': {'key': 'properties.totalNumberOfUpdatesAvailable', 'type': 'int'}, 3419 'total_number_of_updates_pending_download': {'key': 'properties.totalNumberOfUpdatesPendingDownload', 'type': 'int'}, 3420 'total_number_of_updates_pending_install': {'key': 'properties.totalNumberOfUpdatesPendingInstall', 'type': 'int'}, 3421 'reboot_behavior': {'key': 'properties.rebootBehavior', 'type': 'str'}, 3422 'ongoing_update_operation': {'key': 'properties.ongoingUpdateOperation', 'type': 'str'}, 3423 'in_progress_download_job_id': {'key': 'properties.inProgressDownloadJobId', 'type': 'str'}, 3424 'in_progress_install_job_id': {'key': 'properties.inProgressInstallJobId', 'type': 'str'}, 3425 'in_progress_download_job_started_date_time': {'key': 'properties.inProgressDownloadJobStartedDateTime', 'type': 'iso-8601'}, 3426 'in_progress_install_job_started_date_time': {'key': 'properties.inProgressInstallJobStartedDateTime', 'type': 'iso-8601'}, 3427 'update_titles': {'key': 'properties.updateTitles', 'type': '[str]'}, 3428 'total_update_size_in_bytes': {'key': 'properties.totalUpdateSizeInBytes', 'type': 'float'}, 3429 } 3430 3431 def __init__( 3432 self, 3433 **kwargs 3434 ): 3435 super(UpdateSummary, self).__init__(**kwargs) 3436 self.device_version_number = kwargs.get('device_version_number', None) 3437 self.friendly_device_version_name = kwargs.get('friendly_device_version_name', None) 3438 self.device_last_scanned_date_time = kwargs.get('device_last_scanned_date_time', None) 3439 self.last_completed_scan_job_date_time = kwargs.get('last_completed_scan_job_date_time', None) 3440 self.last_completed_download_job_date_time = None 3441 self.last_completed_install_job_date_time = None 3442 self.total_number_of_updates_available = None 3443 self.total_number_of_updates_pending_download = None 3444 self.total_number_of_updates_pending_install = None 3445 self.reboot_behavior = None 3446 self.ongoing_update_operation = None 3447 self.in_progress_download_job_id = None 3448 self.in_progress_install_job_id = None 3449 self.in_progress_download_job_started_date_time = None 3450 self.in_progress_install_job_started_date_time = None 3451 self.update_titles = None 3452 self.total_update_size_in_bytes = None 3453 3454 3455class UploadCertificateRequest(msrest.serialization.Model): 3456 """The upload certificate request. 3457 3458 All required parameters must be populated in order to send to Azure. 3459 3460 :param authentication_type: The authentication type. Possible values include: "Invalid", 3461 "AzureActiveDirectory". 3462 :type authentication_type: str or 3463 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AuthenticationType 3464 :param certificate: Required. The base64 encoded certificate raw data. 3465 :type certificate: str 3466 """ 3467 3468 _validation = { 3469 'certificate': {'required': True}, 3470 } 3471 3472 _attribute_map = { 3473 'authentication_type': {'key': 'properties.authenticationType', 'type': 'str'}, 3474 'certificate': {'key': 'properties.certificate', 'type': 'str'}, 3475 } 3476 3477 def __init__( 3478 self, 3479 **kwargs 3480 ): 3481 super(UploadCertificateRequest, self).__init__(**kwargs) 3482 self.authentication_type = kwargs.get('authentication_type', None) 3483 self.certificate = kwargs['certificate'] 3484 3485 3486class UploadCertificateResponse(msrest.serialization.Model): 3487 """The upload registration certificate response. 3488 3489 Variables are only populated by the server, and will be ignored when sending a request. 3490 3491 :param auth_type: Specifies authentication type. Possible values include: "Invalid", 3492 "AzureActiveDirectory". 3493 :type auth_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AuthenticationType 3494 :ivar resource_id: The resource ID of the Data Box Edge/Gateway device. 3495 :vartype resource_id: str 3496 :ivar aad_authority: Azure Active Directory tenant authority. 3497 :vartype aad_authority: str 3498 :ivar aad_tenant_id: Azure Active Directory tenant ID. 3499 :vartype aad_tenant_id: str 3500 :ivar service_principal_client_id: Azure Active Directory service principal client ID. 3501 :vartype service_principal_client_id: str 3502 :ivar service_principal_object_id: Azure Active Directory service principal object ID. 3503 :vartype service_principal_object_id: str 3504 :ivar azure_management_endpoint_audience: The azure management endpoint audience. 3505 :vartype azure_management_endpoint_audience: str 3506 :ivar aad_audience: Identifier of the target resource that is the recipient of the requested 3507 token. 3508 :vartype aad_audience: str 3509 """ 3510 3511 _validation = { 3512 'resource_id': {'readonly': True}, 3513 'aad_authority': {'readonly': True}, 3514 'aad_tenant_id': {'readonly': True}, 3515 'service_principal_client_id': {'readonly': True}, 3516 'service_principal_object_id': {'readonly': True}, 3517 'azure_management_endpoint_audience': {'readonly': True}, 3518 'aad_audience': {'readonly': True}, 3519 } 3520 3521 _attribute_map = { 3522 'auth_type': {'key': 'authType', 'type': 'str'}, 3523 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3524 'aad_authority': {'key': 'aadAuthority', 'type': 'str'}, 3525 'aad_tenant_id': {'key': 'aadTenantId', 'type': 'str'}, 3526 'service_principal_client_id': {'key': 'servicePrincipalClientId', 'type': 'str'}, 3527 'service_principal_object_id': {'key': 'servicePrincipalObjectId', 'type': 'str'}, 3528 'azure_management_endpoint_audience': {'key': 'azureManagementEndpointAudience', 'type': 'str'}, 3529 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 3530 } 3531 3532 def __init__( 3533 self, 3534 **kwargs 3535 ): 3536 super(UploadCertificateResponse, self).__init__(**kwargs) 3537 self.auth_type = kwargs.get('auth_type', None) 3538 self.resource_id = None 3539 self.aad_authority = None 3540 self.aad_tenant_id = None 3541 self.service_principal_client_id = None 3542 self.service_principal_object_id = None 3543 self.azure_management_endpoint_audience = None 3544 self.aad_audience = None 3545 3546 3547class User(ARMBaseModel): 3548 """Represents a user who has access to one or more shares on the Data Box Edge/Gateway device. 3549 3550 Variables are only populated by the server, and will be ignored when sending a request. 3551 3552 All required parameters must be populated in order to send to Azure. 3553 3554 :ivar id: The path ID that uniquely identifies the object. 3555 :vartype id: str 3556 :ivar name: The object name. 3557 :vartype name: str 3558 :ivar type: The hierarchical type of the object. 3559 :vartype type: str 3560 :param encrypted_password: The password details. 3561 :type encrypted_password: 3562 ~azure.mgmt.databoxedge.v2020_05_01_preview.models.AsymmetricEncryptedSecret 3563 :ivar share_access_rights: List of shares that the user has rights on. This field should not be 3564 specified during user creation. 3565 :vartype share_access_rights: 3566 list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.ShareAccessRight] 3567 :param user_type: Required. Type of the user. Possible values include: "Share", 3568 "LocalManagement", "ARM". 3569 :type user_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.UserType 3570 """ 3571 3572 _validation = { 3573 'id': {'readonly': True}, 3574 'name': {'readonly': True}, 3575 'type': {'readonly': True}, 3576 'share_access_rights': {'readonly': True}, 3577 'user_type': {'required': True}, 3578 } 3579 3580 _attribute_map = { 3581 'id': {'key': 'id', 'type': 'str'}, 3582 'name': {'key': 'name', 'type': 'str'}, 3583 'type': {'key': 'type', 'type': 'str'}, 3584 'encrypted_password': {'key': 'properties.encryptedPassword', 'type': 'AsymmetricEncryptedSecret'}, 3585 'share_access_rights': {'key': 'properties.shareAccessRights', 'type': '[ShareAccessRight]'}, 3586 'user_type': {'key': 'properties.userType', 'type': 'str'}, 3587 } 3588 3589 def __init__( 3590 self, 3591 **kwargs 3592 ): 3593 super(User, self).__init__(**kwargs) 3594 self.encrypted_password = kwargs.get('encrypted_password', None) 3595 self.share_access_rights = None 3596 self.user_type = kwargs['user_type'] 3597 3598 3599class UserAccessRight(msrest.serialization.Model): 3600 """The mapping between a particular user and the access type on the SMB share. 3601 3602 All required parameters must be populated in order to send to Azure. 3603 3604 :param user_id: Required. User ID (already existing in the device). 3605 :type user_id: str 3606 :param access_type: Required. Type of access to be allowed for the user. Possible values 3607 include: "Change", "Read", "Custom". 3608 :type access_type: str or ~azure.mgmt.databoxedge.v2020_05_01_preview.models.ShareAccessType 3609 """ 3610 3611 _validation = { 3612 'user_id': {'required': True}, 3613 'access_type': {'required': True}, 3614 } 3615 3616 _attribute_map = { 3617 'user_id': {'key': 'userId', 'type': 'str'}, 3618 'access_type': {'key': 'accessType', 'type': 'str'}, 3619 } 3620 3621 def __init__( 3622 self, 3623 **kwargs 3624 ): 3625 super(UserAccessRight, self).__init__(**kwargs) 3626 self.user_id = kwargs['user_id'] 3627 self.access_type = kwargs['access_type'] 3628 3629 3630class UserList(msrest.serialization.Model): 3631 """Collection of users. 3632 3633 Variables are only populated by the server, and will be ignored when sending a request. 3634 3635 :ivar value: The list of users. 3636 :vartype value: list[~azure.mgmt.databoxedge.v2020_05_01_preview.models.User] 3637 :ivar next_link: Link to the next set of results. 3638 :vartype next_link: str 3639 """ 3640 3641 _validation = { 3642 'value': {'readonly': True}, 3643 'next_link': {'readonly': True}, 3644 } 3645 3646 _attribute_map = { 3647 'value': {'key': 'value', 'type': '[User]'}, 3648 'next_link': {'key': 'nextLink', 'type': 'str'}, 3649 } 3650 3651 def __init__( 3652 self, 3653 **kwargs 3654 ): 3655 super(UserList, self).__init__(**kwargs) 3656 self.value = None 3657 self.next_link = None 3658