1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Any, Dict, List, Optional, Union 11 12from azure.core.exceptions import HttpResponseError 13import msrest.serialization 14 15from ._maria_db_management_client_enums import * 16 17 18class Resource(msrest.serialization.Model): 19 """Common fields that are returned in the response for all Azure Resource Manager resources. 20 21 Variables are only populated by the server, and will be ignored when sending a request. 22 23 :ivar id: Fully qualified resource ID for the resource. Ex - 24 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 25 :vartype id: str 26 :ivar name: The name of the resource. 27 :vartype name: str 28 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 29 "Microsoft.Storage/storageAccounts". 30 :vartype type: str 31 """ 32 33 _validation = { 34 'id': {'readonly': True}, 35 'name': {'readonly': True}, 36 'type': {'readonly': True}, 37 } 38 39 _attribute_map = { 40 'id': {'key': 'id', 'type': 'str'}, 41 'name': {'key': 'name', 'type': 'str'}, 42 'type': {'key': 'type', 'type': 'str'}, 43 } 44 45 def __init__( 46 self, 47 **kwargs 48 ): 49 super(Resource, self).__init__(**kwargs) 50 self.id = None 51 self.name = None 52 self.type = None 53 54 55class ProxyResource(Resource): 56 """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. 57 58 Variables are only populated by the server, and will be ignored when sending a request. 59 60 :ivar id: Fully qualified resource ID for the resource. Ex - 61 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 62 :vartype id: str 63 :ivar name: The name of the resource. 64 :vartype name: str 65 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 66 "Microsoft.Storage/storageAccounts". 67 :vartype type: str 68 """ 69 70 _validation = { 71 'id': {'readonly': True}, 72 'name': {'readonly': True}, 73 'type': {'readonly': True}, 74 } 75 76 _attribute_map = { 77 'id': {'key': 'id', 'type': 'str'}, 78 'name': {'key': 'name', 'type': 'str'}, 79 'type': {'key': 'type', 'type': 'str'}, 80 } 81 82 def __init__( 83 self, 84 **kwargs 85 ): 86 super(ProxyResource, self).__init__(**kwargs) 87 88 89class Advisor(ProxyResource): 90 """Represents a recommendation action advisor. 91 92 Variables are only populated by the server, and will be ignored when sending a request. 93 94 :ivar id: Fully qualified resource ID for the resource. Ex - 95 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 96 :vartype id: str 97 :ivar name: The name of the resource. 98 :vartype name: str 99 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 100 "Microsoft.Storage/storageAccounts". 101 :vartype type: str 102 :param properties: The properties of a recommendation action advisor. 103 :type properties: any 104 """ 105 106 _validation = { 107 'id': {'readonly': True}, 108 'name': {'readonly': True}, 109 'type': {'readonly': True}, 110 } 111 112 _attribute_map = { 113 'id': {'key': 'id', 'type': 'str'}, 114 'name': {'key': 'name', 'type': 'str'}, 115 'type': {'key': 'type', 'type': 'str'}, 116 'properties': {'key': 'properties', 'type': 'object'}, 117 } 118 119 def __init__( 120 self, 121 *, 122 properties: Optional[Any] = None, 123 **kwargs 124 ): 125 super(Advisor, self).__init__(**kwargs) 126 self.properties = properties 127 128 129class AdvisorsResultList(msrest.serialization.Model): 130 """A list of query statistics. 131 132 Variables are only populated by the server, and will be ignored when sending a request. 133 134 :ivar value: The list of recommendation action advisors. 135 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.Advisor] 136 :ivar next_link: Link to retrieve next page of results. 137 :vartype next_link: str 138 """ 139 140 _validation = { 141 'value': {'readonly': True}, 142 'next_link': {'readonly': True}, 143 } 144 145 _attribute_map = { 146 'value': {'key': 'value', 'type': '[Advisor]'}, 147 'next_link': {'key': 'nextLink', 'type': 'str'}, 148 } 149 150 def __init__( 151 self, 152 **kwargs 153 ): 154 super(AdvisorsResultList, self).__init__(**kwargs) 155 self.value = None 156 self.next_link = None 157 158 159class CloudErrorAutoGenerated(msrest.serialization.Model): 160 """An error response from the Batch service. 161 162 :param error: Error message. 163 :type error: ~azure.mgmt.rdbms.mariadb.models.ErrorResponse 164 """ 165 166 _attribute_map = { 167 'error': {'key': 'error', 'type': 'ErrorResponse'}, 168 } 169 170 def __init__( 171 self, 172 *, 173 error: Optional["ErrorResponse"] = None, 174 **kwargs 175 ): 176 super(CloudErrorAutoGenerated, self).__init__(**kwargs) 177 self.error = error 178 179 180class Configuration(ProxyResource): 181 """Represents a Configuration. 182 183 Variables are only populated by the server, and will be ignored when sending a request. 184 185 :ivar id: Fully qualified resource ID for the resource. Ex - 186 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 187 :vartype id: str 188 :ivar name: The name of the resource. 189 :vartype name: str 190 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 191 "Microsoft.Storage/storageAccounts". 192 :vartype type: str 193 :param value: Value of the configuration. 194 :type value: str 195 :ivar description: Description of the configuration. 196 :vartype description: str 197 :ivar default_value: Default value of the configuration. 198 :vartype default_value: str 199 :ivar data_type: Data type of the configuration. 200 :vartype data_type: str 201 :ivar allowed_values: Allowed values of the configuration. 202 :vartype allowed_values: str 203 :param source: Source of the configuration. 204 :type source: str 205 """ 206 207 _validation = { 208 'id': {'readonly': True}, 209 'name': {'readonly': True}, 210 'type': {'readonly': True}, 211 'description': {'readonly': True}, 212 'default_value': {'readonly': True}, 213 'data_type': {'readonly': True}, 214 'allowed_values': {'readonly': True}, 215 } 216 217 _attribute_map = { 218 'id': {'key': 'id', 'type': 'str'}, 219 'name': {'key': 'name', 'type': 'str'}, 220 'type': {'key': 'type', 'type': 'str'}, 221 'value': {'key': 'properties.value', 'type': 'str'}, 222 'description': {'key': 'properties.description', 'type': 'str'}, 223 'default_value': {'key': 'properties.defaultValue', 'type': 'str'}, 224 'data_type': {'key': 'properties.dataType', 'type': 'str'}, 225 'allowed_values': {'key': 'properties.allowedValues', 'type': 'str'}, 226 'source': {'key': 'properties.source', 'type': 'str'}, 227 } 228 229 def __init__( 230 self, 231 *, 232 value: Optional[str] = None, 233 source: Optional[str] = None, 234 **kwargs 235 ): 236 super(Configuration, self).__init__(**kwargs) 237 self.value = value 238 self.description = None 239 self.default_value = None 240 self.data_type = None 241 self.allowed_values = None 242 self.source = source 243 244 245class ConfigurationListResult(msrest.serialization.Model): 246 """A list of server configurations. 247 248 :param value: The list of server configurations. 249 :type value: list[~azure.mgmt.rdbms.mariadb.models.Configuration] 250 """ 251 252 _attribute_map = { 253 'value': {'key': 'value', 'type': '[Configuration]'}, 254 } 255 256 def __init__( 257 self, 258 *, 259 value: Optional[List["Configuration"]] = None, 260 **kwargs 261 ): 262 super(ConfigurationListResult, self).__init__(**kwargs) 263 self.value = value 264 265 266class Database(ProxyResource): 267 """Represents a Database. 268 269 Variables are only populated by the server, and will be ignored when sending a request. 270 271 :ivar id: Fully qualified resource ID for the resource. Ex - 272 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 273 :vartype id: str 274 :ivar name: The name of the resource. 275 :vartype name: str 276 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 277 "Microsoft.Storage/storageAccounts". 278 :vartype type: str 279 :param charset: The charset of the database. 280 :type charset: str 281 :param collation: The collation of the database. 282 :type collation: str 283 """ 284 285 _validation = { 286 'id': {'readonly': True}, 287 'name': {'readonly': True}, 288 'type': {'readonly': True}, 289 } 290 291 _attribute_map = { 292 'id': {'key': 'id', 'type': 'str'}, 293 'name': {'key': 'name', 'type': 'str'}, 294 'type': {'key': 'type', 'type': 'str'}, 295 'charset': {'key': 'properties.charset', 'type': 'str'}, 296 'collation': {'key': 'properties.collation', 'type': 'str'}, 297 } 298 299 def __init__( 300 self, 301 *, 302 charset: Optional[str] = None, 303 collation: Optional[str] = None, 304 **kwargs 305 ): 306 super(Database, self).__init__(**kwargs) 307 self.charset = charset 308 self.collation = collation 309 310 311class DatabaseListResult(msrest.serialization.Model): 312 """A List of databases. 313 314 :param value: The list of databases housed in a server. 315 :type value: list[~azure.mgmt.rdbms.mariadb.models.Database] 316 """ 317 318 _attribute_map = { 319 'value': {'key': 'value', 'type': '[Database]'}, 320 } 321 322 def __init__( 323 self, 324 *, 325 value: Optional[List["Database"]] = None, 326 **kwargs 327 ): 328 super(DatabaseListResult, self).__init__(**kwargs) 329 self.value = value 330 331 332class ErrorAdditionalInfo(msrest.serialization.Model): 333 """The resource management error additional info. 334 335 Variables are only populated by the server, and will be ignored when sending a request. 336 337 :ivar type: The additional info type. 338 :vartype type: str 339 :ivar info: The additional info. 340 :vartype info: any 341 """ 342 343 _validation = { 344 'type': {'readonly': True}, 345 'info': {'readonly': True}, 346 } 347 348 _attribute_map = { 349 'type': {'key': 'type', 'type': 'str'}, 350 'info': {'key': 'info', 'type': 'object'}, 351 } 352 353 def __init__( 354 self, 355 **kwargs 356 ): 357 super(ErrorAdditionalInfo, self).__init__(**kwargs) 358 self.type = None 359 self.info = None 360 361 362class ErrorResponse(msrest.serialization.Model): 363 """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). 364 365 Variables are only populated by the server, and will be ignored when sending a request. 366 367 :ivar code: The error code. 368 :vartype code: str 369 :ivar message: The error message. 370 :vartype message: str 371 :ivar target: The error target. 372 :vartype target: str 373 :ivar details: The error details. 374 :vartype details: list[~azure.mgmt.rdbms.mariadb.models.ErrorResponse] 375 :ivar additional_info: The error additional info. 376 :vartype additional_info: list[~azure.mgmt.rdbms.mariadb.models.ErrorAdditionalInfo] 377 """ 378 379 _validation = { 380 'code': {'readonly': True}, 381 'message': {'readonly': True}, 382 'target': {'readonly': True}, 383 'details': {'readonly': True}, 384 'additional_info': {'readonly': True}, 385 } 386 387 _attribute_map = { 388 'code': {'key': 'code', 'type': 'str'}, 389 'message': {'key': 'message', 'type': 'str'}, 390 'target': {'key': 'target', 'type': 'str'}, 391 'details': {'key': 'details', 'type': '[ErrorResponse]'}, 392 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, 393 } 394 395 def __init__( 396 self, 397 **kwargs 398 ): 399 super(ErrorResponse, self).__init__(**kwargs) 400 self.code = None 401 self.message = None 402 self.target = None 403 self.details = None 404 self.additional_info = None 405 406 407class FirewallRule(ProxyResource): 408 """Represents a server firewall rule. 409 410 Variables are only populated by the server, and will be ignored when sending a request. 411 412 All required parameters must be populated in order to send to Azure. 413 414 :ivar id: Fully qualified resource ID for the resource. Ex - 415 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 416 :vartype id: str 417 :ivar name: The name of the resource. 418 :vartype name: str 419 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 420 "Microsoft.Storage/storageAccounts". 421 :vartype type: str 422 :param start_ip_address: Required. The start IP address of the server firewall rule. Must be 423 IPv4 format. 424 :type start_ip_address: str 425 :param end_ip_address: Required. The end IP address of the server firewall rule. Must be IPv4 426 format. 427 :type end_ip_address: str 428 """ 429 430 _validation = { 431 'id': {'readonly': True}, 432 'name': {'readonly': True}, 433 'type': {'readonly': True}, 434 'start_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, 435 'end_ip_address': {'required': True, 'pattern': r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'}, 436 } 437 438 _attribute_map = { 439 'id': {'key': 'id', 'type': 'str'}, 440 'name': {'key': 'name', 'type': 'str'}, 441 'type': {'key': 'type', 'type': 'str'}, 442 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, 443 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, 444 } 445 446 def __init__( 447 self, 448 *, 449 start_ip_address: str, 450 end_ip_address: str, 451 **kwargs 452 ): 453 super(FirewallRule, self).__init__(**kwargs) 454 self.start_ip_address = start_ip_address 455 self.end_ip_address = end_ip_address 456 457 458class FirewallRuleListResult(msrest.serialization.Model): 459 """A list of firewall rules. 460 461 :param value: The list of firewall rules in a server. 462 :type value: list[~azure.mgmt.rdbms.mariadb.models.FirewallRule] 463 """ 464 465 _attribute_map = { 466 'value': {'key': 'value', 'type': '[FirewallRule]'}, 467 } 468 469 def __init__( 470 self, 471 *, 472 value: Optional[List["FirewallRule"]] = None, 473 **kwargs 474 ): 475 super(FirewallRuleListResult, self).__init__(**kwargs) 476 self.value = value 477 478 479class LogFile(ProxyResource): 480 """Represents a log file. 481 482 Variables are only populated by the server, and will be ignored when sending a request. 483 484 :ivar id: Fully qualified resource ID for the resource. Ex - 485 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 486 :vartype id: str 487 :ivar name: The name of the resource. 488 :vartype name: str 489 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 490 "Microsoft.Storage/storageAccounts". 491 :vartype type: str 492 :param size_in_kb: Size of the log file. 493 :type size_in_kb: long 494 :ivar created_time: Creation timestamp of the log file. 495 :vartype created_time: ~datetime.datetime 496 :ivar last_modified_time: Last modified timestamp of the log file. 497 :vartype last_modified_time: ~datetime.datetime 498 :param type_properties_type: Type of the log file. 499 :type type_properties_type: str 500 :ivar url: The url to download the log file from. 501 :vartype url: str 502 """ 503 504 _validation = { 505 'id': {'readonly': True}, 506 'name': {'readonly': True}, 507 'type': {'readonly': True}, 508 'created_time': {'readonly': True}, 509 'last_modified_time': {'readonly': True}, 510 'url': {'readonly': True}, 511 } 512 513 _attribute_map = { 514 'id': {'key': 'id', 'type': 'str'}, 515 'name': {'key': 'name', 'type': 'str'}, 516 'type': {'key': 'type', 'type': 'str'}, 517 'size_in_kb': {'key': 'properties.sizeInKB', 'type': 'long'}, 518 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, 519 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 520 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 521 'url': {'key': 'properties.url', 'type': 'str'}, 522 } 523 524 def __init__( 525 self, 526 *, 527 size_in_kb: Optional[int] = None, 528 type_properties_type: Optional[str] = None, 529 **kwargs 530 ): 531 super(LogFile, self).__init__(**kwargs) 532 self.size_in_kb = size_in_kb 533 self.created_time = None 534 self.last_modified_time = None 535 self.type_properties_type = type_properties_type 536 self.url = None 537 538 539class LogFileListResult(msrest.serialization.Model): 540 """A list of log files. 541 542 :param value: The list of log files. 543 :type value: list[~azure.mgmt.rdbms.mariadb.models.LogFile] 544 """ 545 546 _attribute_map = { 547 'value': {'key': 'value', 'type': '[LogFile]'}, 548 } 549 550 def __init__( 551 self, 552 *, 553 value: Optional[List["LogFile"]] = None, 554 **kwargs 555 ): 556 super(LogFileListResult, self).__init__(**kwargs) 557 self.value = value 558 559 560class NameAvailability(msrest.serialization.Model): 561 """Represents a resource name availability. 562 563 :param message: Error Message. 564 :type message: str 565 :param name_available: Indicates whether the resource name is available. 566 :type name_available: bool 567 :param reason: Reason for name being unavailable. 568 :type reason: str 569 """ 570 571 _attribute_map = { 572 'message': {'key': 'message', 'type': 'str'}, 573 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 574 'reason': {'key': 'reason', 'type': 'str'}, 575 } 576 577 def __init__( 578 self, 579 *, 580 message: Optional[str] = None, 581 name_available: Optional[bool] = None, 582 reason: Optional[str] = None, 583 **kwargs 584 ): 585 super(NameAvailability, self).__init__(**kwargs) 586 self.message = message 587 self.name_available = name_available 588 self.reason = reason 589 590 591class NameAvailabilityRequest(msrest.serialization.Model): 592 """Request from client to check resource name availability. 593 594 All required parameters must be populated in order to send to Azure. 595 596 :param name: Required. Resource name to verify. 597 :type name: str 598 :param type: Resource type used for verification. 599 :type type: str 600 """ 601 602 _validation = { 603 'name': {'required': True}, 604 } 605 606 _attribute_map = { 607 'name': {'key': 'name', 'type': 'str'}, 608 'type': {'key': 'type', 'type': 'str'}, 609 } 610 611 def __init__( 612 self, 613 *, 614 name: str, 615 type: Optional[str] = None, 616 **kwargs 617 ): 618 super(NameAvailabilityRequest, self).__init__(**kwargs) 619 self.name = name 620 self.type = type 621 622 623class Operation(msrest.serialization.Model): 624 """REST API operation definition. 625 626 Variables are only populated by the server, and will be ignored when sending a request. 627 628 :ivar name: The name of the operation being performed on this particular object. 629 :vartype name: str 630 :ivar display: The localized display information for this particular operation or action. 631 :vartype display: ~azure.mgmt.rdbms.mariadb.models.OperationDisplay 632 :ivar origin: The intended executor of the operation. Possible values include: "NotSpecified", 633 "user", "system". 634 :vartype origin: str or ~azure.mgmt.rdbms.mariadb.models.OperationOrigin 635 :ivar properties: Additional descriptions for the operation. 636 :vartype properties: dict[str, any] 637 """ 638 639 _validation = { 640 'name': {'readonly': True}, 641 'display': {'readonly': True}, 642 'origin': {'readonly': True}, 643 'properties': {'readonly': True}, 644 } 645 646 _attribute_map = { 647 'name': {'key': 'name', 'type': 'str'}, 648 'display': {'key': 'display', 'type': 'OperationDisplay'}, 649 'origin': {'key': 'origin', 'type': 'str'}, 650 'properties': {'key': 'properties', 'type': '{object}'}, 651 } 652 653 def __init__( 654 self, 655 **kwargs 656 ): 657 super(Operation, self).__init__(**kwargs) 658 self.name = None 659 self.display = None 660 self.origin = None 661 self.properties = None 662 663 664class OperationDisplay(msrest.serialization.Model): 665 """Display metadata associated with the operation. 666 667 Variables are only populated by the server, and will be ignored when sending a request. 668 669 :ivar provider: Operation resource provider name. 670 :vartype provider: str 671 :ivar resource: Resource on which the operation is performed. 672 :vartype resource: str 673 :ivar operation: Localized friendly name for the operation. 674 :vartype operation: str 675 :ivar description: Operation description. 676 :vartype description: str 677 """ 678 679 _validation = { 680 'provider': {'readonly': True}, 681 'resource': {'readonly': True}, 682 'operation': {'readonly': True}, 683 'description': {'readonly': True}, 684 } 685 686 _attribute_map = { 687 'provider': {'key': 'provider', 'type': 'str'}, 688 'resource': {'key': 'resource', 'type': 'str'}, 689 'operation': {'key': 'operation', 'type': 'str'}, 690 'description': {'key': 'description', 'type': 'str'}, 691 } 692 693 def __init__( 694 self, 695 **kwargs 696 ): 697 super(OperationDisplay, self).__init__(**kwargs) 698 self.provider = None 699 self.resource = None 700 self.operation = None 701 self.description = None 702 703 704class OperationListResult(msrest.serialization.Model): 705 """A list of resource provider operations. 706 707 :param value: The list of resource provider operations. 708 :type value: list[~azure.mgmt.rdbms.mariadb.models.Operation] 709 """ 710 711 _attribute_map = { 712 'value': {'key': 'value', 'type': '[Operation]'}, 713 } 714 715 def __init__( 716 self, 717 *, 718 value: Optional[List["Operation"]] = None, 719 **kwargs 720 ): 721 super(OperationListResult, self).__init__(**kwargs) 722 self.value = value 723 724 725class PerformanceTierListResult(msrest.serialization.Model): 726 """A list of performance tiers. 727 728 :param value: The list of performance tiers. 729 :type value: list[~azure.mgmt.rdbms.mariadb.models.PerformanceTierProperties] 730 """ 731 732 _attribute_map = { 733 'value': {'key': 'value', 'type': '[PerformanceTierProperties]'}, 734 } 735 736 def __init__( 737 self, 738 *, 739 value: Optional[List["PerformanceTierProperties"]] = None, 740 **kwargs 741 ): 742 super(PerformanceTierListResult, self).__init__(**kwargs) 743 self.value = value 744 745 746class PerformanceTierProperties(msrest.serialization.Model): 747 """Performance tier properties. 748 749 :param id: ID of the performance tier. 750 :type id: str 751 :param max_backup_retention_days: Maximum Backup retention in days for the performance tier 752 edition. 753 :type max_backup_retention_days: int 754 :param min_backup_retention_days: Minimum Backup retention in days for the performance tier 755 edition. 756 :type min_backup_retention_days: int 757 :param max_storage_mb: Max storage allowed for a server. 758 :type max_storage_mb: int 759 :param min_large_storage_mb: Max storage allowed for a server. 760 :type min_large_storage_mb: int 761 :param max_large_storage_mb: Max storage allowed for a server. 762 :type max_large_storage_mb: int 763 :param min_storage_mb: Max storage allowed for a server. 764 :type min_storage_mb: int 765 :param service_level_objectives: Service level objectives associated with the performance tier. 766 :type service_level_objectives: 767 list[~azure.mgmt.rdbms.mariadb.models.PerformanceTierServiceLevelObjectives] 768 """ 769 770 _attribute_map = { 771 'id': {'key': 'id', 'type': 'str'}, 772 'max_backup_retention_days': {'key': 'maxBackupRetentionDays', 'type': 'int'}, 773 'min_backup_retention_days': {'key': 'minBackupRetentionDays', 'type': 'int'}, 774 'max_storage_mb': {'key': 'maxStorageMB', 'type': 'int'}, 775 'min_large_storage_mb': {'key': 'minLargeStorageMB', 'type': 'int'}, 776 'max_large_storage_mb': {'key': 'maxLargeStorageMB', 'type': 'int'}, 777 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, 778 'service_level_objectives': {'key': 'serviceLevelObjectives', 'type': '[PerformanceTierServiceLevelObjectives]'}, 779 } 780 781 def __init__( 782 self, 783 *, 784 id: Optional[str] = None, 785 max_backup_retention_days: Optional[int] = None, 786 min_backup_retention_days: Optional[int] = None, 787 max_storage_mb: Optional[int] = None, 788 min_large_storage_mb: Optional[int] = None, 789 max_large_storage_mb: Optional[int] = None, 790 min_storage_mb: Optional[int] = None, 791 service_level_objectives: Optional[List["PerformanceTierServiceLevelObjectives"]] = None, 792 **kwargs 793 ): 794 super(PerformanceTierProperties, self).__init__(**kwargs) 795 self.id = id 796 self.max_backup_retention_days = max_backup_retention_days 797 self.min_backup_retention_days = min_backup_retention_days 798 self.max_storage_mb = max_storage_mb 799 self.min_large_storage_mb = min_large_storage_mb 800 self.max_large_storage_mb = max_large_storage_mb 801 self.min_storage_mb = min_storage_mb 802 self.service_level_objectives = service_level_objectives 803 804 805class PerformanceTierServiceLevelObjectives(msrest.serialization.Model): 806 """Service level objectives for performance tier. 807 808 :param id: ID for the service level objective. 809 :type id: str 810 :param edition: Edition of the performance tier. 811 :type edition: str 812 :param v_core: vCore associated with the service level objective. 813 :type v_core: int 814 :param hardware_generation: Hardware generation associated with the service level objective. 815 :type hardware_generation: str 816 :param max_backup_retention_days: Maximum Backup retention in days for the performance tier 817 edition. 818 :type max_backup_retention_days: int 819 :param min_backup_retention_days: Minimum Backup retention in days for the performance tier 820 edition. 821 :type min_backup_retention_days: int 822 :param max_storage_mb: Max storage allowed for a server. 823 :type max_storage_mb: int 824 :param min_storage_mb: Max storage allowed for a server. 825 :type min_storage_mb: int 826 """ 827 828 _attribute_map = { 829 'id': {'key': 'id', 'type': 'str'}, 830 'edition': {'key': 'edition', 'type': 'str'}, 831 'v_core': {'key': 'vCore', 'type': 'int'}, 832 'hardware_generation': {'key': 'hardwareGeneration', 'type': 'str'}, 833 'max_backup_retention_days': {'key': 'maxBackupRetentionDays', 'type': 'int'}, 834 'min_backup_retention_days': {'key': 'minBackupRetentionDays', 'type': 'int'}, 835 'max_storage_mb': {'key': 'maxStorageMB', 'type': 'int'}, 836 'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'}, 837 } 838 839 def __init__( 840 self, 841 *, 842 id: Optional[str] = None, 843 edition: Optional[str] = None, 844 v_core: Optional[int] = None, 845 hardware_generation: Optional[str] = None, 846 max_backup_retention_days: Optional[int] = None, 847 min_backup_retention_days: Optional[int] = None, 848 max_storage_mb: Optional[int] = None, 849 min_storage_mb: Optional[int] = None, 850 **kwargs 851 ): 852 super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs) 853 self.id = id 854 self.edition = edition 855 self.v_core = v_core 856 self.hardware_generation = hardware_generation 857 self.max_backup_retention_days = max_backup_retention_days 858 self.min_backup_retention_days = min_backup_retention_days 859 self.max_storage_mb = max_storage_mb 860 self.min_storage_mb = min_storage_mb 861 862 863class PrivateEndpointConnection(ProxyResource): 864 """A private endpoint connection. 865 866 Variables are only populated by the server, and will be ignored when sending a request. 867 868 :ivar id: Fully qualified resource ID for the resource. Ex - 869 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 870 :vartype id: str 871 :ivar name: The name of the resource. 872 :vartype name: str 873 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 874 "Microsoft.Storage/storageAccounts". 875 :vartype type: str 876 :param private_endpoint: Private endpoint which the connection belongs to. 877 :type private_endpoint: ~azure.mgmt.rdbms.mariadb.models.PrivateEndpointProperty 878 :param private_link_service_connection_state: Connection state of the private endpoint 879 connection. 880 :type private_link_service_connection_state: 881 ~azure.mgmt.rdbms.mariadb.models.PrivateLinkServiceConnectionStateProperty 882 :ivar provisioning_state: State of the private endpoint connection. 883 :vartype provisioning_state: str 884 """ 885 886 _validation = { 887 'id': {'readonly': True}, 888 'name': {'readonly': True}, 889 'type': {'readonly': True}, 890 'provisioning_state': {'readonly': True}, 891 } 892 893 _attribute_map = { 894 'id': {'key': 'id', 'type': 'str'}, 895 'name': {'key': 'name', 'type': 'str'}, 896 'type': {'key': 'type', 'type': 'str'}, 897 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpointProperty'}, 898 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, 899 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 900 } 901 902 def __init__( 903 self, 904 *, 905 private_endpoint: Optional["PrivateEndpointProperty"] = None, 906 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionStateProperty"] = None, 907 **kwargs 908 ): 909 super(PrivateEndpointConnection, self).__init__(**kwargs) 910 self.private_endpoint = private_endpoint 911 self.private_link_service_connection_state = private_link_service_connection_state 912 self.provisioning_state = None 913 914 915class PrivateEndpointConnectionListResult(msrest.serialization.Model): 916 """A list of private endpoint connections. 917 918 Variables are only populated by the server, and will be ignored when sending a request. 919 920 :ivar value: Array of results. 921 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.PrivateEndpointConnection] 922 :ivar next_link: Link to retrieve next page of results. 923 :vartype next_link: str 924 """ 925 926 _validation = { 927 'value': {'readonly': True}, 928 'next_link': {'readonly': True}, 929 } 930 931 _attribute_map = { 932 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 933 'next_link': {'key': 'nextLink', 'type': 'str'}, 934 } 935 936 def __init__( 937 self, 938 **kwargs 939 ): 940 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 941 self.value = None 942 self.next_link = None 943 944 945class PrivateEndpointProperty(msrest.serialization.Model): 946 """PrivateEndpointProperty. 947 948 :param id: Resource id of the private endpoint. 949 :type id: str 950 """ 951 952 _attribute_map = { 953 'id': {'key': 'id', 'type': 'str'}, 954 } 955 956 def __init__( 957 self, 958 *, 959 id: Optional[str] = None, 960 **kwargs 961 ): 962 super(PrivateEndpointProperty, self).__init__(**kwargs) 963 self.id = id 964 965 966class PrivateLinkResource(ProxyResource): 967 """A private link resource. 968 969 Variables are only populated by the server, and will be ignored when sending a request. 970 971 :ivar id: Fully qualified resource ID for the resource. Ex - 972 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 973 :vartype id: str 974 :ivar name: The name of the resource. 975 :vartype name: str 976 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 977 "Microsoft.Storage/storageAccounts". 978 :vartype type: str 979 :ivar properties: The private link resource group id. 980 :vartype properties: ~azure.mgmt.rdbms.mariadb.models.PrivateLinkResourceProperties 981 """ 982 983 _validation = { 984 'id': {'readonly': True}, 985 'name': {'readonly': True}, 986 'type': {'readonly': True}, 987 'properties': {'readonly': True}, 988 } 989 990 _attribute_map = { 991 'id': {'key': 'id', 'type': 'str'}, 992 'name': {'key': 'name', 'type': 'str'}, 993 'type': {'key': 'type', 'type': 'str'}, 994 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, 995 } 996 997 def __init__( 998 self, 999 **kwargs 1000 ): 1001 super(PrivateLinkResource, self).__init__(**kwargs) 1002 self.properties = None 1003 1004 1005class PrivateLinkResourceListResult(msrest.serialization.Model): 1006 """A list of private link resources. 1007 1008 Variables are only populated by the server, and will be ignored when sending a request. 1009 1010 :ivar value: Array of results. 1011 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.PrivateLinkResource] 1012 :ivar next_link: Link to retrieve next page of results. 1013 :vartype next_link: str 1014 """ 1015 1016 _validation = { 1017 'value': {'readonly': True}, 1018 'next_link': {'readonly': True}, 1019 } 1020 1021 _attribute_map = { 1022 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 1023 'next_link': {'key': 'nextLink', 'type': 'str'}, 1024 } 1025 1026 def __init__( 1027 self, 1028 **kwargs 1029 ): 1030 super(PrivateLinkResourceListResult, self).__init__(**kwargs) 1031 self.value = None 1032 self.next_link = None 1033 1034 1035class PrivateLinkResourceProperties(msrest.serialization.Model): 1036 """Properties of a private link resource. 1037 1038 Variables are only populated by the server, and will be ignored when sending a request. 1039 1040 :ivar group_id: The private link resource group id. 1041 :vartype group_id: str 1042 :ivar required_members: The private link resource required member names. 1043 :vartype required_members: list[str] 1044 """ 1045 1046 _validation = { 1047 'group_id': {'readonly': True}, 1048 'required_members': {'readonly': True}, 1049 } 1050 1051 _attribute_map = { 1052 'group_id': {'key': 'groupId', 'type': 'str'}, 1053 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, 1054 } 1055 1056 def __init__( 1057 self, 1058 **kwargs 1059 ): 1060 super(PrivateLinkResourceProperties, self).__init__(**kwargs) 1061 self.group_id = None 1062 self.required_members = None 1063 1064 1065class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): 1066 """PrivateLinkServiceConnectionStateProperty. 1067 1068 Variables are only populated by the server, and will be ignored when sending a request. 1069 1070 All required parameters must be populated in order to send to Azure. 1071 1072 :param status: Required. The private link service connection status. 1073 :type status: str 1074 :param description: Required. The private link service connection description. 1075 :type description: str 1076 :ivar actions_required: The actions required for private link service connection. 1077 :vartype actions_required: str 1078 """ 1079 1080 _validation = { 1081 'status': {'required': True}, 1082 'description': {'required': True}, 1083 'actions_required': {'readonly': True}, 1084 } 1085 1086 _attribute_map = { 1087 'status': {'key': 'status', 'type': 'str'}, 1088 'description': {'key': 'description', 'type': 'str'}, 1089 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 1090 } 1091 1092 def __init__( 1093 self, 1094 *, 1095 status: str, 1096 description: str, 1097 **kwargs 1098 ): 1099 super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) 1100 self.status = status 1101 self.description = description 1102 self.actions_required = None 1103 1104 1105class QueryPerformanceInsightResetDataResult(msrest.serialization.Model): 1106 """Result of Query Performance Insight data reset. 1107 1108 :param status: Indicates result of the operation. Possible values include: "Succeeded", 1109 "Failed". 1110 :type status: str or 1111 ~azure.mgmt.rdbms.mariadb.models.QueryPerformanceInsightResetDataResultState 1112 :param message: operation message. 1113 :type message: str 1114 """ 1115 1116 _attribute_map = { 1117 'status': {'key': 'status', 'type': 'str'}, 1118 'message': {'key': 'message', 'type': 'str'}, 1119 } 1120 1121 def __init__( 1122 self, 1123 *, 1124 status: Optional[Union[str, "QueryPerformanceInsightResetDataResultState"]] = None, 1125 message: Optional[str] = None, 1126 **kwargs 1127 ): 1128 super(QueryPerformanceInsightResetDataResult, self).__init__(**kwargs) 1129 self.status = status 1130 self.message = message 1131 1132 1133class QueryStatistic(ProxyResource): 1134 """Represents a Query Statistic. 1135 1136 Variables are only populated by the server, and will be ignored when sending a request. 1137 1138 :ivar id: Fully qualified resource ID for the resource. Ex - 1139 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1140 :vartype id: str 1141 :ivar name: The name of the resource. 1142 :vartype name: str 1143 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1144 "Microsoft.Storage/storageAccounts". 1145 :vartype type: str 1146 :param query_id: Database query identifier. 1147 :type query_id: str 1148 :param start_time: Observation start time. 1149 :type start_time: ~datetime.datetime 1150 :param end_time: Observation end time. 1151 :type end_time: ~datetime.datetime 1152 :param aggregation_function: Aggregation function name. 1153 :type aggregation_function: str 1154 :param database_names: The list of database names. 1155 :type database_names: list[str] 1156 :param query_execution_count: Number of query executions in this time interval. 1157 :type query_execution_count: long 1158 :param metric_name: Metric name. 1159 :type metric_name: str 1160 :param metric_display_name: Metric display name. 1161 :type metric_display_name: str 1162 :param metric_value: Metric value. 1163 :type metric_value: float 1164 :param metric_value_unit: Metric value unit. 1165 :type metric_value_unit: str 1166 """ 1167 1168 _validation = { 1169 'id': {'readonly': True}, 1170 'name': {'readonly': True}, 1171 'type': {'readonly': True}, 1172 } 1173 1174 _attribute_map = { 1175 'id': {'key': 'id', 'type': 'str'}, 1176 'name': {'key': 'name', 'type': 'str'}, 1177 'type': {'key': 'type', 'type': 'str'}, 1178 'query_id': {'key': 'properties.queryId', 'type': 'str'}, 1179 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 1180 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 1181 'aggregation_function': {'key': 'properties.aggregationFunction', 'type': 'str'}, 1182 'database_names': {'key': 'properties.databaseNames', 'type': '[str]'}, 1183 'query_execution_count': {'key': 'properties.queryExecutionCount', 'type': 'long'}, 1184 'metric_name': {'key': 'properties.metricName', 'type': 'str'}, 1185 'metric_display_name': {'key': 'properties.metricDisplayName', 'type': 'str'}, 1186 'metric_value': {'key': 'properties.metricValue', 'type': 'float'}, 1187 'metric_value_unit': {'key': 'properties.metricValueUnit', 'type': 'str'}, 1188 } 1189 1190 def __init__( 1191 self, 1192 *, 1193 query_id: Optional[str] = None, 1194 start_time: Optional[datetime.datetime] = None, 1195 end_time: Optional[datetime.datetime] = None, 1196 aggregation_function: Optional[str] = None, 1197 database_names: Optional[List[str]] = None, 1198 query_execution_count: Optional[int] = None, 1199 metric_name: Optional[str] = None, 1200 metric_display_name: Optional[str] = None, 1201 metric_value: Optional[float] = None, 1202 metric_value_unit: Optional[str] = None, 1203 **kwargs 1204 ): 1205 super(QueryStatistic, self).__init__(**kwargs) 1206 self.query_id = query_id 1207 self.start_time = start_time 1208 self.end_time = end_time 1209 self.aggregation_function = aggregation_function 1210 self.database_names = database_names 1211 self.query_execution_count = query_execution_count 1212 self.metric_name = metric_name 1213 self.metric_display_name = metric_display_name 1214 self.metric_value = metric_value 1215 self.metric_value_unit = metric_value_unit 1216 1217 1218class QueryText(ProxyResource): 1219 """Represents a Query Text. 1220 1221 Variables are only populated by the server, and will be ignored when sending a request. 1222 1223 :ivar id: Fully qualified resource ID for the resource. Ex - 1224 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1225 :vartype id: str 1226 :ivar name: The name of the resource. 1227 :vartype name: str 1228 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1229 "Microsoft.Storage/storageAccounts". 1230 :vartype type: str 1231 :param query_id: Query identifier unique to the server. 1232 :type query_id: str 1233 :param query_text: Query text. 1234 :type query_text: str 1235 """ 1236 1237 _validation = { 1238 'id': {'readonly': True}, 1239 'name': {'readonly': True}, 1240 'type': {'readonly': True}, 1241 } 1242 1243 _attribute_map = { 1244 'id': {'key': 'id', 'type': 'str'}, 1245 'name': {'key': 'name', 'type': 'str'}, 1246 'type': {'key': 'type', 'type': 'str'}, 1247 'query_id': {'key': 'properties.queryId', 'type': 'str'}, 1248 'query_text': {'key': 'properties.queryText', 'type': 'str'}, 1249 } 1250 1251 def __init__( 1252 self, 1253 *, 1254 query_id: Optional[str] = None, 1255 query_text: Optional[str] = None, 1256 **kwargs 1257 ): 1258 super(QueryText, self).__init__(**kwargs) 1259 self.query_id = query_id 1260 self.query_text = query_text 1261 1262 1263class QueryTextsResultList(msrest.serialization.Model): 1264 """A list of query texts. 1265 1266 Variables are only populated by the server, and will be ignored when sending a request. 1267 1268 :ivar value: The list of query texts. 1269 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.QueryText] 1270 :ivar next_link: Link to retrieve next page of results. 1271 :vartype next_link: str 1272 """ 1273 1274 _validation = { 1275 'value': {'readonly': True}, 1276 'next_link': {'readonly': True}, 1277 } 1278 1279 _attribute_map = { 1280 'value': {'key': 'value', 'type': '[QueryText]'}, 1281 'next_link': {'key': 'nextLink', 'type': 'str'}, 1282 } 1283 1284 def __init__( 1285 self, 1286 **kwargs 1287 ): 1288 super(QueryTextsResultList, self).__init__(**kwargs) 1289 self.value = None 1290 self.next_link = None 1291 1292 1293class RecommendationAction(ProxyResource): 1294 """Represents a Recommendation Action. 1295 1296 Variables are only populated by the server, and will be ignored when sending a request. 1297 1298 :ivar id: Fully qualified resource ID for the resource. Ex - 1299 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1300 :vartype id: str 1301 :ivar name: The name of the resource. 1302 :vartype name: str 1303 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1304 "Microsoft.Storage/storageAccounts". 1305 :vartype type: str 1306 :param advisor_name: Advisor name. 1307 :type advisor_name: str 1308 :param session_id: Recommendation action session identifier. 1309 :type session_id: str 1310 :param action_id: Recommendation action identifier. 1311 :type action_id: int 1312 :param created_time: Recommendation action creation time. 1313 :type created_time: ~datetime.datetime 1314 :param expiration_time: Recommendation action expiration time. 1315 :type expiration_time: ~datetime.datetime 1316 :param reason: Recommendation action reason. 1317 :type reason: str 1318 :param recommendation_type: Recommendation action type. 1319 :type recommendation_type: str 1320 :param details: Recommendation action details. 1321 :type details: dict[str, str] 1322 """ 1323 1324 _validation = { 1325 'id': {'readonly': True}, 1326 'name': {'readonly': True}, 1327 'type': {'readonly': True}, 1328 } 1329 1330 _attribute_map = { 1331 'id': {'key': 'id', 'type': 'str'}, 1332 'name': {'key': 'name', 'type': 'str'}, 1333 'type': {'key': 'type', 'type': 'str'}, 1334 'advisor_name': {'key': 'properties.advisorName', 'type': 'str'}, 1335 'session_id': {'key': 'properties.sessionId', 'type': 'str'}, 1336 'action_id': {'key': 'properties.actionId', 'type': 'int'}, 1337 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, 1338 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, 1339 'reason': {'key': 'properties.reason', 'type': 'str'}, 1340 'recommendation_type': {'key': 'properties.recommendationType', 'type': 'str'}, 1341 'details': {'key': 'properties.details', 'type': '{str}'}, 1342 } 1343 1344 def __init__( 1345 self, 1346 *, 1347 advisor_name: Optional[str] = None, 1348 session_id: Optional[str] = None, 1349 action_id: Optional[int] = None, 1350 created_time: Optional[datetime.datetime] = None, 1351 expiration_time: Optional[datetime.datetime] = None, 1352 reason: Optional[str] = None, 1353 recommendation_type: Optional[str] = None, 1354 details: Optional[Dict[str, str]] = None, 1355 **kwargs 1356 ): 1357 super(RecommendationAction, self).__init__(**kwargs) 1358 self.advisor_name = advisor_name 1359 self.session_id = session_id 1360 self.action_id = action_id 1361 self.created_time = created_time 1362 self.expiration_time = expiration_time 1363 self.reason = reason 1364 self.recommendation_type = recommendation_type 1365 self.details = details 1366 1367 1368class RecommendationActionsResultList(msrest.serialization.Model): 1369 """A list of recommendation actions. 1370 1371 Variables are only populated by the server, and will be ignored when sending a request. 1372 1373 :ivar value: The list of recommendation action advisors. 1374 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.RecommendationAction] 1375 :ivar next_link: Link to retrieve next page of results. 1376 :vartype next_link: str 1377 """ 1378 1379 _validation = { 1380 'value': {'readonly': True}, 1381 'next_link': {'readonly': True}, 1382 } 1383 1384 _attribute_map = { 1385 'value': {'key': 'value', 'type': '[RecommendationAction]'}, 1386 'next_link': {'key': 'nextLink', 'type': 'str'}, 1387 } 1388 1389 def __init__( 1390 self, 1391 **kwargs 1392 ): 1393 super(RecommendationActionsResultList, self).__init__(**kwargs) 1394 self.value = None 1395 self.next_link = None 1396 1397 1398class RecommendedActionSessionsOperationStatus(msrest.serialization.Model): 1399 """Recommendation action session operation status. 1400 1401 :param name: Operation identifier. 1402 :type name: str 1403 :param start_time: Operation start time. 1404 :type start_time: ~datetime.datetime 1405 :param status: Operation status. 1406 :type status: str 1407 """ 1408 1409 _attribute_map = { 1410 'name': {'key': 'name', 'type': 'str'}, 1411 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 1412 'status': {'key': 'status', 'type': 'str'}, 1413 } 1414 1415 def __init__( 1416 self, 1417 *, 1418 name: Optional[str] = None, 1419 start_time: Optional[datetime.datetime] = None, 1420 status: Optional[str] = None, 1421 **kwargs 1422 ): 1423 super(RecommendedActionSessionsOperationStatus, self).__init__(**kwargs) 1424 self.name = name 1425 self.start_time = start_time 1426 self.status = status 1427 1428 1429class RecoverableServerResource(ProxyResource): 1430 """A recoverable server resource. 1431 1432 Variables are only populated by the server, and will be ignored when sending a request. 1433 1434 :ivar id: Fully qualified resource ID for the resource. Ex - 1435 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1436 :vartype id: str 1437 :ivar name: The name of the resource. 1438 :vartype name: str 1439 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1440 "Microsoft.Storage/storageAccounts". 1441 :vartype type: str 1442 :ivar last_available_backup_date_time: The last available backup date time. 1443 :vartype last_available_backup_date_time: str 1444 :ivar service_level_objective: The service level objective. 1445 :vartype service_level_objective: str 1446 :ivar edition: Edition of the performance tier. 1447 :vartype edition: str 1448 :ivar v_core: vCore associated with the service level objective. 1449 :vartype v_core: int 1450 :ivar hardware_generation: Hardware generation associated with the service level objective. 1451 :vartype hardware_generation: str 1452 :ivar version: The MariaDB version. 1453 :vartype version: str 1454 """ 1455 1456 _validation = { 1457 'id': {'readonly': True}, 1458 'name': {'readonly': True}, 1459 'type': {'readonly': True}, 1460 'last_available_backup_date_time': {'readonly': True}, 1461 'service_level_objective': {'readonly': True}, 1462 'edition': {'readonly': True}, 1463 'v_core': {'readonly': True}, 1464 'hardware_generation': {'readonly': True}, 1465 'version': {'readonly': True}, 1466 } 1467 1468 _attribute_map = { 1469 'id': {'key': 'id', 'type': 'str'}, 1470 'name': {'key': 'name', 'type': 'str'}, 1471 'type': {'key': 'type', 'type': 'str'}, 1472 'last_available_backup_date_time': {'key': 'properties.lastAvailableBackupDateTime', 'type': 'str'}, 1473 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, 1474 'edition': {'key': 'properties.edition', 'type': 'str'}, 1475 'v_core': {'key': 'properties.vCore', 'type': 'int'}, 1476 'hardware_generation': {'key': 'properties.hardwareGeneration', 'type': 'str'}, 1477 'version': {'key': 'properties.version', 'type': 'str'}, 1478 } 1479 1480 def __init__( 1481 self, 1482 **kwargs 1483 ): 1484 super(RecoverableServerResource, self).__init__(**kwargs) 1485 self.last_available_backup_date_time = None 1486 self.service_level_objective = None 1487 self.edition = None 1488 self.v_core = None 1489 self.hardware_generation = None 1490 self.version = None 1491 1492 1493class TrackedResource(Resource): 1494 """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. 1495 1496 Variables are only populated by the server, and will be ignored when sending a request. 1497 1498 All required parameters must be populated in order to send to Azure. 1499 1500 :ivar id: Fully qualified resource ID for the resource. Ex - 1501 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1502 :vartype id: str 1503 :ivar name: The name of the resource. 1504 :vartype name: str 1505 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1506 "Microsoft.Storage/storageAccounts". 1507 :vartype type: str 1508 :param tags: A set of tags. Resource tags. 1509 :type tags: dict[str, str] 1510 :param location: Required. The geo-location where the resource lives. 1511 :type location: str 1512 """ 1513 1514 _validation = { 1515 'id': {'readonly': True}, 1516 'name': {'readonly': True}, 1517 'type': {'readonly': True}, 1518 'location': {'required': True}, 1519 } 1520 1521 _attribute_map = { 1522 'id': {'key': 'id', 'type': 'str'}, 1523 'name': {'key': 'name', 'type': 'str'}, 1524 'type': {'key': 'type', 'type': 'str'}, 1525 'tags': {'key': 'tags', 'type': '{str}'}, 1526 'location': {'key': 'location', 'type': 'str'}, 1527 } 1528 1529 def __init__( 1530 self, 1531 *, 1532 location: str, 1533 tags: Optional[Dict[str, str]] = None, 1534 **kwargs 1535 ): 1536 super(TrackedResource, self).__init__(**kwargs) 1537 self.tags = tags 1538 self.location = location 1539 1540 1541class Server(TrackedResource): 1542 """Represents a server. 1543 1544 Variables are only populated by the server, and will be ignored when sending a request. 1545 1546 All required parameters must be populated in order to send to Azure. 1547 1548 :ivar id: Fully qualified resource ID for the resource. Ex - 1549 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1550 :vartype id: str 1551 :ivar name: The name of the resource. 1552 :vartype name: str 1553 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1554 "Microsoft.Storage/storageAccounts". 1555 :vartype type: str 1556 :param tags: A set of tags. Resource tags. 1557 :type tags: dict[str, str] 1558 :param location: Required. The geo-location where the resource lives. 1559 :type location: str 1560 :param sku: The SKU (pricing tier) of the server. 1561 :type sku: ~azure.mgmt.rdbms.mariadb.models.Sku 1562 :param administrator_login: The administrator's login name of a server. Can only be specified 1563 when the server is being created (and is required for creation). 1564 :type administrator_login: str 1565 :param version: Server version. Possible values include: "10.2", "10.3". 1566 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 1567 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 1568 include: "Enabled", "Disabled". 1569 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 1570 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 1571 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 1572 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 1573 :param user_visible_state: A state of a server that is visible to user. Possible values 1574 include: "Ready", "Dropping", "Disabled". 1575 :type user_visible_state: str or ~azure.mgmt.rdbms.mariadb.models.ServerState 1576 :param fully_qualified_domain_name: The fully qualified domain name of a server. 1577 :type fully_qualified_domain_name: str 1578 :param earliest_restore_date: Earliest restore point creation time (ISO8601 format). 1579 :type earliest_restore_date: ~datetime.datetime 1580 :param storage_profile: Storage profile of a server. 1581 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 1582 :param replication_role: The replication role of the server. 1583 :type replication_role: str 1584 :param master_server_id: The master server id of a replica server. 1585 :type master_server_id: str 1586 :param replica_capacity: The maximum number of replicas that a master server can have. 1587 :type replica_capacity: int 1588 :param public_network_access: Whether or not public network access is allowed for this server. 1589 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 1590 "Enabled", "Disabled". 1591 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 1592 :ivar private_endpoint_connections: List of private endpoint connections on a server. 1593 :vartype private_endpoint_connections: 1594 list[~azure.mgmt.rdbms.mariadb.models.ServerPrivateEndpointConnection] 1595 """ 1596 1597 _validation = { 1598 'id': {'readonly': True}, 1599 'name': {'readonly': True}, 1600 'type': {'readonly': True}, 1601 'location': {'required': True}, 1602 'replica_capacity': {'minimum': 0}, 1603 'private_endpoint_connections': {'readonly': True}, 1604 } 1605 1606 _attribute_map = { 1607 'id': {'key': 'id', 'type': 'str'}, 1608 'name': {'key': 'name', 'type': 'str'}, 1609 'type': {'key': 'type', 'type': 'str'}, 1610 'tags': {'key': 'tags', 'type': '{str}'}, 1611 'location': {'key': 'location', 'type': 'str'}, 1612 'sku': {'key': 'sku', 'type': 'Sku'}, 1613 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, 1614 'version': {'key': 'properties.version', 'type': 'str'}, 1615 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'str'}, 1616 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 1617 'user_visible_state': {'key': 'properties.userVisibleState', 'type': 'str'}, 1618 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 1619 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 1620 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 1621 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, 1622 'master_server_id': {'key': 'properties.masterServerId', 'type': 'str'}, 1623 'replica_capacity': {'key': 'properties.replicaCapacity', 'type': 'int'}, 1624 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 1625 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[ServerPrivateEndpointConnection]'}, 1626 } 1627 1628 def __init__( 1629 self, 1630 *, 1631 location: str, 1632 tags: Optional[Dict[str, str]] = None, 1633 sku: Optional["Sku"] = None, 1634 administrator_login: Optional[str] = None, 1635 version: Optional[Union[str, "ServerVersion"]] = None, 1636 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 1637 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 1638 user_visible_state: Optional[Union[str, "ServerState"]] = None, 1639 fully_qualified_domain_name: Optional[str] = None, 1640 earliest_restore_date: Optional[datetime.datetime] = None, 1641 storage_profile: Optional["StorageProfile"] = None, 1642 replication_role: Optional[str] = None, 1643 master_server_id: Optional[str] = None, 1644 replica_capacity: Optional[int] = None, 1645 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 1646 **kwargs 1647 ): 1648 super(Server, self).__init__(tags=tags, location=location, **kwargs) 1649 self.sku = sku 1650 self.administrator_login = administrator_login 1651 self.version = version 1652 self.ssl_enforcement = ssl_enforcement 1653 self.minimal_tls_version = minimal_tls_version 1654 self.user_visible_state = user_visible_state 1655 self.fully_qualified_domain_name = fully_qualified_domain_name 1656 self.earliest_restore_date = earliest_restore_date 1657 self.storage_profile = storage_profile 1658 self.replication_role = replication_role 1659 self.master_server_id = master_server_id 1660 self.replica_capacity = replica_capacity 1661 self.public_network_access = public_network_access 1662 self.private_endpoint_connections = None 1663 1664 1665class ServerForCreate(msrest.serialization.Model): 1666 """Represents a server to be created. 1667 1668 All required parameters must be populated in order to send to Azure. 1669 1670 :param sku: The SKU (pricing tier) of the server. 1671 :type sku: ~azure.mgmt.rdbms.mariadb.models.Sku 1672 :param properties: Required. Properties of the server. 1673 :type properties: ~azure.mgmt.rdbms.mariadb.models.ServerPropertiesForCreate 1674 :param location: Required. The location the resource resides in. 1675 :type location: str 1676 :param tags: A set of tags. Application-specific metadata in the form of key-value pairs. 1677 :type tags: dict[str, str] 1678 """ 1679 1680 _validation = { 1681 'properties': {'required': True}, 1682 'location': {'required': True}, 1683 } 1684 1685 _attribute_map = { 1686 'sku': {'key': 'sku', 'type': 'Sku'}, 1687 'properties': {'key': 'properties', 'type': 'ServerPropertiesForCreate'}, 1688 'location': {'key': 'location', 'type': 'str'}, 1689 'tags': {'key': 'tags', 'type': '{str}'}, 1690 } 1691 1692 def __init__( 1693 self, 1694 *, 1695 properties: "ServerPropertiesForCreate", 1696 location: str, 1697 sku: Optional["Sku"] = None, 1698 tags: Optional[Dict[str, str]] = None, 1699 **kwargs 1700 ): 1701 super(ServerForCreate, self).__init__(**kwargs) 1702 self.sku = sku 1703 self.properties = properties 1704 self.location = location 1705 self.tags = tags 1706 1707 1708class ServerListResult(msrest.serialization.Model): 1709 """A list of servers. 1710 1711 :param value: The list of servers. 1712 :type value: list[~azure.mgmt.rdbms.mariadb.models.Server] 1713 """ 1714 1715 _attribute_map = { 1716 'value': {'key': 'value', 'type': '[Server]'}, 1717 } 1718 1719 def __init__( 1720 self, 1721 *, 1722 value: Optional[List["Server"]] = None, 1723 **kwargs 1724 ): 1725 super(ServerListResult, self).__init__(**kwargs) 1726 self.value = value 1727 1728 1729class ServerPrivateEndpointConnection(msrest.serialization.Model): 1730 """A private endpoint connection under a server. 1731 1732 Variables are only populated by the server, and will be ignored when sending a request. 1733 1734 :ivar id: Resource Id of the private endpoint connection. 1735 :vartype id: str 1736 :ivar properties: Private endpoint connection properties. 1737 :vartype properties: ~azure.mgmt.rdbms.mariadb.models.ServerPrivateEndpointConnectionProperties 1738 """ 1739 1740 _validation = { 1741 'id': {'readonly': True}, 1742 'properties': {'readonly': True}, 1743 } 1744 1745 _attribute_map = { 1746 'id': {'key': 'id', 'type': 'str'}, 1747 'properties': {'key': 'properties', 'type': 'ServerPrivateEndpointConnectionProperties'}, 1748 } 1749 1750 def __init__( 1751 self, 1752 **kwargs 1753 ): 1754 super(ServerPrivateEndpointConnection, self).__init__(**kwargs) 1755 self.id = None 1756 self.properties = None 1757 1758 1759class ServerPrivateEndpointConnectionProperties(msrest.serialization.Model): 1760 """Properties of a private endpoint connection. 1761 1762 Variables are only populated by the server, and will be ignored when sending a request. 1763 1764 :param private_endpoint: Private endpoint which the connection belongs to. 1765 :type private_endpoint: ~azure.mgmt.rdbms.mariadb.models.PrivateEndpointProperty 1766 :param private_link_service_connection_state: Connection state of the private endpoint 1767 connection. 1768 :type private_link_service_connection_state: 1769 ~azure.mgmt.rdbms.mariadb.models.ServerPrivateLinkServiceConnectionStateProperty 1770 :ivar provisioning_state: State of the private endpoint connection. Possible values include: 1771 "Approving", "Ready", "Dropping", "Failed", "Rejecting". 1772 :vartype provisioning_state: str or 1773 ~azure.mgmt.rdbms.mariadb.models.PrivateEndpointProvisioningState 1774 """ 1775 1776 _validation = { 1777 'provisioning_state': {'readonly': True}, 1778 } 1779 1780 _attribute_map = { 1781 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpointProperty'}, 1782 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'ServerPrivateLinkServiceConnectionStateProperty'}, 1783 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 1784 } 1785 1786 def __init__( 1787 self, 1788 *, 1789 private_endpoint: Optional["PrivateEndpointProperty"] = None, 1790 private_link_service_connection_state: Optional["ServerPrivateLinkServiceConnectionStateProperty"] = None, 1791 **kwargs 1792 ): 1793 super(ServerPrivateEndpointConnectionProperties, self).__init__(**kwargs) 1794 self.private_endpoint = private_endpoint 1795 self.private_link_service_connection_state = private_link_service_connection_state 1796 self.provisioning_state = None 1797 1798 1799class ServerPrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): 1800 """ServerPrivateLinkServiceConnectionStateProperty. 1801 1802 Variables are only populated by the server, and will be ignored when sending a request. 1803 1804 All required parameters must be populated in order to send to Azure. 1805 1806 :param status: Required. The private link service connection status. Possible values include: 1807 "Approved", "Pending", "Rejected", "Disconnected". 1808 :type status: str or ~azure.mgmt.rdbms.mariadb.models.PrivateLinkServiceConnectionStateStatus 1809 :param description: Required. The private link service connection description. 1810 :type description: str 1811 :ivar actions_required: The actions required for private link service connection. Possible 1812 values include: "None". 1813 :vartype actions_required: str or 1814 ~azure.mgmt.rdbms.mariadb.models.PrivateLinkServiceConnectionStateActionsRequire 1815 """ 1816 1817 _validation = { 1818 'status': {'required': True}, 1819 'description': {'required': True}, 1820 'actions_required': {'readonly': True}, 1821 } 1822 1823 _attribute_map = { 1824 'status': {'key': 'status', 'type': 'str'}, 1825 'description': {'key': 'description', 'type': 'str'}, 1826 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 1827 } 1828 1829 def __init__( 1830 self, 1831 *, 1832 status: Union[str, "PrivateLinkServiceConnectionStateStatus"], 1833 description: str, 1834 **kwargs 1835 ): 1836 super(ServerPrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) 1837 self.status = status 1838 self.description = description 1839 self.actions_required = None 1840 1841 1842class ServerPropertiesForCreate(msrest.serialization.Model): 1843 """The properties used to create a new server. 1844 1845 You probably want to use the sub-classes and not this class directly. Known 1846 sub-classes are: ServerPropertiesForDefaultCreate, ServerPropertiesForGeoRestore, ServerPropertiesForRestore, ServerPropertiesForReplica. 1847 1848 All required parameters must be populated in order to send to Azure. 1849 1850 :param version: Server version. Possible values include: "10.2", "10.3". 1851 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 1852 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 1853 include: "Enabled", "Disabled". 1854 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 1855 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 1856 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 1857 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 1858 :param public_network_access: Whether or not public network access is allowed for this server. 1859 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 1860 "Enabled", "Disabled". 1861 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 1862 :param storage_profile: Storage profile of a server. 1863 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 1864 :param create_mode: Required. The mode to create a new server.Constant filled by server. 1865 Possible values include: "Default", "PointInTimeRestore", "GeoRestore", "Replica". 1866 :type create_mode: str or ~azure.mgmt.rdbms.mariadb.models.CreateMode 1867 """ 1868 1869 _validation = { 1870 'create_mode': {'required': True}, 1871 } 1872 1873 _attribute_map = { 1874 'version': {'key': 'version', 'type': 'str'}, 1875 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'str'}, 1876 'minimal_tls_version': {'key': 'minimalTlsVersion', 'type': 'str'}, 1877 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 1878 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, 1879 'create_mode': {'key': 'createMode', 'type': 'str'}, 1880 } 1881 1882 _subtype_map = { 1883 'create_mode': {'Default': 'ServerPropertiesForDefaultCreate', 'GeoRestore': 'ServerPropertiesForGeoRestore', 'PointInTimeRestore': 'ServerPropertiesForRestore', 'Replica': 'ServerPropertiesForReplica'} 1884 } 1885 1886 def __init__( 1887 self, 1888 *, 1889 version: Optional[Union[str, "ServerVersion"]] = None, 1890 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 1891 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 1892 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 1893 storage_profile: Optional["StorageProfile"] = None, 1894 **kwargs 1895 ): 1896 super(ServerPropertiesForCreate, self).__init__(**kwargs) 1897 self.version = version 1898 self.ssl_enforcement = ssl_enforcement 1899 self.minimal_tls_version = minimal_tls_version 1900 self.public_network_access = public_network_access 1901 self.storage_profile = storage_profile 1902 self.create_mode = None # type: Optional[str] 1903 1904 1905class ServerPropertiesForDefaultCreate(ServerPropertiesForCreate): 1906 """The properties used to create a new server. 1907 1908 All required parameters must be populated in order to send to Azure. 1909 1910 :param version: Server version. Possible values include: "10.2", "10.3". 1911 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 1912 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 1913 include: "Enabled", "Disabled". 1914 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 1915 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 1916 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 1917 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 1918 :param public_network_access: Whether or not public network access is allowed for this server. 1919 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 1920 "Enabled", "Disabled". 1921 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 1922 :param storage_profile: Storage profile of a server. 1923 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 1924 :param create_mode: Required. The mode to create a new server.Constant filled by server. 1925 Possible values include: "Default", "PointInTimeRestore", "GeoRestore", "Replica". 1926 :type create_mode: str or ~azure.mgmt.rdbms.mariadb.models.CreateMode 1927 :param administrator_login: Required. The administrator's login name of a server. Can only be 1928 specified when the server is being created (and is required for creation). 1929 :type administrator_login: str 1930 :param administrator_login_password: Required. The password of the administrator login. 1931 :type administrator_login_password: str 1932 """ 1933 1934 _validation = { 1935 'create_mode': {'required': True}, 1936 'administrator_login': {'required': True}, 1937 'administrator_login_password': {'required': True}, 1938 } 1939 1940 _attribute_map = { 1941 'version': {'key': 'version', 'type': 'str'}, 1942 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'str'}, 1943 'minimal_tls_version': {'key': 'minimalTlsVersion', 'type': 'str'}, 1944 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 1945 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, 1946 'create_mode': {'key': 'createMode', 'type': 'str'}, 1947 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, 1948 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, 1949 } 1950 1951 def __init__( 1952 self, 1953 *, 1954 administrator_login: str, 1955 administrator_login_password: str, 1956 version: Optional[Union[str, "ServerVersion"]] = None, 1957 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 1958 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 1959 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 1960 storage_profile: Optional["StorageProfile"] = None, 1961 **kwargs 1962 ): 1963 super(ServerPropertiesForDefaultCreate, self).__init__(version=version, ssl_enforcement=ssl_enforcement, minimal_tls_version=minimal_tls_version, public_network_access=public_network_access, storage_profile=storage_profile, **kwargs) 1964 self.create_mode = 'Default' # type: str 1965 self.administrator_login = administrator_login 1966 self.administrator_login_password = administrator_login_password 1967 1968 1969class ServerPropertiesForGeoRestore(ServerPropertiesForCreate): 1970 """The properties used to create a new server by restoring to a different region from a geo replicated backup. 1971 1972 All required parameters must be populated in order to send to Azure. 1973 1974 :param version: Server version. Possible values include: "10.2", "10.3". 1975 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 1976 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 1977 include: "Enabled", "Disabled". 1978 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 1979 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 1980 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 1981 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 1982 :param public_network_access: Whether or not public network access is allowed for this server. 1983 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 1984 "Enabled", "Disabled". 1985 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 1986 :param storage_profile: Storage profile of a server. 1987 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 1988 :param create_mode: Required. The mode to create a new server.Constant filled by server. 1989 Possible values include: "Default", "PointInTimeRestore", "GeoRestore", "Replica". 1990 :type create_mode: str or ~azure.mgmt.rdbms.mariadb.models.CreateMode 1991 :param source_server_id: Required. The source server id to restore from. 1992 :type source_server_id: str 1993 """ 1994 1995 _validation = { 1996 'create_mode': {'required': True}, 1997 'source_server_id': {'required': True}, 1998 } 1999 2000 _attribute_map = { 2001 'version': {'key': 'version', 'type': 'str'}, 2002 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'str'}, 2003 'minimal_tls_version': {'key': 'minimalTlsVersion', 'type': 'str'}, 2004 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 2005 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, 2006 'create_mode': {'key': 'createMode', 'type': 'str'}, 2007 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, 2008 } 2009 2010 def __init__( 2011 self, 2012 *, 2013 source_server_id: str, 2014 version: Optional[Union[str, "ServerVersion"]] = None, 2015 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 2016 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 2017 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 2018 storage_profile: Optional["StorageProfile"] = None, 2019 **kwargs 2020 ): 2021 super(ServerPropertiesForGeoRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, minimal_tls_version=minimal_tls_version, public_network_access=public_network_access, storage_profile=storage_profile, **kwargs) 2022 self.create_mode = 'GeoRestore' # type: str 2023 self.source_server_id = source_server_id 2024 2025 2026class ServerPropertiesForReplica(ServerPropertiesForCreate): 2027 """The properties to create a new replica. 2028 2029 All required parameters must be populated in order to send to Azure. 2030 2031 :param version: Server version. Possible values include: "10.2", "10.3". 2032 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 2033 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 2034 include: "Enabled", "Disabled". 2035 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 2036 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 2037 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 2038 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 2039 :param public_network_access: Whether or not public network access is allowed for this server. 2040 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 2041 "Enabled", "Disabled". 2042 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 2043 :param storage_profile: Storage profile of a server. 2044 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 2045 :param create_mode: Required. The mode to create a new server.Constant filled by server. 2046 Possible values include: "Default", "PointInTimeRestore", "GeoRestore", "Replica". 2047 :type create_mode: str or ~azure.mgmt.rdbms.mariadb.models.CreateMode 2048 :param source_server_id: Required. The master server id to create replica from. 2049 :type source_server_id: str 2050 """ 2051 2052 _validation = { 2053 'create_mode': {'required': True}, 2054 'source_server_id': {'required': True}, 2055 } 2056 2057 _attribute_map = { 2058 'version': {'key': 'version', 'type': 'str'}, 2059 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'str'}, 2060 'minimal_tls_version': {'key': 'minimalTlsVersion', 'type': 'str'}, 2061 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 2062 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, 2063 'create_mode': {'key': 'createMode', 'type': 'str'}, 2064 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, 2065 } 2066 2067 def __init__( 2068 self, 2069 *, 2070 source_server_id: str, 2071 version: Optional[Union[str, "ServerVersion"]] = None, 2072 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 2073 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 2074 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 2075 storage_profile: Optional["StorageProfile"] = None, 2076 **kwargs 2077 ): 2078 super(ServerPropertiesForReplica, self).__init__(version=version, ssl_enforcement=ssl_enforcement, minimal_tls_version=minimal_tls_version, public_network_access=public_network_access, storage_profile=storage_profile, **kwargs) 2079 self.create_mode = 'Replica' # type: str 2080 self.source_server_id = source_server_id 2081 2082 2083class ServerPropertiesForRestore(ServerPropertiesForCreate): 2084 """The properties used to create a new server by restoring from a backup. 2085 2086 All required parameters must be populated in order to send to Azure. 2087 2088 :param version: Server version. Possible values include: "10.2", "10.3". 2089 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 2090 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 2091 include: "Enabled", "Disabled". 2092 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 2093 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 2094 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 2095 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 2096 :param public_network_access: Whether or not public network access is allowed for this server. 2097 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 2098 "Enabled", "Disabled". 2099 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 2100 :param storage_profile: Storage profile of a server. 2101 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 2102 :param create_mode: Required. The mode to create a new server.Constant filled by server. 2103 Possible values include: "Default", "PointInTimeRestore", "GeoRestore", "Replica". 2104 :type create_mode: str or ~azure.mgmt.rdbms.mariadb.models.CreateMode 2105 :param source_server_id: Required. The source server id to restore from. 2106 :type source_server_id: str 2107 :param restore_point_in_time: Required. Restore point creation time (ISO8601 format), 2108 specifying the time to restore from. 2109 :type restore_point_in_time: ~datetime.datetime 2110 """ 2111 2112 _validation = { 2113 'create_mode': {'required': True}, 2114 'source_server_id': {'required': True}, 2115 'restore_point_in_time': {'required': True}, 2116 } 2117 2118 _attribute_map = { 2119 'version': {'key': 'version', 'type': 'str'}, 2120 'ssl_enforcement': {'key': 'sslEnforcement', 'type': 'str'}, 2121 'minimal_tls_version': {'key': 'minimalTlsVersion', 'type': 'str'}, 2122 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 2123 'storage_profile': {'key': 'storageProfile', 'type': 'StorageProfile'}, 2124 'create_mode': {'key': 'createMode', 'type': 'str'}, 2125 'source_server_id': {'key': 'sourceServerId', 'type': 'str'}, 2126 'restore_point_in_time': {'key': 'restorePointInTime', 'type': 'iso-8601'}, 2127 } 2128 2129 def __init__( 2130 self, 2131 *, 2132 source_server_id: str, 2133 restore_point_in_time: datetime.datetime, 2134 version: Optional[Union[str, "ServerVersion"]] = None, 2135 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 2136 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 2137 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 2138 storage_profile: Optional["StorageProfile"] = None, 2139 **kwargs 2140 ): 2141 super(ServerPropertiesForRestore, self).__init__(version=version, ssl_enforcement=ssl_enforcement, minimal_tls_version=minimal_tls_version, public_network_access=public_network_access, storage_profile=storage_profile, **kwargs) 2142 self.create_mode = 'PointInTimeRestore' # type: str 2143 self.source_server_id = source_server_id 2144 self.restore_point_in_time = restore_point_in_time 2145 2146 2147class ServerSecurityAlertPolicy(ProxyResource): 2148 """A server security alert policy. 2149 2150 Variables are only populated by the server, and will be ignored when sending a request. 2151 2152 :ivar id: Fully qualified resource ID for the resource. Ex - 2153 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2154 :vartype id: str 2155 :ivar name: The name of the resource. 2156 :vartype name: str 2157 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2158 "Microsoft.Storage/storageAccounts". 2159 :vartype type: str 2160 :param state: Specifies the state of the policy, whether it is enabled or disabled. Possible 2161 values include: "Enabled", "Disabled". 2162 :type state: str or ~azure.mgmt.rdbms.mariadb.models.ServerSecurityAlertPolicyState 2163 :param disabled_alerts: Specifies an array of alerts that are disabled. Allowed values are: 2164 Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly. 2165 :type disabled_alerts: list[str] 2166 :param email_addresses: Specifies an array of e-mail addresses to which the alert is sent. 2167 :type email_addresses: list[str] 2168 :param email_account_admins: Specifies that the alert is sent to the account administrators. 2169 :type email_account_admins: bool 2170 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 2171 https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection 2172 audit logs. 2173 :type storage_endpoint: str 2174 :param storage_account_access_key: Specifies the identifier key of the Threat Detection audit 2175 storage account. 2176 :type storage_account_access_key: str 2177 :param retention_days: Specifies the number of days to keep in the Threat Detection audit logs. 2178 :type retention_days: int 2179 """ 2180 2181 _validation = { 2182 'id': {'readonly': True}, 2183 'name': {'readonly': True}, 2184 'type': {'readonly': True}, 2185 } 2186 2187 _attribute_map = { 2188 'id': {'key': 'id', 'type': 'str'}, 2189 'name': {'key': 'name', 'type': 'str'}, 2190 'type': {'key': 'type', 'type': 'str'}, 2191 'state': {'key': 'properties.state', 'type': 'str'}, 2192 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': '[str]'}, 2193 'email_addresses': {'key': 'properties.emailAddresses', 'type': '[str]'}, 2194 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'bool'}, 2195 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 2196 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 2197 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 2198 } 2199 2200 def __init__( 2201 self, 2202 *, 2203 state: Optional[Union[str, "ServerSecurityAlertPolicyState"]] = None, 2204 disabled_alerts: Optional[List[str]] = None, 2205 email_addresses: Optional[List[str]] = None, 2206 email_account_admins: Optional[bool] = None, 2207 storage_endpoint: Optional[str] = None, 2208 storage_account_access_key: Optional[str] = None, 2209 retention_days: Optional[int] = None, 2210 **kwargs 2211 ): 2212 super(ServerSecurityAlertPolicy, self).__init__(**kwargs) 2213 self.state = state 2214 self.disabled_alerts = disabled_alerts 2215 self.email_addresses = email_addresses 2216 self.email_account_admins = email_account_admins 2217 self.storage_endpoint = storage_endpoint 2218 self.storage_account_access_key = storage_account_access_key 2219 self.retention_days = retention_days 2220 2221 2222class ServerSecurityAlertPolicyListResult(msrest.serialization.Model): 2223 """A list of the server's security alert policies. 2224 2225 Variables are only populated by the server, and will be ignored when sending a request. 2226 2227 :ivar value: Array of results. 2228 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.ServerSecurityAlertPolicy] 2229 :ivar next_link: Link to retrieve next page of results. 2230 :vartype next_link: str 2231 """ 2232 2233 _validation = { 2234 'value': {'readonly': True}, 2235 'next_link': {'readonly': True}, 2236 } 2237 2238 _attribute_map = { 2239 'value': {'key': 'value', 'type': '[ServerSecurityAlertPolicy]'}, 2240 'next_link': {'key': 'nextLink', 'type': 'str'}, 2241 } 2242 2243 def __init__( 2244 self, 2245 **kwargs 2246 ): 2247 super(ServerSecurityAlertPolicyListResult, self).__init__(**kwargs) 2248 self.value = None 2249 self.next_link = None 2250 2251 2252class ServerUpdateParameters(msrest.serialization.Model): 2253 """Parameters allowed to update for a server. 2254 2255 :param sku: The SKU (pricing tier) of the server. 2256 :type sku: ~azure.mgmt.rdbms.mariadb.models.Sku 2257 :param tags: A set of tags. Application-specific metadata in the form of key-value pairs. 2258 :type tags: dict[str, str] 2259 :param storage_profile: Storage profile of a server. 2260 :type storage_profile: ~azure.mgmt.rdbms.mariadb.models.StorageProfile 2261 :param administrator_login_password: The password of the administrator login. 2262 :type administrator_login_password: str 2263 :param version: The version of a server. Possible values include: "10.2", "10.3". 2264 :type version: str or ~azure.mgmt.rdbms.mariadb.models.ServerVersion 2265 :param ssl_enforcement: Enable ssl enforcement or not when connect to server. Possible values 2266 include: "Enabled", "Disabled". 2267 :type ssl_enforcement: str or ~azure.mgmt.rdbms.mariadb.models.SslEnforcementEnum 2268 :param minimal_tls_version: Enforce a minimal Tls version for the server. Possible values 2269 include: "TLS1_0", "TLS1_1", "TLS1_2", "TLSEnforcementDisabled". 2270 :type minimal_tls_version: str or ~azure.mgmt.rdbms.mariadb.models.MinimalTlsVersionEnum 2271 :param public_network_access: Whether or not public network access is allowed for this server. 2272 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 2273 "Enabled", "Disabled". 2274 :type public_network_access: str or ~azure.mgmt.rdbms.mariadb.models.PublicNetworkAccessEnum 2275 :param replication_role: The replication role of the server. 2276 :type replication_role: str 2277 """ 2278 2279 _attribute_map = { 2280 'sku': {'key': 'sku', 'type': 'Sku'}, 2281 'tags': {'key': 'tags', 'type': '{str}'}, 2282 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 2283 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, 2284 'version': {'key': 'properties.version', 'type': 'str'}, 2285 'ssl_enforcement': {'key': 'properties.sslEnforcement', 'type': 'str'}, 2286 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 2287 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 2288 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, 2289 } 2290 2291 def __init__( 2292 self, 2293 *, 2294 sku: Optional["Sku"] = None, 2295 tags: Optional[Dict[str, str]] = None, 2296 storage_profile: Optional["StorageProfile"] = None, 2297 administrator_login_password: Optional[str] = None, 2298 version: Optional[Union[str, "ServerVersion"]] = None, 2299 ssl_enforcement: Optional[Union[str, "SslEnforcementEnum"]] = None, 2300 minimal_tls_version: Optional[Union[str, "MinimalTlsVersionEnum"]] = None, 2301 public_network_access: Optional[Union[str, "PublicNetworkAccessEnum"]] = None, 2302 replication_role: Optional[str] = None, 2303 **kwargs 2304 ): 2305 super(ServerUpdateParameters, self).__init__(**kwargs) 2306 self.sku = sku 2307 self.tags = tags 2308 self.storage_profile = storage_profile 2309 self.administrator_login_password = administrator_login_password 2310 self.version = version 2311 self.ssl_enforcement = ssl_enforcement 2312 self.minimal_tls_version = minimal_tls_version 2313 self.public_network_access = public_network_access 2314 self.replication_role = replication_role 2315 2316 2317class Sku(msrest.serialization.Model): 2318 """Billing information related properties of a server. 2319 2320 All required parameters must be populated in order to send to Azure. 2321 2322 :param name: Required. The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, 2323 GP_Gen5_8. 2324 :type name: str 2325 :param tier: The tier of the particular SKU, e.g. Basic. Possible values include: "Basic", 2326 "GeneralPurpose", "MemoryOptimized". 2327 :type tier: str or ~azure.mgmt.rdbms.mariadb.models.SkuTier 2328 :param capacity: The scale up/out capacity, representing server's compute units. 2329 :type capacity: int 2330 :param size: The size code, to be interpreted by resource as appropriate. 2331 :type size: str 2332 :param family: The family of hardware. 2333 :type family: str 2334 """ 2335 2336 _validation = { 2337 'name': {'required': True}, 2338 'capacity': {'minimum': 0}, 2339 } 2340 2341 _attribute_map = { 2342 'name': {'key': 'name', 'type': 'str'}, 2343 'tier': {'key': 'tier', 'type': 'str'}, 2344 'capacity': {'key': 'capacity', 'type': 'int'}, 2345 'size': {'key': 'size', 'type': 'str'}, 2346 'family': {'key': 'family', 'type': 'str'}, 2347 } 2348 2349 def __init__( 2350 self, 2351 *, 2352 name: str, 2353 tier: Optional[Union[str, "SkuTier"]] = None, 2354 capacity: Optional[int] = None, 2355 size: Optional[str] = None, 2356 family: Optional[str] = None, 2357 **kwargs 2358 ): 2359 super(Sku, self).__init__(**kwargs) 2360 self.name = name 2361 self.tier = tier 2362 self.capacity = capacity 2363 self.size = size 2364 self.family = family 2365 2366 2367class StorageProfile(msrest.serialization.Model): 2368 """Storage Profile properties of a server. 2369 2370 :param backup_retention_days: Backup retention days for the server. 2371 :type backup_retention_days: int 2372 :param geo_redundant_backup: Enable Geo-redundant or not for server backup. Possible values 2373 include: "Enabled", "Disabled". 2374 :type geo_redundant_backup: str or ~azure.mgmt.rdbms.mariadb.models.GeoRedundantBackup 2375 :param storage_mb: Max storage allowed for a server. 2376 :type storage_mb: int 2377 :param storage_autogrow: Enable Storage Auto Grow. Possible values include: "Enabled", 2378 "Disabled". 2379 :type storage_autogrow: str or ~azure.mgmt.rdbms.mariadb.models.StorageAutogrow 2380 """ 2381 2382 _attribute_map = { 2383 'backup_retention_days': {'key': 'backupRetentionDays', 'type': 'int'}, 2384 'geo_redundant_backup': {'key': 'geoRedundantBackup', 'type': 'str'}, 2385 'storage_mb': {'key': 'storageMB', 'type': 'int'}, 2386 'storage_autogrow': {'key': 'storageAutogrow', 'type': 'str'}, 2387 } 2388 2389 def __init__( 2390 self, 2391 *, 2392 backup_retention_days: Optional[int] = None, 2393 geo_redundant_backup: Optional[Union[str, "GeoRedundantBackup"]] = None, 2394 storage_mb: Optional[int] = None, 2395 storage_autogrow: Optional[Union[str, "StorageAutogrow"]] = None, 2396 **kwargs 2397 ): 2398 super(StorageProfile, self).__init__(**kwargs) 2399 self.backup_retention_days = backup_retention_days 2400 self.geo_redundant_backup = geo_redundant_backup 2401 self.storage_mb = storage_mb 2402 self.storage_autogrow = storage_autogrow 2403 2404 2405class TagsObject(msrest.serialization.Model): 2406 """Tags object for patch operations. 2407 2408 :param tags: A set of tags. Resource tags. 2409 :type tags: dict[str, str] 2410 """ 2411 2412 _attribute_map = { 2413 'tags': {'key': 'tags', 'type': '{str}'}, 2414 } 2415 2416 def __init__( 2417 self, 2418 *, 2419 tags: Optional[Dict[str, str]] = None, 2420 **kwargs 2421 ): 2422 super(TagsObject, self).__init__(**kwargs) 2423 self.tags = tags 2424 2425 2426class TopQueryStatisticsInput(msrest.serialization.Model): 2427 """Input to get top query statistics. 2428 2429 All required parameters must be populated in order to send to Azure. 2430 2431 :param number_of_top_queries: Required. Max number of top queries to return. 2432 :type number_of_top_queries: int 2433 :param aggregation_function: Required. Aggregation function name. 2434 :type aggregation_function: str 2435 :param observed_metric: Required. Observed metric name. 2436 :type observed_metric: str 2437 :param observation_start_time: Required. Observation start time. 2438 :type observation_start_time: ~datetime.datetime 2439 :param observation_end_time: Required. Observation end time. 2440 :type observation_end_time: ~datetime.datetime 2441 :param aggregation_window: Required. Aggregation interval type in ISO 8601 format. 2442 :type aggregation_window: str 2443 """ 2444 2445 _validation = { 2446 'number_of_top_queries': {'required': True}, 2447 'aggregation_function': {'required': True}, 2448 'observed_metric': {'required': True}, 2449 'observation_start_time': {'required': True}, 2450 'observation_end_time': {'required': True}, 2451 'aggregation_window': {'required': True}, 2452 } 2453 2454 _attribute_map = { 2455 'number_of_top_queries': {'key': 'properties.numberOfTopQueries', 'type': 'int'}, 2456 'aggregation_function': {'key': 'properties.aggregationFunction', 'type': 'str'}, 2457 'observed_metric': {'key': 'properties.observedMetric', 'type': 'str'}, 2458 'observation_start_time': {'key': 'properties.observationStartTime', 'type': 'iso-8601'}, 2459 'observation_end_time': {'key': 'properties.observationEndTime', 'type': 'iso-8601'}, 2460 'aggregation_window': {'key': 'properties.aggregationWindow', 'type': 'str'}, 2461 } 2462 2463 def __init__( 2464 self, 2465 *, 2466 number_of_top_queries: int, 2467 aggregation_function: str, 2468 observed_metric: str, 2469 observation_start_time: datetime.datetime, 2470 observation_end_time: datetime.datetime, 2471 aggregation_window: str, 2472 **kwargs 2473 ): 2474 super(TopQueryStatisticsInput, self).__init__(**kwargs) 2475 self.number_of_top_queries = number_of_top_queries 2476 self.aggregation_function = aggregation_function 2477 self.observed_metric = observed_metric 2478 self.observation_start_time = observation_start_time 2479 self.observation_end_time = observation_end_time 2480 self.aggregation_window = aggregation_window 2481 2482 2483class TopQueryStatisticsResultList(msrest.serialization.Model): 2484 """A list of query statistics. 2485 2486 Variables are only populated by the server, and will be ignored when sending a request. 2487 2488 :ivar value: The list of top query statistics. 2489 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.QueryStatistic] 2490 :ivar next_link: Link to retrieve next page of results. 2491 :vartype next_link: str 2492 """ 2493 2494 _validation = { 2495 'value': {'readonly': True}, 2496 'next_link': {'readonly': True}, 2497 } 2498 2499 _attribute_map = { 2500 'value': {'key': 'value', 'type': '[QueryStatistic]'}, 2501 'next_link': {'key': 'nextLink', 'type': 'str'}, 2502 } 2503 2504 def __init__( 2505 self, 2506 **kwargs 2507 ): 2508 super(TopQueryStatisticsResultList, self).__init__(**kwargs) 2509 self.value = None 2510 self.next_link = None 2511 2512 2513class VirtualNetworkRule(ProxyResource): 2514 """A virtual network rule. 2515 2516 Variables are only populated by the server, and will be ignored when sending a request. 2517 2518 :ivar id: Fully qualified resource ID for the resource. Ex - 2519 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2520 :vartype id: str 2521 :ivar name: The name of the resource. 2522 :vartype name: str 2523 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2524 "Microsoft.Storage/storageAccounts". 2525 :vartype type: str 2526 :param virtual_network_subnet_id: The ARM resource id of the virtual network subnet. 2527 :type virtual_network_subnet_id: str 2528 :param ignore_missing_vnet_service_endpoint: Create firewall rule before the virtual network 2529 has vnet service endpoint enabled. 2530 :type ignore_missing_vnet_service_endpoint: bool 2531 :ivar state: Virtual Network Rule State. Possible values include: "Initializing", "InProgress", 2532 "Ready", "Deleting", "Unknown". 2533 :vartype state: str or ~azure.mgmt.rdbms.mariadb.models.VirtualNetworkRuleState 2534 """ 2535 2536 _validation = { 2537 'id': {'readonly': True}, 2538 'name': {'readonly': True}, 2539 'type': {'readonly': True}, 2540 'state': {'readonly': True}, 2541 } 2542 2543 _attribute_map = { 2544 'id': {'key': 'id', 'type': 'str'}, 2545 'name': {'key': 'name', 'type': 'str'}, 2546 'type': {'key': 'type', 'type': 'str'}, 2547 'virtual_network_subnet_id': {'key': 'properties.virtualNetworkSubnetId', 'type': 'str'}, 2548 'ignore_missing_vnet_service_endpoint': {'key': 'properties.ignoreMissingVnetServiceEndpoint', 'type': 'bool'}, 2549 'state': {'key': 'properties.state', 'type': 'str'}, 2550 } 2551 2552 def __init__( 2553 self, 2554 *, 2555 virtual_network_subnet_id: Optional[str] = None, 2556 ignore_missing_vnet_service_endpoint: Optional[bool] = None, 2557 **kwargs 2558 ): 2559 super(VirtualNetworkRule, self).__init__(**kwargs) 2560 self.virtual_network_subnet_id = virtual_network_subnet_id 2561 self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint 2562 self.state = None 2563 2564 2565class VirtualNetworkRuleListResult(msrest.serialization.Model): 2566 """A list of virtual network rules. 2567 2568 Variables are only populated by the server, and will be ignored when sending a request. 2569 2570 :ivar value: Array of results. 2571 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.VirtualNetworkRule] 2572 :ivar next_link: Link to retrieve next page of results. 2573 :vartype next_link: str 2574 """ 2575 2576 _validation = { 2577 'value': {'readonly': True}, 2578 'next_link': {'readonly': True}, 2579 } 2580 2581 _attribute_map = { 2582 'value': {'key': 'value', 'type': '[VirtualNetworkRule]'}, 2583 'next_link': {'key': 'nextLink', 'type': 'str'}, 2584 } 2585 2586 def __init__( 2587 self, 2588 **kwargs 2589 ): 2590 super(VirtualNetworkRuleListResult, self).__init__(**kwargs) 2591 self.value = None 2592 self.next_link = None 2593 2594 2595class WaitStatistic(ProxyResource): 2596 """Represents a Wait Statistic. 2597 2598 Variables are only populated by the server, and will be ignored when sending a request. 2599 2600 :ivar id: Fully qualified resource ID for the resource. Ex - 2601 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2602 :vartype id: str 2603 :ivar name: The name of the resource. 2604 :vartype name: str 2605 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2606 "Microsoft.Storage/storageAccounts". 2607 :vartype type: str 2608 :param start_time: Observation start time. 2609 :type start_time: ~datetime.datetime 2610 :param end_time: Observation end time. 2611 :type end_time: ~datetime.datetime 2612 :param event_name: Wait event name. 2613 :type event_name: str 2614 :param event_type_name: Wait event type name. 2615 :type event_type_name: str 2616 :param query_id: Database query identifier. 2617 :type query_id: long 2618 :param database_name: Database Name. 2619 :type database_name: str 2620 :param user_id: Database user identifier. 2621 :type user_id: long 2622 :param count: Wait event count observed in this time interval. 2623 :type count: long 2624 :param total_time_in_ms: Total time of wait in milliseconds in this time interval. 2625 :type total_time_in_ms: float 2626 """ 2627 2628 _validation = { 2629 'id': {'readonly': True}, 2630 'name': {'readonly': True}, 2631 'type': {'readonly': True}, 2632 } 2633 2634 _attribute_map = { 2635 'id': {'key': 'id', 'type': 'str'}, 2636 'name': {'key': 'name', 'type': 'str'}, 2637 'type': {'key': 'type', 'type': 'str'}, 2638 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 2639 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 2640 'event_name': {'key': 'properties.eventName', 'type': 'str'}, 2641 'event_type_name': {'key': 'properties.eventTypeName', 'type': 'str'}, 2642 'query_id': {'key': 'properties.queryId', 'type': 'long'}, 2643 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 2644 'user_id': {'key': 'properties.userId', 'type': 'long'}, 2645 'count': {'key': 'properties.count', 'type': 'long'}, 2646 'total_time_in_ms': {'key': 'properties.totalTimeInMs', 'type': 'float'}, 2647 } 2648 2649 def __init__( 2650 self, 2651 *, 2652 start_time: Optional[datetime.datetime] = None, 2653 end_time: Optional[datetime.datetime] = None, 2654 event_name: Optional[str] = None, 2655 event_type_name: Optional[str] = None, 2656 query_id: Optional[int] = None, 2657 database_name: Optional[str] = None, 2658 user_id: Optional[int] = None, 2659 count: Optional[int] = None, 2660 total_time_in_ms: Optional[float] = None, 2661 **kwargs 2662 ): 2663 super(WaitStatistic, self).__init__(**kwargs) 2664 self.start_time = start_time 2665 self.end_time = end_time 2666 self.event_name = event_name 2667 self.event_type_name = event_type_name 2668 self.query_id = query_id 2669 self.database_name = database_name 2670 self.user_id = user_id 2671 self.count = count 2672 self.total_time_in_ms = total_time_in_ms 2673 2674 2675class WaitStatisticsInput(msrest.serialization.Model): 2676 """Input to get wait statistics. 2677 2678 All required parameters must be populated in order to send to Azure. 2679 2680 :param observation_start_time: Required. Observation start time. 2681 :type observation_start_time: ~datetime.datetime 2682 :param observation_end_time: Required. Observation end time. 2683 :type observation_end_time: ~datetime.datetime 2684 :param aggregation_window: Required. Aggregation interval type in ISO 8601 format. 2685 :type aggregation_window: str 2686 """ 2687 2688 _validation = { 2689 'observation_start_time': {'required': True}, 2690 'observation_end_time': {'required': True}, 2691 'aggregation_window': {'required': True}, 2692 } 2693 2694 _attribute_map = { 2695 'observation_start_time': {'key': 'properties.observationStartTime', 'type': 'iso-8601'}, 2696 'observation_end_time': {'key': 'properties.observationEndTime', 'type': 'iso-8601'}, 2697 'aggregation_window': {'key': 'properties.aggregationWindow', 'type': 'str'}, 2698 } 2699 2700 def __init__( 2701 self, 2702 *, 2703 observation_start_time: datetime.datetime, 2704 observation_end_time: datetime.datetime, 2705 aggregation_window: str, 2706 **kwargs 2707 ): 2708 super(WaitStatisticsInput, self).__init__(**kwargs) 2709 self.observation_start_time = observation_start_time 2710 self.observation_end_time = observation_end_time 2711 self.aggregation_window = aggregation_window 2712 2713 2714class WaitStatisticsResultList(msrest.serialization.Model): 2715 """A list of wait statistics. 2716 2717 Variables are only populated by the server, and will be ignored when sending a request. 2718 2719 :ivar value: The list of wait statistics. 2720 :vartype value: list[~azure.mgmt.rdbms.mariadb.models.WaitStatistic] 2721 :ivar next_link: Link to retrieve next page of results. 2722 :vartype next_link: str 2723 """ 2724 2725 _validation = { 2726 'value': {'readonly': True}, 2727 'next_link': {'readonly': True}, 2728 } 2729 2730 _attribute_map = { 2731 'value': {'key': 'value', 'type': '[WaitStatistic]'}, 2732 'next_link': {'key': 'nextLink', 'type': 'str'}, 2733 } 2734 2735 def __init__( 2736 self, 2737 **kwargs 2738 ): 2739 super(WaitStatisticsResultList, self).__init__(**kwargs) 2740 self.value = None 2741 self.next_link = None 2742