1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import msrest.serialization 10 11 12class AdministratorListResult(msrest.serialization.Model): 13 """A list of active directory administrators. 14 15 Variables are only populated by the server, and will be ignored when sending a request. 16 17 :ivar value: Array of results. 18 :vartype value: list[~azure.mgmt.sql.models.ServerAzureADAdministrator] 19 :ivar next_link: Link to retrieve next page of results. 20 :vartype next_link: str 21 """ 22 23 _validation = { 24 'value': {'readonly': True}, 25 'next_link': {'readonly': True}, 26 } 27 28 _attribute_map = { 29 'value': {'key': 'value', 'type': '[ServerAzureADAdministrator]'}, 30 'next_link': {'key': 'nextLink', 'type': 'str'}, 31 } 32 33 def __init__( 34 self, 35 **kwargs 36 ): 37 super(AdministratorListResult, self).__init__(**kwargs) 38 self.value = None 39 self.next_link = None 40 41 42class Resource(msrest.serialization.Model): 43 """ARM resource. 44 45 Variables are only populated by the server, and will be ignored when sending a request. 46 47 :ivar id: Resource ID. 48 :vartype id: str 49 :ivar name: Resource name. 50 :vartype name: str 51 :ivar type: Resource type. 52 :vartype type: str 53 """ 54 55 _validation = { 56 'id': {'readonly': True}, 57 'name': {'readonly': True}, 58 'type': {'readonly': True}, 59 } 60 61 _attribute_map = { 62 'id': {'key': 'id', 'type': 'str'}, 63 'name': {'key': 'name', 'type': 'str'}, 64 'type': {'key': 'type', 'type': 'str'}, 65 } 66 67 def __init__( 68 self, 69 **kwargs 70 ): 71 super(Resource, self).__init__(**kwargs) 72 self.id = None 73 self.name = None 74 self.type = None 75 76 77class ProxyResource(Resource): 78 """ARM proxy resource. 79 80 Variables are only populated by the server, and will be ignored when sending a request. 81 82 :ivar id: Resource ID. 83 :vartype id: str 84 :ivar name: Resource name. 85 :vartype name: str 86 :ivar type: Resource type. 87 :vartype type: str 88 """ 89 90 _validation = { 91 'id': {'readonly': True}, 92 'name': {'readonly': True}, 93 'type': {'readonly': True}, 94 } 95 96 _attribute_map = { 97 'id': {'key': 'id', 'type': 'str'}, 98 'name': {'key': 'name', 'type': 'str'}, 99 'type': {'key': 'type', 'type': 'str'}, 100 } 101 102 def __init__( 103 self, 104 **kwargs 105 ): 106 super(ProxyResource, self).__init__(**kwargs) 107 108 109class Advisor(ProxyResource): 110 """Database, Server or Elastic Pool Advisor. 111 112 Variables are only populated by the server, and will be ignored when sending a request. 113 114 :ivar id: Resource ID. 115 :vartype id: str 116 :ivar name: Resource name. 117 :vartype name: str 118 :ivar type: Resource type. 119 :vartype type: str 120 :ivar kind: Resource kind. 121 :vartype kind: str 122 :ivar location: Resource location. 123 :vartype location: str 124 :ivar advisor_status: Gets the status of availability of this advisor to customers. Possible 125 values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'. Possible values 126 include: "GA", "PublicPreview", "LimitedPublicPreview", "PrivatePreview". 127 :vartype advisor_status: str or ~azure.mgmt.sql.models.AdvisorStatus 128 :param auto_execute_status: Gets the auto-execute status (whether to let the system execute the 129 recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'. Possible values 130 include: "Enabled", "Disabled", "Default". 131 :type auto_execute_status: str or ~azure.mgmt.sql.models.AutoExecuteStatus 132 :ivar auto_execute_status_inherited_from: Gets the resource from which current value of 133 auto-execute status is inherited. Auto-execute status can be set on (and inherited from) 134 different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 135 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level). 136 Possible values include: "Default", "Subscription", "Server", "ElasticPool", "Database". 137 :vartype auto_execute_status_inherited_from: str or 138 ~azure.mgmt.sql.models.AutoExecuteStatusInheritedFrom 139 :ivar recommendations_status: Gets that status of recommendations for this advisor and reason 140 for not having any recommendations. Possible values include, but are not limited to, 'Ok' 141 (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' 142 (Database is doing well), etc. 143 :vartype recommendations_status: str 144 :ivar last_checked: Gets the time when the current resource was analyzed for recommendations by 145 this advisor. 146 :vartype last_checked: ~datetime.datetime 147 :ivar recommended_actions: Gets the recommended actions for this advisor. 148 :vartype recommended_actions: list[~azure.mgmt.sql.models.RecommendedAction] 149 """ 150 151 _validation = { 152 'id': {'readonly': True}, 153 'name': {'readonly': True}, 154 'type': {'readonly': True}, 155 'kind': {'readonly': True}, 156 'location': {'readonly': True}, 157 'advisor_status': {'readonly': True}, 158 'auto_execute_status_inherited_from': {'readonly': True}, 159 'recommendations_status': {'readonly': True}, 160 'last_checked': {'readonly': True}, 161 'recommended_actions': {'readonly': True}, 162 } 163 164 _attribute_map = { 165 'id': {'key': 'id', 'type': 'str'}, 166 'name': {'key': 'name', 'type': 'str'}, 167 'type': {'key': 'type', 'type': 'str'}, 168 'kind': {'key': 'kind', 'type': 'str'}, 169 'location': {'key': 'location', 'type': 'str'}, 170 'advisor_status': {'key': 'properties.advisorStatus', 'type': 'str'}, 171 'auto_execute_status': {'key': 'properties.autoExecuteStatus', 'type': 'str'}, 172 'auto_execute_status_inherited_from': {'key': 'properties.autoExecuteStatusInheritedFrom', 'type': 'str'}, 173 'recommendations_status': {'key': 'properties.recommendationsStatus', 'type': 'str'}, 174 'last_checked': {'key': 'properties.lastChecked', 'type': 'iso-8601'}, 175 'recommended_actions': {'key': 'properties.recommendedActions', 'type': '[RecommendedAction]'}, 176 } 177 178 def __init__( 179 self, 180 **kwargs 181 ): 182 super(Advisor, self).__init__(**kwargs) 183 self.kind = None 184 self.location = None 185 self.advisor_status = None 186 self.auto_execute_status = kwargs.get('auto_execute_status', None) 187 self.auto_execute_status_inherited_from = None 188 self.recommendations_status = None 189 self.last_checked = None 190 self.recommended_actions = None 191 192 193class AutomaticTuningOptions(msrest.serialization.Model): 194 """Automatic tuning properties for individual advisors. 195 196 Variables are only populated by the server, and will be ignored when sending a request. 197 198 :param desired_state: Automatic tuning option desired state. Possible values include: "Off", 199 "On", "Default". 200 :type desired_state: str or ~azure.mgmt.sql.models.AutomaticTuningOptionModeDesired 201 :ivar actual_state: Automatic tuning option actual state. Possible values include: "Off", "On". 202 :vartype actual_state: str or ~azure.mgmt.sql.models.AutomaticTuningOptionModeActual 203 :ivar reason_code: Reason code if desired and actual state are different. 204 :vartype reason_code: int 205 :ivar reason_desc: Reason description if desired and actual state are different. Possible 206 values include: "Default", "Disabled", "AutoConfigured", "InheritedFromServer", 207 "QueryStoreOff", "QueryStoreReadOnly", "NotSupported". 208 :vartype reason_desc: str or ~azure.mgmt.sql.models.AutomaticTuningDisabledReason 209 """ 210 211 _validation = { 212 'actual_state': {'readonly': True}, 213 'reason_code': {'readonly': True}, 214 'reason_desc': {'readonly': True}, 215 } 216 217 _attribute_map = { 218 'desired_state': {'key': 'desiredState', 'type': 'str'}, 219 'actual_state': {'key': 'actualState', 'type': 'str'}, 220 'reason_code': {'key': 'reasonCode', 'type': 'int'}, 221 'reason_desc': {'key': 'reasonDesc', 'type': 'str'}, 222 } 223 224 def __init__( 225 self, 226 **kwargs 227 ): 228 super(AutomaticTuningOptions, self).__init__(**kwargs) 229 self.desired_state = kwargs.get('desired_state', None) 230 self.actual_state = None 231 self.reason_code = None 232 self.reason_desc = None 233 234 235class AutomaticTuningServerOptions(msrest.serialization.Model): 236 """Automatic tuning properties for individual advisors. 237 238 Variables are only populated by the server, and will be ignored when sending a request. 239 240 :param desired_state: Automatic tuning option desired state. Possible values include: "Off", 241 "On", "Default". 242 :type desired_state: str or ~azure.mgmt.sql.models.AutomaticTuningOptionModeDesired 243 :ivar actual_state: Automatic tuning option actual state. Possible values include: "Off", "On". 244 :vartype actual_state: str or ~azure.mgmt.sql.models.AutomaticTuningOptionModeActual 245 :ivar reason_code: Reason code if desired and actual state are different. 246 :vartype reason_code: int 247 :ivar reason_desc: Reason description if desired and actual state are different. Possible 248 values include: "Default", "Disabled", "AutoConfigured". 249 :vartype reason_desc: str or ~azure.mgmt.sql.models.AutomaticTuningServerReason 250 """ 251 252 _validation = { 253 'actual_state': {'readonly': True}, 254 'reason_code': {'readonly': True}, 255 'reason_desc': {'readonly': True}, 256 } 257 258 _attribute_map = { 259 'desired_state': {'key': 'desiredState', 'type': 'str'}, 260 'actual_state': {'key': 'actualState', 'type': 'str'}, 261 'reason_code': {'key': 'reasonCode', 'type': 'int'}, 262 'reason_desc': {'key': 'reasonDesc', 'type': 'str'}, 263 } 264 265 def __init__( 266 self, 267 **kwargs 268 ): 269 super(AutomaticTuningServerOptions, self).__init__(**kwargs) 270 self.desired_state = kwargs.get('desired_state', None) 271 self.actual_state = None 272 self.reason_code = None 273 self.reason_desc = None 274 275 276class AutoPauseDelayTimeRange(msrest.serialization.Model): 277 """Supported auto pause delay time range. 278 279 Variables are only populated by the server, and will be ignored when sending a request. 280 281 :ivar min_value: Minimum value. 282 :vartype min_value: int 283 :ivar max_value: Maximum value. 284 :vartype max_value: int 285 :ivar step_size: Step value for discrete values between the minimum value and the maximum 286 value. 287 :vartype step_size: int 288 :ivar default: Default value is no value is provided. 289 :vartype default: int 290 :ivar unit: Unit of time that delay is expressed in. Possible values include: "Minutes". 291 :vartype unit: str or ~azure.mgmt.sql.models.PauseDelayTimeUnit 292 :ivar do_not_pause_value: Value that is used to not pause (infinite delay before pause). 293 :vartype do_not_pause_value: int 294 """ 295 296 _validation = { 297 'min_value': {'readonly': True}, 298 'max_value': {'readonly': True}, 299 'step_size': {'readonly': True}, 300 'default': {'readonly': True}, 301 'unit': {'readonly': True}, 302 'do_not_pause_value': {'readonly': True}, 303 } 304 305 _attribute_map = { 306 'min_value': {'key': 'minValue', 'type': 'int'}, 307 'max_value': {'key': 'maxValue', 'type': 'int'}, 308 'step_size': {'key': 'stepSize', 'type': 'int'}, 309 'default': {'key': 'default', 'type': 'int'}, 310 'unit': {'key': 'unit', 'type': 'str'}, 311 'do_not_pause_value': {'key': 'doNotPauseValue', 'type': 'int'}, 312 } 313 314 def __init__( 315 self, 316 **kwargs 317 ): 318 super(AutoPauseDelayTimeRange, self).__init__(**kwargs) 319 self.min_value = None 320 self.max_value = None 321 self.step_size = None 322 self.default = None 323 self.unit = None 324 self.do_not_pause_value = None 325 326 327class AzureADOnlyAuthListResult(msrest.serialization.Model): 328 """A list of active directory only authentications. 329 330 Variables are only populated by the server, and will be ignored when sending a request. 331 332 :ivar value: Array of results. 333 :vartype value: list[~azure.mgmt.sql.models.ServerAzureADOnlyAuthentication] 334 :ivar next_link: Link to retrieve next page of results. 335 :vartype next_link: str 336 """ 337 338 _validation = { 339 'value': {'readonly': True}, 340 'next_link': {'readonly': True}, 341 } 342 343 _attribute_map = { 344 'value': {'key': 'value', 'type': '[ServerAzureADOnlyAuthentication]'}, 345 'next_link': {'key': 'nextLink', 'type': 'str'}, 346 } 347 348 def __init__( 349 self, 350 **kwargs 351 ): 352 super(AzureADOnlyAuthListResult, self).__init__(**kwargs) 353 self.value = None 354 self.next_link = None 355 356 357class BackupShortTermRetentionPolicy(ProxyResource): 358 """A short term retention policy. 359 360 Variables are only populated by the server, and will be ignored when sending a request. 361 362 :ivar id: Resource ID. 363 :vartype id: str 364 :ivar name: Resource name. 365 :vartype name: str 366 :ivar type: Resource type. 367 :vartype type: str 368 :param retention_days: The backup retention period in days. This is how many days Point-in-Time 369 Restore will be supported. 370 :type retention_days: int 371 :param diff_backup_interval_in_hours: The differential backup interval in hours. This is how 372 many interval hours between each differential backup will be supported. This is only applicable 373 to live databases but not dropped databases. Possible values include: 12, 24. 374 :type diff_backup_interval_in_hours: str or ~azure.mgmt.sql.models.DiffBackupIntervalInHours 375 """ 376 377 _validation = { 378 'id': {'readonly': True}, 379 'name': {'readonly': True}, 380 'type': {'readonly': True}, 381 } 382 383 _attribute_map = { 384 'id': {'key': 'id', 'type': 'str'}, 385 'name': {'key': 'name', 'type': 'str'}, 386 'type': {'key': 'type', 'type': 'str'}, 387 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 388 'diff_backup_interval_in_hours': {'key': 'properties.diffBackupIntervalInHours', 'type': 'int'}, 389 } 390 391 def __init__( 392 self, 393 **kwargs 394 ): 395 super(BackupShortTermRetentionPolicy, self).__init__(**kwargs) 396 self.retention_days = kwargs.get('retention_days', None) 397 self.diff_backup_interval_in_hours = kwargs.get('diff_backup_interval_in_hours', None) 398 399 400class BackupShortTermRetentionPolicyListResult(msrest.serialization.Model): 401 """A list of short term retention policies. 402 403 Variables are only populated by the server, and will be ignored when sending a request. 404 405 :ivar value: Array of results. 406 :vartype value: list[~azure.mgmt.sql.models.BackupShortTermRetentionPolicy] 407 :ivar next_link: Link to retrieve next page of results. 408 :vartype next_link: str 409 """ 410 411 _validation = { 412 'value': {'readonly': True}, 413 'next_link': {'readonly': True}, 414 } 415 416 _attribute_map = { 417 'value': {'key': 'value', 'type': '[BackupShortTermRetentionPolicy]'}, 418 'next_link': {'key': 'nextLink', 'type': 'str'}, 419 } 420 421 def __init__( 422 self, 423 **kwargs 424 ): 425 super(BackupShortTermRetentionPolicyListResult, self).__init__(**kwargs) 426 self.value = None 427 self.next_link = None 428 429 430class CheckNameAvailabilityRequest(msrest.serialization.Model): 431 """A request to check whether the specified name for a resource is available. 432 433 Variables are only populated by the server, and will be ignored when sending a request. 434 435 All required parameters must be populated in order to send to Azure. 436 437 :param name: Required. 438 :type name: str 439 :ivar type: Has constant value: "Microsoft.Sql/servers". 440 :vartype type: str 441 """ 442 443 _validation = { 444 'name': {'required': True}, 445 'type': {'required': True, 'constant': True}, 446 } 447 448 _attribute_map = { 449 'name': {'key': 'name', 'type': 'str'}, 450 'type': {'key': 'type', 'type': 'str'}, 451 } 452 453 type = "Microsoft.Sql/servers" 454 455 def __init__( 456 self, 457 **kwargs 458 ): 459 super(CheckNameAvailabilityRequest, self).__init__(**kwargs) 460 self.name = kwargs['name'] 461 462 463class CheckNameAvailabilityResponse(msrest.serialization.Model): 464 """The result of a name availability check. 465 466 Variables are only populated by the server, and will be ignored when sending a request. 467 468 :ivar name: The name whose availability was checked. 469 :vartype name: str 470 :ivar available: True if the name is available, otherwise false. 471 :vartype available: bool 472 :ivar reason: The reason code explaining why the name is unavailable. Will be undefined if the 473 name is available. Possible values include: "Invalid", "AlreadyExists". 474 :vartype reason: str or ~azure.mgmt.sql.models.CheckNameAvailabilityReason 475 :ivar message: A message explaining why the name is unavailable. Will be undefined if the name 476 is available. 477 :vartype message: str 478 """ 479 480 _validation = { 481 'name': {'readonly': True}, 482 'available': {'readonly': True}, 483 'reason': {'readonly': True}, 484 'message': {'readonly': True}, 485 } 486 487 _attribute_map = { 488 'name': {'key': 'name', 'type': 'str'}, 489 'available': {'key': 'available', 'type': 'bool'}, 490 'reason': {'key': 'reason', 'type': 'str'}, 491 'message': {'key': 'message', 'type': 'str'}, 492 } 493 494 def __init__( 495 self, 496 **kwargs 497 ): 498 super(CheckNameAvailabilityResponse, self).__init__(**kwargs) 499 self.name = None 500 self.available = None 501 self.reason = None 502 self.message = None 503 504 505class CompleteDatabaseRestoreDefinition(msrest.serialization.Model): 506 """Contains the information necessary to perform a complete database restore operation. 507 508 All required parameters must be populated in order to send to Azure. 509 510 :param last_backup_name: Required. The last backup name to apply. 511 :type last_backup_name: str 512 """ 513 514 _validation = { 515 'last_backup_name': {'required': True}, 516 } 517 518 _attribute_map = { 519 'last_backup_name': {'key': 'lastBackupName', 'type': 'str'}, 520 } 521 522 def __init__( 523 self, 524 **kwargs 525 ): 526 super(CompleteDatabaseRestoreDefinition, self).__init__(**kwargs) 527 self.last_backup_name = kwargs['last_backup_name'] 528 529 530class CopyLongTermRetentionBackupParameters(msrest.serialization.Model): 531 """Contains the information necessary to perform long term retention backup copy operation. 532 533 :param target_subscription_id: The subscription that owns the target server. 534 :type target_subscription_id: str 535 :param target_resource_group: The resource group that owns the target server. 536 :type target_resource_group: str 537 :param target_server_resource_id: The resource Id of the target server that owns the database. 538 :type target_server_resource_id: str 539 :param target_server_fully_qualified_domain_name: The fully qualified domain name of the target 540 server. 541 :type target_server_fully_qualified_domain_name: str 542 :param target_database_name: The name of the database owns the copied backup. 543 :type target_database_name: str 544 :param target_backup_storage_redundancy: The storage redundancy type of the copied backup. 545 Possible values include: "Geo", "Local", "Zone". 546 :type target_backup_storage_redundancy: str or 547 ~azure.mgmt.sql.models.TargetBackupStorageRedundancy 548 """ 549 550 _attribute_map = { 551 'target_subscription_id': {'key': 'properties.targetSubscriptionId', 'type': 'str'}, 552 'target_resource_group': {'key': 'properties.targetResourceGroup', 'type': 'str'}, 553 'target_server_resource_id': {'key': 'properties.targetServerResourceId', 'type': 'str'}, 554 'target_server_fully_qualified_domain_name': {'key': 'properties.targetServerFullyQualifiedDomainName', 'type': 'str'}, 555 'target_database_name': {'key': 'properties.targetDatabaseName', 'type': 'str'}, 556 'target_backup_storage_redundancy': {'key': 'properties.targetBackupStorageRedundancy', 'type': 'str'}, 557 } 558 559 def __init__( 560 self, 561 **kwargs 562 ): 563 super(CopyLongTermRetentionBackupParameters, self).__init__(**kwargs) 564 self.target_subscription_id = kwargs.get('target_subscription_id', None) 565 self.target_resource_group = kwargs.get('target_resource_group', None) 566 self.target_server_resource_id = kwargs.get('target_server_resource_id', None) 567 self.target_server_fully_qualified_domain_name = kwargs.get('target_server_fully_qualified_domain_name', None) 568 self.target_database_name = kwargs.get('target_database_name', None) 569 self.target_backup_storage_redundancy = kwargs.get('target_backup_storage_redundancy', None) 570 571 572class CreateDatabaseRestorePointDefinition(msrest.serialization.Model): 573 """Contains the information necessary to perform a create database restore point operation. 574 575 All required parameters must be populated in order to send to Azure. 576 577 :param restore_point_label: Required. The restore point label to apply. 578 :type restore_point_label: str 579 """ 580 581 _validation = { 582 'restore_point_label': {'required': True}, 583 } 584 585 _attribute_map = { 586 'restore_point_label': {'key': 'restorePointLabel', 'type': 'str'}, 587 } 588 589 def __init__( 590 self, 591 **kwargs 592 ): 593 super(CreateDatabaseRestorePointDefinition, self).__init__(**kwargs) 594 self.restore_point_label = kwargs['restore_point_label'] 595 596 597class TrackedResource(Resource): 598 """ARM tracked top level resource. 599 600 Variables are only populated by the server, and will be ignored when sending a request. 601 602 All required parameters must be populated in order to send to Azure. 603 604 :ivar id: Resource ID. 605 :vartype id: str 606 :ivar name: Resource name. 607 :vartype name: str 608 :ivar type: Resource type. 609 :vartype type: str 610 :param location: Required. Resource location. 611 :type location: str 612 :param tags: A set of tags. Resource tags. 613 :type tags: dict[str, str] 614 """ 615 616 _validation = { 617 'id': {'readonly': True}, 618 'name': {'readonly': True}, 619 'type': {'readonly': True}, 620 'location': {'required': True}, 621 } 622 623 _attribute_map = { 624 'id': {'key': 'id', 'type': 'str'}, 625 'name': {'key': 'name', 'type': 'str'}, 626 'type': {'key': 'type', 'type': 'str'}, 627 'location': {'key': 'location', 'type': 'str'}, 628 'tags': {'key': 'tags', 'type': '{str}'}, 629 } 630 631 def __init__( 632 self, 633 **kwargs 634 ): 635 super(TrackedResource, self).__init__(**kwargs) 636 self.location = kwargs['location'] 637 self.tags = kwargs.get('tags', None) 638 639 640class Database(TrackedResource): 641 """A database resource. 642 643 Variables are only populated by the server, and will be ignored when sending a request. 644 645 All required parameters must be populated in order to send to Azure. 646 647 :ivar id: Resource ID. 648 :vartype id: str 649 :ivar name: Resource name. 650 :vartype name: str 651 :ivar type: Resource type. 652 :vartype type: str 653 :param location: Required. Resource location. 654 :type location: str 655 :param tags: A set of tags. Resource tags. 656 :type tags: dict[str, str] 657 :param sku: The database SKU. 658 659 The list of SKUs may vary by region and support offer. To determine the SKUs (including the 660 SKU name, tier/edition, family, and capacity) that are available to your subscription in an 661 Azure region, use the ``Capabilities_ListByLocation`` REST API or one of the following 662 commands: 663 664 .. code-block:: azurecli 665 666 az sql db list-editions -l <location> -o table 667 ` 668 669 .. code-block:: powershell 670 671 Get-AzSqlServerServiceObjective -Location <location> 672 `. 673 :type sku: ~azure.mgmt.sql.models.Sku 674 :ivar kind: Kind of database. This is metadata used for the Azure portal experience. 675 :vartype kind: str 676 :ivar managed_by: Resource that manages the database. 677 :vartype managed_by: str 678 :param create_mode: Specifies the mode of database creation. 679 680 Default: regular database creation. 681 682 Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified 683 as the resource ID of the source database. 684 685 Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId 686 must be specified as the resource ID of the existing primary database. 687 688 PointInTimeRestore: Creates a database by restoring a point in time backup of an existing 689 database. sourceDatabaseId must be specified as the resource ID of the existing database, and 690 restorePointInTime must be specified. 691 692 Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be 693 specified as the recoverable database resource ID to restore. 694 695 Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must 696 be specified. If sourceDatabaseId is the database's original resource ID, then 697 sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable 698 dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may 699 also be specified to restore from an earlier point in time. 700 701 RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention 702 vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource 703 ID. 704 705 Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse 706 edition. Possible values include: "Default", "Copy", "Secondary", "PointInTimeRestore", 707 "Restore", "Recovery", "RestoreExternalBackup", "RestoreExternalBackupSecondary", 708 "RestoreLongTermRetentionBackup", "OnlineSecondary". 709 :type create_mode: str or ~azure.mgmt.sql.models.CreateMode 710 :param collation: The collation of the database. 711 :type collation: str 712 :param max_size_bytes: The max size of the database expressed in bytes. 713 :type max_size_bytes: long 714 :param sample_name: The name of the sample schema to apply when creating this database. 715 Possible values include: "AdventureWorksLT", "WideWorldImportersStd", "WideWorldImportersFull". 716 :type sample_name: str or ~azure.mgmt.sql.models.SampleName 717 :param elastic_pool_id: The resource identifier of the elastic pool containing this database. 718 :type elastic_pool_id: str 719 :param source_database_id: The resource identifier of the source database associated with 720 create operation of this database. 721 :type source_database_id: str 722 :ivar status: The status of the database. Possible values include: "Online", "Restoring", 723 "RecoveryPending", "Recovering", "Suspect", "Offline", "Standby", "Shutdown", "EmergencyMode", 724 "AutoClosed", "Copying", "Creating", "Inaccessible", "OfflineSecondary", "Pausing", "Paused", 725 "Resuming", "Scaling", "OfflineChangingDwPerformanceTiers", "OnlineChangingDwPerformanceTiers", 726 "Disabled". 727 :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus 728 :ivar database_id: The ID of the database. 729 :vartype database_id: str 730 :ivar creation_date: The creation date of the database (ISO8601 format). 731 :vartype creation_date: ~datetime.datetime 732 :ivar current_service_objective_name: The current service level objective name of the database. 733 :vartype current_service_objective_name: str 734 :ivar requested_service_objective_name: The requested service level objective name of the 735 database. 736 :vartype requested_service_objective_name: str 737 :ivar default_secondary_location: The default secondary region for this database. 738 :vartype default_secondary_location: str 739 :ivar failover_group_id: Failover Group resource identifier that this database belongs to. 740 :vartype failover_group_id: str 741 :param restore_point_in_time: Specifies the point in time (ISO8601 format) of the source 742 database that will be restored to create the new database. 743 :type restore_point_in_time: ~datetime.datetime 744 :param source_database_deletion_date: Specifies the time that the database was deleted. 745 :type source_database_deletion_date: ~datetime.datetime 746 :param recovery_services_recovery_point_id: The resource identifier of the recovery point 747 associated with create operation of this database. 748 :type recovery_services_recovery_point_id: str 749 :param long_term_retention_backup_resource_id: The resource identifier of the long term 750 retention backup associated with create operation of this database. 751 :type long_term_retention_backup_resource_id: str 752 :param recoverable_database_id: The resource identifier of the recoverable database associated 753 with create operation of this database. 754 :type recoverable_database_id: str 755 :param restorable_dropped_database_id: The resource identifier of the restorable dropped 756 database associated with create operation of this database. 757 :type restorable_dropped_database_id: str 758 :param catalog_collation: Collation of the metadata catalog. Possible values include: 759 "DATABASE_DEFAULT", "SQL_Latin1_General_CP1_CI_AS". 760 :type catalog_collation: str or ~azure.mgmt.sql.models.CatalogCollationType 761 :param zone_redundant: Whether or not this database is zone redundant, which means the replicas 762 of this database will be spread across multiple availability zones. 763 :type zone_redundant: bool 764 :param license_type: The license type to apply for this database. ``LicenseIncluded`` if you 765 need a license, or ``BasePrice`` if you have a license and are eligible for the Azure Hybrid 766 Benefit. Possible values include: "LicenseIncluded", "BasePrice". 767 :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType 768 :ivar max_log_size_bytes: The max log size for this database. 769 :vartype max_log_size_bytes: long 770 :ivar earliest_restore_date: This records the earliest start date and time that restore is 771 available for this database (ISO8601 format). 772 :vartype earliest_restore_date: ~datetime.datetime 773 :param read_scale: The state of read-only routing. If enabled, connections that have 774 application intent set to readonly in their connection string may be routed to a readonly 775 secondary replica in the same region. Possible values include: "Enabled", "Disabled". 776 :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale 777 :param high_availability_replica_count: The number of secondary replicas associated with the 778 database that are used to provide high availability. 779 :type high_availability_replica_count: int 780 :param secondary_type: The secondary type of the database if it is a secondary. Valid values 781 are Geo and Named. Possible values include: "Geo", "Named". 782 :type secondary_type: str or ~azure.mgmt.sql.models.SecondaryType 783 :ivar current_sku: The name and tier of the SKU. 784 :vartype current_sku: ~azure.mgmt.sql.models.Sku 785 :param auto_pause_delay: Time in minutes after which database is automatically paused. A value 786 of -1 means that automatic pause is disabled. 787 :type auto_pause_delay: int 788 :ivar current_backup_storage_redundancy: The storage account type used to store backups for 789 this database. Possible values include: "Geo", "Local", "Zone". 790 :vartype current_backup_storage_redundancy: str or 791 ~azure.mgmt.sql.models.CurrentBackupStorageRedundancy 792 :param requested_backup_storage_redundancy: The storage account type to be used to store 793 backups for this database. Possible values include: "Geo", "Local", "Zone". 794 :type requested_backup_storage_redundancy: str or 795 ~azure.mgmt.sql.models.RequestedBackupStorageRedundancy 796 :param min_capacity: Minimal capacity that database will always have allocated, if not paused. 797 :type min_capacity: float 798 :ivar paused_date: The date when database was paused by user configuration or action(ISO8601 799 format). Null if the database is ready. 800 :vartype paused_date: ~datetime.datetime 801 :ivar resumed_date: The date when database was resumed by user action or database login 802 (ISO8601 format). Null if the database is paused. 803 :vartype resumed_date: ~datetime.datetime 804 :param maintenance_configuration_id: Maintenance configuration id assigned to the database. 805 This configuration defines the period when the maintenance updates will occur. 806 :type maintenance_configuration_id: str 807 :param is_ledger_on: Whether or not this database is a ledger database, which means all tables 808 in the database are ledger tables. Note: the value of this property cannot be changed after the 809 database has been created. 810 :type is_ledger_on: bool 811 :ivar is_infra_encryption_enabled: Infra encryption is enabled for this database. 812 :vartype is_infra_encryption_enabled: bool 813 """ 814 815 _validation = { 816 'id': {'readonly': True}, 817 'name': {'readonly': True}, 818 'type': {'readonly': True}, 819 'location': {'required': True}, 820 'kind': {'readonly': True}, 821 'managed_by': {'readonly': True}, 822 'status': {'readonly': True}, 823 'database_id': {'readonly': True}, 824 'creation_date': {'readonly': True}, 825 'current_service_objective_name': {'readonly': True}, 826 'requested_service_objective_name': {'readonly': True}, 827 'default_secondary_location': {'readonly': True}, 828 'failover_group_id': {'readonly': True}, 829 'max_log_size_bytes': {'readonly': True}, 830 'earliest_restore_date': {'readonly': True}, 831 'current_sku': {'readonly': True}, 832 'current_backup_storage_redundancy': {'readonly': True}, 833 'paused_date': {'readonly': True}, 834 'resumed_date': {'readonly': True}, 835 'is_infra_encryption_enabled': {'readonly': True}, 836 } 837 838 _attribute_map = { 839 'id': {'key': 'id', 'type': 'str'}, 840 'name': {'key': 'name', 'type': 'str'}, 841 'type': {'key': 'type', 'type': 'str'}, 842 'location': {'key': 'location', 'type': 'str'}, 843 'tags': {'key': 'tags', 'type': '{str}'}, 844 'sku': {'key': 'sku', 'type': 'Sku'}, 845 'kind': {'key': 'kind', 'type': 'str'}, 846 'managed_by': {'key': 'managedBy', 'type': 'str'}, 847 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, 848 'collation': {'key': 'properties.collation', 'type': 'str'}, 849 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, 850 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, 851 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, 852 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, 853 'status': {'key': 'properties.status', 'type': 'str'}, 854 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, 855 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 856 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, 857 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, 858 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, 859 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, 860 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 861 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, 862 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, 863 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, 864 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, 865 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, 866 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 867 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 868 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 869 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, 870 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 871 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, 872 'high_availability_replica_count': {'key': 'properties.highAvailabilityReplicaCount', 'type': 'int'}, 873 'secondary_type': {'key': 'properties.secondaryType', 'type': 'str'}, 874 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, 875 'auto_pause_delay': {'key': 'properties.autoPauseDelay', 'type': 'int'}, 876 'current_backup_storage_redundancy': {'key': 'properties.currentBackupStorageRedundancy', 'type': 'str'}, 877 'requested_backup_storage_redundancy': {'key': 'properties.requestedBackupStorageRedundancy', 'type': 'str'}, 878 'min_capacity': {'key': 'properties.minCapacity', 'type': 'float'}, 879 'paused_date': {'key': 'properties.pausedDate', 'type': 'iso-8601'}, 880 'resumed_date': {'key': 'properties.resumedDate', 'type': 'iso-8601'}, 881 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 882 'is_ledger_on': {'key': 'properties.isLedgerOn', 'type': 'bool'}, 883 'is_infra_encryption_enabled': {'key': 'properties.isInfraEncryptionEnabled', 'type': 'bool'}, 884 } 885 886 def __init__( 887 self, 888 **kwargs 889 ): 890 super(Database, self).__init__(**kwargs) 891 self.sku = kwargs.get('sku', None) 892 self.kind = None 893 self.managed_by = None 894 self.create_mode = kwargs.get('create_mode', None) 895 self.collation = kwargs.get('collation', None) 896 self.max_size_bytes = kwargs.get('max_size_bytes', None) 897 self.sample_name = kwargs.get('sample_name', None) 898 self.elastic_pool_id = kwargs.get('elastic_pool_id', None) 899 self.source_database_id = kwargs.get('source_database_id', None) 900 self.status = None 901 self.database_id = None 902 self.creation_date = None 903 self.current_service_objective_name = None 904 self.requested_service_objective_name = None 905 self.default_secondary_location = None 906 self.failover_group_id = None 907 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 908 self.source_database_deletion_date = kwargs.get('source_database_deletion_date', None) 909 self.recovery_services_recovery_point_id = kwargs.get('recovery_services_recovery_point_id', None) 910 self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) 911 self.recoverable_database_id = kwargs.get('recoverable_database_id', None) 912 self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) 913 self.catalog_collation = kwargs.get('catalog_collation', None) 914 self.zone_redundant = kwargs.get('zone_redundant', None) 915 self.license_type = kwargs.get('license_type', None) 916 self.max_log_size_bytes = None 917 self.earliest_restore_date = None 918 self.read_scale = kwargs.get('read_scale', None) 919 self.high_availability_replica_count = kwargs.get('high_availability_replica_count', None) 920 self.secondary_type = kwargs.get('secondary_type', None) 921 self.current_sku = None 922 self.auto_pause_delay = kwargs.get('auto_pause_delay', None) 923 self.current_backup_storage_redundancy = None 924 self.requested_backup_storage_redundancy = kwargs.get('requested_backup_storage_redundancy', None) 925 self.min_capacity = kwargs.get('min_capacity', None) 926 self.paused_date = None 927 self.resumed_date = None 928 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 929 self.is_ledger_on = kwargs.get('is_ledger_on', None) 930 self.is_infra_encryption_enabled = None 931 932 933class DatabaseAutomaticTuning(ProxyResource): 934 """Database-level Automatic Tuning. 935 936 Variables are only populated by the server, and will be ignored when sending a request. 937 938 :ivar id: Resource ID. 939 :vartype id: str 940 :ivar name: Resource name. 941 :vartype name: str 942 :ivar type: Resource type. 943 :vartype type: str 944 :param desired_state: Automatic tuning desired state. Possible values include: "Inherit", 945 "Custom", "Auto", "Unspecified". 946 :type desired_state: str or ~azure.mgmt.sql.models.AutomaticTuningMode 947 :ivar actual_state: Automatic tuning actual state. Possible values include: "Inherit", 948 "Custom", "Auto", "Unspecified". 949 :vartype actual_state: str or ~azure.mgmt.sql.models.AutomaticTuningMode 950 :param options: Automatic tuning options definition. 951 :type options: dict[str, ~azure.mgmt.sql.models.AutomaticTuningOptions] 952 """ 953 954 _validation = { 955 'id': {'readonly': True}, 956 'name': {'readonly': True}, 957 'type': {'readonly': True}, 958 'actual_state': {'readonly': True}, 959 } 960 961 _attribute_map = { 962 'id': {'key': 'id', 'type': 'str'}, 963 'name': {'key': 'name', 'type': 'str'}, 964 'type': {'key': 'type', 'type': 'str'}, 965 'desired_state': {'key': 'properties.desiredState', 'type': 'str'}, 966 'actual_state': {'key': 'properties.actualState', 'type': 'str'}, 967 'options': {'key': 'properties.options', 'type': '{AutomaticTuningOptions}'}, 968 } 969 970 def __init__( 971 self, 972 **kwargs 973 ): 974 super(DatabaseAutomaticTuning, self).__init__(**kwargs) 975 self.desired_state = kwargs.get('desired_state', None) 976 self.actual_state = None 977 self.options = kwargs.get('options', None) 978 979 980class DatabaseBlobAuditingPolicy(ProxyResource): 981 """A database blob auditing policy. 982 983 Variables are only populated by the server, and will be ignored when sending a request. 984 985 :ivar id: Resource ID. 986 :vartype id: str 987 :ivar name: Resource name. 988 :vartype name: str 989 :ivar type: Resource type. 990 :vartype type: str 991 :ivar kind: Resource kind. 992 :vartype kind: str 993 :param retention_days: Specifies the number of days to keep in the audit logs in the storage 994 account. 995 :type retention_days: int 996 :param audit_actions_and_groups: Specifies the Actions-Groups and Actions to audit. 997 998 The recommended set of action groups to use is the following combination - this will audit all 999 the queries and stored procedures executed against the database, as well as successful and 1000 failed logins: 1001 1002 BATCH_COMPLETED_GROUP, 1003 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 1004 FAILED_DATABASE_AUTHENTICATION_GROUP. 1005 1006 This above combination is also the set that is configured by default when enabling auditing 1007 from the Azure portal. 1008 1009 The supported action groups to audit are (note: choose only specific groups that cover your 1010 auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 1011 1012 APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 1013 BACKUP_RESTORE_GROUP 1014 DATABASE_LOGOUT_GROUP 1015 DATABASE_OBJECT_CHANGE_GROUP 1016 DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 1017 DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 1018 DATABASE_OPERATION_GROUP 1019 DATABASE_PERMISSION_CHANGE_GROUP 1020 DATABASE_PRINCIPAL_CHANGE_GROUP 1021 DATABASE_PRINCIPAL_IMPERSONATION_GROUP 1022 DATABASE_ROLE_MEMBER_CHANGE_GROUP 1023 FAILED_DATABASE_AUTHENTICATION_GROUP 1024 SCHEMA_OBJECT_ACCESS_GROUP 1025 SCHEMA_OBJECT_CHANGE_GROUP 1026 SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 1027 SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 1028 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 1029 USER_CHANGE_PASSWORD_GROUP 1030 BATCH_STARTED_GROUP 1031 BATCH_COMPLETED_GROUP 1032 1033 These are groups that cover all sql statements and stored procedures executed against the 1034 database, and should not be used in combination with other groups as this will result in 1035 duplicate audit logs. 1036 1037 For more information, see `Database-Level Audit Action Groups 1038 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups>`_. 1039 1040 For Database auditing policy, specific Actions can also be specified (note that Actions cannot 1041 be specified for Server auditing policy). The supported actions to audit are: 1042 SELECT 1043 UPDATE 1044 INSERT 1045 DELETE 1046 EXECUTE 1047 RECEIVE 1048 REFERENCES 1049 1050 The general form for defining an action to be audited is: 1051 {action} ON {object} BY {principal} 1052 1053 Note that :code:`<object>` in the above format can refer to an object like a table, view, or 1054 stored procedure, or an entire database or schema. For the latter cases, the forms 1055 DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 1056 1057 For example: 1058 SELECT on dbo.myTable by public 1059 SELECT on DATABASE::myDatabase by public 1060 SELECT on SCHEMA::mySchema by public 1061 1062 For more information, see `Database-Level Audit Actions 1063 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions>`_. 1064 :type audit_actions_and_groups: list[str] 1065 :param is_storage_secondary_key_in_use: Specifies whether storageAccountAccessKey value is the 1066 storage's secondary key. 1067 :type is_storage_secondary_key_in_use: bool 1068 :param is_azure_monitor_target_enabled: Specifies whether audit events are sent to Azure 1069 Monitor. 1070 In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 1071 'IsAzureMonitorTargetEnabled' as true. 1072 1073 When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' 1074 diagnostic logs category on the database should be also created. 1075 Note that for server level audit you should use the 'master' database as {databaseName}. 1076 1077 Diagnostic Settings URI format: 1078 PUT 1079 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 1080 1081 For more information, see `Diagnostic Settings REST API 1082 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 1083 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 1084 :type is_azure_monitor_target_enabled: bool 1085 :param queue_delay_ms: Specifies the amount of time in milliseconds that can elapse before 1086 audit actions are forced to be processed. 1087 The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 1088 :type queue_delay_ms: int 1089 :param state: Specifies the state of the audit. If state is Enabled, storageEndpoint or 1090 isAzureMonitorTargetEnabled are required. Possible values include: "Enabled", "Disabled". 1091 :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState 1092 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 1093 https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or 1094 isAzureMonitorTargetEnabled is required. 1095 :type storage_endpoint: str 1096 :param storage_account_access_key: Specifies the identifier key of the auditing storage 1097 account. 1098 If state is Enabled and storageEndpoint is specified, not specifying the 1099 storageAccountAccessKey will use SQL server system-assigned managed identity to access the 1100 storage. 1101 Prerequisites for using managed identity authentication: 1102 1103 1104 #. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 1105 #. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data 1106 Contributor' RBAC role to the server identity. 1107 For more information, see `Auditing to storage using Managed Identity authentication 1108 <https://go.microsoft.com/fwlink/?linkid=2114355>`_. 1109 :type storage_account_access_key: str 1110 :param storage_account_subscription_id: Specifies the blob storage subscription Id. 1111 :type storage_account_subscription_id: str 1112 """ 1113 1114 _validation = { 1115 'id': {'readonly': True}, 1116 'name': {'readonly': True}, 1117 'type': {'readonly': True}, 1118 'kind': {'readonly': True}, 1119 } 1120 1121 _attribute_map = { 1122 'id': {'key': 'id', 'type': 'str'}, 1123 'name': {'key': 'name', 'type': 'str'}, 1124 'type': {'key': 'type', 'type': 'str'}, 1125 'kind': {'key': 'kind', 'type': 'str'}, 1126 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 1127 'audit_actions_and_groups': {'key': 'properties.auditActionsAndGroups', 'type': '[str]'}, 1128 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, 1129 'is_azure_monitor_target_enabled': {'key': 'properties.isAzureMonitorTargetEnabled', 'type': 'bool'}, 1130 'queue_delay_ms': {'key': 'properties.queueDelayMs', 'type': 'int'}, 1131 'state': {'key': 'properties.state', 'type': 'str'}, 1132 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 1133 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 1134 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, 1135 } 1136 1137 def __init__( 1138 self, 1139 **kwargs 1140 ): 1141 super(DatabaseBlobAuditingPolicy, self).__init__(**kwargs) 1142 self.kind = None 1143 self.retention_days = kwargs.get('retention_days', None) 1144 self.audit_actions_and_groups = kwargs.get('audit_actions_and_groups', None) 1145 self.is_storage_secondary_key_in_use = kwargs.get('is_storage_secondary_key_in_use', None) 1146 self.is_azure_monitor_target_enabled = kwargs.get('is_azure_monitor_target_enabled', None) 1147 self.queue_delay_ms = kwargs.get('queue_delay_ms', None) 1148 self.state = kwargs.get('state', None) 1149 self.storage_endpoint = kwargs.get('storage_endpoint', None) 1150 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 1151 self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) 1152 1153 1154class DatabaseBlobAuditingPolicyListResult(msrest.serialization.Model): 1155 """A list of database auditing settings. 1156 1157 Variables are only populated by the server, and will be ignored when sending a request. 1158 1159 :ivar value: Array of results. 1160 :vartype value: list[~azure.mgmt.sql.models.DatabaseBlobAuditingPolicy] 1161 :ivar next_link: Link to retrieve next page of results. 1162 :vartype next_link: str 1163 """ 1164 1165 _validation = { 1166 'value': {'readonly': True}, 1167 'next_link': {'readonly': True}, 1168 } 1169 1170 _attribute_map = { 1171 'value': {'key': 'value', 'type': '[DatabaseBlobAuditingPolicy]'}, 1172 'next_link': {'key': 'nextLink', 'type': 'str'}, 1173 } 1174 1175 def __init__( 1176 self, 1177 **kwargs 1178 ): 1179 super(DatabaseBlobAuditingPolicyListResult, self).__init__(**kwargs) 1180 self.value = None 1181 self.next_link = None 1182 1183 1184class DatabaseColumn(ProxyResource): 1185 """A database column resource. 1186 1187 Variables are only populated by the server, and will be ignored when sending a request. 1188 1189 :ivar id: Resource ID. 1190 :vartype id: str 1191 :ivar name: Resource name. 1192 :vartype name: str 1193 :ivar type: Resource type. 1194 :vartype type: str 1195 :param column_type: The column data type. Possible values include: "image", "text", 1196 "uniqueidentifier", "date", "time", "datetime2", "datetimeoffset", "tinyint", "smallint", 1197 "int", "smalldatetime", "real", "money", "datetime", "float", "sql_variant", "ntext", "bit", 1198 "decimal", "numeric", "smallmoney", "bigint", "hierarchyid", "geometry", "geography", 1199 "varbinary", "varchar", "binary", "char", "timestamp", "nvarchar", "nchar", "xml", "sysname". 1200 :type column_type: str or ~azure.mgmt.sql.models.ColumnDataType 1201 :param temporal_type: The table temporal type. Possible values include: "NonTemporalTable", 1202 "HistoryTable", "SystemVersionedTemporalTable". 1203 :type temporal_type: str or ~azure.mgmt.sql.models.TableTemporalType 1204 :param memory_optimized: Whether or not the column belongs to a memory optimized table. 1205 :type memory_optimized: bool 1206 :param is_computed: Whether or not the column is computed. 1207 :type is_computed: bool 1208 """ 1209 1210 _validation = { 1211 'id': {'readonly': True}, 1212 'name': {'readonly': True}, 1213 'type': {'readonly': True}, 1214 } 1215 1216 _attribute_map = { 1217 'id': {'key': 'id', 'type': 'str'}, 1218 'name': {'key': 'name', 'type': 'str'}, 1219 'type': {'key': 'type', 'type': 'str'}, 1220 'column_type': {'key': 'properties.columnType', 'type': 'str'}, 1221 'temporal_type': {'key': 'properties.temporalType', 'type': 'str'}, 1222 'memory_optimized': {'key': 'properties.memoryOptimized', 'type': 'bool'}, 1223 'is_computed': {'key': 'properties.isComputed', 'type': 'bool'}, 1224 } 1225 1226 def __init__( 1227 self, 1228 **kwargs 1229 ): 1230 super(DatabaseColumn, self).__init__(**kwargs) 1231 self.column_type = kwargs.get('column_type', None) 1232 self.temporal_type = kwargs.get('temporal_type', None) 1233 self.memory_optimized = kwargs.get('memory_optimized', None) 1234 self.is_computed = kwargs.get('is_computed', None) 1235 1236 1237class DatabaseColumnListResult(msrest.serialization.Model): 1238 """A list of database columns. 1239 1240 Variables are only populated by the server, and will be ignored when sending a request. 1241 1242 :ivar value: Array of results. 1243 :vartype value: list[~azure.mgmt.sql.models.DatabaseColumn] 1244 :ivar next_link: Link to retrieve next page of results. 1245 :vartype next_link: str 1246 """ 1247 1248 _validation = { 1249 'value': {'readonly': True}, 1250 'next_link': {'readonly': True}, 1251 } 1252 1253 _attribute_map = { 1254 'value': {'key': 'value', 'type': '[DatabaseColumn]'}, 1255 'next_link': {'key': 'nextLink', 'type': 'str'}, 1256 } 1257 1258 def __init__( 1259 self, 1260 **kwargs 1261 ): 1262 super(DatabaseColumnListResult, self).__init__(**kwargs) 1263 self.value = None 1264 self.next_link = None 1265 1266 1267class DatabaseExtensions(ProxyResource): 1268 """An export managed database operation result resource. 1269 1270 Variables are only populated by the server, and will be ignored when sending a request. 1271 1272 :ivar id: Resource ID. 1273 :vartype id: str 1274 :ivar name: Resource name. 1275 :vartype name: str 1276 :ivar type: Resource type. 1277 :vartype type: str 1278 :param operation_mode: Operation Mode. Possible values include: "PolybaseImport". 1279 :type operation_mode: str or ~azure.mgmt.sql.models.OperationMode 1280 :param storage_key_type: Storage key type. Possible values include: "SharedAccessKey", 1281 "StorageAccessKey". 1282 :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType 1283 :param storage_key: Storage key. 1284 :type storage_key: str 1285 :param storage_uri: Storage Uri. 1286 :type storage_uri: str 1287 """ 1288 1289 _validation = { 1290 'id': {'readonly': True}, 1291 'name': {'readonly': True}, 1292 'type': {'readonly': True}, 1293 } 1294 1295 _attribute_map = { 1296 'id': {'key': 'id', 'type': 'str'}, 1297 'name': {'key': 'name', 'type': 'str'}, 1298 'type': {'key': 'type', 'type': 'str'}, 1299 'operation_mode': {'key': 'properties.operationMode', 'type': 'str'}, 1300 'storage_key_type': {'key': 'properties.storageKeyType', 'type': 'str'}, 1301 'storage_key': {'key': 'properties.storageKey', 'type': 'str'}, 1302 'storage_uri': {'key': 'properties.storageUri', 'type': 'str'}, 1303 } 1304 1305 def __init__( 1306 self, 1307 **kwargs 1308 ): 1309 super(DatabaseExtensions, self).__init__(**kwargs) 1310 self.operation_mode = kwargs.get('operation_mode', None) 1311 self.storage_key_type = kwargs.get('storage_key_type', None) 1312 self.storage_key = kwargs.get('storage_key', None) 1313 self.storage_uri = kwargs.get('storage_uri', None) 1314 1315 1316class DatabaseListResult(msrest.serialization.Model): 1317 """A list of databases. 1318 1319 Variables are only populated by the server, and will be ignored when sending a request. 1320 1321 :ivar value: Array of results. 1322 :vartype value: list[~azure.mgmt.sql.models.Database] 1323 :ivar next_link: Link to retrieve next page of results. 1324 :vartype next_link: str 1325 """ 1326 1327 _validation = { 1328 'value': {'readonly': True}, 1329 'next_link': {'readonly': True}, 1330 } 1331 1332 _attribute_map = { 1333 'value': {'key': 'value', 'type': '[Database]'}, 1334 'next_link': {'key': 'nextLink', 'type': 'str'}, 1335 } 1336 1337 def __init__( 1338 self, 1339 **kwargs 1340 ): 1341 super(DatabaseListResult, self).__init__(**kwargs) 1342 self.value = None 1343 self.next_link = None 1344 1345 1346class DatabaseOperation(ProxyResource): 1347 """A database operation. 1348 1349 Variables are only populated by the server, and will be ignored when sending a request. 1350 1351 :ivar id: Resource ID. 1352 :vartype id: str 1353 :ivar name: Resource name. 1354 :vartype name: str 1355 :ivar type: Resource type. 1356 :vartype type: str 1357 :ivar database_name: The name of the database the operation is being performed on. 1358 :vartype database_name: str 1359 :ivar operation: The name of operation. 1360 :vartype operation: str 1361 :ivar operation_friendly_name: The friendly name of operation. 1362 :vartype operation_friendly_name: str 1363 :ivar percent_complete: The percentage of the operation completed. 1364 :vartype percent_complete: int 1365 :ivar server_name: The name of the server. 1366 :vartype server_name: str 1367 :ivar start_time: The operation start time. 1368 :vartype start_time: ~datetime.datetime 1369 :ivar state: The operation state. Possible values include: "Pending", "InProgress", 1370 "Succeeded", "Failed", "CancelInProgress", "Cancelled". 1371 :vartype state: str or ~azure.mgmt.sql.models.ManagementOperationState 1372 :ivar error_code: The operation error code. 1373 :vartype error_code: int 1374 :ivar error_description: The operation error description. 1375 :vartype error_description: str 1376 :ivar error_severity: The operation error severity. 1377 :vartype error_severity: int 1378 :ivar is_user_error: Whether or not the error is a user error. 1379 :vartype is_user_error: bool 1380 :ivar estimated_completion_time: The estimated completion time of the operation. 1381 :vartype estimated_completion_time: ~datetime.datetime 1382 :ivar description: The operation description. 1383 :vartype description: str 1384 :ivar is_cancellable: Whether the operation can be cancelled. 1385 :vartype is_cancellable: bool 1386 """ 1387 1388 _validation = { 1389 'id': {'readonly': True}, 1390 'name': {'readonly': True}, 1391 'type': {'readonly': True}, 1392 'database_name': {'readonly': True}, 1393 'operation': {'readonly': True}, 1394 'operation_friendly_name': {'readonly': True}, 1395 'percent_complete': {'readonly': True}, 1396 'server_name': {'readonly': True}, 1397 'start_time': {'readonly': True}, 1398 'state': {'readonly': True}, 1399 'error_code': {'readonly': True}, 1400 'error_description': {'readonly': True}, 1401 'error_severity': {'readonly': True}, 1402 'is_user_error': {'readonly': True}, 1403 'estimated_completion_time': {'readonly': True}, 1404 'description': {'readonly': True}, 1405 'is_cancellable': {'readonly': True}, 1406 } 1407 1408 _attribute_map = { 1409 'id': {'key': 'id', 'type': 'str'}, 1410 'name': {'key': 'name', 'type': 'str'}, 1411 'type': {'key': 'type', 'type': 'str'}, 1412 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 1413 'operation': {'key': 'properties.operation', 'type': 'str'}, 1414 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, 1415 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 1416 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 1417 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 1418 'state': {'key': 'properties.state', 'type': 'str'}, 1419 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 1420 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, 1421 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 1422 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, 1423 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, 1424 'description': {'key': 'properties.description', 'type': 'str'}, 1425 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 1426 } 1427 1428 def __init__( 1429 self, 1430 **kwargs 1431 ): 1432 super(DatabaseOperation, self).__init__(**kwargs) 1433 self.database_name = None 1434 self.operation = None 1435 self.operation_friendly_name = None 1436 self.percent_complete = None 1437 self.server_name = None 1438 self.start_time = None 1439 self.state = None 1440 self.error_code = None 1441 self.error_description = None 1442 self.error_severity = None 1443 self.is_user_error = None 1444 self.estimated_completion_time = None 1445 self.description = None 1446 self.is_cancellable = None 1447 1448 1449class DatabaseOperationListResult(msrest.serialization.Model): 1450 """The response to a list database operations request. 1451 1452 Variables are only populated by the server, and will be ignored when sending a request. 1453 1454 :ivar value: Array of results. 1455 :vartype value: list[~azure.mgmt.sql.models.DatabaseOperation] 1456 :ivar next_link: Link to retrieve next page of results. 1457 :vartype next_link: str 1458 """ 1459 1460 _validation = { 1461 'value': {'readonly': True}, 1462 'next_link': {'readonly': True}, 1463 } 1464 1465 _attribute_map = { 1466 'value': {'key': 'value', 'type': '[DatabaseOperation]'}, 1467 'next_link': {'key': 'nextLink', 'type': 'str'}, 1468 } 1469 1470 def __init__( 1471 self, 1472 **kwargs 1473 ): 1474 super(DatabaseOperationListResult, self).__init__(**kwargs) 1475 self.value = None 1476 self.next_link = None 1477 1478 1479class DatabaseSchema(ProxyResource): 1480 """A database schema resource. 1481 1482 Variables are only populated by the server, and will be ignored when sending a request. 1483 1484 :ivar id: Resource ID. 1485 :vartype id: str 1486 :ivar name: Resource name. 1487 :vartype name: str 1488 :ivar type: Resource type. 1489 :vartype type: str 1490 """ 1491 1492 _validation = { 1493 'id': {'readonly': True}, 1494 'name': {'readonly': True}, 1495 'type': {'readonly': True}, 1496 } 1497 1498 _attribute_map = { 1499 'id': {'key': 'id', 'type': 'str'}, 1500 'name': {'key': 'name', 'type': 'str'}, 1501 'type': {'key': 'type', 'type': 'str'}, 1502 } 1503 1504 def __init__( 1505 self, 1506 **kwargs 1507 ): 1508 super(DatabaseSchema, self).__init__(**kwargs) 1509 1510 1511class DatabaseSchemaListResult(msrest.serialization.Model): 1512 """A list of database schemas. 1513 1514 Variables are only populated by the server, and will be ignored when sending a request. 1515 1516 :ivar value: Array of results. 1517 :vartype value: list[~azure.mgmt.sql.models.DatabaseSchema] 1518 :ivar next_link: Link to retrieve next page of results. 1519 :vartype next_link: str 1520 """ 1521 1522 _validation = { 1523 'value': {'readonly': True}, 1524 'next_link': {'readonly': True}, 1525 } 1526 1527 _attribute_map = { 1528 'value': {'key': 'value', 'type': '[DatabaseSchema]'}, 1529 'next_link': {'key': 'nextLink', 'type': 'str'}, 1530 } 1531 1532 def __init__( 1533 self, 1534 **kwargs 1535 ): 1536 super(DatabaseSchemaListResult, self).__init__(**kwargs) 1537 self.value = None 1538 self.next_link = None 1539 1540 1541class DatabaseSecurityAlertListResult(msrest.serialization.Model): 1542 """A list of the database's security alert policies. 1543 1544 Variables are only populated by the server, and will be ignored when sending a request. 1545 1546 :ivar value: Array of results. 1547 :vartype value: list[~azure.mgmt.sql.models.DatabaseSecurityAlertPolicy] 1548 :ivar next_link: Link to retrieve next page of results. 1549 :vartype next_link: str 1550 """ 1551 1552 _validation = { 1553 'value': {'readonly': True}, 1554 'next_link': {'readonly': True}, 1555 } 1556 1557 _attribute_map = { 1558 'value': {'key': 'value', 'type': '[DatabaseSecurityAlertPolicy]'}, 1559 'next_link': {'key': 'nextLink', 'type': 'str'}, 1560 } 1561 1562 def __init__( 1563 self, 1564 **kwargs 1565 ): 1566 super(DatabaseSecurityAlertListResult, self).__init__(**kwargs) 1567 self.value = None 1568 self.next_link = None 1569 1570 1571class DatabaseSecurityAlertPolicy(ProxyResource): 1572 """A database security alert policy. 1573 1574 Variables are only populated by the server, and will be ignored when sending a request. 1575 1576 :ivar id: Resource ID. 1577 :vartype id: str 1578 :ivar name: Resource name. 1579 :vartype name: str 1580 :ivar type: Resource type. 1581 :vartype type: str 1582 :ivar system_data: SystemData of SecurityAlertPolicyResource. 1583 :vartype system_data: ~azure.mgmt.sql.models.SystemData 1584 :param state: Specifies the state of the policy, whether it is enabled or disabled or a policy 1585 has not been applied yet on the specific database. Possible values include: "Enabled", 1586 "Disabled". 1587 :type state: str or ~azure.mgmt.sql.models.SecurityAlertsPolicyState 1588 :param disabled_alerts: Specifies an array of alerts that are disabled. Allowed values are: 1589 Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, 1590 Brute_Force. 1591 :type disabled_alerts: list[str] 1592 :param email_addresses: Specifies an array of e-mail addresses to which the alert is sent. 1593 :type email_addresses: list[str] 1594 :param email_account_admins: Specifies that the alert is sent to the account administrators. 1595 :type email_account_admins: bool 1596 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 1597 https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection 1598 audit logs. 1599 :type storage_endpoint: str 1600 :param storage_account_access_key: Specifies the identifier key of the Threat Detection audit 1601 storage account. 1602 :type storage_account_access_key: str 1603 :param retention_days: Specifies the number of days to keep in the Threat Detection audit logs. 1604 :type retention_days: int 1605 :ivar creation_time: Specifies the UTC creation time of the policy. 1606 :vartype creation_time: ~datetime.datetime 1607 """ 1608 1609 _validation = { 1610 'id': {'readonly': True}, 1611 'name': {'readonly': True}, 1612 'type': {'readonly': True}, 1613 'system_data': {'readonly': True}, 1614 'creation_time': {'readonly': True}, 1615 } 1616 1617 _attribute_map = { 1618 'id': {'key': 'id', 'type': 'str'}, 1619 'name': {'key': 'name', 'type': 'str'}, 1620 'type': {'key': 'type', 'type': 'str'}, 1621 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 1622 'state': {'key': 'properties.state', 'type': 'str'}, 1623 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': '[str]'}, 1624 'email_addresses': {'key': 'properties.emailAddresses', 'type': '[str]'}, 1625 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'bool'}, 1626 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 1627 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 1628 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 1629 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 1630 } 1631 1632 def __init__( 1633 self, 1634 **kwargs 1635 ): 1636 super(DatabaseSecurityAlertPolicy, self).__init__(**kwargs) 1637 self.system_data = None 1638 self.state = kwargs.get('state', None) 1639 self.disabled_alerts = kwargs.get('disabled_alerts', None) 1640 self.email_addresses = kwargs.get('email_addresses', None) 1641 self.email_account_admins = kwargs.get('email_account_admins', None) 1642 self.storage_endpoint = kwargs.get('storage_endpoint', None) 1643 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 1644 self.retention_days = kwargs.get('retention_days', None) 1645 self.creation_time = None 1646 1647 1648class DatabaseTable(ProxyResource): 1649 """A database table resource. 1650 1651 Variables are only populated by the server, and will be ignored when sending a request. 1652 1653 :ivar id: Resource ID. 1654 :vartype id: str 1655 :ivar name: Resource name. 1656 :vartype name: str 1657 :ivar type: Resource type. 1658 :vartype type: str 1659 :param temporal_type: The table temporal type. Possible values include: "NonTemporalTable", 1660 "HistoryTable", "SystemVersionedTemporalTable". 1661 :type temporal_type: str or ~azure.mgmt.sql.models.TableTemporalType 1662 :param memory_optimized: Whether or not the table is memory optimized. 1663 :type memory_optimized: bool 1664 """ 1665 1666 _validation = { 1667 'id': {'readonly': True}, 1668 'name': {'readonly': True}, 1669 'type': {'readonly': True}, 1670 } 1671 1672 _attribute_map = { 1673 'id': {'key': 'id', 'type': 'str'}, 1674 'name': {'key': 'name', 'type': 'str'}, 1675 'type': {'key': 'type', 'type': 'str'}, 1676 'temporal_type': {'key': 'properties.temporalType', 'type': 'str'}, 1677 'memory_optimized': {'key': 'properties.memoryOptimized', 'type': 'bool'}, 1678 } 1679 1680 def __init__( 1681 self, 1682 **kwargs 1683 ): 1684 super(DatabaseTable, self).__init__(**kwargs) 1685 self.temporal_type = kwargs.get('temporal_type', None) 1686 self.memory_optimized = kwargs.get('memory_optimized', None) 1687 1688 1689class DatabaseTableListResult(msrest.serialization.Model): 1690 """A list of database tables. 1691 1692 Variables are only populated by the server, and will be ignored when sending a request. 1693 1694 :ivar value: Array of results. 1695 :vartype value: list[~azure.mgmt.sql.models.DatabaseTable] 1696 :ivar next_link: Link to retrieve next page of results. 1697 :vartype next_link: str 1698 """ 1699 1700 _validation = { 1701 'value': {'readonly': True}, 1702 'next_link': {'readonly': True}, 1703 } 1704 1705 _attribute_map = { 1706 'value': {'key': 'value', 'type': '[DatabaseTable]'}, 1707 'next_link': {'key': 'nextLink', 'type': 'str'}, 1708 } 1709 1710 def __init__( 1711 self, 1712 **kwargs 1713 ): 1714 super(DatabaseTableListResult, self).__init__(**kwargs) 1715 self.value = None 1716 self.next_link = None 1717 1718 1719class DatabaseUpdate(msrest.serialization.Model): 1720 """A database resource. 1721 1722 Variables are only populated by the server, and will be ignored when sending a request. 1723 1724 :param sku: The name and tier of the SKU. 1725 :type sku: ~azure.mgmt.sql.models.Sku 1726 :param tags: A set of tags. Resource tags. 1727 :type tags: dict[str, str] 1728 :param create_mode: Specifies the mode of database creation. 1729 1730 Default: regular database creation. 1731 1732 Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified 1733 as the resource ID of the source database. 1734 1735 Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId 1736 must be specified as the resource ID of the existing primary database. 1737 1738 PointInTimeRestore: Creates a database by restoring a point in time backup of an existing 1739 database. sourceDatabaseId must be specified as the resource ID of the existing database, and 1740 restorePointInTime must be specified. 1741 1742 Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be 1743 specified as the recoverable database resource ID to restore. 1744 1745 Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must 1746 be specified. If sourceDatabaseId is the database's original resource ID, then 1747 sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable 1748 dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may 1749 also be specified to restore from an earlier point in time. 1750 1751 RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention 1752 vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource 1753 ID. 1754 1755 Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse 1756 edition. Possible values include: "Default", "Copy", "Secondary", "PointInTimeRestore", 1757 "Restore", "Recovery", "RestoreExternalBackup", "RestoreExternalBackupSecondary", 1758 "RestoreLongTermRetentionBackup", "OnlineSecondary". 1759 :type create_mode: str or ~azure.mgmt.sql.models.CreateMode 1760 :param collation: The collation of the database. 1761 :type collation: str 1762 :param max_size_bytes: The max size of the database expressed in bytes. 1763 :type max_size_bytes: long 1764 :param sample_name: The name of the sample schema to apply when creating this database. 1765 Possible values include: "AdventureWorksLT", "WideWorldImportersStd", "WideWorldImportersFull". 1766 :type sample_name: str or ~azure.mgmt.sql.models.SampleName 1767 :param elastic_pool_id: The resource identifier of the elastic pool containing this database. 1768 :type elastic_pool_id: str 1769 :param source_database_id: The resource identifier of the source database associated with 1770 create operation of this database. 1771 :type source_database_id: str 1772 :ivar status: The status of the database. Possible values include: "Online", "Restoring", 1773 "RecoveryPending", "Recovering", "Suspect", "Offline", "Standby", "Shutdown", "EmergencyMode", 1774 "AutoClosed", "Copying", "Creating", "Inaccessible", "OfflineSecondary", "Pausing", "Paused", 1775 "Resuming", "Scaling", "OfflineChangingDwPerformanceTiers", "OnlineChangingDwPerformanceTiers", 1776 "Disabled". 1777 :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus 1778 :ivar database_id: The ID of the database. 1779 :vartype database_id: str 1780 :ivar creation_date: The creation date of the database (ISO8601 format). 1781 :vartype creation_date: ~datetime.datetime 1782 :ivar current_service_objective_name: The current service level objective name of the database. 1783 :vartype current_service_objective_name: str 1784 :ivar requested_service_objective_name: The requested service level objective name of the 1785 database. 1786 :vartype requested_service_objective_name: str 1787 :ivar default_secondary_location: The default secondary region for this database. 1788 :vartype default_secondary_location: str 1789 :ivar failover_group_id: Failover Group resource identifier that this database belongs to. 1790 :vartype failover_group_id: str 1791 :param restore_point_in_time: Specifies the point in time (ISO8601 format) of the source 1792 database that will be restored to create the new database. 1793 :type restore_point_in_time: ~datetime.datetime 1794 :param source_database_deletion_date: Specifies the time that the database was deleted. 1795 :type source_database_deletion_date: ~datetime.datetime 1796 :param recovery_services_recovery_point_id: The resource identifier of the recovery point 1797 associated with create operation of this database. 1798 :type recovery_services_recovery_point_id: str 1799 :param long_term_retention_backup_resource_id: The resource identifier of the long term 1800 retention backup associated with create operation of this database. 1801 :type long_term_retention_backup_resource_id: str 1802 :param recoverable_database_id: The resource identifier of the recoverable database associated 1803 with create operation of this database. 1804 :type recoverable_database_id: str 1805 :param restorable_dropped_database_id: The resource identifier of the restorable dropped 1806 database associated with create operation of this database. 1807 :type restorable_dropped_database_id: str 1808 :param catalog_collation: Collation of the metadata catalog. Possible values include: 1809 "DATABASE_DEFAULT", "SQL_Latin1_General_CP1_CI_AS". 1810 :type catalog_collation: str or ~azure.mgmt.sql.models.CatalogCollationType 1811 :param zone_redundant: Whether or not this database is zone redundant, which means the replicas 1812 of this database will be spread across multiple availability zones. 1813 :type zone_redundant: bool 1814 :param license_type: The license type to apply for this database. ``LicenseIncluded`` if you 1815 need a license, or ``BasePrice`` if you have a license and are eligible for the Azure Hybrid 1816 Benefit. Possible values include: "LicenseIncluded", "BasePrice". 1817 :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType 1818 :ivar max_log_size_bytes: The max log size for this database. 1819 :vartype max_log_size_bytes: long 1820 :ivar earliest_restore_date: This records the earliest start date and time that restore is 1821 available for this database (ISO8601 format). 1822 :vartype earliest_restore_date: ~datetime.datetime 1823 :param read_scale: The state of read-only routing. If enabled, connections that have 1824 application intent set to readonly in their connection string may be routed to a readonly 1825 secondary replica in the same region. Possible values include: "Enabled", "Disabled". 1826 :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale 1827 :param high_availability_replica_count: The number of secondary replicas associated with the 1828 database that are used to provide high availability. 1829 :type high_availability_replica_count: int 1830 :param secondary_type: The secondary type of the database if it is a secondary. Valid values 1831 are Geo and Named. Possible values include: "Geo", "Named". 1832 :type secondary_type: str or ~azure.mgmt.sql.models.SecondaryType 1833 :ivar current_sku: The name and tier of the SKU. 1834 :vartype current_sku: ~azure.mgmt.sql.models.Sku 1835 :param auto_pause_delay: Time in minutes after which database is automatically paused. A value 1836 of -1 means that automatic pause is disabled. 1837 :type auto_pause_delay: int 1838 :ivar current_backup_storage_redundancy: The storage account type used to store backups for 1839 this database. Possible values include: "Geo", "Local", "Zone". 1840 :vartype current_backup_storage_redundancy: str or 1841 ~azure.mgmt.sql.models.CurrentBackupStorageRedundancy 1842 :param requested_backup_storage_redundancy: The storage account type to be used to store 1843 backups for this database. Possible values include: "Geo", "Local", "Zone". 1844 :type requested_backup_storage_redundancy: str or 1845 ~azure.mgmt.sql.models.RequestedBackupStorageRedundancy 1846 :param min_capacity: Minimal capacity that database will always have allocated, if not paused. 1847 :type min_capacity: float 1848 :ivar paused_date: The date when database was paused by user configuration or action(ISO8601 1849 format). Null if the database is ready. 1850 :vartype paused_date: ~datetime.datetime 1851 :ivar resumed_date: The date when database was resumed by user action or database login 1852 (ISO8601 format). Null if the database is paused. 1853 :vartype resumed_date: ~datetime.datetime 1854 :param maintenance_configuration_id: Maintenance configuration id assigned to the database. 1855 This configuration defines the period when the maintenance updates will occur. 1856 :type maintenance_configuration_id: str 1857 :param is_ledger_on: Whether or not this database is a ledger database, which means all tables 1858 in the database are ledger tables. Note: the value of this property cannot be changed after the 1859 database has been created. 1860 :type is_ledger_on: bool 1861 :ivar is_infra_encryption_enabled: Infra encryption is enabled for this database. 1862 :vartype is_infra_encryption_enabled: bool 1863 """ 1864 1865 _validation = { 1866 'status': {'readonly': True}, 1867 'database_id': {'readonly': True}, 1868 'creation_date': {'readonly': True}, 1869 'current_service_objective_name': {'readonly': True}, 1870 'requested_service_objective_name': {'readonly': True}, 1871 'default_secondary_location': {'readonly': True}, 1872 'failover_group_id': {'readonly': True}, 1873 'max_log_size_bytes': {'readonly': True}, 1874 'earliest_restore_date': {'readonly': True}, 1875 'current_sku': {'readonly': True}, 1876 'current_backup_storage_redundancy': {'readonly': True}, 1877 'paused_date': {'readonly': True}, 1878 'resumed_date': {'readonly': True}, 1879 'is_infra_encryption_enabled': {'readonly': True}, 1880 } 1881 1882 _attribute_map = { 1883 'sku': {'key': 'sku', 'type': 'Sku'}, 1884 'tags': {'key': 'tags', 'type': '{str}'}, 1885 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, 1886 'collation': {'key': 'properties.collation', 'type': 'str'}, 1887 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, 1888 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, 1889 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, 1890 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, 1891 'status': {'key': 'properties.status', 'type': 'str'}, 1892 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, 1893 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 1894 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, 1895 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, 1896 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, 1897 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, 1898 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 1899 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, 1900 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, 1901 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, 1902 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, 1903 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, 1904 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 1905 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 1906 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 1907 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, 1908 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 1909 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, 1910 'high_availability_replica_count': {'key': 'properties.highAvailabilityReplicaCount', 'type': 'int'}, 1911 'secondary_type': {'key': 'properties.secondaryType', 'type': 'str'}, 1912 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, 1913 'auto_pause_delay': {'key': 'properties.autoPauseDelay', 'type': 'int'}, 1914 'current_backup_storage_redundancy': {'key': 'properties.currentBackupStorageRedundancy', 'type': 'str'}, 1915 'requested_backup_storage_redundancy': {'key': 'properties.requestedBackupStorageRedundancy', 'type': 'str'}, 1916 'min_capacity': {'key': 'properties.minCapacity', 'type': 'float'}, 1917 'paused_date': {'key': 'properties.pausedDate', 'type': 'iso-8601'}, 1918 'resumed_date': {'key': 'properties.resumedDate', 'type': 'iso-8601'}, 1919 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 1920 'is_ledger_on': {'key': 'properties.isLedgerOn', 'type': 'bool'}, 1921 'is_infra_encryption_enabled': {'key': 'properties.isInfraEncryptionEnabled', 'type': 'bool'}, 1922 } 1923 1924 def __init__( 1925 self, 1926 **kwargs 1927 ): 1928 super(DatabaseUpdate, self).__init__(**kwargs) 1929 self.sku = kwargs.get('sku', None) 1930 self.tags = kwargs.get('tags', None) 1931 self.create_mode = kwargs.get('create_mode', None) 1932 self.collation = kwargs.get('collation', None) 1933 self.max_size_bytes = kwargs.get('max_size_bytes', None) 1934 self.sample_name = kwargs.get('sample_name', None) 1935 self.elastic_pool_id = kwargs.get('elastic_pool_id', None) 1936 self.source_database_id = kwargs.get('source_database_id', None) 1937 self.status = None 1938 self.database_id = None 1939 self.creation_date = None 1940 self.current_service_objective_name = None 1941 self.requested_service_objective_name = None 1942 self.default_secondary_location = None 1943 self.failover_group_id = None 1944 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 1945 self.source_database_deletion_date = kwargs.get('source_database_deletion_date', None) 1946 self.recovery_services_recovery_point_id = kwargs.get('recovery_services_recovery_point_id', None) 1947 self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) 1948 self.recoverable_database_id = kwargs.get('recoverable_database_id', None) 1949 self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) 1950 self.catalog_collation = kwargs.get('catalog_collation', None) 1951 self.zone_redundant = kwargs.get('zone_redundant', None) 1952 self.license_type = kwargs.get('license_type', None) 1953 self.max_log_size_bytes = None 1954 self.earliest_restore_date = None 1955 self.read_scale = kwargs.get('read_scale', None) 1956 self.high_availability_replica_count = kwargs.get('high_availability_replica_count', None) 1957 self.secondary_type = kwargs.get('secondary_type', None) 1958 self.current_sku = None 1959 self.auto_pause_delay = kwargs.get('auto_pause_delay', None) 1960 self.current_backup_storage_redundancy = None 1961 self.requested_backup_storage_redundancy = kwargs.get('requested_backup_storage_redundancy', None) 1962 self.min_capacity = kwargs.get('min_capacity', None) 1963 self.paused_date = None 1964 self.resumed_date = None 1965 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 1966 self.is_ledger_on = kwargs.get('is_ledger_on', None) 1967 self.is_infra_encryption_enabled = None 1968 1969 1970class DatabaseUsage(ProxyResource): 1971 """Usage metric of a database. 1972 1973 Variables are only populated by the server, and will be ignored when sending a request. 1974 1975 :ivar id: Resource ID. 1976 :vartype id: str 1977 :ivar name: Resource name. 1978 :vartype name: str 1979 :ivar type: Resource type. 1980 :vartype type: str 1981 :ivar display_name: User-readable name of the metric. 1982 :vartype display_name: str 1983 :ivar current_value: Current value of the metric. 1984 :vartype current_value: float 1985 :ivar limit: Boundary value of the metric. 1986 :vartype limit: float 1987 :ivar unit: Unit of the metric. 1988 :vartype unit: str 1989 """ 1990 1991 _validation = { 1992 'id': {'readonly': True}, 1993 'name': {'readonly': True}, 1994 'type': {'readonly': True}, 1995 'display_name': {'readonly': True}, 1996 'current_value': {'readonly': True}, 1997 'limit': {'readonly': True}, 1998 'unit': {'readonly': True}, 1999 } 2000 2001 _attribute_map = { 2002 'id': {'key': 'id', 'type': 'str'}, 2003 'name': {'key': 'name', 'type': 'str'}, 2004 'type': {'key': 'type', 'type': 'str'}, 2005 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 2006 'current_value': {'key': 'properties.currentValue', 'type': 'float'}, 2007 'limit': {'key': 'properties.limit', 'type': 'float'}, 2008 'unit': {'key': 'properties.unit', 'type': 'str'}, 2009 } 2010 2011 def __init__( 2012 self, 2013 **kwargs 2014 ): 2015 super(DatabaseUsage, self).__init__(**kwargs) 2016 self.display_name = None 2017 self.current_value = None 2018 self.limit = None 2019 self.unit = None 2020 2021 2022class DatabaseUsageListResult(msrest.serialization.Model): 2023 """A list of database usage metrics. 2024 2025 Variables are only populated by the server, and will be ignored when sending a request. 2026 2027 :ivar value: Array of results. 2028 :vartype value: list[~azure.mgmt.sql.models.DatabaseUsage] 2029 :ivar next_link: Link to retrieve next page of results. 2030 :vartype next_link: str 2031 """ 2032 2033 _validation = { 2034 'value': {'readonly': True}, 2035 'next_link': {'readonly': True}, 2036 } 2037 2038 _attribute_map = { 2039 'value': {'key': 'value', 'type': '[DatabaseUsage]'}, 2040 'next_link': {'key': 'nextLink', 'type': 'str'}, 2041 } 2042 2043 def __init__( 2044 self, 2045 **kwargs 2046 ): 2047 super(DatabaseUsageListResult, self).__init__(**kwargs) 2048 self.value = None 2049 self.next_link = None 2050 2051 2052class DatabaseVulnerabilityAssessment(ProxyResource): 2053 """A database vulnerability assessment. 2054 2055 Variables are only populated by the server, and will be ignored when sending a request. 2056 2057 :ivar id: Resource ID. 2058 :vartype id: str 2059 :ivar name: Resource name. 2060 :vartype name: str 2061 :ivar type: Resource type. 2062 :vartype type: str 2063 :param storage_container_path: A blob storage container path to hold the scan results (e.g. 2064 https://myStorage.blob.core.windows.net/VaScans/). It is required if server level 2065 vulnerability assessment policy doesn't set. 2066 :type storage_container_path: str 2067 :param storage_container_sas_key: A shared access signature (SAS Key) that has write access to 2068 the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' 2069 isn't specified, StorageContainerSasKey is required. 2070 :type storage_container_sas_key: str 2071 :param storage_account_access_key: Specifies the identifier key of the storage account for 2072 vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, 2073 storageAccountAccessKey is required. 2074 :type storage_account_access_key: str 2075 :param recurring_scans: The recurring scans settings. 2076 :type recurring_scans: ~azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties 2077 """ 2078 2079 _validation = { 2080 'id': {'readonly': True}, 2081 'name': {'readonly': True}, 2082 'type': {'readonly': True}, 2083 } 2084 2085 _attribute_map = { 2086 'id': {'key': 'id', 'type': 'str'}, 2087 'name': {'key': 'name', 'type': 'str'}, 2088 'type': {'key': 'type', 'type': 'str'}, 2089 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, 2090 'storage_container_sas_key': {'key': 'properties.storageContainerSasKey', 'type': 'str'}, 2091 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 2092 'recurring_scans': {'key': 'properties.recurringScans', 'type': 'VulnerabilityAssessmentRecurringScansProperties'}, 2093 } 2094 2095 def __init__( 2096 self, 2097 **kwargs 2098 ): 2099 super(DatabaseVulnerabilityAssessment, self).__init__(**kwargs) 2100 self.storage_container_path = kwargs.get('storage_container_path', None) 2101 self.storage_container_sas_key = kwargs.get('storage_container_sas_key', None) 2102 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 2103 self.recurring_scans = kwargs.get('recurring_scans', None) 2104 2105 2106class DatabaseVulnerabilityAssessmentListResult(msrest.serialization.Model): 2107 """A list of the database's vulnerability assessments. 2108 2109 Variables are only populated by the server, and will be ignored when sending a request. 2110 2111 :ivar value: Array of results. 2112 :vartype value: list[~azure.mgmt.sql.models.DatabaseVulnerabilityAssessment] 2113 :ivar next_link: Link to retrieve next page of results. 2114 :vartype next_link: str 2115 """ 2116 2117 _validation = { 2118 'value': {'readonly': True}, 2119 'next_link': {'readonly': True}, 2120 } 2121 2122 _attribute_map = { 2123 'value': {'key': 'value', 'type': '[DatabaseVulnerabilityAssessment]'}, 2124 'next_link': {'key': 'nextLink', 'type': 'str'}, 2125 } 2126 2127 def __init__( 2128 self, 2129 **kwargs 2130 ): 2131 super(DatabaseVulnerabilityAssessmentListResult, self).__init__(**kwargs) 2132 self.value = None 2133 self.next_link = None 2134 2135 2136class DatabaseVulnerabilityAssessmentRuleBaseline(ProxyResource): 2137 """A database vulnerability assessment rule baseline. 2138 2139 Variables are only populated by the server, and will be ignored when sending a request. 2140 2141 :ivar id: Resource ID. 2142 :vartype id: str 2143 :ivar name: Resource name. 2144 :vartype name: str 2145 :ivar type: Resource type. 2146 :vartype type: str 2147 :param baseline_results: The rule baseline result. 2148 :type baseline_results: 2149 list[~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineItem] 2150 """ 2151 2152 _validation = { 2153 'id': {'readonly': True}, 2154 'name': {'readonly': True}, 2155 'type': {'readonly': True}, 2156 } 2157 2158 _attribute_map = { 2159 'id': {'key': 'id', 'type': 'str'}, 2160 'name': {'key': 'name', 'type': 'str'}, 2161 'type': {'key': 'type', 'type': 'str'}, 2162 'baseline_results': {'key': 'properties.baselineResults', 'type': '[DatabaseVulnerabilityAssessmentRuleBaselineItem]'}, 2163 } 2164 2165 def __init__( 2166 self, 2167 **kwargs 2168 ): 2169 super(DatabaseVulnerabilityAssessmentRuleBaseline, self).__init__(**kwargs) 2170 self.baseline_results = kwargs.get('baseline_results', None) 2171 2172 2173class DatabaseVulnerabilityAssessmentRuleBaselineItem(msrest.serialization.Model): 2174 """Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result. 2175 2176 All required parameters must be populated in order to send to Azure. 2177 2178 :param result: Required. The rule baseline result. 2179 :type result: list[str] 2180 """ 2181 2182 _validation = { 2183 'result': {'required': True}, 2184 } 2185 2186 _attribute_map = { 2187 'result': {'key': 'result', 'type': '[str]'}, 2188 } 2189 2190 def __init__( 2191 self, 2192 **kwargs 2193 ): 2194 super(DatabaseVulnerabilityAssessmentRuleBaselineItem, self).__init__(**kwargs) 2195 self.result = kwargs['result'] 2196 2197 2198class DatabaseVulnerabilityAssessmentScansExport(ProxyResource): 2199 """A database Vulnerability Assessment scan export resource. 2200 2201 Variables are only populated by the server, and will be ignored when sending a request. 2202 2203 :ivar id: Resource ID. 2204 :vartype id: str 2205 :ivar name: Resource name. 2206 :vartype name: str 2207 :ivar type: Resource type. 2208 :vartype type: str 2209 :ivar exported_report_location: Location of the exported report (e.g. 2210 https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). 2211 :vartype exported_report_location: str 2212 """ 2213 2214 _validation = { 2215 'id': {'readonly': True}, 2216 'name': {'readonly': True}, 2217 'type': {'readonly': True}, 2218 'exported_report_location': {'readonly': True}, 2219 } 2220 2221 _attribute_map = { 2222 'id': {'key': 'id', 'type': 'str'}, 2223 'name': {'key': 'name', 'type': 'str'}, 2224 'type': {'key': 'type', 'type': 'str'}, 2225 'exported_report_location': {'key': 'properties.exportedReportLocation', 'type': 'str'}, 2226 } 2227 2228 def __init__( 2229 self, 2230 **kwargs 2231 ): 2232 super(DatabaseVulnerabilityAssessmentScansExport, self).__init__(**kwargs) 2233 self.exported_report_location = None 2234 2235 2236class DataMaskingPolicy(ProxyResource): 2237 """Represents a database data masking policy. 2238 2239 Variables are only populated by the server, and will be ignored when sending a request. 2240 2241 :ivar id: Resource ID. 2242 :vartype id: str 2243 :ivar name: Resource name. 2244 :vartype name: str 2245 :ivar type: Resource type. 2246 :vartype type: str 2247 :ivar location: The location of the data masking policy. 2248 :vartype location: str 2249 :ivar kind: The kind of data masking policy. Metadata, used for Azure portal. 2250 :vartype kind: str 2251 :param data_masking_state: The state of the data masking policy. Possible values include: 2252 "Disabled", "Enabled". 2253 :type data_masking_state: str or ~azure.mgmt.sql.models.DataMaskingState 2254 :param exempt_principals: The list of the exempt principals. Specifies the semicolon-separated 2255 list of database users for which the data masking policy does not apply. The specified users 2256 receive data results without masking for all of the database queries. 2257 :type exempt_principals: str 2258 :ivar application_principals: The list of the application principals. This is a legacy 2259 parameter and is no longer used. 2260 :vartype application_principals: str 2261 :ivar masking_level: The masking level. This is a legacy parameter and is no longer used. 2262 :vartype masking_level: str 2263 """ 2264 2265 _validation = { 2266 'id': {'readonly': True}, 2267 'name': {'readonly': True}, 2268 'type': {'readonly': True}, 2269 'location': {'readonly': True}, 2270 'kind': {'readonly': True}, 2271 'application_principals': {'readonly': True}, 2272 'masking_level': {'readonly': True}, 2273 } 2274 2275 _attribute_map = { 2276 'id': {'key': 'id', 'type': 'str'}, 2277 'name': {'key': 'name', 'type': 'str'}, 2278 'type': {'key': 'type', 'type': 'str'}, 2279 'location': {'key': 'location', 'type': 'str'}, 2280 'kind': {'key': 'kind', 'type': 'str'}, 2281 'data_masking_state': {'key': 'properties.dataMaskingState', 'type': 'str'}, 2282 'exempt_principals': {'key': 'properties.exemptPrincipals', 'type': 'str'}, 2283 'application_principals': {'key': 'properties.applicationPrincipals', 'type': 'str'}, 2284 'masking_level': {'key': 'properties.maskingLevel', 'type': 'str'}, 2285 } 2286 2287 def __init__( 2288 self, 2289 **kwargs 2290 ): 2291 super(DataMaskingPolicy, self).__init__(**kwargs) 2292 self.location = None 2293 self.kind = None 2294 self.data_masking_state = kwargs.get('data_masking_state', None) 2295 self.exempt_principals = kwargs.get('exempt_principals', None) 2296 self.application_principals = None 2297 self.masking_level = None 2298 2299 2300class DataMaskingRule(ProxyResource): 2301 """Represents a database data masking rule. 2302 2303 Variables are only populated by the server, and will be ignored when sending a request. 2304 2305 :ivar id: Resource ID. 2306 :vartype id: str 2307 :ivar name: Resource name. 2308 :vartype name: str 2309 :ivar type: Resource type. 2310 :vartype type: str 2311 :ivar location: The location of the data masking rule. 2312 :vartype location: str 2313 :ivar kind: The kind of Data Masking Rule. Metadata, used for Azure portal. 2314 :vartype kind: str 2315 :ivar id_properties_id: The rule Id. 2316 :vartype id_properties_id: str 2317 :param alias_name: The alias name. This is a legacy parameter and is no longer used. 2318 :type alias_name: str 2319 :param rule_state: The rule state. Used to delete a rule. To delete an existing rule, specify 2320 the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. 2321 However, if the rule doesn't already exist, the rule will be created with ruleState set to 2322 enabled, regardless of the provided value of ruleState. Possible values include: "Disabled", 2323 "Enabled". 2324 :type rule_state: str or ~azure.mgmt.sql.models.DataMaskingRuleState 2325 :param schema_name: The schema name on which the data masking rule is applied. 2326 :type schema_name: str 2327 :param table_name: The table name on which the data masking rule is applied. 2328 :type table_name: str 2329 :param column_name: The column name on which the data masking rule is applied. 2330 :type column_name: str 2331 :param masking_function: The masking function that is used for the data masking rule. Possible 2332 values include: "Default", "CCN", "Email", "Number", "SSN", "Text". 2333 :type masking_function: str or ~azure.mgmt.sql.models.DataMaskingFunction 2334 :param number_from: The numberFrom property of the masking rule. Required if maskingFunction is 2335 set to Number, otherwise this parameter will be ignored. 2336 :type number_from: str 2337 :param number_to: The numberTo property of the data masking rule. Required if maskingFunction 2338 is set to Number, otherwise this parameter will be ignored. 2339 :type number_to: str 2340 :param prefix_size: If maskingFunction is set to Text, the number of characters to show 2341 unmasked in the beginning of the string. Otherwise, this parameter will be ignored. 2342 :type prefix_size: str 2343 :param suffix_size: If maskingFunction is set to Text, the number of characters to show 2344 unmasked at the end of the string. Otherwise, this parameter will be ignored. 2345 :type suffix_size: str 2346 :param replacement_string: If maskingFunction is set to Text, the character to use for masking 2347 the unexposed part of the string. Otherwise, this parameter will be ignored. 2348 :type replacement_string: str 2349 """ 2350 2351 _validation = { 2352 'id': {'readonly': True}, 2353 'name': {'readonly': True}, 2354 'type': {'readonly': True}, 2355 'location': {'readonly': True}, 2356 'kind': {'readonly': True}, 2357 'id_properties_id': {'readonly': True}, 2358 } 2359 2360 _attribute_map = { 2361 'id': {'key': 'id', 'type': 'str'}, 2362 'name': {'key': 'name', 'type': 'str'}, 2363 'type': {'key': 'type', 'type': 'str'}, 2364 'location': {'key': 'location', 'type': 'str'}, 2365 'kind': {'key': 'kind', 'type': 'str'}, 2366 'id_properties_id': {'key': 'properties.id', 'type': 'str'}, 2367 'alias_name': {'key': 'properties.aliasName', 'type': 'str'}, 2368 'rule_state': {'key': 'properties.ruleState', 'type': 'str'}, 2369 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, 2370 'table_name': {'key': 'properties.tableName', 'type': 'str'}, 2371 'column_name': {'key': 'properties.columnName', 'type': 'str'}, 2372 'masking_function': {'key': 'properties.maskingFunction', 'type': 'str'}, 2373 'number_from': {'key': 'properties.numberFrom', 'type': 'str'}, 2374 'number_to': {'key': 'properties.numberTo', 'type': 'str'}, 2375 'prefix_size': {'key': 'properties.prefixSize', 'type': 'str'}, 2376 'suffix_size': {'key': 'properties.suffixSize', 'type': 'str'}, 2377 'replacement_string': {'key': 'properties.replacementString', 'type': 'str'}, 2378 } 2379 2380 def __init__( 2381 self, 2382 **kwargs 2383 ): 2384 super(DataMaskingRule, self).__init__(**kwargs) 2385 self.location = None 2386 self.kind = None 2387 self.id_properties_id = None 2388 self.alias_name = kwargs.get('alias_name', None) 2389 self.rule_state = kwargs.get('rule_state', None) 2390 self.schema_name = kwargs.get('schema_name', None) 2391 self.table_name = kwargs.get('table_name', None) 2392 self.column_name = kwargs.get('column_name', None) 2393 self.masking_function = kwargs.get('masking_function', None) 2394 self.number_from = kwargs.get('number_from', None) 2395 self.number_to = kwargs.get('number_to', None) 2396 self.prefix_size = kwargs.get('prefix_size', None) 2397 self.suffix_size = kwargs.get('suffix_size', None) 2398 self.replacement_string = kwargs.get('replacement_string', None) 2399 2400 2401class DataMaskingRuleListResult(msrest.serialization.Model): 2402 """The response to a list data masking rules request. 2403 2404 :param value: The list of database data masking rules. 2405 :type value: list[~azure.mgmt.sql.models.DataMaskingRule] 2406 """ 2407 2408 _attribute_map = { 2409 'value': {'key': 'value', 'type': '[DataMaskingRule]'}, 2410 } 2411 2412 def __init__( 2413 self, 2414 **kwargs 2415 ): 2416 super(DataMaskingRuleListResult, self).__init__(**kwargs) 2417 self.value = kwargs.get('value', None) 2418 2419 2420class DataWarehouseUserActivities(ProxyResource): 2421 """User activities of a data warehouse. 2422 2423 Variables are only populated by the server, and will be ignored when sending a request. 2424 2425 :ivar id: Resource ID. 2426 :vartype id: str 2427 :ivar name: Resource name. 2428 :vartype name: str 2429 :ivar type: Resource type. 2430 :vartype type: str 2431 :ivar active_queries_count: Count of running and suspended queries. 2432 :vartype active_queries_count: int 2433 """ 2434 2435 _validation = { 2436 'id': {'readonly': True}, 2437 'name': {'readonly': True}, 2438 'type': {'readonly': True}, 2439 'active_queries_count': {'readonly': True}, 2440 } 2441 2442 _attribute_map = { 2443 'id': {'key': 'id', 'type': 'str'}, 2444 'name': {'key': 'name', 'type': 'str'}, 2445 'type': {'key': 'type', 'type': 'str'}, 2446 'active_queries_count': {'key': 'properties.activeQueriesCount', 'type': 'int'}, 2447 } 2448 2449 def __init__( 2450 self, 2451 **kwargs 2452 ): 2453 super(DataWarehouseUserActivities, self).__init__(**kwargs) 2454 self.active_queries_count = None 2455 2456 2457class DataWarehouseUserActivitiesListResult(msrest.serialization.Model): 2458 """User activities of a data warehouse. 2459 2460 Variables are only populated by the server, and will be ignored when sending a request. 2461 2462 :ivar value: Array of results. 2463 :vartype value: list[~azure.mgmt.sql.models.DataWarehouseUserActivities] 2464 :ivar next_link: Link to retrieve next page of results. 2465 :vartype next_link: str 2466 """ 2467 2468 _validation = { 2469 'value': {'readonly': True}, 2470 'next_link': {'readonly': True}, 2471 } 2472 2473 _attribute_map = { 2474 'value': {'key': 'value', 'type': '[DataWarehouseUserActivities]'}, 2475 'next_link': {'key': 'nextLink', 'type': 'str'}, 2476 } 2477 2478 def __init__( 2479 self, 2480 **kwargs 2481 ): 2482 super(DataWarehouseUserActivitiesListResult, self).__init__(**kwargs) 2483 self.value = None 2484 self.next_link = None 2485 2486 2487class DeletedServer(ProxyResource): 2488 """A deleted server. 2489 2490 Variables are only populated by the server, and will be ignored when sending a request. 2491 2492 :ivar id: Resource ID. 2493 :vartype id: str 2494 :ivar name: Resource name. 2495 :vartype name: str 2496 :ivar type: Resource type. 2497 :vartype type: str 2498 :ivar version: The version of the deleted server. 2499 :vartype version: str 2500 :ivar deletion_time: The deletion time of the deleted server. 2501 :vartype deletion_time: ~datetime.datetime 2502 :ivar original_id: The original ID of the server before deletion. 2503 :vartype original_id: str 2504 :ivar fully_qualified_domain_name: The fully qualified domain name of the server. 2505 :vartype fully_qualified_domain_name: str 2506 """ 2507 2508 _validation = { 2509 'id': {'readonly': True}, 2510 'name': {'readonly': True}, 2511 'type': {'readonly': True}, 2512 'version': {'readonly': True}, 2513 'deletion_time': {'readonly': True}, 2514 'original_id': {'readonly': True}, 2515 'fully_qualified_domain_name': {'readonly': True}, 2516 } 2517 2518 _attribute_map = { 2519 'id': {'key': 'id', 'type': 'str'}, 2520 'name': {'key': 'name', 'type': 'str'}, 2521 'type': {'key': 'type', 'type': 'str'}, 2522 'version': {'key': 'properties.version', 'type': 'str'}, 2523 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, 2524 'original_id': {'key': 'properties.originalId', 'type': 'str'}, 2525 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 2526 } 2527 2528 def __init__( 2529 self, 2530 **kwargs 2531 ): 2532 super(DeletedServer, self).__init__(**kwargs) 2533 self.version = None 2534 self.deletion_time = None 2535 self.original_id = None 2536 self.fully_qualified_domain_name = None 2537 2538 2539class DeletedServerListResult(msrest.serialization.Model): 2540 """A list of deleted servers. 2541 2542 Variables are only populated by the server, and will be ignored when sending a request. 2543 2544 :ivar value: Array of results. 2545 :vartype value: list[~azure.mgmt.sql.models.DeletedServer] 2546 :ivar next_link: Link to retrieve next page of results. 2547 :vartype next_link: str 2548 """ 2549 2550 _validation = { 2551 'value': {'readonly': True}, 2552 'next_link': {'readonly': True}, 2553 } 2554 2555 _attribute_map = { 2556 'value': {'key': 'value', 'type': '[DeletedServer]'}, 2557 'next_link': {'key': 'nextLink', 'type': 'str'}, 2558 } 2559 2560 def __init__( 2561 self, 2562 **kwargs 2563 ): 2564 super(DeletedServerListResult, self).__init__(**kwargs) 2565 self.value = None 2566 self.next_link = None 2567 2568 2569class EditionCapability(msrest.serialization.Model): 2570 """The edition capability. 2571 2572 Variables are only populated by the server, and will be ignored when sending a request. 2573 2574 :ivar name: The database edition name. 2575 :vartype name: str 2576 :ivar supported_service_level_objectives: The list of supported service objectives for the 2577 edition. 2578 :vartype supported_service_level_objectives: 2579 list[~azure.mgmt.sql.models.ServiceObjectiveCapability] 2580 :ivar zone_redundant: Whether or not zone redundancy is supported for the edition. 2581 :vartype zone_redundant: bool 2582 :ivar read_scale: The read scale capability for the edition. 2583 :vartype read_scale: ~azure.mgmt.sql.models.ReadScaleCapability 2584 :ivar supported_storage_capabilities: The list of supported storage capabilities for this 2585 edition. 2586 :vartype supported_storage_capabilities: list[~azure.mgmt.sql.models.StorageCapability] 2587 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 2588 "Default", "Disabled". 2589 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 2590 :param reason: The reason for the capability not being available. 2591 :type reason: str 2592 """ 2593 2594 _validation = { 2595 'name': {'readonly': True}, 2596 'supported_service_level_objectives': {'readonly': True}, 2597 'zone_redundant': {'readonly': True}, 2598 'read_scale': {'readonly': True}, 2599 'supported_storage_capabilities': {'readonly': True}, 2600 'status': {'readonly': True}, 2601 } 2602 2603 _attribute_map = { 2604 'name': {'key': 'name', 'type': 'str'}, 2605 'supported_service_level_objectives': {'key': 'supportedServiceLevelObjectives', 'type': '[ServiceObjectiveCapability]'}, 2606 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 2607 'read_scale': {'key': 'readScale', 'type': 'ReadScaleCapability'}, 2608 'supported_storage_capabilities': {'key': 'supportedStorageCapabilities', 'type': '[StorageCapability]'}, 2609 'status': {'key': 'status', 'type': 'str'}, 2610 'reason': {'key': 'reason', 'type': 'str'}, 2611 } 2612 2613 def __init__( 2614 self, 2615 **kwargs 2616 ): 2617 super(EditionCapability, self).__init__(**kwargs) 2618 self.name = None 2619 self.supported_service_level_objectives = None 2620 self.zone_redundant = None 2621 self.read_scale = None 2622 self.supported_storage_capabilities = None 2623 self.status = None 2624 self.reason = kwargs.get('reason', None) 2625 2626 2627class ElasticPool(TrackedResource): 2628 """An elastic pool. 2629 2630 Variables are only populated by the server, and will be ignored when sending a request. 2631 2632 All required parameters must be populated in order to send to Azure. 2633 2634 :ivar id: Resource ID. 2635 :vartype id: str 2636 :ivar name: Resource name. 2637 :vartype name: str 2638 :ivar type: Resource type. 2639 :vartype type: str 2640 :param location: Required. Resource location. 2641 :type location: str 2642 :param tags: A set of tags. Resource tags. 2643 :type tags: dict[str, str] 2644 :param sku: The elastic pool SKU. 2645 2646 The list of SKUs may vary by region and support offer. To determine the SKUs (including the 2647 SKU name, tier/edition, family, and capacity) that are available to your subscription in an 2648 Azure region, use the ``Capabilities_ListByLocation`` REST API or the following command: 2649 2650 .. code-block:: azurecli 2651 2652 az sql elastic-pool list-editions -l <location> -o table 2653 `. 2654 :type sku: ~azure.mgmt.sql.models.Sku 2655 :ivar kind: Kind of elastic pool. This is metadata used for the Azure portal experience. 2656 :vartype kind: str 2657 :ivar state: The state of the elastic pool. Possible values include: "Creating", "Ready", 2658 "Disabled". 2659 :vartype state: str or ~azure.mgmt.sql.models.ElasticPoolState 2660 :ivar creation_date: The creation date of the elastic pool (ISO8601 format). 2661 :vartype creation_date: ~datetime.datetime 2662 :param max_size_bytes: The storage limit for the database elastic pool in bytes. 2663 :type max_size_bytes: long 2664 :param per_database_settings: The per database settings for the elastic pool. 2665 :type per_database_settings: ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings 2666 :param zone_redundant: Whether or not this elastic pool is zone redundant, which means the 2667 replicas of this elastic pool will be spread across multiple availability zones. 2668 :type zone_redundant: bool 2669 :param license_type: The license type to apply for this elastic pool. Possible values include: 2670 "LicenseIncluded", "BasePrice". 2671 :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType 2672 :param maintenance_configuration_id: Maintenance configuration id assigned to the elastic pool. 2673 This configuration defines the period when the maintenance updates will will occur. 2674 :type maintenance_configuration_id: str 2675 """ 2676 2677 _validation = { 2678 'id': {'readonly': True}, 2679 'name': {'readonly': True}, 2680 'type': {'readonly': True}, 2681 'location': {'required': True}, 2682 'kind': {'readonly': True}, 2683 'state': {'readonly': True}, 2684 'creation_date': {'readonly': True}, 2685 } 2686 2687 _attribute_map = { 2688 'id': {'key': 'id', 'type': 'str'}, 2689 'name': {'key': 'name', 'type': 'str'}, 2690 'type': {'key': 'type', 'type': 'str'}, 2691 'location': {'key': 'location', 'type': 'str'}, 2692 'tags': {'key': 'tags', 'type': '{str}'}, 2693 'sku': {'key': 'sku', 'type': 'Sku'}, 2694 'kind': {'key': 'kind', 'type': 'str'}, 2695 'state': {'key': 'properties.state', 'type': 'str'}, 2696 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 2697 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, 2698 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, 2699 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 2700 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 2701 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 2702 } 2703 2704 def __init__( 2705 self, 2706 **kwargs 2707 ): 2708 super(ElasticPool, self).__init__(**kwargs) 2709 self.sku = kwargs.get('sku', None) 2710 self.kind = None 2711 self.state = None 2712 self.creation_date = None 2713 self.max_size_bytes = kwargs.get('max_size_bytes', None) 2714 self.per_database_settings = kwargs.get('per_database_settings', None) 2715 self.zone_redundant = kwargs.get('zone_redundant', None) 2716 self.license_type = kwargs.get('license_type', None) 2717 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 2718 2719 2720class ElasticPoolActivity(ProxyResource): 2721 """Represents the activity on an elastic pool. 2722 2723 Variables are only populated by the server, and will be ignored when sending a request. 2724 2725 :ivar id: Resource ID. 2726 :vartype id: str 2727 :ivar name: Resource name. 2728 :vartype name: str 2729 :ivar type: Resource type. 2730 :vartype type: str 2731 :param location: The geo-location where the resource lives. 2732 :type location: str 2733 :ivar end_time: The time the operation finished (ISO8601 format). 2734 :vartype end_time: ~datetime.datetime 2735 :ivar error_code: The error code if available. 2736 :vartype error_code: int 2737 :ivar error_message: The error message if available. 2738 :vartype error_message: str 2739 :ivar error_severity: The error severity if available. 2740 :vartype error_severity: int 2741 :ivar operation: The operation name. 2742 :vartype operation: str 2743 :ivar operation_id: The unique operation ID. 2744 :vartype operation_id: str 2745 :ivar percent_complete: The percentage complete if available. 2746 :vartype percent_complete: int 2747 :ivar requested_database_dtu_max: The requested max DTU per database if available. 2748 :vartype requested_database_dtu_max: int 2749 :ivar requested_database_dtu_min: The requested min DTU per database if available. 2750 :vartype requested_database_dtu_min: int 2751 :ivar requested_dtu: The requested DTU for the pool if available. 2752 :vartype requested_dtu: int 2753 :ivar requested_elastic_pool_name: The requested name for the elastic pool if available. 2754 :vartype requested_elastic_pool_name: str 2755 :ivar requested_storage_limit_in_gb: The requested storage limit for the pool in GB if 2756 available. 2757 :vartype requested_storage_limit_in_gb: long 2758 :ivar elastic_pool_name: The name of the elastic pool. 2759 :vartype elastic_pool_name: str 2760 :ivar server_name: The name of the server the elastic pool is in. 2761 :vartype server_name: str 2762 :ivar start_time: The time the operation started (ISO8601 format). 2763 :vartype start_time: ~datetime.datetime 2764 :ivar state: The current state of the operation. 2765 :vartype state: str 2766 :ivar requested_storage_limit_in_mb: The requested storage limit in MB. 2767 :vartype requested_storage_limit_in_mb: int 2768 :ivar requested_database_dtu_guarantee: The requested per database DTU guarantee. 2769 :vartype requested_database_dtu_guarantee: int 2770 :ivar requested_database_dtu_cap: The requested per database DTU cap. 2771 :vartype requested_database_dtu_cap: int 2772 :ivar requested_dtu_guarantee: The requested DTU guarantee. 2773 :vartype requested_dtu_guarantee: int 2774 """ 2775 2776 _validation = { 2777 'id': {'readonly': True}, 2778 'name': {'readonly': True}, 2779 'type': {'readonly': True}, 2780 'end_time': {'readonly': True}, 2781 'error_code': {'readonly': True}, 2782 'error_message': {'readonly': True}, 2783 'error_severity': {'readonly': True}, 2784 'operation': {'readonly': True}, 2785 'operation_id': {'readonly': True}, 2786 'percent_complete': {'readonly': True}, 2787 'requested_database_dtu_max': {'readonly': True}, 2788 'requested_database_dtu_min': {'readonly': True}, 2789 'requested_dtu': {'readonly': True}, 2790 'requested_elastic_pool_name': {'readonly': True}, 2791 'requested_storage_limit_in_gb': {'readonly': True}, 2792 'elastic_pool_name': {'readonly': True}, 2793 'server_name': {'readonly': True}, 2794 'start_time': {'readonly': True}, 2795 'state': {'readonly': True}, 2796 'requested_storage_limit_in_mb': {'readonly': True}, 2797 'requested_database_dtu_guarantee': {'readonly': True}, 2798 'requested_database_dtu_cap': {'readonly': True}, 2799 'requested_dtu_guarantee': {'readonly': True}, 2800 } 2801 2802 _attribute_map = { 2803 'id': {'key': 'id', 'type': 'str'}, 2804 'name': {'key': 'name', 'type': 'str'}, 2805 'type': {'key': 'type', 'type': 'str'}, 2806 'location': {'key': 'location', 'type': 'str'}, 2807 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 2808 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 2809 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 2810 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 2811 'operation': {'key': 'properties.operation', 'type': 'str'}, 2812 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, 2813 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 2814 'requested_database_dtu_max': {'key': 'properties.requestedDatabaseDtuMax', 'type': 'int'}, 2815 'requested_database_dtu_min': {'key': 'properties.requestedDatabaseDtuMin', 'type': 'int'}, 2816 'requested_dtu': {'key': 'properties.requestedDtu', 'type': 'int'}, 2817 'requested_elastic_pool_name': {'key': 'properties.requestedElasticPoolName', 'type': 'str'}, 2818 'requested_storage_limit_in_gb': {'key': 'properties.requestedStorageLimitInGB', 'type': 'long'}, 2819 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, 2820 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 2821 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 2822 'state': {'key': 'properties.state', 'type': 'str'}, 2823 'requested_storage_limit_in_mb': {'key': 'properties.requestedStorageLimitInMB', 'type': 'int'}, 2824 'requested_database_dtu_guarantee': {'key': 'properties.requestedDatabaseDtuGuarantee', 'type': 'int'}, 2825 'requested_database_dtu_cap': {'key': 'properties.requestedDatabaseDtuCap', 'type': 'int'}, 2826 'requested_dtu_guarantee': {'key': 'properties.requestedDtuGuarantee', 'type': 'int'}, 2827 } 2828 2829 def __init__( 2830 self, 2831 **kwargs 2832 ): 2833 super(ElasticPoolActivity, self).__init__(**kwargs) 2834 self.location = kwargs.get('location', None) 2835 self.end_time = None 2836 self.error_code = None 2837 self.error_message = None 2838 self.error_severity = None 2839 self.operation = None 2840 self.operation_id = None 2841 self.percent_complete = None 2842 self.requested_database_dtu_max = None 2843 self.requested_database_dtu_min = None 2844 self.requested_dtu = None 2845 self.requested_elastic_pool_name = None 2846 self.requested_storage_limit_in_gb = None 2847 self.elastic_pool_name = None 2848 self.server_name = None 2849 self.start_time = None 2850 self.state = None 2851 self.requested_storage_limit_in_mb = None 2852 self.requested_database_dtu_guarantee = None 2853 self.requested_database_dtu_cap = None 2854 self.requested_dtu_guarantee = None 2855 2856 2857class ElasticPoolActivityListResult(msrest.serialization.Model): 2858 """Represents the response to a list elastic pool activity request. 2859 2860 All required parameters must be populated in order to send to Azure. 2861 2862 :param value: Required. The list of elastic pool activities. 2863 :type value: list[~azure.mgmt.sql.models.ElasticPoolActivity] 2864 """ 2865 2866 _validation = { 2867 'value': {'required': True}, 2868 } 2869 2870 _attribute_map = { 2871 'value': {'key': 'value', 'type': '[ElasticPoolActivity]'}, 2872 } 2873 2874 def __init__( 2875 self, 2876 **kwargs 2877 ): 2878 super(ElasticPoolActivityListResult, self).__init__(**kwargs) 2879 self.value = kwargs['value'] 2880 2881 2882class ElasticPoolDatabaseActivity(ProxyResource): 2883 """Represents the activity on an elastic pool. 2884 2885 Variables are only populated by the server, and will be ignored when sending a request. 2886 2887 :ivar id: Resource ID. 2888 :vartype id: str 2889 :ivar name: Resource name. 2890 :vartype name: str 2891 :ivar type: Resource type. 2892 :vartype type: str 2893 :param location: The geo-location where the resource lives. 2894 :type location: str 2895 :ivar database_name: The database name. 2896 :vartype database_name: str 2897 :ivar end_time: The time the operation finished (ISO8601 format). 2898 :vartype end_time: ~datetime.datetime 2899 :ivar error_code: The error code if available. 2900 :vartype error_code: int 2901 :ivar error_message: The error message if available. 2902 :vartype error_message: str 2903 :ivar error_severity: The error severity if available. 2904 :vartype error_severity: int 2905 :ivar operation: The operation name. 2906 :vartype operation: str 2907 :ivar operation_id: The unique operation ID. 2908 :vartype operation_id: str 2909 :ivar percent_complete: The percentage complete if available. 2910 :vartype percent_complete: int 2911 :ivar requested_elastic_pool_name: The name for the elastic pool the database is moving into if 2912 available. 2913 :vartype requested_elastic_pool_name: str 2914 :ivar current_elastic_pool_name: The name of the current elastic pool the database is in if 2915 available. 2916 :vartype current_elastic_pool_name: str 2917 :ivar current_service_objective: The name of the current service objective if available. 2918 :vartype current_service_objective: str 2919 :ivar requested_service_objective: The name of the requested service objective if available. 2920 :vartype requested_service_objective: str 2921 :ivar server_name: The name of the server the elastic pool is in. 2922 :vartype server_name: str 2923 :ivar start_time: The time the operation started (ISO8601 format). 2924 :vartype start_time: ~datetime.datetime 2925 :ivar state: The current state of the operation. 2926 :vartype state: str 2927 """ 2928 2929 _validation = { 2930 'id': {'readonly': True}, 2931 'name': {'readonly': True}, 2932 'type': {'readonly': True}, 2933 'database_name': {'readonly': True}, 2934 'end_time': {'readonly': True}, 2935 'error_code': {'readonly': True}, 2936 'error_message': {'readonly': True}, 2937 'error_severity': {'readonly': True}, 2938 'operation': {'readonly': True}, 2939 'operation_id': {'readonly': True}, 2940 'percent_complete': {'readonly': True}, 2941 'requested_elastic_pool_name': {'readonly': True}, 2942 'current_elastic_pool_name': {'readonly': True}, 2943 'current_service_objective': {'readonly': True}, 2944 'requested_service_objective': {'readonly': True}, 2945 'server_name': {'readonly': True}, 2946 'start_time': {'readonly': True}, 2947 'state': {'readonly': True}, 2948 } 2949 2950 _attribute_map = { 2951 'id': {'key': 'id', 'type': 'str'}, 2952 'name': {'key': 'name', 'type': 'str'}, 2953 'type': {'key': 'type', 'type': 'str'}, 2954 'location': {'key': 'location', 'type': 'str'}, 2955 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 2956 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 2957 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 2958 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 2959 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 2960 'operation': {'key': 'properties.operation', 'type': 'str'}, 2961 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, 2962 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 2963 'requested_elastic_pool_name': {'key': 'properties.requestedElasticPoolName', 'type': 'str'}, 2964 'current_elastic_pool_name': {'key': 'properties.currentElasticPoolName', 'type': 'str'}, 2965 'current_service_objective': {'key': 'properties.currentServiceObjective', 'type': 'str'}, 2966 'requested_service_objective': {'key': 'properties.requestedServiceObjective', 'type': 'str'}, 2967 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 2968 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 2969 'state': {'key': 'properties.state', 'type': 'str'}, 2970 } 2971 2972 def __init__( 2973 self, 2974 **kwargs 2975 ): 2976 super(ElasticPoolDatabaseActivity, self).__init__(**kwargs) 2977 self.location = kwargs.get('location', None) 2978 self.database_name = None 2979 self.end_time = None 2980 self.error_code = None 2981 self.error_message = None 2982 self.error_severity = None 2983 self.operation = None 2984 self.operation_id = None 2985 self.percent_complete = None 2986 self.requested_elastic_pool_name = None 2987 self.current_elastic_pool_name = None 2988 self.current_service_objective = None 2989 self.requested_service_objective = None 2990 self.server_name = None 2991 self.start_time = None 2992 self.state = None 2993 2994 2995class ElasticPoolDatabaseActivityListResult(msrest.serialization.Model): 2996 """Represents the response to a list elastic pool database activity request. 2997 2998 All required parameters must be populated in order to send to Azure. 2999 3000 :param value: Required. The list of elastic pool database activities. 3001 :type value: list[~azure.mgmt.sql.models.ElasticPoolDatabaseActivity] 3002 """ 3003 3004 _validation = { 3005 'value': {'required': True}, 3006 } 3007 3008 _attribute_map = { 3009 'value': {'key': 'value', 'type': '[ElasticPoolDatabaseActivity]'}, 3010 } 3011 3012 def __init__( 3013 self, 3014 **kwargs 3015 ): 3016 super(ElasticPoolDatabaseActivityListResult, self).__init__(**kwargs) 3017 self.value = kwargs['value'] 3018 3019 3020class ElasticPoolEditionCapability(msrest.serialization.Model): 3021 """The elastic pool edition capability. 3022 3023 Variables are only populated by the server, and will be ignored when sending a request. 3024 3025 :ivar name: The elastic pool edition name. 3026 :vartype name: str 3027 :ivar supported_elastic_pool_performance_levels: The list of supported elastic pool DTU levels 3028 for the edition. 3029 :vartype supported_elastic_pool_performance_levels: 3030 list[~azure.mgmt.sql.models.ElasticPoolPerformanceLevelCapability] 3031 :ivar zone_redundant: Whether or not zone redundancy is supported for the edition. 3032 :vartype zone_redundant: bool 3033 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 3034 "Default", "Disabled". 3035 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 3036 :param reason: The reason for the capability not being available. 3037 :type reason: str 3038 """ 3039 3040 _validation = { 3041 'name': {'readonly': True}, 3042 'supported_elastic_pool_performance_levels': {'readonly': True}, 3043 'zone_redundant': {'readonly': True}, 3044 'status': {'readonly': True}, 3045 } 3046 3047 _attribute_map = { 3048 'name': {'key': 'name', 'type': 'str'}, 3049 'supported_elastic_pool_performance_levels': {'key': 'supportedElasticPoolPerformanceLevels', 'type': '[ElasticPoolPerformanceLevelCapability]'}, 3050 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 3051 'status': {'key': 'status', 'type': 'str'}, 3052 'reason': {'key': 'reason', 'type': 'str'}, 3053 } 3054 3055 def __init__( 3056 self, 3057 **kwargs 3058 ): 3059 super(ElasticPoolEditionCapability, self).__init__(**kwargs) 3060 self.name = None 3061 self.supported_elastic_pool_performance_levels = None 3062 self.zone_redundant = None 3063 self.status = None 3064 self.reason = kwargs.get('reason', None) 3065 3066 3067class ElasticPoolListResult(msrest.serialization.Model): 3068 """The result of an elastic pool list request. 3069 3070 Variables are only populated by the server, and will be ignored when sending a request. 3071 3072 :ivar value: Array of results. 3073 :vartype value: list[~azure.mgmt.sql.models.ElasticPool] 3074 :ivar next_link: Link to retrieve next page of results. 3075 :vartype next_link: str 3076 """ 3077 3078 _validation = { 3079 'value': {'readonly': True}, 3080 'next_link': {'readonly': True}, 3081 } 3082 3083 _attribute_map = { 3084 'value': {'key': 'value', 'type': '[ElasticPool]'}, 3085 'next_link': {'key': 'nextLink', 'type': 'str'}, 3086 } 3087 3088 def __init__( 3089 self, 3090 **kwargs 3091 ): 3092 super(ElasticPoolListResult, self).__init__(**kwargs) 3093 self.value = None 3094 self.next_link = None 3095 3096 3097class ElasticPoolOperation(ProxyResource): 3098 """A elastic pool operation. 3099 3100 Variables are only populated by the server, and will be ignored when sending a request. 3101 3102 :ivar id: Resource ID. 3103 :vartype id: str 3104 :ivar name: Resource name. 3105 :vartype name: str 3106 :ivar type: Resource type. 3107 :vartype type: str 3108 :ivar elastic_pool_name: The name of the elastic pool the operation is being performed on. 3109 :vartype elastic_pool_name: str 3110 :ivar operation: The name of operation. 3111 :vartype operation: str 3112 :ivar operation_friendly_name: The friendly name of operation. 3113 :vartype operation_friendly_name: str 3114 :ivar percent_complete: The percentage of the operation completed. 3115 :vartype percent_complete: int 3116 :ivar server_name: The name of the server. 3117 :vartype server_name: str 3118 :ivar start_time: The operation start time. 3119 :vartype start_time: ~datetime.datetime 3120 :ivar state: The operation state. 3121 :vartype state: str 3122 :ivar error_code: The operation error code. 3123 :vartype error_code: int 3124 :ivar error_description: The operation error description. 3125 :vartype error_description: str 3126 :ivar error_severity: The operation error severity. 3127 :vartype error_severity: int 3128 :ivar is_user_error: Whether or not the error is a user error. 3129 :vartype is_user_error: bool 3130 :ivar estimated_completion_time: The estimated completion time of the operation. 3131 :vartype estimated_completion_time: ~datetime.datetime 3132 :ivar description: The operation description. 3133 :vartype description: str 3134 :ivar is_cancellable: Whether the operation can be cancelled. 3135 :vartype is_cancellable: bool 3136 """ 3137 3138 _validation = { 3139 'id': {'readonly': True}, 3140 'name': {'readonly': True}, 3141 'type': {'readonly': True}, 3142 'elastic_pool_name': {'readonly': True}, 3143 'operation': {'readonly': True}, 3144 'operation_friendly_name': {'readonly': True}, 3145 'percent_complete': {'readonly': True}, 3146 'server_name': {'readonly': True}, 3147 'start_time': {'readonly': True}, 3148 'state': {'readonly': True}, 3149 'error_code': {'readonly': True}, 3150 'error_description': {'readonly': True}, 3151 'error_severity': {'readonly': True}, 3152 'is_user_error': {'readonly': True}, 3153 'estimated_completion_time': {'readonly': True}, 3154 'description': {'readonly': True}, 3155 'is_cancellable': {'readonly': True}, 3156 } 3157 3158 _attribute_map = { 3159 'id': {'key': 'id', 'type': 'str'}, 3160 'name': {'key': 'name', 'type': 'str'}, 3161 'type': {'key': 'type', 'type': 'str'}, 3162 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, 3163 'operation': {'key': 'properties.operation', 'type': 'str'}, 3164 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, 3165 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 3166 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 3167 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 3168 'state': {'key': 'properties.state', 'type': 'str'}, 3169 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 3170 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, 3171 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 3172 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, 3173 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, 3174 'description': {'key': 'properties.description', 'type': 'str'}, 3175 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 3176 } 3177 3178 def __init__( 3179 self, 3180 **kwargs 3181 ): 3182 super(ElasticPoolOperation, self).__init__(**kwargs) 3183 self.elastic_pool_name = None 3184 self.operation = None 3185 self.operation_friendly_name = None 3186 self.percent_complete = None 3187 self.server_name = None 3188 self.start_time = None 3189 self.state = None 3190 self.error_code = None 3191 self.error_description = None 3192 self.error_severity = None 3193 self.is_user_error = None 3194 self.estimated_completion_time = None 3195 self.description = None 3196 self.is_cancellable = None 3197 3198 3199class ElasticPoolOperationListResult(msrest.serialization.Model): 3200 """The response to a list elastic pool operations request. 3201 3202 Variables are only populated by the server, and will be ignored when sending a request. 3203 3204 :ivar value: Array of results. 3205 :vartype value: list[~azure.mgmt.sql.models.ElasticPoolOperation] 3206 :ivar next_link: Link to retrieve next page of results. 3207 :vartype next_link: str 3208 """ 3209 3210 _validation = { 3211 'value': {'readonly': True}, 3212 'next_link': {'readonly': True}, 3213 } 3214 3215 _attribute_map = { 3216 'value': {'key': 'value', 'type': '[ElasticPoolOperation]'}, 3217 'next_link': {'key': 'nextLink', 'type': 'str'}, 3218 } 3219 3220 def __init__( 3221 self, 3222 **kwargs 3223 ): 3224 super(ElasticPoolOperationListResult, self).__init__(**kwargs) 3225 self.value = None 3226 self.next_link = None 3227 3228 3229class ElasticPoolPerDatabaseMaxPerformanceLevelCapability(msrest.serialization.Model): 3230 """The max per-database performance level capability. 3231 3232 Variables are only populated by the server, and will be ignored when sending a request. 3233 3234 :ivar limit: The maximum performance level per database. 3235 :vartype limit: float 3236 :ivar unit: Unit type used to measure performance level. Possible values include: "DTU", 3237 "VCores". 3238 :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit 3239 :ivar supported_per_database_min_performance_levels: The list of supported min database 3240 performance levels. 3241 :vartype supported_per_database_min_performance_levels: 3242 list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMinPerformanceLevelCapability] 3243 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 3244 "Default", "Disabled". 3245 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 3246 :param reason: The reason for the capability not being available. 3247 :type reason: str 3248 """ 3249 3250 _validation = { 3251 'limit': {'readonly': True}, 3252 'unit': {'readonly': True}, 3253 'supported_per_database_min_performance_levels': {'readonly': True}, 3254 'status': {'readonly': True}, 3255 } 3256 3257 _attribute_map = { 3258 'limit': {'key': 'limit', 'type': 'float'}, 3259 'unit': {'key': 'unit', 'type': 'str'}, 3260 'supported_per_database_min_performance_levels': {'key': 'supportedPerDatabaseMinPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMinPerformanceLevelCapability]'}, 3261 'status': {'key': 'status', 'type': 'str'}, 3262 'reason': {'key': 'reason', 'type': 'str'}, 3263 } 3264 3265 def __init__( 3266 self, 3267 **kwargs 3268 ): 3269 super(ElasticPoolPerDatabaseMaxPerformanceLevelCapability, self).__init__(**kwargs) 3270 self.limit = None 3271 self.unit = None 3272 self.supported_per_database_min_performance_levels = None 3273 self.status = None 3274 self.reason = kwargs.get('reason', None) 3275 3276 3277class ElasticPoolPerDatabaseMinPerformanceLevelCapability(msrest.serialization.Model): 3278 """The minimum per-database performance level capability. 3279 3280 Variables are only populated by the server, and will be ignored when sending a request. 3281 3282 :ivar limit: The minimum performance level per database. 3283 :vartype limit: float 3284 :ivar unit: Unit type used to measure performance level. Possible values include: "DTU", 3285 "VCores". 3286 :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit 3287 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 3288 "Default", "Disabled". 3289 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 3290 :param reason: The reason for the capability not being available. 3291 :type reason: str 3292 """ 3293 3294 _validation = { 3295 'limit': {'readonly': True}, 3296 'unit': {'readonly': True}, 3297 'status': {'readonly': True}, 3298 } 3299 3300 _attribute_map = { 3301 'limit': {'key': 'limit', 'type': 'float'}, 3302 'unit': {'key': 'unit', 'type': 'str'}, 3303 'status': {'key': 'status', 'type': 'str'}, 3304 'reason': {'key': 'reason', 'type': 'str'}, 3305 } 3306 3307 def __init__( 3308 self, 3309 **kwargs 3310 ): 3311 super(ElasticPoolPerDatabaseMinPerformanceLevelCapability, self).__init__(**kwargs) 3312 self.limit = None 3313 self.unit = None 3314 self.status = None 3315 self.reason = kwargs.get('reason', None) 3316 3317 3318class ElasticPoolPerDatabaseSettings(msrest.serialization.Model): 3319 """Per database settings of an elastic pool. 3320 3321 :param min_capacity: The minimum capacity all databases are guaranteed. 3322 :type min_capacity: float 3323 :param max_capacity: The maximum capacity any one database can consume. 3324 :type max_capacity: float 3325 """ 3326 3327 _attribute_map = { 3328 'min_capacity': {'key': 'minCapacity', 'type': 'float'}, 3329 'max_capacity': {'key': 'maxCapacity', 'type': 'float'}, 3330 } 3331 3332 def __init__( 3333 self, 3334 **kwargs 3335 ): 3336 super(ElasticPoolPerDatabaseSettings, self).__init__(**kwargs) 3337 self.min_capacity = kwargs.get('min_capacity', None) 3338 self.max_capacity = kwargs.get('max_capacity', None) 3339 3340 3341class ElasticPoolPerformanceLevelCapability(msrest.serialization.Model): 3342 """The Elastic Pool performance level capability. 3343 3344 Variables are only populated by the server, and will be ignored when sending a request. 3345 3346 :ivar performance_level: The performance level for the pool. 3347 :vartype performance_level: ~azure.mgmt.sql.models.PerformanceLevelCapability 3348 :ivar sku: The sku. 3349 :vartype sku: ~azure.mgmt.sql.models.Sku 3350 :ivar supported_license_types: List of supported license types. 3351 :vartype supported_license_types: list[~azure.mgmt.sql.models.LicenseTypeCapability] 3352 :ivar max_database_count: The maximum number of databases supported. 3353 :vartype max_database_count: int 3354 :ivar included_max_size: The included (free) max size for this performance level. 3355 :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability 3356 :ivar supported_max_sizes: The list of supported max sizes. 3357 :vartype supported_max_sizes: list[~azure.mgmt.sql.models.MaxSizeRangeCapability] 3358 :ivar supported_per_database_max_sizes: The list of supported per database max sizes. 3359 :vartype supported_per_database_max_sizes: list[~azure.mgmt.sql.models.MaxSizeRangeCapability] 3360 :ivar supported_per_database_max_performance_levels: The list of supported per database max 3361 performance levels. 3362 :vartype supported_per_database_max_performance_levels: 3363 list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMaxPerformanceLevelCapability] 3364 :ivar zone_redundant: Whether or not zone redundancy is supported for the performance level. 3365 :vartype zone_redundant: bool 3366 :ivar supported_maintenance_configurations: List of supported maintenance configurations. 3367 :vartype supported_maintenance_configurations: 3368 list[~azure.mgmt.sql.models.MaintenanceConfigurationCapability] 3369 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 3370 "Default", "Disabled". 3371 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 3372 :param reason: The reason for the capability not being available. 3373 :type reason: str 3374 """ 3375 3376 _validation = { 3377 'performance_level': {'readonly': True}, 3378 'sku': {'readonly': True}, 3379 'supported_license_types': {'readonly': True}, 3380 'max_database_count': {'readonly': True}, 3381 'included_max_size': {'readonly': True}, 3382 'supported_max_sizes': {'readonly': True}, 3383 'supported_per_database_max_sizes': {'readonly': True}, 3384 'supported_per_database_max_performance_levels': {'readonly': True}, 3385 'zone_redundant': {'readonly': True}, 3386 'supported_maintenance_configurations': {'readonly': True}, 3387 'status': {'readonly': True}, 3388 } 3389 3390 _attribute_map = { 3391 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, 3392 'sku': {'key': 'sku', 'type': 'Sku'}, 3393 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, 3394 'max_database_count': {'key': 'maxDatabaseCount', 'type': 'int'}, 3395 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, 3396 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, 3397 'supported_per_database_max_sizes': {'key': 'supportedPerDatabaseMaxSizes', 'type': '[MaxSizeRangeCapability]'}, 3398 'supported_per_database_max_performance_levels': {'key': 'supportedPerDatabaseMaxPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMaxPerformanceLevelCapability]'}, 3399 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 3400 'supported_maintenance_configurations': {'key': 'supportedMaintenanceConfigurations', 'type': '[MaintenanceConfigurationCapability]'}, 3401 'status': {'key': 'status', 'type': 'str'}, 3402 'reason': {'key': 'reason', 'type': 'str'}, 3403 } 3404 3405 def __init__( 3406 self, 3407 **kwargs 3408 ): 3409 super(ElasticPoolPerformanceLevelCapability, self).__init__(**kwargs) 3410 self.performance_level = None 3411 self.sku = None 3412 self.supported_license_types = None 3413 self.max_database_count = None 3414 self.included_max_size = None 3415 self.supported_max_sizes = None 3416 self.supported_per_database_max_sizes = None 3417 self.supported_per_database_max_performance_levels = None 3418 self.zone_redundant = None 3419 self.supported_maintenance_configurations = None 3420 self.status = None 3421 self.reason = kwargs.get('reason', None) 3422 3423 3424class ElasticPoolUpdate(msrest.serialization.Model): 3425 """An elastic pool update. 3426 3427 :param sku: An ARM Resource SKU. 3428 :type sku: ~azure.mgmt.sql.models.Sku 3429 :param tags: A set of tags. Resource tags. 3430 :type tags: dict[str, str] 3431 :param max_size_bytes: The storage limit for the database elastic pool in bytes. 3432 :type max_size_bytes: long 3433 :param per_database_settings: The per database settings for the elastic pool. 3434 :type per_database_settings: ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings 3435 :param zone_redundant: Whether or not this elastic pool is zone redundant, which means the 3436 replicas of this elastic pool will be spread across multiple availability zones. 3437 :type zone_redundant: bool 3438 :param license_type: The license type to apply for this elastic pool. Possible values include: 3439 "LicenseIncluded", "BasePrice". 3440 :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType 3441 :param maintenance_configuration_id: Maintenance configuration id assigned to the elastic pool. 3442 This configuration defines the period when the maintenance updates will will occur. 3443 :type maintenance_configuration_id: str 3444 """ 3445 3446 _attribute_map = { 3447 'sku': {'key': 'sku', 'type': 'Sku'}, 3448 'tags': {'key': 'tags', 'type': '{str}'}, 3449 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, 3450 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, 3451 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 3452 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 3453 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 3454 } 3455 3456 def __init__( 3457 self, 3458 **kwargs 3459 ): 3460 super(ElasticPoolUpdate, self).__init__(**kwargs) 3461 self.sku = kwargs.get('sku', None) 3462 self.tags = kwargs.get('tags', None) 3463 self.max_size_bytes = kwargs.get('max_size_bytes', None) 3464 self.per_database_settings = kwargs.get('per_database_settings', None) 3465 self.zone_redundant = kwargs.get('zone_redundant', None) 3466 self.license_type = kwargs.get('license_type', None) 3467 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 3468 3469 3470class EncryptionProtector(ProxyResource): 3471 """The server encryption protector. 3472 3473 Variables are only populated by the server, and will be ignored when sending a request. 3474 3475 :ivar id: Resource ID. 3476 :vartype id: str 3477 :ivar name: Resource name. 3478 :vartype name: str 3479 :ivar type: Resource type. 3480 :vartype type: str 3481 :ivar kind: Kind of encryption protector. This is metadata used for the Azure portal 3482 experience. 3483 :vartype kind: str 3484 :ivar location: Resource location. 3485 :vartype location: str 3486 :ivar subregion: Subregion of the encryption protector. 3487 :vartype subregion: str 3488 :param server_key_name: The name of the server key. 3489 :type server_key_name: str 3490 :param server_key_type: The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. 3491 Possible values include: "ServiceManaged", "AzureKeyVault". 3492 :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType 3493 :ivar uri: The URI of the server key. 3494 :vartype uri: str 3495 :ivar thumbprint: Thumbprint of the server key. 3496 :vartype thumbprint: str 3497 :param auto_rotation_enabled: Key auto rotation opt-in flag. Either true or false. 3498 :type auto_rotation_enabled: bool 3499 """ 3500 3501 _validation = { 3502 'id': {'readonly': True}, 3503 'name': {'readonly': True}, 3504 'type': {'readonly': True}, 3505 'kind': {'readonly': True}, 3506 'location': {'readonly': True}, 3507 'subregion': {'readonly': True}, 3508 'uri': {'readonly': True}, 3509 'thumbprint': {'readonly': True}, 3510 } 3511 3512 _attribute_map = { 3513 'id': {'key': 'id', 'type': 'str'}, 3514 'name': {'key': 'name', 'type': 'str'}, 3515 'type': {'key': 'type', 'type': 'str'}, 3516 'kind': {'key': 'kind', 'type': 'str'}, 3517 'location': {'key': 'location', 'type': 'str'}, 3518 'subregion': {'key': 'properties.subregion', 'type': 'str'}, 3519 'server_key_name': {'key': 'properties.serverKeyName', 'type': 'str'}, 3520 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, 3521 'uri': {'key': 'properties.uri', 'type': 'str'}, 3522 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 3523 'auto_rotation_enabled': {'key': 'properties.autoRotationEnabled', 'type': 'bool'}, 3524 } 3525 3526 def __init__( 3527 self, 3528 **kwargs 3529 ): 3530 super(EncryptionProtector, self).__init__(**kwargs) 3531 self.kind = None 3532 self.location = None 3533 self.subregion = None 3534 self.server_key_name = kwargs.get('server_key_name', None) 3535 self.server_key_type = kwargs.get('server_key_type', None) 3536 self.uri = None 3537 self.thumbprint = None 3538 self.auto_rotation_enabled = kwargs.get('auto_rotation_enabled', None) 3539 3540 3541class EncryptionProtectorListResult(msrest.serialization.Model): 3542 """A list of server encryption protectors. 3543 3544 Variables are only populated by the server, and will be ignored when sending a request. 3545 3546 :ivar value: Array of results. 3547 :vartype value: list[~azure.mgmt.sql.models.EncryptionProtector] 3548 :ivar next_link: Link to retrieve next page of results. 3549 :vartype next_link: str 3550 """ 3551 3552 _validation = { 3553 'value': {'readonly': True}, 3554 'next_link': {'readonly': True}, 3555 } 3556 3557 _attribute_map = { 3558 'value': {'key': 'value', 'type': '[EncryptionProtector]'}, 3559 'next_link': {'key': 'nextLink', 'type': 'str'}, 3560 } 3561 3562 def __init__( 3563 self, 3564 **kwargs 3565 ): 3566 super(EncryptionProtectorListResult, self).__init__(**kwargs) 3567 self.value = None 3568 self.next_link = None 3569 3570 3571class ExportDatabaseDefinition(msrest.serialization.Model): 3572 """Contains the information necessary to perform export database operation. 3573 3574 All required parameters must be populated in order to send to Azure. 3575 3576 :param storage_key_type: Required. Storage key type. Possible values include: 3577 "SharedAccessKey", "StorageAccessKey". 3578 :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType 3579 :param storage_key: Required. Storage key. 3580 :type storage_key: str 3581 :param storage_uri: Required. Storage Uri. 3582 :type storage_uri: str 3583 :param administrator_login: Required. Administrator login name. 3584 :type administrator_login: str 3585 :param administrator_login_password: Required. Administrator login password. 3586 :type administrator_login_password: str 3587 :param authentication_type: Authentication type. 3588 :type authentication_type: str 3589 :param network_isolation: Optional resource information to enable network isolation for 3590 request. 3591 :type network_isolation: ~azure.mgmt.sql.models.NetworkIsolationSettings 3592 """ 3593 3594 _validation = { 3595 'storage_key_type': {'required': True}, 3596 'storage_key': {'required': True}, 3597 'storage_uri': {'required': True}, 3598 'administrator_login': {'required': True}, 3599 'administrator_login_password': {'required': True}, 3600 } 3601 3602 _attribute_map = { 3603 'storage_key_type': {'key': 'storageKeyType', 'type': 'str'}, 3604 'storage_key': {'key': 'storageKey', 'type': 'str'}, 3605 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 3606 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, 3607 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, 3608 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, 3609 'network_isolation': {'key': 'networkIsolation', 'type': 'NetworkIsolationSettings'}, 3610 } 3611 3612 def __init__( 3613 self, 3614 **kwargs 3615 ): 3616 super(ExportDatabaseDefinition, self).__init__(**kwargs) 3617 self.storage_key_type = kwargs['storage_key_type'] 3618 self.storage_key = kwargs['storage_key'] 3619 self.storage_uri = kwargs['storage_uri'] 3620 self.administrator_login = kwargs['administrator_login'] 3621 self.administrator_login_password = kwargs['administrator_login_password'] 3622 self.authentication_type = kwargs.get('authentication_type', None) 3623 self.network_isolation = kwargs.get('network_isolation', None) 3624 3625 3626class ExtendedDatabaseBlobAuditingPolicy(ProxyResource): 3627 """An extended database blob auditing policy. 3628 3629 Variables are only populated by the server, and will be ignored when sending a request. 3630 3631 :ivar id: Resource ID. 3632 :vartype id: str 3633 :ivar name: Resource name. 3634 :vartype name: str 3635 :ivar type: Resource type. 3636 :vartype type: str 3637 :param predicate_expression: Specifies condition of where clause when creating an audit. 3638 :type predicate_expression: str 3639 :param retention_days: Specifies the number of days to keep in the audit logs in the storage 3640 account. 3641 :type retention_days: int 3642 :param audit_actions_and_groups: Specifies the Actions-Groups and Actions to audit. 3643 3644 The recommended set of action groups to use is the following combination - this will audit all 3645 the queries and stored procedures executed against the database, as well as successful and 3646 failed logins: 3647 3648 BATCH_COMPLETED_GROUP, 3649 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 3650 FAILED_DATABASE_AUTHENTICATION_GROUP. 3651 3652 This above combination is also the set that is configured by default when enabling auditing 3653 from the Azure portal. 3654 3655 The supported action groups to audit are (note: choose only specific groups that cover your 3656 auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 3657 3658 APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 3659 BACKUP_RESTORE_GROUP 3660 DATABASE_LOGOUT_GROUP 3661 DATABASE_OBJECT_CHANGE_GROUP 3662 DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 3663 DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 3664 DATABASE_OPERATION_GROUP 3665 DATABASE_PERMISSION_CHANGE_GROUP 3666 DATABASE_PRINCIPAL_CHANGE_GROUP 3667 DATABASE_PRINCIPAL_IMPERSONATION_GROUP 3668 DATABASE_ROLE_MEMBER_CHANGE_GROUP 3669 FAILED_DATABASE_AUTHENTICATION_GROUP 3670 SCHEMA_OBJECT_ACCESS_GROUP 3671 SCHEMA_OBJECT_CHANGE_GROUP 3672 SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 3673 SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 3674 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 3675 USER_CHANGE_PASSWORD_GROUP 3676 BATCH_STARTED_GROUP 3677 BATCH_COMPLETED_GROUP 3678 3679 These are groups that cover all sql statements and stored procedures executed against the 3680 database, and should not be used in combination with other groups as this will result in 3681 duplicate audit logs. 3682 3683 For more information, see `Database-Level Audit Action Groups 3684 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups>`_. 3685 3686 For Database auditing policy, specific Actions can also be specified (note that Actions cannot 3687 be specified for Server auditing policy). The supported actions to audit are: 3688 SELECT 3689 UPDATE 3690 INSERT 3691 DELETE 3692 EXECUTE 3693 RECEIVE 3694 REFERENCES 3695 3696 The general form for defining an action to be audited is: 3697 {action} ON {object} BY {principal} 3698 3699 Note that :code:`<object>` in the above format can refer to an object like a table, view, or 3700 stored procedure, or an entire database or schema. For the latter cases, the forms 3701 DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 3702 3703 For example: 3704 SELECT on dbo.myTable by public 3705 SELECT on DATABASE::myDatabase by public 3706 SELECT on SCHEMA::mySchema by public 3707 3708 For more information, see `Database-Level Audit Actions 3709 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions>`_. 3710 :type audit_actions_and_groups: list[str] 3711 :param is_storage_secondary_key_in_use: Specifies whether storageAccountAccessKey value is the 3712 storage's secondary key. 3713 :type is_storage_secondary_key_in_use: bool 3714 :param is_azure_monitor_target_enabled: Specifies whether audit events are sent to Azure 3715 Monitor. 3716 In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 3717 'IsAzureMonitorTargetEnabled' as true. 3718 3719 When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' 3720 diagnostic logs category on the database should be also created. 3721 Note that for server level audit you should use the 'master' database as {databaseName}. 3722 3723 Diagnostic Settings URI format: 3724 PUT 3725 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 3726 3727 For more information, see `Diagnostic Settings REST API 3728 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 3729 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 3730 :type is_azure_monitor_target_enabled: bool 3731 :param queue_delay_ms: Specifies the amount of time in milliseconds that can elapse before 3732 audit actions are forced to be processed. 3733 The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 3734 :type queue_delay_ms: int 3735 :param state: Specifies the state of the audit. If state is Enabled, storageEndpoint or 3736 isAzureMonitorTargetEnabled are required. Possible values include: "Enabled", "Disabled". 3737 :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState 3738 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 3739 https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or 3740 isAzureMonitorTargetEnabled is required. 3741 :type storage_endpoint: str 3742 :param storage_account_access_key: Specifies the identifier key of the auditing storage 3743 account. 3744 If state is Enabled and storageEndpoint is specified, not specifying the 3745 storageAccountAccessKey will use SQL server system-assigned managed identity to access the 3746 storage. 3747 Prerequisites for using managed identity authentication: 3748 3749 3750 #. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 3751 #. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data 3752 Contributor' RBAC role to the server identity. 3753 For more information, see `Auditing to storage using Managed Identity authentication 3754 <https://go.microsoft.com/fwlink/?linkid=2114355>`_. 3755 :type storage_account_access_key: str 3756 :param storage_account_subscription_id: Specifies the blob storage subscription Id. 3757 :type storage_account_subscription_id: str 3758 """ 3759 3760 _validation = { 3761 'id': {'readonly': True}, 3762 'name': {'readonly': True}, 3763 'type': {'readonly': True}, 3764 } 3765 3766 _attribute_map = { 3767 'id': {'key': 'id', 'type': 'str'}, 3768 'name': {'key': 'name', 'type': 'str'}, 3769 'type': {'key': 'type', 'type': 'str'}, 3770 'predicate_expression': {'key': 'properties.predicateExpression', 'type': 'str'}, 3771 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 3772 'audit_actions_and_groups': {'key': 'properties.auditActionsAndGroups', 'type': '[str]'}, 3773 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, 3774 'is_azure_monitor_target_enabled': {'key': 'properties.isAzureMonitorTargetEnabled', 'type': 'bool'}, 3775 'queue_delay_ms': {'key': 'properties.queueDelayMs', 'type': 'int'}, 3776 'state': {'key': 'properties.state', 'type': 'str'}, 3777 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 3778 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 3779 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, 3780 } 3781 3782 def __init__( 3783 self, 3784 **kwargs 3785 ): 3786 super(ExtendedDatabaseBlobAuditingPolicy, self).__init__(**kwargs) 3787 self.predicate_expression = kwargs.get('predicate_expression', None) 3788 self.retention_days = kwargs.get('retention_days', None) 3789 self.audit_actions_and_groups = kwargs.get('audit_actions_and_groups', None) 3790 self.is_storage_secondary_key_in_use = kwargs.get('is_storage_secondary_key_in_use', None) 3791 self.is_azure_monitor_target_enabled = kwargs.get('is_azure_monitor_target_enabled', None) 3792 self.queue_delay_ms = kwargs.get('queue_delay_ms', None) 3793 self.state = kwargs.get('state', None) 3794 self.storage_endpoint = kwargs.get('storage_endpoint', None) 3795 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 3796 self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) 3797 3798 3799class ExtendedDatabaseBlobAuditingPolicyListResult(msrest.serialization.Model): 3800 """A list of database extended auditing settings. 3801 3802 Variables are only populated by the server, and will be ignored when sending a request. 3803 3804 :ivar value: Array of results. 3805 :vartype value: list[~azure.mgmt.sql.models.ExtendedDatabaseBlobAuditingPolicy] 3806 :ivar next_link: Link to retrieve next page of results. 3807 :vartype next_link: str 3808 """ 3809 3810 _validation = { 3811 'value': {'readonly': True}, 3812 'next_link': {'readonly': True}, 3813 } 3814 3815 _attribute_map = { 3816 'value': {'key': 'value', 'type': '[ExtendedDatabaseBlobAuditingPolicy]'}, 3817 'next_link': {'key': 'nextLink', 'type': 'str'}, 3818 } 3819 3820 def __init__( 3821 self, 3822 **kwargs 3823 ): 3824 super(ExtendedDatabaseBlobAuditingPolicyListResult, self).__init__(**kwargs) 3825 self.value = None 3826 self.next_link = None 3827 3828 3829class ExtendedServerBlobAuditingPolicy(ProxyResource): 3830 """An extended server blob auditing policy. 3831 3832 Variables are only populated by the server, and will be ignored when sending a request. 3833 3834 :ivar id: Resource ID. 3835 :vartype id: str 3836 :ivar name: Resource name. 3837 :vartype name: str 3838 :ivar type: Resource type. 3839 :vartype type: str 3840 :param is_devops_audit_enabled: Specifies the state of devops audit. If state is Enabled, 3841 devops logs will be sent to Azure Monitor. 3842 In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 3843 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true 3844 3845 When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' 3846 diagnostic logs category on the master database should also be created. 3847 3848 Diagnostic Settings URI format: 3849 PUT 3850 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 3851 3852 For more information, see `Diagnostic Settings REST API 3853 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 3854 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 3855 :type is_devops_audit_enabled: bool 3856 :param predicate_expression: Specifies condition of where clause when creating an audit. 3857 :type predicate_expression: str 3858 :param retention_days: Specifies the number of days to keep in the audit logs in the storage 3859 account. 3860 :type retention_days: int 3861 :param audit_actions_and_groups: Specifies the Actions-Groups and Actions to audit. 3862 3863 The recommended set of action groups to use is the following combination - this will audit all 3864 the queries and stored procedures executed against the database, as well as successful and 3865 failed logins: 3866 3867 BATCH_COMPLETED_GROUP, 3868 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 3869 FAILED_DATABASE_AUTHENTICATION_GROUP. 3870 3871 This above combination is also the set that is configured by default when enabling auditing 3872 from the Azure portal. 3873 3874 The supported action groups to audit are (note: choose only specific groups that cover your 3875 auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 3876 3877 APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 3878 BACKUP_RESTORE_GROUP 3879 DATABASE_LOGOUT_GROUP 3880 DATABASE_OBJECT_CHANGE_GROUP 3881 DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 3882 DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 3883 DATABASE_OPERATION_GROUP 3884 DATABASE_PERMISSION_CHANGE_GROUP 3885 DATABASE_PRINCIPAL_CHANGE_GROUP 3886 DATABASE_PRINCIPAL_IMPERSONATION_GROUP 3887 DATABASE_ROLE_MEMBER_CHANGE_GROUP 3888 FAILED_DATABASE_AUTHENTICATION_GROUP 3889 SCHEMA_OBJECT_ACCESS_GROUP 3890 SCHEMA_OBJECT_CHANGE_GROUP 3891 SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 3892 SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 3893 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 3894 USER_CHANGE_PASSWORD_GROUP 3895 BATCH_STARTED_GROUP 3896 BATCH_COMPLETED_GROUP 3897 3898 These are groups that cover all sql statements and stored procedures executed against the 3899 database, and should not be used in combination with other groups as this will result in 3900 duplicate audit logs. 3901 3902 For more information, see `Database-Level Audit Action Groups 3903 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups>`_. 3904 3905 For Database auditing policy, specific Actions can also be specified (note that Actions cannot 3906 be specified for Server auditing policy). The supported actions to audit are: 3907 SELECT 3908 UPDATE 3909 INSERT 3910 DELETE 3911 EXECUTE 3912 RECEIVE 3913 REFERENCES 3914 3915 The general form for defining an action to be audited is: 3916 {action} ON {object} BY {principal} 3917 3918 Note that :code:`<object>` in the above format can refer to an object like a table, view, or 3919 stored procedure, or an entire database or schema. For the latter cases, the forms 3920 DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 3921 3922 For example: 3923 SELECT on dbo.myTable by public 3924 SELECT on DATABASE::myDatabase by public 3925 SELECT on SCHEMA::mySchema by public 3926 3927 For more information, see `Database-Level Audit Actions 3928 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions>`_. 3929 :type audit_actions_and_groups: list[str] 3930 :param is_storage_secondary_key_in_use: Specifies whether storageAccountAccessKey value is the 3931 storage's secondary key. 3932 :type is_storage_secondary_key_in_use: bool 3933 :param is_azure_monitor_target_enabled: Specifies whether audit events are sent to Azure 3934 Monitor. 3935 In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 3936 'IsAzureMonitorTargetEnabled' as true. 3937 3938 When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' 3939 diagnostic logs category on the database should be also created. 3940 Note that for server level audit you should use the 'master' database as {databaseName}. 3941 3942 Diagnostic Settings URI format: 3943 PUT 3944 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 3945 3946 For more information, see `Diagnostic Settings REST API 3947 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 3948 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 3949 :type is_azure_monitor_target_enabled: bool 3950 :param queue_delay_ms: Specifies the amount of time in milliseconds that can elapse before 3951 audit actions are forced to be processed. 3952 The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 3953 :type queue_delay_ms: int 3954 :param state: Specifies the state of the audit. If state is Enabled, storageEndpoint or 3955 isAzureMonitorTargetEnabled are required. Possible values include: "Enabled", "Disabled". 3956 :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState 3957 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 3958 https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or 3959 isAzureMonitorTargetEnabled is required. 3960 :type storage_endpoint: str 3961 :param storage_account_access_key: Specifies the identifier key of the auditing storage 3962 account. 3963 If state is Enabled and storageEndpoint is specified, not specifying the 3964 storageAccountAccessKey will use SQL server system-assigned managed identity to access the 3965 storage. 3966 Prerequisites for using managed identity authentication: 3967 3968 3969 #. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 3970 #. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data 3971 Contributor' RBAC role to the server identity. 3972 For more information, see `Auditing to storage using Managed Identity authentication 3973 <https://go.microsoft.com/fwlink/?linkid=2114355>`_. 3974 :type storage_account_access_key: str 3975 :param storage_account_subscription_id: Specifies the blob storage subscription Id. 3976 :type storage_account_subscription_id: str 3977 """ 3978 3979 _validation = { 3980 'id': {'readonly': True}, 3981 'name': {'readonly': True}, 3982 'type': {'readonly': True}, 3983 } 3984 3985 _attribute_map = { 3986 'id': {'key': 'id', 'type': 'str'}, 3987 'name': {'key': 'name', 'type': 'str'}, 3988 'type': {'key': 'type', 'type': 'str'}, 3989 'is_devops_audit_enabled': {'key': 'properties.isDevopsAuditEnabled', 'type': 'bool'}, 3990 'predicate_expression': {'key': 'properties.predicateExpression', 'type': 'str'}, 3991 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 3992 'audit_actions_and_groups': {'key': 'properties.auditActionsAndGroups', 'type': '[str]'}, 3993 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, 3994 'is_azure_monitor_target_enabled': {'key': 'properties.isAzureMonitorTargetEnabled', 'type': 'bool'}, 3995 'queue_delay_ms': {'key': 'properties.queueDelayMs', 'type': 'int'}, 3996 'state': {'key': 'properties.state', 'type': 'str'}, 3997 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 3998 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 3999 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, 4000 } 4001 4002 def __init__( 4003 self, 4004 **kwargs 4005 ): 4006 super(ExtendedServerBlobAuditingPolicy, self).__init__(**kwargs) 4007 self.is_devops_audit_enabled = kwargs.get('is_devops_audit_enabled', None) 4008 self.predicate_expression = kwargs.get('predicate_expression', None) 4009 self.retention_days = kwargs.get('retention_days', None) 4010 self.audit_actions_and_groups = kwargs.get('audit_actions_and_groups', None) 4011 self.is_storage_secondary_key_in_use = kwargs.get('is_storage_secondary_key_in_use', None) 4012 self.is_azure_monitor_target_enabled = kwargs.get('is_azure_monitor_target_enabled', None) 4013 self.queue_delay_ms = kwargs.get('queue_delay_ms', None) 4014 self.state = kwargs.get('state', None) 4015 self.storage_endpoint = kwargs.get('storage_endpoint', None) 4016 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 4017 self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) 4018 4019 4020class ExtendedServerBlobAuditingPolicyListResult(msrest.serialization.Model): 4021 """A list of server extended auditing settings. 4022 4023 Variables are only populated by the server, and will be ignored when sending a request. 4024 4025 :ivar value: Array of results. 4026 :vartype value: list[~azure.mgmt.sql.models.ExtendedServerBlobAuditingPolicy] 4027 :ivar next_link: Link to retrieve next page of results. 4028 :vartype next_link: str 4029 """ 4030 4031 _validation = { 4032 'value': {'readonly': True}, 4033 'next_link': {'readonly': True}, 4034 } 4035 4036 _attribute_map = { 4037 'value': {'key': 'value', 'type': '[ExtendedServerBlobAuditingPolicy]'}, 4038 'next_link': {'key': 'nextLink', 'type': 'str'}, 4039 } 4040 4041 def __init__( 4042 self, 4043 **kwargs 4044 ): 4045 super(ExtendedServerBlobAuditingPolicyListResult, self).__init__(**kwargs) 4046 self.value = None 4047 self.next_link = None 4048 4049 4050class FailoverGroup(ProxyResource): 4051 """A failover group. 4052 4053 Variables are only populated by the server, and will be ignored when sending a request. 4054 4055 :ivar id: Resource ID. 4056 :vartype id: str 4057 :ivar name: Resource name. 4058 :vartype name: str 4059 :ivar type: Resource type. 4060 :vartype type: str 4061 :ivar location: Resource location. 4062 :vartype location: str 4063 :param tags: A set of tags. Resource tags. 4064 :type tags: dict[str, str] 4065 :param read_write_endpoint: Read-write endpoint of the failover group instance. 4066 :type read_write_endpoint: ~azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint 4067 :param read_only_endpoint: Read-only endpoint of the failover group instance. 4068 :type read_only_endpoint: ~azure.mgmt.sql.models.FailoverGroupReadOnlyEndpoint 4069 :ivar replication_role: Local replication role of the failover group instance. Possible values 4070 include: "Primary", "Secondary". 4071 :vartype replication_role: str or ~azure.mgmt.sql.models.FailoverGroupReplicationRole 4072 :ivar replication_state: Replication state of the failover group instance. 4073 :vartype replication_state: str 4074 :param partner_servers: List of partner server information for the failover group. 4075 :type partner_servers: list[~azure.mgmt.sql.models.PartnerInfo] 4076 :param databases: List of databases in the failover group. 4077 :type databases: list[str] 4078 """ 4079 4080 _validation = { 4081 'id': {'readonly': True}, 4082 'name': {'readonly': True}, 4083 'type': {'readonly': True}, 4084 'location': {'readonly': True}, 4085 'replication_role': {'readonly': True}, 4086 'replication_state': {'readonly': True}, 4087 } 4088 4089 _attribute_map = { 4090 'id': {'key': 'id', 'type': 'str'}, 4091 'name': {'key': 'name', 'type': 'str'}, 4092 'type': {'key': 'type', 'type': 'str'}, 4093 'location': {'key': 'location', 'type': 'str'}, 4094 'tags': {'key': 'tags', 'type': '{str}'}, 4095 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'FailoverGroupReadWriteEndpoint'}, 4096 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'FailoverGroupReadOnlyEndpoint'}, 4097 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, 4098 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, 4099 'partner_servers': {'key': 'properties.partnerServers', 'type': '[PartnerInfo]'}, 4100 'databases': {'key': 'properties.databases', 'type': '[str]'}, 4101 } 4102 4103 def __init__( 4104 self, 4105 **kwargs 4106 ): 4107 super(FailoverGroup, self).__init__(**kwargs) 4108 self.location = None 4109 self.tags = kwargs.get('tags', None) 4110 self.read_write_endpoint = kwargs.get('read_write_endpoint', None) 4111 self.read_only_endpoint = kwargs.get('read_only_endpoint', None) 4112 self.replication_role = None 4113 self.replication_state = None 4114 self.partner_servers = kwargs.get('partner_servers', None) 4115 self.databases = kwargs.get('databases', None) 4116 4117 4118class FailoverGroupListResult(msrest.serialization.Model): 4119 """A list of failover groups. 4120 4121 Variables are only populated by the server, and will be ignored when sending a request. 4122 4123 :ivar value: Array of results. 4124 :vartype value: list[~azure.mgmt.sql.models.FailoverGroup] 4125 :ivar next_link: Link to retrieve next page of results. 4126 :vartype next_link: str 4127 """ 4128 4129 _validation = { 4130 'value': {'readonly': True}, 4131 'next_link': {'readonly': True}, 4132 } 4133 4134 _attribute_map = { 4135 'value': {'key': 'value', 'type': '[FailoverGroup]'}, 4136 'next_link': {'key': 'nextLink', 'type': 'str'}, 4137 } 4138 4139 def __init__( 4140 self, 4141 **kwargs 4142 ): 4143 super(FailoverGroupListResult, self).__init__(**kwargs) 4144 self.value = None 4145 self.next_link = None 4146 4147 4148class FailoverGroupReadOnlyEndpoint(msrest.serialization.Model): 4149 """Read-only endpoint of the failover group instance. 4150 4151 :param failover_policy: Failover policy of the read-only endpoint for the failover group. 4152 Possible values include: "Disabled", "Enabled". 4153 :type failover_policy: str or ~azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy 4154 """ 4155 4156 _attribute_map = { 4157 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, 4158 } 4159 4160 def __init__( 4161 self, 4162 **kwargs 4163 ): 4164 super(FailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) 4165 self.failover_policy = kwargs.get('failover_policy', None) 4166 4167 4168class FailoverGroupReadWriteEndpoint(msrest.serialization.Model): 4169 """Read-write endpoint of the failover group instance. 4170 4171 All required parameters must be populated in order to send to Azure. 4172 4173 :param failover_policy: Required. Failover policy of the read-write endpoint for the failover 4174 group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. 4175 Possible values include: "Manual", "Automatic". 4176 :type failover_policy: str or ~azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy 4177 :param failover_with_data_loss_grace_period_minutes: Grace period before failover with data 4178 loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then 4179 failoverWithDataLossGracePeriodMinutes is required. 4180 :type failover_with_data_loss_grace_period_minutes: int 4181 """ 4182 4183 _validation = { 4184 'failover_policy': {'required': True}, 4185 } 4186 4187 _attribute_map = { 4188 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, 4189 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, 4190 } 4191 4192 def __init__( 4193 self, 4194 **kwargs 4195 ): 4196 super(FailoverGroupReadWriteEndpoint, self).__init__(**kwargs) 4197 self.failover_policy = kwargs['failover_policy'] 4198 self.failover_with_data_loss_grace_period_minutes = kwargs.get('failover_with_data_loss_grace_period_minutes', None) 4199 4200 4201class FailoverGroupUpdate(msrest.serialization.Model): 4202 """A failover group update request. 4203 4204 :param tags: A set of tags. Resource tags. 4205 :type tags: dict[str, str] 4206 :param read_write_endpoint: Read-write endpoint of the failover group instance. 4207 :type read_write_endpoint: ~azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint 4208 :param read_only_endpoint: Read-only endpoint of the failover group instance. 4209 :type read_only_endpoint: ~azure.mgmt.sql.models.FailoverGroupReadOnlyEndpoint 4210 :param databases: List of databases in the failover group. 4211 :type databases: list[str] 4212 """ 4213 4214 _attribute_map = { 4215 'tags': {'key': 'tags', 'type': '{str}'}, 4216 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'FailoverGroupReadWriteEndpoint'}, 4217 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'FailoverGroupReadOnlyEndpoint'}, 4218 'databases': {'key': 'properties.databases', 'type': '[str]'}, 4219 } 4220 4221 def __init__( 4222 self, 4223 **kwargs 4224 ): 4225 super(FailoverGroupUpdate, self).__init__(**kwargs) 4226 self.tags = kwargs.get('tags', None) 4227 self.read_write_endpoint = kwargs.get('read_write_endpoint', None) 4228 self.read_only_endpoint = kwargs.get('read_only_endpoint', None) 4229 self.databases = kwargs.get('databases', None) 4230 4231 4232class ResourceWithWritableName(msrest.serialization.Model): 4233 """ARM resource. 4234 4235 Variables are only populated by the server, and will be ignored when sending a request. 4236 4237 :ivar id: Resource ID. 4238 :vartype id: str 4239 :param name: Resource name. 4240 :type name: str 4241 :ivar type: Resource type. 4242 :vartype type: str 4243 """ 4244 4245 _validation = { 4246 'id': {'readonly': True}, 4247 'type': {'readonly': True}, 4248 } 4249 4250 _attribute_map = { 4251 'id': {'key': 'id', 'type': 'str'}, 4252 'name': {'key': 'name', 'type': 'str'}, 4253 'type': {'key': 'type', 'type': 'str'}, 4254 } 4255 4256 def __init__( 4257 self, 4258 **kwargs 4259 ): 4260 super(ResourceWithWritableName, self).__init__(**kwargs) 4261 self.id = None 4262 self.name = kwargs.get('name', None) 4263 self.type = None 4264 4265 4266class ProxyResourceWithWritableName(ResourceWithWritableName): 4267 """ARM proxy resource. 4268 4269 Variables are only populated by the server, and will be ignored when sending a request. 4270 4271 :ivar id: Resource ID. 4272 :vartype id: str 4273 :param name: Resource name. 4274 :type name: str 4275 :ivar type: Resource type. 4276 :vartype type: str 4277 """ 4278 4279 _validation = { 4280 'id': {'readonly': True}, 4281 'type': {'readonly': True}, 4282 } 4283 4284 _attribute_map = { 4285 'id': {'key': 'id', 'type': 'str'}, 4286 'name': {'key': 'name', 'type': 'str'}, 4287 'type': {'key': 'type', 'type': 'str'}, 4288 } 4289 4290 def __init__( 4291 self, 4292 **kwargs 4293 ): 4294 super(ProxyResourceWithWritableName, self).__init__(**kwargs) 4295 4296 4297class FirewallRule(ProxyResourceWithWritableName): 4298 """A server firewall rule. 4299 4300 Variables are only populated by the server, and will be ignored when sending a request. 4301 4302 :ivar id: Resource ID. 4303 :vartype id: str 4304 :param name: Resource name. 4305 :type name: str 4306 :ivar type: Resource type. 4307 :vartype type: str 4308 :param start_ip_address: The start IP address of the firewall rule. Must be IPv4 format. Use 4309 value '0.0.0.0' for all Azure-internal IP addresses. 4310 :type start_ip_address: str 4311 :param end_ip_address: The end IP address of the firewall rule. Must be IPv4 format. Must be 4312 greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP 4313 addresses. 4314 :type end_ip_address: str 4315 """ 4316 4317 _validation = { 4318 'id': {'readonly': True}, 4319 'type': {'readonly': True}, 4320 } 4321 4322 _attribute_map = { 4323 'id': {'key': 'id', 'type': 'str'}, 4324 'name': {'key': 'name', 'type': 'str'}, 4325 'type': {'key': 'type', 'type': 'str'}, 4326 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, 4327 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, 4328 } 4329 4330 def __init__( 4331 self, 4332 **kwargs 4333 ): 4334 super(FirewallRule, self).__init__(**kwargs) 4335 self.start_ip_address = kwargs.get('start_ip_address', None) 4336 self.end_ip_address = kwargs.get('end_ip_address', None) 4337 4338 4339class FirewallRuleList(msrest.serialization.Model): 4340 """A list of server firewall rules. 4341 4342 :param values: 4343 :type values: list[~azure.mgmt.sql.models.FirewallRule] 4344 """ 4345 4346 _attribute_map = { 4347 'values': {'key': 'values', 'type': '[FirewallRule]'}, 4348 } 4349 4350 def __init__( 4351 self, 4352 **kwargs 4353 ): 4354 super(FirewallRuleList, self).__init__(**kwargs) 4355 self.values = kwargs.get('values', None) 4356 4357 4358class FirewallRuleListResult(msrest.serialization.Model): 4359 """The response to a list firewall rules request. 4360 4361 Variables are only populated by the server, and will be ignored when sending a request. 4362 4363 :ivar value: Array of results. 4364 :vartype value: list[~azure.mgmt.sql.models.FirewallRule] 4365 :ivar next_link: Link to retrieve next page of results. 4366 :vartype next_link: str 4367 """ 4368 4369 _validation = { 4370 'value': {'readonly': True}, 4371 'next_link': {'readonly': True}, 4372 } 4373 4374 _attribute_map = { 4375 'value': {'key': 'value', 'type': '[FirewallRule]'}, 4376 'next_link': {'key': 'nextLink', 'type': 'str'}, 4377 } 4378 4379 def __init__( 4380 self, 4381 **kwargs 4382 ): 4383 super(FirewallRuleListResult, self).__init__(**kwargs) 4384 self.value = None 4385 self.next_link = None 4386 4387 4388class GeoBackupPolicy(ProxyResource): 4389 """A database geo backup policy. 4390 4391 Variables are only populated by the server, and will be ignored when sending a request. 4392 4393 All required parameters must be populated in order to send to Azure. 4394 4395 :ivar id: Resource ID. 4396 :vartype id: str 4397 :ivar name: Resource name. 4398 :vartype name: str 4399 :ivar type: Resource type. 4400 :vartype type: str 4401 :ivar kind: Kind of geo backup policy. This is metadata used for the Azure portal experience. 4402 :vartype kind: str 4403 :ivar location: Backup policy location. 4404 :vartype location: str 4405 :param state: Required. The state of the geo backup policy. Possible values include: 4406 "Disabled", "Enabled". 4407 :type state: str or ~azure.mgmt.sql.models.GeoBackupPolicyState 4408 :ivar storage_type: The storage type of the geo backup policy. 4409 :vartype storage_type: str 4410 """ 4411 4412 _validation = { 4413 'id': {'readonly': True}, 4414 'name': {'readonly': True}, 4415 'type': {'readonly': True}, 4416 'kind': {'readonly': True}, 4417 'location': {'readonly': True}, 4418 'state': {'required': True}, 4419 'storage_type': {'readonly': True}, 4420 } 4421 4422 _attribute_map = { 4423 'id': {'key': 'id', 'type': 'str'}, 4424 'name': {'key': 'name', 'type': 'str'}, 4425 'type': {'key': 'type', 'type': 'str'}, 4426 'kind': {'key': 'kind', 'type': 'str'}, 4427 'location': {'key': 'location', 'type': 'str'}, 4428 'state': {'key': 'properties.state', 'type': 'str'}, 4429 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, 4430 } 4431 4432 def __init__( 4433 self, 4434 **kwargs 4435 ): 4436 super(GeoBackupPolicy, self).__init__(**kwargs) 4437 self.kind = None 4438 self.location = None 4439 self.state = kwargs['state'] 4440 self.storage_type = None 4441 4442 4443class GeoBackupPolicyListResult(msrest.serialization.Model): 4444 """The response to a list geo backup policies request. 4445 4446 :param value: The list of geo backup policies. 4447 :type value: list[~azure.mgmt.sql.models.GeoBackupPolicy] 4448 """ 4449 4450 _attribute_map = { 4451 'value': {'key': 'value', 'type': '[GeoBackupPolicy]'}, 4452 } 4453 4454 def __init__( 4455 self, 4456 **kwargs 4457 ): 4458 super(GeoBackupPolicyListResult, self).__init__(**kwargs) 4459 self.value = kwargs.get('value', None) 4460 4461 4462class ImportExistingDatabaseDefinition(msrest.serialization.Model): 4463 """Contains the information necessary to perform import operation for existing database. 4464 4465 All required parameters must be populated in order to send to Azure. 4466 4467 :param storage_key_type: Required. Storage key type. Possible values include: 4468 "SharedAccessKey", "StorageAccessKey". 4469 :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType 4470 :param storage_key: Required. Storage key. 4471 :type storage_key: str 4472 :param storage_uri: Required. Storage Uri. 4473 :type storage_uri: str 4474 :param administrator_login: Required. Administrator login name. 4475 :type administrator_login: str 4476 :param administrator_login_password: Required. Administrator login password. 4477 :type administrator_login_password: str 4478 :param authentication_type: Authentication type. 4479 :type authentication_type: str 4480 :param network_isolation: Optional resource information to enable network isolation for 4481 request. 4482 :type network_isolation: ~azure.mgmt.sql.models.NetworkIsolationSettings 4483 """ 4484 4485 _validation = { 4486 'storage_key_type': {'required': True}, 4487 'storage_key': {'required': True}, 4488 'storage_uri': {'required': True}, 4489 'administrator_login': {'required': True}, 4490 'administrator_login_password': {'required': True}, 4491 } 4492 4493 _attribute_map = { 4494 'storage_key_type': {'key': 'storageKeyType', 'type': 'str'}, 4495 'storage_key': {'key': 'storageKey', 'type': 'str'}, 4496 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 4497 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, 4498 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, 4499 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, 4500 'network_isolation': {'key': 'networkIsolation', 'type': 'NetworkIsolationSettings'}, 4501 } 4502 4503 def __init__( 4504 self, 4505 **kwargs 4506 ): 4507 super(ImportExistingDatabaseDefinition, self).__init__(**kwargs) 4508 self.storage_key_type = kwargs['storage_key_type'] 4509 self.storage_key = kwargs['storage_key'] 4510 self.storage_uri = kwargs['storage_uri'] 4511 self.administrator_login = kwargs['administrator_login'] 4512 self.administrator_login_password = kwargs['administrator_login_password'] 4513 self.authentication_type = kwargs.get('authentication_type', None) 4514 self.network_isolation = kwargs.get('network_isolation', None) 4515 4516 4517class ImportExportExtensionsOperationListResult(msrest.serialization.Model): 4518 """Import export operation extensions list. 4519 4520 Variables are only populated by the server, and will be ignored when sending a request. 4521 4522 :ivar value: Array of results. 4523 :vartype value: list[~azure.mgmt.sql.models.ImportExportExtensionsOperationResult] 4524 :ivar next_link: Link to retrieve next page of results. 4525 :vartype next_link: str 4526 """ 4527 4528 _validation = { 4529 'value': {'readonly': True}, 4530 'next_link': {'readonly': True}, 4531 } 4532 4533 _attribute_map = { 4534 'value': {'key': 'value', 'type': '[ImportExportExtensionsOperationResult]'}, 4535 'next_link': {'key': 'nextLink', 'type': 'str'}, 4536 } 4537 4538 def __init__( 4539 self, 4540 **kwargs 4541 ): 4542 super(ImportExportExtensionsOperationListResult, self).__init__(**kwargs) 4543 self.value = None 4544 self.next_link = None 4545 4546 4547class ImportExportExtensionsOperationResult(ProxyResource): 4548 """An Extension operation result resource. 4549 4550 Variables are only populated by the server, and will be ignored when sending a request. 4551 4552 :ivar id: Resource ID. 4553 :vartype id: str 4554 :ivar name: Resource name. 4555 :vartype name: str 4556 :ivar type: Resource type. 4557 :vartype type: str 4558 :ivar request_id: Request Id. 4559 :vartype request_id: str 4560 :ivar request_type: Request type. 4561 :vartype request_type: str 4562 :ivar last_modified_time: Last modified time. 4563 :vartype last_modified_time: str 4564 :ivar server_name: Server name. 4565 :vartype server_name: str 4566 :ivar database_name: Database name. 4567 :vartype database_name: str 4568 :ivar status: Operation status. 4569 :vartype status: str 4570 :ivar error_message: Error message. 4571 :vartype error_message: str 4572 """ 4573 4574 _validation = { 4575 'id': {'readonly': True}, 4576 'name': {'readonly': True}, 4577 'type': {'readonly': True}, 4578 'request_id': {'readonly': True}, 4579 'request_type': {'readonly': True}, 4580 'last_modified_time': {'readonly': True}, 4581 'server_name': {'readonly': True}, 4582 'database_name': {'readonly': True}, 4583 'status': {'readonly': True}, 4584 'error_message': {'readonly': True}, 4585 } 4586 4587 _attribute_map = { 4588 'id': {'key': 'id', 'type': 'str'}, 4589 'name': {'key': 'name', 'type': 'str'}, 4590 'type': {'key': 'type', 'type': 'str'}, 4591 'request_id': {'key': 'properties.requestId', 'type': 'str'}, 4592 'request_type': {'key': 'properties.requestType', 'type': 'str'}, 4593 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, 4594 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 4595 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 4596 'status': {'key': 'properties.status', 'type': 'str'}, 4597 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 4598 } 4599 4600 def __init__( 4601 self, 4602 **kwargs 4603 ): 4604 super(ImportExportExtensionsOperationResult, self).__init__(**kwargs) 4605 self.request_id = None 4606 self.request_type = None 4607 self.last_modified_time = None 4608 self.server_name = None 4609 self.database_name = None 4610 self.status = None 4611 self.error_message = None 4612 4613 4614class ImportExportOperationResult(ProxyResource): 4615 """An ImportExport operation result resource. 4616 4617 Variables are only populated by the server, and will be ignored when sending a request. 4618 4619 :ivar id: Resource ID. 4620 :vartype id: str 4621 :ivar name: Resource name. 4622 :vartype name: str 4623 :ivar type: Resource type. 4624 :vartype type: str 4625 :ivar request_id: Request Id. 4626 :vartype request_id: str 4627 :ivar request_type: Request type. 4628 :vartype request_type: str 4629 :ivar queued_time: Queued time. 4630 :vartype queued_time: str 4631 :ivar last_modified_time: Last modified time. 4632 :vartype last_modified_time: str 4633 :ivar blob_uri: Blob Uri. 4634 :vartype blob_uri: str 4635 :ivar server_name: Server name. 4636 :vartype server_name: str 4637 :ivar database_name: Database name. 4638 :vartype database_name: str 4639 :ivar status: Operation status. 4640 :vartype status: str 4641 :ivar error_message: Error message. 4642 :vartype error_message: str 4643 :ivar private_endpoint_connections: Gets the status of private endpoints associated with this 4644 request. 4645 :vartype private_endpoint_connections: 4646 list[~azure.mgmt.sql.models.PrivateEndpointConnectionRequestStatus] 4647 """ 4648 4649 _validation = { 4650 'id': {'readonly': True}, 4651 'name': {'readonly': True}, 4652 'type': {'readonly': True}, 4653 'request_id': {'readonly': True}, 4654 'request_type': {'readonly': True}, 4655 'queued_time': {'readonly': True}, 4656 'last_modified_time': {'readonly': True}, 4657 'blob_uri': {'readonly': True}, 4658 'server_name': {'readonly': True}, 4659 'database_name': {'readonly': True}, 4660 'status': {'readonly': True}, 4661 'error_message': {'readonly': True}, 4662 'private_endpoint_connections': {'readonly': True}, 4663 } 4664 4665 _attribute_map = { 4666 'id': {'key': 'id', 'type': 'str'}, 4667 'name': {'key': 'name', 'type': 'str'}, 4668 'type': {'key': 'type', 'type': 'str'}, 4669 'request_id': {'key': 'properties.requestId', 'type': 'str'}, 4670 'request_type': {'key': 'properties.requestType', 'type': 'str'}, 4671 'queued_time': {'key': 'properties.queuedTime', 'type': 'str'}, 4672 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, 4673 'blob_uri': {'key': 'properties.blobUri', 'type': 'str'}, 4674 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 4675 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 4676 'status': {'key': 'properties.status', 'type': 'str'}, 4677 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, 4678 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnectionRequestStatus]'}, 4679 } 4680 4681 def __init__( 4682 self, 4683 **kwargs 4684 ): 4685 super(ImportExportOperationResult, self).__init__(**kwargs) 4686 self.request_id = None 4687 self.request_type = None 4688 self.queued_time = None 4689 self.last_modified_time = None 4690 self.blob_uri = None 4691 self.server_name = None 4692 self.database_name = None 4693 self.status = None 4694 self.error_message = None 4695 self.private_endpoint_connections = None 4696 4697 4698class ImportNewDatabaseDefinition(msrest.serialization.Model): 4699 """Contains the information necessary to perform import operation for new database. 4700 4701 All required parameters must be populated in order to send to Azure. 4702 4703 :param database_name: Name of the import database. 4704 :type database_name: str 4705 :param edition: Edition of the import database. 4706 :type edition: str 4707 :param service_objective_name: Service level objective name of the import database. 4708 :type service_objective_name: str 4709 :param max_size_bytes: Max size in bytes for the import database. 4710 :type max_size_bytes: str 4711 :param storage_key_type: Required. Storage key type. Possible values include: 4712 "SharedAccessKey", "StorageAccessKey". 4713 :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType 4714 :param storage_key: Required. Storage key. 4715 :type storage_key: str 4716 :param storage_uri: Required. Storage Uri. 4717 :type storage_uri: str 4718 :param administrator_login: Required. Administrator login name. 4719 :type administrator_login: str 4720 :param administrator_login_password: Required. Administrator login password. 4721 :type administrator_login_password: str 4722 :param authentication_type: Authentication type. 4723 :type authentication_type: str 4724 :param network_isolation: Optional resource information to enable network isolation for 4725 request. 4726 :type network_isolation: ~azure.mgmt.sql.models.NetworkIsolationSettings 4727 """ 4728 4729 _validation = { 4730 'storage_key_type': {'required': True}, 4731 'storage_key': {'required': True}, 4732 'storage_uri': {'required': True}, 4733 'administrator_login': {'required': True}, 4734 'administrator_login_password': {'required': True}, 4735 } 4736 4737 _attribute_map = { 4738 'database_name': {'key': 'databaseName', 'type': 'str'}, 4739 'edition': {'key': 'edition', 'type': 'str'}, 4740 'service_objective_name': {'key': 'serviceObjectiveName', 'type': 'str'}, 4741 'max_size_bytes': {'key': 'maxSizeBytes', 'type': 'str'}, 4742 'storage_key_type': {'key': 'storageKeyType', 'type': 'str'}, 4743 'storage_key': {'key': 'storageKey', 'type': 'str'}, 4744 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 4745 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, 4746 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, 4747 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, 4748 'network_isolation': {'key': 'networkIsolation', 'type': 'NetworkIsolationSettings'}, 4749 } 4750 4751 def __init__( 4752 self, 4753 **kwargs 4754 ): 4755 super(ImportNewDatabaseDefinition, self).__init__(**kwargs) 4756 self.database_name = kwargs.get('database_name', None) 4757 self.edition = kwargs.get('edition', None) 4758 self.service_objective_name = kwargs.get('service_objective_name', None) 4759 self.max_size_bytes = kwargs.get('max_size_bytes', None) 4760 self.storage_key_type = kwargs['storage_key_type'] 4761 self.storage_key = kwargs['storage_key'] 4762 self.storage_uri = kwargs['storage_uri'] 4763 self.administrator_login = kwargs['administrator_login'] 4764 self.administrator_login_password = kwargs['administrator_login_password'] 4765 self.authentication_type = kwargs.get('authentication_type', None) 4766 self.network_isolation = kwargs.get('network_isolation', None) 4767 4768 4769class InstanceFailoverGroup(ProxyResource): 4770 """An instance failover group. 4771 4772 Variables are only populated by the server, and will be ignored when sending a request. 4773 4774 :ivar id: Resource ID. 4775 :vartype id: str 4776 :ivar name: Resource name. 4777 :vartype name: str 4778 :ivar type: Resource type. 4779 :vartype type: str 4780 :param read_write_endpoint: Read-write endpoint of the failover group instance. 4781 :type read_write_endpoint: ~azure.mgmt.sql.models.InstanceFailoverGroupReadWriteEndpoint 4782 :param read_only_endpoint: Read-only endpoint of the failover group instance. 4783 :type read_only_endpoint: ~azure.mgmt.sql.models.InstanceFailoverGroupReadOnlyEndpoint 4784 :ivar replication_role: Local replication role of the failover group instance. Possible values 4785 include: "Primary", "Secondary". 4786 :vartype replication_role: str or ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole 4787 :ivar replication_state: Replication state of the failover group instance. 4788 :vartype replication_state: str 4789 :param partner_regions: Partner region information for the failover group. 4790 :type partner_regions: list[~azure.mgmt.sql.models.PartnerRegionInfo] 4791 :param managed_instance_pairs: List of managed instance pairs in the failover group. 4792 :type managed_instance_pairs: list[~azure.mgmt.sql.models.ManagedInstancePairInfo] 4793 """ 4794 4795 _validation = { 4796 'id': {'readonly': True}, 4797 'name': {'readonly': True}, 4798 'type': {'readonly': True}, 4799 'replication_role': {'readonly': True}, 4800 'replication_state': {'readonly': True}, 4801 } 4802 4803 _attribute_map = { 4804 'id': {'key': 'id', 'type': 'str'}, 4805 'name': {'key': 'name', 'type': 'str'}, 4806 'type': {'key': 'type', 'type': 'str'}, 4807 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'InstanceFailoverGroupReadWriteEndpoint'}, 4808 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'InstanceFailoverGroupReadOnlyEndpoint'}, 4809 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, 4810 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, 4811 'partner_regions': {'key': 'properties.partnerRegions', 'type': '[PartnerRegionInfo]'}, 4812 'managed_instance_pairs': {'key': 'properties.managedInstancePairs', 'type': '[ManagedInstancePairInfo]'}, 4813 } 4814 4815 def __init__( 4816 self, 4817 **kwargs 4818 ): 4819 super(InstanceFailoverGroup, self).__init__(**kwargs) 4820 self.read_write_endpoint = kwargs.get('read_write_endpoint', None) 4821 self.read_only_endpoint = kwargs.get('read_only_endpoint', None) 4822 self.replication_role = None 4823 self.replication_state = None 4824 self.partner_regions = kwargs.get('partner_regions', None) 4825 self.managed_instance_pairs = kwargs.get('managed_instance_pairs', None) 4826 4827 4828class InstanceFailoverGroupListResult(msrest.serialization.Model): 4829 """A list of instance failover groups. 4830 4831 Variables are only populated by the server, and will be ignored when sending a request. 4832 4833 :ivar value: Array of results. 4834 :vartype value: list[~azure.mgmt.sql.models.InstanceFailoverGroup] 4835 :ivar next_link: Link to retrieve next page of results. 4836 :vartype next_link: str 4837 """ 4838 4839 _validation = { 4840 'value': {'readonly': True}, 4841 'next_link': {'readonly': True}, 4842 } 4843 4844 _attribute_map = { 4845 'value': {'key': 'value', 'type': '[InstanceFailoverGroup]'}, 4846 'next_link': {'key': 'nextLink', 'type': 'str'}, 4847 } 4848 4849 def __init__( 4850 self, 4851 **kwargs 4852 ): 4853 super(InstanceFailoverGroupListResult, self).__init__(**kwargs) 4854 self.value = None 4855 self.next_link = None 4856 4857 4858class InstanceFailoverGroupReadOnlyEndpoint(msrest.serialization.Model): 4859 """Read-only endpoint of the failover group instance. 4860 4861 :param failover_policy: Failover policy of the read-only endpoint for the failover group. 4862 Possible values include: "Disabled", "Enabled". 4863 :type failover_policy: str or ~azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy 4864 """ 4865 4866 _attribute_map = { 4867 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, 4868 } 4869 4870 def __init__( 4871 self, 4872 **kwargs 4873 ): 4874 super(InstanceFailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) 4875 self.failover_policy = kwargs.get('failover_policy', None) 4876 4877 4878class InstanceFailoverGroupReadWriteEndpoint(msrest.serialization.Model): 4879 """Read-write endpoint of the failover group instance. 4880 4881 All required parameters must be populated in order to send to Azure. 4882 4883 :param failover_policy: Required. Failover policy of the read-write endpoint for the failover 4884 group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. 4885 Possible values include: "Manual", "Automatic". 4886 :type failover_policy: str or ~azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy 4887 :param failover_with_data_loss_grace_period_minutes: Grace period before failover with data 4888 loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then 4889 failoverWithDataLossGracePeriodMinutes is required. 4890 :type failover_with_data_loss_grace_period_minutes: int 4891 """ 4892 4893 _validation = { 4894 'failover_policy': {'required': True}, 4895 } 4896 4897 _attribute_map = { 4898 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, 4899 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, 4900 } 4901 4902 def __init__( 4903 self, 4904 **kwargs 4905 ): 4906 super(InstanceFailoverGroupReadWriteEndpoint, self).__init__(**kwargs) 4907 self.failover_policy = kwargs['failover_policy'] 4908 self.failover_with_data_loss_grace_period_minutes = kwargs.get('failover_with_data_loss_grace_period_minutes', None) 4909 4910 4911class InstancePool(TrackedResource): 4912 """An Azure SQL instance pool. 4913 4914 Variables are only populated by the server, and will be ignored when sending a request. 4915 4916 All required parameters must be populated in order to send to Azure. 4917 4918 :ivar id: Resource ID. 4919 :vartype id: str 4920 :ivar name: Resource name. 4921 :vartype name: str 4922 :ivar type: Resource type. 4923 :vartype type: str 4924 :param location: Required. Resource location. 4925 :type location: str 4926 :param tags: A set of tags. Resource tags. 4927 :type tags: dict[str, str] 4928 :param sku: The name and tier of the SKU. 4929 :type sku: ~azure.mgmt.sql.models.Sku 4930 :param subnet_id: Resource ID of the subnet to place this instance pool in. 4931 :type subnet_id: str 4932 :param v_cores: Count of vCores belonging to this instance pool. 4933 :type v_cores: int 4934 :param license_type: The license type. Possible values are 'LicenseIncluded' (price for SQL 4935 license is included) and 'BasePrice' (without SQL license price). Possible values include: 4936 "LicenseIncluded", "BasePrice". 4937 :type license_type: str or ~azure.mgmt.sql.models.InstancePoolLicenseType 4938 """ 4939 4940 _validation = { 4941 'id': {'readonly': True}, 4942 'name': {'readonly': True}, 4943 'type': {'readonly': True}, 4944 'location': {'required': True}, 4945 } 4946 4947 _attribute_map = { 4948 'id': {'key': 'id', 'type': 'str'}, 4949 'name': {'key': 'name', 'type': 'str'}, 4950 'type': {'key': 'type', 'type': 'str'}, 4951 'location': {'key': 'location', 'type': 'str'}, 4952 'tags': {'key': 'tags', 'type': '{str}'}, 4953 'sku': {'key': 'sku', 'type': 'Sku'}, 4954 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, 4955 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, 4956 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 4957 } 4958 4959 def __init__( 4960 self, 4961 **kwargs 4962 ): 4963 super(InstancePool, self).__init__(**kwargs) 4964 self.sku = kwargs.get('sku', None) 4965 self.subnet_id = kwargs.get('subnet_id', None) 4966 self.v_cores = kwargs.get('v_cores', None) 4967 self.license_type = kwargs.get('license_type', None) 4968 4969 4970class InstancePoolEditionCapability(msrest.serialization.Model): 4971 """The instance pool capability. 4972 4973 Variables are only populated by the server, and will be ignored when sending a request. 4974 4975 :ivar name: The instance pool version name. 4976 :vartype name: str 4977 :ivar supported_families: The supported families. 4978 :vartype supported_families: list[~azure.mgmt.sql.models.InstancePoolFamilyCapability] 4979 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 4980 "Default", "Disabled". 4981 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 4982 :param reason: The reason for the capability not being available. 4983 :type reason: str 4984 """ 4985 4986 _validation = { 4987 'name': {'readonly': True}, 4988 'supported_families': {'readonly': True}, 4989 'status': {'readonly': True}, 4990 } 4991 4992 _attribute_map = { 4993 'name': {'key': 'name', 'type': 'str'}, 4994 'supported_families': {'key': 'supportedFamilies', 'type': '[InstancePoolFamilyCapability]'}, 4995 'status': {'key': 'status', 'type': 'str'}, 4996 'reason': {'key': 'reason', 'type': 'str'}, 4997 } 4998 4999 def __init__( 5000 self, 5001 **kwargs 5002 ): 5003 super(InstancePoolEditionCapability, self).__init__(**kwargs) 5004 self.name = None 5005 self.supported_families = None 5006 self.status = None 5007 self.reason = kwargs.get('reason', None) 5008 5009 5010class InstancePoolFamilyCapability(msrest.serialization.Model): 5011 """The instance pool family capability. 5012 5013 Variables are only populated by the server, and will be ignored when sending a request. 5014 5015 :ivar name: Family name. 5016 :vartype name: str 5017 :ivar supported_license_types: List of supported license types. 5018 :vartype supported_license_types: list[~azure.mgmt.sql.models.LicenseTypeCapability] 5019 :ivar supported_vcores_values: List of supported virtual cores values. 5020 :vartype supported_vcores_values: list[~azure.mgmt.sql.models.InstancePoolVcoresCapability] 5021 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 5022 "Default", "Disabled". 5023 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 5024 :param reason: The reason for the capability not being available. 5025 :type reason: str 5026 """ 5027 5028 _validation = { 5029 'name': {'readonly': True}, 5030 'supported_license_types': {'readonly': True}, 5031 'supported_vcores_values': {'readonly': True}, 5032 'status': {'readonly': True}, 5033 } 5034 5035 _attribute_map = { 5036 'name': {'key': 'name', 'type': 'str'}, 5037 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, 5038 'supported_vcores_values': {'key': 'supportedVcoresValues', 'type': '[InstancePoolVcoresCapability]'}, 5039 'status': {'key': 'status', 'type': 'str'}, 5040 'reason': {'key': 'reason', 'type': 'str'}, 5041 } 5042 5043 def __init__( 5044 self, 5045 **kwargs 5046 ): 5047 super(InstancePoolFamilyCapability, self).__init__(**kwargs) 5048 self.name = None 5049 self.supported_license_types = None 5050 self.supported_vcores_values = None 5051 self.status = None 5052 self.reason = kwargs.get('reason', None) 5053 5054 5055class InstancePoolListResult(msrest.serialization.Model): 5056 """A list of Azure SQL instance pools. 5057 5058 Variables are only populated by the server, and will be ignored when sending a request. 5059 5060 :ivar value: Array of results. 5061 :vartype value: list[~azure.mgmt.sql.models.InstancePool] 5062 :ivar next_link: Link to retrieve next page of results. 5063 :vartype next_link: str 5064 """ 5065 5066 _validation = { 5067 'value': {'readonly': True}, 5068 'next_link': {'readonly': True}, 5069 } 5070 5071 _attribute_map = { 5072 'value': {'key': 'value', 'type': '[InstancePool]'}, 5073 'next_link': {'key': 'nextLink', 'type': 'str'}, 5074 } 5075 5076 def __init__( 5077 self, 5078 **kwargs 5079 ): 5080 super(InstancePoolListResult, self).__init__(**kwargs) 5081 self.value = None 5082 self.next_link = None 5083 5084 5085class InstancePoolUpdate(msrest.serialization.Model): 5086 """An update to an Instance pool. 5087 5088 :param tags: A set of tags. Resource tags. 5089 :type tags: dict[str, str] 5090 """ 5091 5092 _attribute_map = { 5093 'tags': {'key': 'tags', 'type': '{str}'}, 5094 } 5095 5096 def __init__( 5097 self, 5098 **kwargs 5099 ): 5100 super(InstancePoolUpdate, self).__init__(**kwargs) 5101 self.tags = kwargs.get('tags', None) 5102 5103 5104class InstancePoolVcoresCapability(msrest.serialization.Model): 5105 """The managed instance virtual cores capability. 5106 5107 Variables are only populated by the server, and will be ignored when sending a request. 5108 5109 :ivar name: The virtual cores identifier. 5110 :vartype name: str 5111 :ivar value: The virtual cores value. 5112 :vartype value: int 5113 :ivar storage_limit: Storage limit. 5114 :vartype storage_limit: ~azure.mgmt.sql.models.MaxSizeCapability 5115 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 5116 "Default", "Disabled". 5117 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 5118 :param reason: The reason for the capability not being available. 5119 :type reason: str 5120 """ 5121 5122 _validation = { 5123 'name': {'readonly': True}, 5124 'value': {'readonly': True}, 5125 'storage_limit': {'readonly': True}, 5126 'status': {'readonly': True}, 5127 } 5128 5129 _attribute_map = { 5130 'name': {'key': 'name', 'type': 'str'}, 5131 'value': {'key': 'value', 'type': 'int'}, 5132 'storage_limit': {'key': 'storageLimit', 'type': 'MaxSizeCapability'}, 5133 'status': {'key': 'status', 'type': 'str'}, 5134 'reason': {'key': 'reason', 'type': 'str'}, 5135 } 5136 5137 def __init__( 5138 self, 5139 **kwargs 5140 ): 5141 super(InstancePoolVcoresCapability, self).__init__(**kwargs) 5142 self.name = None 5143 self.value = None 5144 self.storage_limit = None 5145 self.status = None 5146 self.reason = kwargs.get('reason', None) 5147 5148 5149class Job(ProxyResource): 5150 """A job. 5151 5152 Variables are only populated by the server, and will be ignored when sending a request. 5153 5154 :ivar id: Resource ID. 5155 :vartype id: str 5156 :ivar name: Resource name. 5157 :vartype name: str 5158 :ivar type: Resource type. 5159 :vartype type: str 5160 :param description: User-defined description of the job. 5161 :type description: str 5162 :ivar version: The job version number. 5163 :vartype version: int 5164 :param schedule: Schedule properties of the job. 5165 :type schedule: ~azure.mgmt.sql.models.JobSchedule 5166 """ 5167 5168 _validation = { 5169 'id': {'readonly': True}, 5170 'name': {'readonly': True}, 5171 'type': {'readonly': True}, 5172 'version': {'readonly': True}, 5173 } 5174 5175 _attribute_map = { 5176 'id': {'key': 'id', 'type': 'str'}, 5177 'name': {'key': 'name', 'type': 'str'}, 5178 'type': {'key': 'type', 'type': 'str'}, 5179 'description': {'key': 'properties.description', 'type': 'str'}, 5180 'version': {'key': 'properties.version', 'type': 'int'}, 5181 'schedule': {'key': 'properties.schedule', 'type': 'JobSchedule'}, 5182 } 5183 5184 def __init__( 5185 self, 5186 **kwargs 5187 ): 5188 super(Job, self).__init__(**kwargs) 5189 self.description = kwargs.get('description', "") 5190 self.version = None 5191 self.schedule = kwargs.get('schedule', None) 5192 5193 5194class JobAgent(TrackedResource): 5195 """An Azure SQL job agent. 5196 5197 Variables are only populated by the server, and will be ignored when sending a request. 5198 5199 All required parameters must be populated in order to send to Azure. 5200 5201 :ivar id: Resource ID. 5202 :vartype id: str 5203 :ivar name: Resource name. 5204 :vartype name: str 5205 :ivar type: Resource type. 5206 :vartype type: str 5207 :param location: Required. Resource location. 5208 :type location: str 5209 :param tags: A set of tags. Resource tags. 5210 :type tags: dict[str, str] 5211 :param sku: The name and tier of the SKU. 5212 :type sku: ~azure.mgmt.sql.models.Sku 5213 :param database_id: Resource ID of the database to store job metadata in. 5214 :type database_id: str 5215 :ivar state: The state of the job agent. Possible values include: "Creating", "Ready", 5216 "Updating", "Deleting", "Disabled". 5217 :vartype state: str or ~azure.mgmt.sql.models.JobAgentState 5218 """ 5219 5220 _validation = { 5221 'id': {'readonly': True}, 5222 'name': {'readonly': True}, 5223 'type': {'readonly': True}, 5224 'location': {'required': True}, 5225 'state': {'readonly': True}, 5226 } 5227 5228 _attribute_map = { 5229 'id': {'key': 'id', 'type': 'str'}, 5230 'name': {'key': 'name', 'type': 'str'}, 5231 'type': {'key': 'type', 'type': 'str'}, 5232 'location': {'key': 'location', 'type': 'str'}, 5233 'tags': {'key': 'tags', 'type': '{str}'}, 5234 'sku': {'key': 'sku', 'type': 'Sku'}, 5235 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, 5236 'state': {'key': 'properties.state', 'type': 'str'}, 5237 } 5238 5239 def __init__( 5240 self, 5241 **kwargs 5242 ): 5243 super(JobAgent, self).__init__(**kwargs) 5244 self.sku = kwargs.get('sku', None) 5245 self.database_id = kwargs.get('database_id', None) 5246 self.state = None 5247 5248 5249class JobAgentListResult(msrest.serialization.Model): 5250 """A list of Azure SQL job agents. 5251 5252 Variables are only populated by the server, and will be ignored when sending a request. 5253 5254 :ivar value: Array of results. 5255 :vartype value: list[~azure.mgmt.sql.models.JobAgent] 5256 :ivar next_link: Link to retrieve next page of results. 5257 :vartype next_link: str 5258 """ 5259 5260 _validation = { 5261 'value': {'readonly': True}, 5262 'next_link': {'readonly': True}, 5263 } 5264 5265 _attribute_map = { 5266 'value': {'key': 'value', 'type': '[JobAgent]'}, 5267 'next_link': {'key': 'nextLink', 'type': 'str'}, 5268 } 5269 5270 def __init__( 5271 self, 5272 **kwargs 5273 ): 5274 super(JobAgentListResult, self).__init__(**kwargs) 5275 self.value = None 5276 self.next_link = None 5277 5278 5279class JobAgentUpdate(msrest.serialization.Model): 5280 """An update to an Azure SQL job agent. 5281 5282 :param tags: A set of tags. Resource tags. 5283 :type tags: dict[str, str] 5284 """ 5285 5286 _attribute_map = { 5287 'tags': {'key': 'tags', 'type': '{str}'}, 5288 } 5289 5290 def __init__( 5291 self, 5292 **kwargs 5293 ): 5294 super(JobAgentUpdate, self).__init__(**kwargs) 5295 self.tags = kwargs.get('tags', None) 5296 5297 5298class JobCredential(ProxyResource): 5299 """A stored credential that can be used by a job to connect to target databases. 5300 5301 Variables are only populated by the server, and will be ignored when sending a request. 5302 5303 :ivar id: Resource ID. 5304 :vartype id: str 5305 :ivar name: Resource name. 5306 :vartype name: str 5307 :ivar type: Resource type. 5308 :vartype type: str 5309 :param username: The credential user name. 5310 :type username: str 5311 :param password: The credential password. 5312 :type password: str 5313 """ 5314 5315 _validation = { 5316 'id': {'readonly': True}, 5317 'name': {'readonly': True}, 5318 'type': {'readonly': True}, 5319 } 5320 5321 _attribute_map = { 5322 'id': {'key': 'id', 'type': 'str'}, 5323 'name': {'key': 'name', 'type': 'str'}, 5324 'type': {'key': 'type', 'type': 'str'}, 5325 'username': {'key': 'properties.username', 'type': 'str'}, 5326 'password': {'key': 'properties.password', 'type': 'str'}, 5327 } 5328 5329 def __init__( 5330 self, 5331 **kwargs 5332 ): 5333 super(JobCredential, self).__init__(**kwargs) 5334 self.username = kwargs.get('username', None) 5335 self.password = kwargs.get('password', None) 5336 5337 5338class JobCredentialListResult(msrest.serialization.Model): 5339 """A list of job credentials. 5340 5341 Variables are only populated by the server, and will be ignored when sending a request. 5342 5343 :ivar value: Array of results. 5344 :vartype value: list[~azure.mgmt.sql.models.JobCredential] 5345 :ivar next_link: Link to retrieve next page of results. 5346 :vartype next_link: str 5347 """ 5348 5349 _validation = { 5350 'value': {'readonly': True}, 5351 'next_link': {'readonly': True}, 5352 } 5353 5354 _attribute_map = { 5355 'value': {'key': 'value', 'type': '[JobCredential]'}, 5356 'next_link': {'key': 'nextLink', 'type': 'str'}, 5357 } 5358 5359 def __init__( 5360 self, 5361 **kwargs 5362 ): 5363 super(JobCredentialListResult, self).__init__(**kwargs) 5364 self.value = None 5365 self.next_link = None 5366 5367 5368class JobExecution(ProxyResource): 5369 """An execution of a job. 5370 5371 Variables are only populated by the server, and will be ignored when sending a request. 5372 5373 :ivar id: Resource ID. 5374 :vartype id: str 5375 :ivar name: Resource name. 5376 :vartype name: str 5377 :ivar type: Resource type. 5378 :vartype type: str 5379 :ivar job_version: The job version number. 5380 :vartype job_version: int 5381 :ivar step_name: The job step name. 5382 :vartype step_name: str 5383 :ivar step_id: The job step id. 5384 :vartype step_id: int 5385 :ivar job_execution_id: The unique identifier of the job execution. 5386 :vartype job_execution_id: str 5387 :ivar lifecycle: The detailed state of the job execution. Possible values include: "Created", 5388 "InProgress", "WaitingForChildJobExecutions", "WaitingForRetry", "Succeeded", 5389 "SucceededWithSkipped", "Failed", "TimedOut", "Canceled", "Skipped". 5390 :vartype lifecycle: str or ~azure.mgmt.sql.models.JobExecutionLifecycle 5391 :ivar provisioning_state: The ARM provisioning state of the job execution. Possible values 5392 include: "Created", "InProgress", "Succeeded", "Failed", "Canceled". 5393 :vartype provisioning_state: str or ~azure.mgmt.sql.models.ProvisioningState 5394 :ivar create_time: The time that the job execution was created. 5395 :vartype create_time: ~datetime.datetime 5396 :ivar start_time: The time that the job execution started. 5397 :vartype start_time: ~datetime.datetime 5398 :ivar end_time: The time that the job execution completed. 5399 :vartype end_time: ~datetime.datetime 5400 :param current_attempts: Number of times the job execution has been attempted. 5401 :type current_attempts: int 5402 :ivar current_attempt_start_time: Start time of the current attempt. 5403 :vartype current_attempt_start_time: ~datetime.datetime 5404 :ivar last_message: The last status or error message. 5405 :vartype last_message: str 5406 :ivar target: The target that this execution is executed on. 5407 :vartype target: ~azure.mgmt.sql.models.JobExecutionTarget 5408 """ 5409 5410 _validation = { 5411 'id': {'readonly': True}, 5412 'name': {'readonly': True}, 5413 'type': {'readonly': True}, 5414 'job_version': {'readonly': True}, 5415 'step_name': {'readonly': True}, 5416 'step_id': {'readonly': True}, 5417 'job_execution_id': {'readonly': True}, 5418 'lifecycle': {'readonly': True}, 5419 'provisioning_state': {'readonly': True}, 5420 'create_time': {'readonly': True}, 5421 'start_time': {'readonly': True}, 5422 'end_time': {'readonly': True}, 5423 'current_attempt_start_time': {'readonly': True}, 5424 'last_message': {'readonly': True}, 5425 'target': {'readonly': True}, 5426 } 5427 5428 _attribute_map = { 5429 'id': {'key': 'id', 'type': 'str'}, 5430 'name': {'key': 'name', 'type': 'str'}, 5431 'type': {'key': 'type', 'type': 'str'}, 5432 'job_version': {'key': 'properties.jobVersion', 'type': 'int'}, 5433 'step_name': {'key': 'properties.stepName', 'type': 'str'}, 5434 'step_id': {'key': 'properties.stepId', 'type': 'int'}, 5435 'job_execution_id': {'key': 'properties.jobExecutionId', 'type': 'str'}, 5436 'lifecycle': {'key': 'properties.lifecycle', 'type': 'str'}, 5437 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5438 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, 5439 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 5440 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 5441 'current_attempts': {'key': 'properties.currentAttempts', 'type': 'int'}, 5442 'current_attempt_start_time': {'key': 'properties.currentAttemptStartTime', 'type': 'iso-8601'}, 5443 'last_message': {'key': 'properties.lastMessage', 'type': 'str'}, 5444 'target': {'key': 'properties.target', 'type': 'JobExecutionTarget'}, 5445 } 5446 5447 def __init__( 5448 self, 5449 **kwargs 5450 ): 5451 super(JobExecution, self).__init__(**kwargs) 5452 self.job_version = None 5453 self.step_name = None 5454 self.step_id = None 5455 self.job_execution_id = None 5456 self.lifecycle = None 5457 self.provisioning_state = None 5458 self.create_time = None 5459 self.start_time = None 5460 self.end_time = None 5461 self.current_attempts = kwargs.get('current_attempts', None) 5462 self.current_attempt_start_time = None 5463 self.last_message = None 5464 self.target = None 5465 5466 5467class JobExecutionListResult(msrest.serialization.Model): 5468 """A list of job executions. 5469 5470 Variables are only populated by the server, and will be ignored when sending a request. 5471 5472 :ivar value: Array of results. 5473 :vartype value: list[~azure.mgmt.sql.models.JobExecution] 5474 :ivar next_link: Link to retrieve next page of results. 5475 :vartype next_link: str 5476 """ 5477 5478 _validation = { 5479 'value': {'readonly': True}, 5480 'next_link': {'readonly': True}, 5481 } 5482 5483 _attribute_map = { 5484 'value': {'key': 'value', 'type': '[JobExecution]'}, 5485 'next_link': {'key': 'nextLink', 'type': 'str'}, 5486 } 5487 5488 def __init__( 5489 self, 5490 **kwargs 5491 ): 5492 super(JobExecutionListResult, self).__init__(**kwargs) 5493 self.value = None 5494 self.next_link = None 5495 5496 5497class JobExecutionTarget(msrest.serialization.Model): 5498 """The target that a job execution is executed on. 5499 5500 Variables are only populated by the server, and will be ignored when sending a request. 5501 5502 :ivar type: The type of the target. Possible values include: "TargetGroup", "SqlDatabase", 5503 "SqlElasticPool", "SqlShardMap", "SqlServer". 5504 :vartype type: str or ~azure.mgmt.sql.models.JobTargetType 5505 :ivar server_name: The server name. 5506 :vartype server_name: str 5507 :ivar database_name: The database name. 5508 :vartype database_name: str 5509 """ 5510 5511 _validation = { 5512 'type': {'readonly': True}, 5513 'server_name': {'readonly': True}, 5514 'database_name': {'readonly': True}, 5515 } 5516 5517 _attribute_map = { 5518 'type': {'key': 'type', 'type': 'str'}, 5519 'server_name': {'key': 'serverName', 'type': 'str'}, 5520 'database_name': {'key': 'databaseName', 'type': 'str'}, 5521 } 5522 5523 def __init__( 5524 self, 5525 **kwargs 5526 ): 5527 super(JobExecutionTarget, self).__init__(**kwargs) 5528 self.type = None 5529 self.server_name = None 5530 self.database_name = None 5531 5532 5533class JobListResult(msrest.serialization.Model): 5534 """A list of jobs. 5535 5536 Variables are only populated by the server, and will be ignored when sending a request. 5537 5538 :ivar value: Array of results. 5539 :vartype value: list[~azure.mgmt.sql.models.Job] 5540 :ivar next_link: Link to retrieve next page of results. 5541 :vartype next_link: str 5542 """ 5543 5544 _validation = { 5545 'value': {'readonly': True}, 5546 'next_link': {'readonly': True}, 5547 } 5548 5549 _attribute_map = { 5550 'value': {'key': 'value', 'type': '[Job]'}, 5551 'next_link': {'key': 'nextLink', 'type': 'str'}, 5552 } 5553 5554 def __init__( 5555 self, 5556 **kwargs 5557 ): 5558 super(JobListResult, self).__init__(**kwargs) 5559 self.value = None 5560 self.next_link = None 5561 5562 5563class JobSchedule(msrest.serialization.Model): 5564 """Scheduling properties of a job. 5565 5566 :param start_time: Schedule start time. 5567 :type start_time: ~datetime.datetime 5568 :param end_time: Schedule end time. 5569 :type end_time: ~datetime.datetime 5570 :param type: Schedule interval type. Possible values include: "Once", "Recurring". Default 5571 value: "Once". 5572 :type type: str or ~azure.mgmt.sql.models.JobScheduleType 5573 :param enabled: Whether or not the schedule is enabled. 5574 :type enabled: bool 5575 :param interval: Value of the schedule's recurring interval, if the ScheduleType is recurring. 5576 ISO8601 duration format. 5577 :type interval: str 5578 """ 5579 5580 _attribute_map = { 5581 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5582 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5583 'type': {'key': 'type', 'type': 'str'}, 5584 'enabled': {'key': 'enabled', 'type': 'bool'}, 5585 'interval': {'key': 'interval', 'type': 'str'}, 5586 } 5587 5588 def __init__( 5589 self, 5590 **kwargs 5591 ): 5592 super(JobSchedule, self).__init__(**kwargs) 5593 self.start_time = kwargs.get('start_time', "0001-01-01T00:00:00+00:00") 5594 self.end_time = kwargs.get('end_time', "9999-12-31T11:59:59+00:00") 5595 self.type = kwargs.get('type', "Once") 5596 self.enabled = kwargs.get('enabled', None) 5597 self.interval = kwargs.get('interval', None) 5598 5599 5600class JobStep(ProxyResource): 5601 """A job step. 5602 5603 Variables are only populated by the server, and will be ignored when sending a request. 5604 5605 :ivar id: Resource ID. 5606 :vartype id: str 5607 :ivar name: Resource name. 5608 :vartype name: str 5609 :ivar type: Resource type. 5610 :vartype type: str 5611 :param step_id: The job step's index within the job. If not specified when creating the job 5612 step, it will be created as the last step. If not specified when updating the job step, the 5613 step id is not modified. 5614 :type step_id: int 5615 :param target_group: The resource ID of the target group that the job step will be executed on. 5616 :type target_group: str 5617 :param credential: The resource ID of the job credential that will be used to connect to the 5618 targets. 5619 :type credential: str 5620 :param action: The action payload of the job step. 5621 :type action: ~azure.mgmt.sql.models.JobStepAction 5622 :param output: Output destination properties of the job step. 5623 :type output: ~azure.mgmt.sql.models.JobStepOutput 5624 :param execution_options: Execution options for the job step. 5625 :type execution_options: ~azure.mgmt.sql.models.JobStepExecutionOptions 5626 """ 5627 5628 _validation = { 5629 'id': {'readonly': True}, 5630 'name': {'readonly': True}, 5631 'type': {'readonly': True}, 5632 } 5633 5634 _attribute_map = { 5635 'id': {'key': 'id', 'type': 'str'}, 5636 'name': {'key': 'name', 'type': 'str'}, 5637 'type': {'key': 'type', 'type': 'str'}, 5638 'step_id': {'key': 'properties.stepId', 'type': 'int'}, 5639 'target_group': {'key': 'properties.targetGroup', 'type': 'str'}, 5640 'credential': {'key': 'properties.credential', 'type': 'str'}, 5641 'action': {'key': 'properties.action', 'type': 'JobStepAction'}, 5642 'output': {'key': 'properties.output', 'type': 'JobStepOutput'}, 5643 'execution_options': {'key': 'properties.executionOptions', 'type': 'JobStepExecutionOptions'}, 5644 } 5645 5646 def __init__( 5647 self, 5648 **kwargs 5649 ): 5650 super(JobStep, self).__init__(**kwargs) 5651 self.step_id = kwargs.get('step_id', None) 5652 self.target_group = kwargs.get('target_group', None) 5653 self.credential = kwargs.get('credential', None) 5654 self.action = kwargs.get('action', None) 5655 self.output = kwargs.get('output', None) 5656 self.execution_options = kwargs.get('execution_options', None) 5657 5658 5659class JobStepAction(msrest.serialization.Model): 5660 """The action to be executed by a job step. 5661 5662 All required parameters must be populated in order to send to Azure. 5663 5664 :param type: Type of action being executed by the job step. Possible values include: "TSql". 5665 Default value: "TSql". 5666 :type type: str or ~azure.mgmt.sql.models.JobStepActionType 5667 :param source: The source of the action to execute. Possible values include: "Inline". Default 5668 value: "Inline". 5669 :type source: str or ~azure.mgmt.sql.models.JobStepActionSource 5670 :param value: Required. The action value, for example the text of the T-SQL script to execute. 5671 :type value: str 5672 """ 5673 5674 _validation = { 5675 'value': {'required': True}, 5676 } 5677 5678 _attribute_map = { 5679 'type': {'key': 'type', 'type': 'str'}, 5680 'source': {'key': 'source', 'type': 'str'}, 5681 'value': {'key': 'value', 'type': 'str'}, 5682 } 5683 5684 def __init__( 5685 self, 5686 **kwargs 5687 ): 5688 super(JobStepAction, self).__init__(**kwargs) 5689 self.type = kwargs.get('type', "TSql") 5690 self.source = kwargs.get('source', "Inline") 5691 self.value = kwargs['value'] 5692 5693 5694class JobStepExecutionOptions(msrest.serialization.Model): 5695 """The execution options of a job step. 5696 5697 :param timeout_seconds: Execution timeout for the job step. 5698 :type timeout_seconds: int 5699 :param retry_attempts: Maximum number of times the job step will be reattempted if the first 5700 attempt fails. 5701 :type retry_attempts: int 5702 :param initial_retry_interval_seconds: Initial delay between retries for job step execution. 5703 :type initial_retry_interval_seconds: int 5704 :param maximum_retry_interval_seconds: The maximum amount of time to wait between retries for 5705 job step execution. 5706 :type maximum_retry_interval_seconds: int 5707 :param retry_interval_backoff_multiplier: The backoff multiplier for the time between retries. 5708 :type retry_interval_backoff_multiplier: float 5709 """ 5710 5711 _attribute_map = { 5712 'timeout_seconds': {'key': 'timeoutSeconds', 'type': 'int'}, 5713 'retry_attempts': {'key': 'retryAttempts', 'type': 'int'}, 5714 'initial_retry_interval_seconds': {'key': 'initialRetryIntervalSeconds', 'type': 'int'}, 5715 'maximum_retry_interval_seconds': {'key': 'maximumRetryIntervalSeconds', 'type': 'int'}, 5716 'retry_interval_backoff_multiplier': {'key': 'retryIntervalBackoffMultiplier', 'type': 'float'}, 5717 } 5718 5719 def __init__( 5720 self, 5721 **kwargs 5722 ): 5723 super(JobStepExecutionOptions, self).__init__(**kwargs) 5724 self.timeout_seconds = kwargs.get('timeout_seconds', 43200) 5725 self.retry_attempts = kwargs.get('retry_attempts', 10) 5726 self.initial_retry_interval_seconds = kwargs.get('initial_retry_interval_seconds', 1) 5727 self.maximum_retry_interval_seconds = kwargs.get('maximum_retry_interval_seconds', 120) 5728 self.retry_interval_backoff_multiplier = kwargs.get('retry_interval_backoff_multiplier', 2) 5729 5730 5731class JobStepListResult(msrest.serialization.Model): 5732 """A list of job steps. 5733 5734 Variables are only populated by the server, and will be ignored when sending a request. 5735 5736 :ivar value: Array of results. 5737 :vartype value: list[~azure.mgmt.sql.models.JobStep] 5738 :ivar next_link: Link to retrieve next page of results. 5739 :vartype next_link: str 5740 """ 5741 5742 _validation = { 5743 'value': {'readonly': True}, 5744 'next_link': {'readonly': True}, 5745 } 5746 5747 _attribute_map = { 5748 'value': {'key': 'value', 'type': '[JobStep]'}, 5749 'next_link': {'key': 'nextLink', 'type': 'str'}, 5750 } 5751 5752 def __init__( 5753 self, 5754 **kwargs 5755 ): 5756 super(JobStepListResult, self).__init__(**kwargs) 5757 self.value = None 5758 self.next_link = None 5759 5760 5761class JobStepOutput(msrest.serialization.Model): 5762 """The output configuration of a job step. 5763 5764 All required parameters must be populated in order to send to Azure. 5765 5766 :param type: The output destination type. Possible values include: "SqlDatabase". Default 5767 value: "SqlDatabase". 5768 :type type: str or ~azure.mgmt.sql.models.JobStepOutputType 5769 :param subscription_id: The output destination subscription id. 5770 :type subscription_id: str 5771 :param resource_group_name: The output destination resource group. 5772 :type resource_group_name: str 5773 :param server_name: Required. The output destination server name. 5774 :type server_name: str 5775 :param database_name: Required. The output destination database. 5776 :type database_name: str 5777 :param schema_name: The output destination schema. 5778 :type schema_name: str 5779 :param table_name: Required. The output destination table. 5780 :type table_name: str 5781 :param credential: Required. The resource ID of the credential to use to connect to the output 5782 destination. 5783 :type credential: str 5784 """ 5785 5786 _validation = { 5787 'server_name': {'required': True}, 5788 'database_name': {'required': True}, 5789 'table_name': {'required': True}, 5790 'credential': {'required': True}, 5791 } 5792 5793 _attribute_map = { 5794 'type': {'key': 'type', 'type': 'str'}, 5795 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 5796 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, 5797 'server_name': {'key': 'serverName', 'type': 'str'}, 5798 'database_name': {'key': 'databaseName', 'type': 'str'}, 5799 'schema_name': {'key': 'schemaName', 'type': 'str'}, 5800 'table_name': {'key': 'tableName', 'type': 'str'}, 5801 'credential': {'key': 'credential', 'type': 'str'}, 5802 } 5803 5804 def __init__( 5805 self, 5806 **kwargs 5807 ): 5808 super(JobStepOutput, self).__init__(**kwargs) 5809 self.type = kwargs.get('type', "SqlDatabase") 5810 self.subscription_id = kwargs.get('subscription_id', None) 5811 self.resource_group_name = kwargs.get('resource_group_name', None) 5812 self.server_name = kwargs['server_name'] 5813 self.database_name = kwargs['database_name'] 5814 self.schema_name = kwargs.get('schema_name', "dbo") 5815 self.table_name = kwargs['table_name'] 5816 self.credential = kwargs['credential'] 5817 5818 5819class JobTarget(msrest.serialization.Model): 5820 """A job target, for example a specific database or a container of databases that is evaluated during job execution. 5821 5822 All required parameters must be populated in order to send to Azure. 5823 5824 :param membership_type: Whether the target is included or excluded from the group. Possible 5825 values include: "Include", "Exclude". Default value: "Include". 5826 :type membership_type: str or ~azure.mgmt.sql.models.JobTargetGroupMembershipType 5827 :param type: Required. The target type. Possible values include: "TargetGroup", "SqlDatabase", 5828 "SqlElasticPool", "SqlShardMap", "SqlServer". 5829 :type type: str or ~azure.mgmt.sql.models.JobTargetType 5830 :param server_name: The target server name. 5831 :type server_name: str 5832 :param database_name: The target database name. 5833 :type database_name: str 5834 :param elastic_pool_name: The target elastic pool name. 5835 :type elastic_pool_name: str 5836 :param shard_map_name: The target shard map. 5837 :type shard_map_name: str 5838 :param refresh_credential: The resource ID of the credential that is used during job execution 5839 to connect to the target and determine the list of databases inside the target. 5840 :type refresh_credential: str 5841 """ 5842 5843 _validation = { 5844 'type': {'required': True}, 5845 } 5846 5847 _attribute_map = { 5848 'membership_type': {'key': 'membershipType', 'type': 'str'}, 5849 'type': {'key': 'type', 'type': 'str'}, 5850 'server_name': {'key': 'serverName', 'type': 'str'}, 5851 'database_name': {'key': 'databaseName', 'type': 'str'}, 5852 'elastic_pool_name': {'key': 'elasticPoolName', 'type': 'str'}, 5853 'shard_map_name': {'key': 'shardMapName', 'type': 'str'}, 5854 'refresh_credential': {'key': 'refreshCredential', 'type': 'str'}, 5855 } 5856 5857 def __init__( 5858 self, 5859 **kwargs 5860 ): 5861 super(JobTarget, self).__init__(**kwargs) 5862 self.membership_type = kwargs.get('membership_type', "Include") 5863 self.type = kwargs['type'] 5864 self.server_name = kwargs.get('server_name', None) 5865 self.database_name = kwargs.get('database_name', None) 5866 self.elastic_pool_name = kwargs.get('elastic_pool_name', None) 5867 self.shard_map_name = kwargs.get('shard_map_name', None) 5868 self.refresh_credential = kwargs.get('refresh_credential', None) 5869 5870 5871class JobTargetGroup(ProxyResource): 5872 """A group of job targets. 5873 5874 Variables are only populated by the server, and will be ignored when sending a request. 5875 5876 :ivar id: Resource ID. 5877 :vartype id: str 5878 :ivar name: Resource name. 5879 :vartype name: str 5880 :ivar type: Resource type. 5881 :vartype type: str 5882 :param members: Members of the target group. 5883 :type members: list[~azure.mgmt.sql.models.JobTarget] 5884 """ 5885 5886 _validation = { 5887 'id': {'readonly': True}, 5888 'name': {'readonly': True}, 5889 'type': {'readonly': True}, 5890 } 5891 5892 _attribute_map = { 5893 'id': {'key': 'id', 'type': 'str'}, 5894 'name': {'key': 'name', 'type': 'str'}, 5895 'type': {'key': 'type', 'type': 'str'}, 5896 'members': {'key': 'properties.members', 'type': '[JobTarget]'}, 5897 } 5898 5899 def __init__( 5900 self, 5901 **kwargs 5902 ): 5903 super(JobTargetGroup, self).__init__(**kwargs) 5904 self.members = kwargs.get('members', None) 5905 5906 5907class JobTargetGroupListResult(msrest.serialization.Model): 5908 """A list of target groups. 5909 5910 Variables are only populated by the server, and will be ignored when sending a request. 5911 5912 :ivar value: Array of results. 5913 :vartype value: list[~azure.mgmt.sql.models.JobTargetGroup] 5914 :ivar next_link: Link to retrieve next page of results. 5915 :vartype next_link: str 5916 """ 5917 5918 _validation = { 5919 'value': {'readonly': True}, 5920 'next_link': {'readonly': True}, 5921 } 5922 5923 _attribute_map = { 5924 'value': {'key': 'value', 'type': '[JobTargetGroup]'}, 5925 'next_link': {'key': 'nextLink', 'type': 'str'}, 5926 } 5927 5928 def __init__( 5929 self, 5930 **kwargs 5931 ): 5932 super(JobTargetGroupListResult, self).__init__(**kwargs) 5933 self.value = None 5934 self.next_link = None 5935 5936 5937class JobVersion(ProxyResource): 5938 """A job version. 5939 5940 Variables are only populated by the server, and will be ignored when sending a request. 5941 5942 :ivar id: Resource ID. 5943 :vartype id: str 5944 :ivar name: Resource name. 5945 :vartype name: str 5946 :ivar type: Resource type. 5947 :vartype type: str 5948 """ 5949 5950 _validation = { 5951 'id': {'readonly': True}, 5952 'name': {'readonly': True}, 5953 'type': {'readonly': True}, 5954 } 5955 5956 _attribute_map = { 5957 'id': {'key': 'id', 'type': 'str'}, 5958 'name': {'key': 'name', 'type': 'str'}, 5959 'type': {'key': 'type', 'type': 'str'}, 5960 } 5961 5962 def __init__( 5963 self, 5964 **kwargs 5965 ): 5966 super(JobVersion, self).__init__(**kwargs) 5967 5968 5969class JobVersionListResult(msrest.serialization.Model): 5970 """A list of job versions. 5971 5972 Variables are only populated by the server, and will be ignored when sending a request. 5973 5974 :ivar value: Array of results. 5975 :vartype value: list[~azure.mgmt.sql.models.JobVersion] 5976 :ivar next_link: Link to retrieve next page of results. 5977 :vartype next_link: str 5978 """ 5979 5980 _validation = { 5981 'value': {'readonly': True}, 5982 'next_link': {'readonly': True}, 5983 } 5984 5985 _attribute_map = { 5986 'value': {'key': 'value', 'type': '[JobVersion]'}, 5987 'next_link': {'key': 'nextLink', 'type': 'str'}, 5988 } 5989 5990 def __init__( 5991 self, 5992 **kwargs 5993 ): 5994 super(JobVersionListResult, self).__init__(**kwargs) 5995 self.value = None 5996 self.next_link = None 5997 5998 5999class LedgerDigestUploads(ProxyResource): 6000 """Azure SQL Database ledger digest upload settings. 6001 6002 Variables are only populated by the server, and will be ignored when sending a request. 6003 6004 :ivar id: Resource ID. 6005 :vartype id: str 6006 :ivar name: Resource name. 6007 :vartype name: str 6008 :ivar type: Resource type. 6009 :vartype type: str 6010 :param digest_storage_endpoint: The digest storage endpoint, which must be either an Azure blob 6011 storage endpoint or an URI for Azure Confidential Ledger. 6012 :type digest_storage_endpoint: str 6013 :ivar state: Specifies the state of ledger digest upload. Possible values include: "Enabled", 6014 "Disabled". 6015 :vartype state: str or ~azure.mgmt.sql.models.LedgerDigestUploadsState 6016 """ 6017 6018 _validation = { 6019 'id': {'readonly': True}, 6020 'name': {'readonly': True}, 6021 'type': {'readonly': True}, 6022 'state': {'readonly': True}, 6023 } 6024 6025 _attribute_map = { 6026 'id': {'key': 'id', 'type': 'str'}, 6027 'name': {'key': 'name', 'type': 'str'}, 6028 'type': {'key': 'type', 'type': 'str'}, 6029 'digest_storage_endpoint': {'key': 'properties.digestStorageEndpoint', 'type': 'str'}, 6030 'state': {'key': 'properties.state', 'type': 'str'}, 6031 } 6032 6033 def __init__( 6034 self, 6035 **kwargs 6036 ): 6037 super(LedgerDigestUploads, self).__init__(**kwargs) 6038 self.digest_storage_endpoint = kwargs.get('digest_storage_endpoint', None) 6039 self.state = None 6040 6041 6042class LedgerDigestUploadsListResult(msrest.serialization.Model): 6043 """A list of ledger digest upload settings. 6044 6045 Variables are only populated by the server, and will be ignored when sending a request. 6046 6047 :ivar value: Array of results. 6048 :vartype value: list[~azure.mgmt.sql.models.LedgerDigestUploads] 6049 :ivar next_link: Link to retrieve next page of results. 6050 :vartype next_link: str 6051 """ 6052 6053 _validation = { 6054 'value': {'readonly': True}, 6055 'next_link': {'readonly': True}, 6056 } 6057 6058 _attribute_map = { 6059 'value': {'key': 'value', 'type': '[LedgerDigestUploads]'}, 6060 'next_link': {'key': 'nextLink', 'type': 'str'}, 6061 } 6062 6063 def __init__( 6064 self, 6065 **kwargs 6066 ): 6067 super(LedgerDigestUploadsListResult, self).__init__(**kwargs) 6068 self.value = None 6069 self.next_link = None 6070 6071 6072class LicenseTypeCapability(msrest.serialization.Model): 6073 """The license type capability. 6074 6075 Variables are only populated by the server, and will be ignored when sending a request. 6076 6077 :ivar name: License type identifier. 6078 :vartype name: str 6079 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 6080 "Default", "Disabled". 6081 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 6082 :param reason: The reason for the capability not being available. 6083 :type reason: str 6084 """ 6085 6086 _validation = { 6087 'name': {'readonly': True}, 6088 'status': {'readonly': True}, 6089 } 6090 6091 _attribute_map = { 6092 'name': {'key': 'name', 'type': 'str'}, 6093 'status': {'key': 'status', 'type': 'str'}, 6094 'reason': {'key': 'reason', 'type': 'str'}, 6095 } 6096 6097 def __init__( 6098 self, 6099 **kwargs 6100 ): 6101 super(LicenseTypeCapability, self).__init__(**kwargs) 6102 self.name = None 6103 self.status = None 6104 self.reason = kwargs.get('reason', None) 6105 6106 6107class LocationCapabilities(msrest.serialization.Model): 6108 """The location capability. 6109 6110 Variables are only populated by the server, and will be ignored when sending a request. 6111 6112 :ivar name: The location name. 6113 :vartype name: str 6114 :ivar supported_server_versions: The list of supported server versions. 6115 :vartype supported_server_versions: list[~azure.mgmt.sql.models.ServerVersionCapability] 6116 :ivar supported_managed_instance_versions: The list of supported managed instance versions. 6117 :vartype supported_managed_instance_versions: 6118 list[~azure.mgmt.sql.models.ManagedInstanceVersionCapability] 6119 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 6120 "Default", "Disabled". 6121 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 6122 :param reason: The reason for the capability not being available. 6123 :type reason: str 6124 """ 6125 6126 _validation = { 6127 'name': {'readonly': True}, 6128 'supported_server_versions': {'readonly': True}, 6129 'supported_managed_instance_versions': {'readonly': True}, 6130 'status': {'readonly': True}, 6131 } 6132 6133 _attribute_map = { 6134 'name': {'key': 'name', 'type': 'str'}, 6135 'supported_server_versions': {'key': 'supportedServerVersions', 'type': '[ServerVersionCapability]'}, 6136 'supported_managed_instance_versions': {'key': 'supportedManagedInstanceVersions', 'type': '[ManagedInstanceVersionCapability]'}, 6137 'status': {'key': 'status', 'type': 'str'}, 6138 'reason': {'key': 'reason', 'type': 'str'}, 6139 } 6140 6141 def __init__( 6142 self, 6143 **kwargs 6144 ): 6145 super(LocationCapabilities, self).__init__(**kwargs) 6146 self.name = None 6147 self.supported_server_versions = None 6148 self.supported_managed_instance_versions = None 6149 self.status = None 6150 self.reason = kwargs.get('reason', None) 6151 6152 6153class LogicalServerSecurityAlertPolicyListResult(msrest.serialization.Model): 6154 """A list of the server's security alert policies. 6155 6156 Variables are only populated by the server, and will be ignored when sending a request. 6157 6158 :ivar value: Array of results. 6159 :vartype value: list[~azure.mgmt.sql.models.ServerSecurityAlertPolicy] 6160 :ivar next_link: Link to retrieve next page of results. 6161 :vartype next_link: str 6162 """ 6163 6164 _validation = { 6165 'value': {'readonly': True}, 6166 'next_link': {'readonly': True}, 6167 } 6168 6169 _attribute_map = { 6170 'value': {'key': 'value', 'type': '[ServerSecurityAlertPolicy]'}, 6171 'next_link': {'key': 'nextLink', 'type': 'str'}, 6172 } 6173 6174 def __init__( 6175 self, 6176 **kwargs 6177 ): 6178 super(LogicalServerSecurityAlertPolicyListResult, self).__init__(**kwargs) 6179 self.value = None 6180 self.next_link = None 6181 6182 6183class LogSizeCapability(msrest.serialization.Model): 6184 """The log size capability. 6185 6186 Variables are only populated by the server, and will be ignored when sending a request. 6187 6188 :ivar limit: The log size limit (see 'unit' for the units). 6189 :vartype limit: int 6190 :ivar unit: The units that the limit is expressed in. Possible values include: "Megabytes", 6191 "Gigabytes", "Terabytes", "Petabytes", "Percent". 6192 :vartype unit: str or ~azure.mgmt.sql.models.LogSizeUnit 6193 """ 6194 6195 _validation = { 6196 'limit': {'readonly': True}, 6197 'unit': {'readonly': True}, 6198 } 6199 6200 _attribute_map = { 6201 'limit': {'key': 'limit', 'type': 'int'}, 6202 'unit': {'key': 'unit', 'type': 'str'}, 6203 } 6204 6205 def __init__( 6206 self, 6207 **kwargs 6208 ): 6209 super(LogSizeCapability, self).__init__(**kwargs) 6210 self.limit = None 6211 self.unit = None 6212 6213 6214class LongTermRetentionBackup(ProxyResource): 6215 """A long term retention backup. 6216 6217 Variables are only populated by the server, and will be ignored when sending a request. 6218 6219 :ivar id: Resource ID. 6220 :vartype id: str 6221 :ivar name: Resource name. 6222 :vartype name: str 6223 :ivar type: Resource type. 6224 :vartype type: str 6225 :ivar server_name: The server name that the backup database belong to. 6226 :vartype server_name: str 6227 :ivar server_create_time: The create time of the server. 6228 :vartype server_create_time: ~datetime.datetime 6229 :ivar database_name: The name of the database the backup belong to. 6230 :vartype database_name: str 6231 :ivar database_deletion_time: The delete time of the database. 6232 :vartype database_deletion_time: ~datetime.datetime 6233 :ivar backup_time: The time the backup was taken. 6234 :vartype backup_time: ~datetime.datetime 6235 :ivar backup_expiration_time: The time the long term retention backup will expire. 6236 :vartype backup_expiration_time: ~datetime.datetime 6237 :ivar backup_storage_redundancy: The storage redundancy type of the backup. Possible values 6238 include: "Geo", "Local", "Zone". 6239 :vartype backup_storage_redundancy: str or ~azure.mgmt.sql.models.BackupStorageRedundancy 6240 :param requested_backup_storage_redundancy: The storage redundancy type of the backup. Possible 6241 values include: "Geo", "Local", "Zone". 6242 :type requested_backup_storage_redundancy: str or 6243 ~azure.mgmt.sql.models.BackupStorageRedundancy 6244 """ 6245 6246 _validation = { 6247 'id': {'readonly': True}, 6248 'name': {'readonly': True}, 6249 'type': {'readonly': True}, 6250 'server_name': {'readonly': True}, 6251 'server_create_time': {'readonly': True}, 6252 'database_name': {'readonly': True}, 6253 'database_deletion_time': {'readonly': True}, 6254 'backup_time': {'readonly': True}, 6255 'backup_expiration_time': {'readonly': True}, 6256 'backup_storage_redundancy': {'readonly': True}, 6257 } 6258 6259 _attribute_map = { 6260 'id': {'key': 'id', 'type': 'str'}, 6261 'name': {'key': 'name', 'type': 'str'}, 6262 'type': {'key': 'type', 'type': 'str'}, 6263 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 6264 'server_create_time': {'key': 'properties.serverCreateTime', 'type': 'iso-8601'}, 6265 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 6266 'database_deletion_time': {'key': 'properties.databaseDeletionTime', 'type': 'iso-8601'}, 6267 'backup_time': {'key': 'properties.backupTime', 'type': 'iso-8601'}, 6268 'backup_expiration_time': {'key': 'properties.backupExpirationTime', 'type': 'iso-8601'}, 6269 'backup_storage_redundancy': {'key': 'properties.backupStorageRedundancy', 'type': 'str'}, 6270 'requested_backup_storage_redundancy': {'key': 'properties.requestedBackupStorageRedundancy', 'type': 'str'}, 6271 } 6272 6273 def __init__( 6274 self, 6275 **kwargs 6276 ): 6277 super(LongTermRetentionBackup, self).__init__(**kwargs) 6278 self.server_name = None 6279 self.server_create_time = None 6280 self.database_name = None 6281 self.database_deletion_time = None 6282 self.backup_time = None 6283 self.backup_expiration_time = None 6284 self.backup_storage_redundancy = None 6285 self.requested_backup_storage_redundancy = kwargs.get('requested_backup_storage_redundancy', None) 6286 6287 6288class LongTermRetentionBackupListResult(msrest.serialization.Model): 6289 """A list of long term retention backups. 6290 6291 Variables are only populated by the server, and will be ignored when sending a request. 6292 6293 :ivar value: Array of results. 6294 :vartype value: list[~azure.mgmt.sql.models.LongTermRetentionBackup] 6295 :ivar next_link: Link to retrieve next page of results. 6296 :vartype next_link: str 6297 """ 6298 6299 _validation = { 6300 'value': {'readonly': True}, 6301 'next_link': {'readonly': True}, 6302 } 6303 6304 _attribute_map = { 6305 'value': {'key': 'value', 'type': '[LongTermRetentionBackup]'}, 6306 'next_link': {'key': 'nextLink', 'type': 'str'}, 6307 } 6308 6309 def __init__( 6310 self, 6311 **kwargs 6312 ): 6313 super(LongTermRetentionBackupListResult, self).__init__(**kwargs) 6314 self.value = None 6315 self.next_link = None 6316 6317 6318class LongTermRetentionBackupOperationResult(ProxyResource): 6319 """A LongTermRetentionBackup operation result resource. 6320 6321 Variables are only populated by the server, and will be ignored when sending a request. 6322 6323 :ivar id: Resource ID. 6324 :vartype id: str 6325 :ivar name: Resource name. 6326 :vartype name: str 6327 :ivar type: Resource type. 6328 :vartype type: str 6329 :ivar request_id: Request Id. 6330 :vartype request_id: str 6331 :ivar operation_type: Operation type. 6332 :vartype operation_type: str 6333 :ivar from_backup_resource_id: Source backup resource id. 6334 :vartype from_backup_resource_id: str 6335 :ivar to_backup_resource_id: Target backup resource id. 6336 :vartype to_backup_resource_id: str 6337 :ivar target_backup_storage_redundancy: The storage redundancy type of the copied backup. 6338 Possible values include: "Geo", "Local", "Zone". 6339 :vartype target_backup_storage_redundancy: str or 6340 ~azure.mgmt.sql.models.BackupStorageRedundancy 6341 :ivar status: Operation status. 6342 :vartype status: str 6343 :ivar message: Progress message. 6344 :vartype message: str 6345 """ 6346 6347 _validation = { 6348 'id': {'readonly': True}, 6349 'name': {'readonly': True}, 6350 'type': {'readonly': True}, 6351 'request_id': {'readonly': True}, 6352 'operation_type': {'readonly': True}, 6353 'from_backup_resource_id': {'readonly': True}, 6354 'to_backup_resource_id': {'readonly': True}, 6355 'target_backup_storage_redundancy': {'readonly': True}, 6356 'status': {'readonly': True}, 6357 'message': {'readonly': True}, 6358 } 6359 6360 _attribute_map = { 6361 'id': {'key': 'id', 'type': 'str'}, 6362 'name': {'key': 'name', 'type': 'str'}, 6363 'type': {'key': 'type', 'type': 'str'}, 6364 'request_id': {'key': 'properties.requestId', 'type': 'str'}, 6365 'operation_type': {'key': 'properties.operationType', 'type': 'str'}, 6366 'from_backup_resource_id': {'key': 'properties.fromBackupResourceId', 'type': 'str'}, 6367 'to_backup_resource_id': {'key': 'properties.toBackupResourceId', 'type': 'str'}, 6368 'target_backup_storage_redundancy': {'key': 'properties.targetBackupStorageRedundancy', 'type': 'str'}, 6369 'status': {'key': 'properties.status', 'type': 'str'}, 6370 'message': {'key': 'properties.message', 'type': 'str'}, 6371 } 6372 6373 def __init__( 6374 self, 6375 **kwargs 6376 ): 6377 super(LongTermRetentionBackupOperationResult, self).__init__(**kwargs) 6378 self.request_id = None 6379 self.operation_type = None 6380 self.from_backup_resource_id = None 6381 self.to_backup_resource_id = None 6382 self.target_backup_storage_redundancy = None 6383 self.status = None 6384 self.message = None 6385 6386 6387class LongTermRetentionPolicy(ProxyResource): 6388 """A long term retention policy. 6389 6390 Variables are only populated by the server, and will be ignored when sending a request. 6391 6392 :ivar id: Resource ID. 6393 :vartype id: str 6394 :ivar name: Resource name. 6395 :vartype name: str 6396 :ivar type: Resource type. 6397 :vartype type: str 6398 :param weekly_retention: The weekly retention policy for an LTR backup in an ISO 8601 format. 6399 :type weekly_retention: str 6400 :param monthly_retention: The monthly retention policy for an LTR backup in an ISO 8601 format. 6401 :type monthly_retention: str 6402 :param yearly_retention: The yearly retention policy for an LTR backup in an ISO 8601 format. 6403 :type yearly_retention: str 6404 :param week_of_year: The week of year to take the yearly backup in an ISO 8601 format. 6405 :type week_of_year: int 6406 """ 6407 6408 _validation = { 6409 'id': {'readonly': True}, 6410 'name': {'readonly': True}, 6411 'type': {'readonly': True}, 6412 } 6413 6414 _attribute_map = { 6415 'id': {'key': 'id', 'type': 'str'}, 6416 'name': {'key': 'name', 'type': 'str'}, 6417 'type': {'key': 'type', 'type': 'str'}, 6418 'weekly_retention': {'key': 'properties.weeklyRetention', 'type': 'str'}, 6419 'monthly_retention': {'key': 'properties.monthlyRetention', 'type': 'str'}, 6420 'yearly_retention': {'key': 'properties.yearlyRetention', 'type': 'str'}, 6421 'week_of_year': {'key': 'properties.weekOfYear', 'type': 'int'}, 6422 } 6423 6424 def __init__( 6425 self, 6426 **kwargs 6427 ): 6428 super(LongTermRetentionPolicy, self).__init__(**kwargs) 6429 self.weekly_retention = kwargs.get('weekly_retention', None) 6430 self.monthly_retention = kwargs.get('monthly_retention', None) 6431 self.yearly_retention = kwargs.get('yearly_retention', None) 6432 self.week_of_year = kwargs.get('week_of_year', None) 6433 6434 6435class LongTermRetentionPolicyListResult(msrest.serialization.Model): 6436 """A list of long term retention policies. 6437 6438 Variables are only populated by the server, and will be ignored when sending a request. 6439 6440 :ivar value: Array of results. 6441 :vartype value: list[~azure.mgmt.sql.models.LongTermRetentionPolicy] 6442 :ivar next_link: Link to retrieve next page of results. 6443 :vartype next_link: str 6444 """ 6445 6446 _validation = { 6447 'value': {'readonly': True}, 6448 'next_link': {'readonly': True}, 6449 } 6450 6451 _attribute_map = { 6452 'value': {'key': 'value', 'type': '[LongTermRetentionPolicy]'}, 6453 'next_link': {'key': 'nextLink', 'type': 'str'}, 6454 } 6455 6456 def __init__( 6457 self, 6458 **kwargs 6459 ): 6460 super(LongTermRetentionPolicyListResult, self).__init__(**kwargs) 6461 self.value = None 6462 self.next_link = None 6463 6464 6465class MaintenanceConfigurationCapability(msrest.serialization.Model): 6466 """The maintenance configuration capability. 6467 6468 Variables are only populated by the server, and will be ignored when sending a request. 6469 6470 :ivar name: Maintenance configuration name. 6471 :vartype name: str 6472 :ivar zone_redundant: Whether or not zone redundancy is supported for the maintenance 6473 configuration. 6474 :vartype zone_redundant: bool 6475 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 6476 "Default", "Disabled". 6477 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 6478 :param reason: The reason for the capability not being available. 6479 :type reason: str 6480 """ 6481 6482 _validation = { 6483 'name': {'readonly': True}, 6484 'zone_redundant': {'readonly': True}, 6485 'status': {'readonly': True}, 6486 } 6487 6488 _attribute_map = { 6489 'name': {'key': 'name', 'type': 'str'}, 6490 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 6491 'status': {'key': 'status', 'type': 'str'}, 6492 'reason': {'key': 'reason', 'type': 'str'}, 6493 } 6494 6495 def __init__( 6496 self, 6497 **kwargs 6498 ): 6499 super(MaintenanceConfigurationCapability, self).__init__(**kwargs) 6500 self.name = None 6501 self.zone_redundant = None 6502 self.status = None 6503 self.reason = kwargs.get('reason', None) 6504 6505 6506class MaintenanceWindowOptions(ProxyResource): 6507 """Maintenance window options. 6508 6509 Variables are only populated by the server, and will be ignored when sending a request. 6510 6511 :ivar id: Resource ID. 6512 :vartype id: str 6513 :ivar name: Resource name. 6514 :vartype name: str 6515 :ivar type: Resource type. 6516 :vartype type: str 6517 :param is_enabled: Whether maintenance windows are enabled for the database. 6518 :type is_enabled: bool 6519 :param maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 6520 {Wednesday, 0, 24*\ 60}. 6521 :type maintenance_window_cycles: list[~azure.mgmt.sql.models.MaintenanceWindowTimeRange] 6522 :param min_duration_in_minutes: Minimum duration of maintenance window. 6523 :type min_duration_in_minutes: int 6524 :param default_duration_in_minutes: Default duration for maintenance window. 6525 :type default_duration_in_minutes: int 6526 :param min_cycles: Minimum number of maintenance windows cycles to be set on the database. 6527 :type min_cycles: int 6528 :param time_granularity_in_minutes: Time granularity in minutes for maintenance windows. 6529 :type time_granularity_in_minutes: int 6530 :param allow_multiple_maintenance_windows_per_cycle: Whether we allow multiple maintenance 6531 windows per cycle. 6532 :type allow_multiple_maintenance_windows_per_cycle: bool 6533 """ 6534 6535 _validation = { 6536 'id': {'readonly': True}, 6537 'name': {'readonly': True}, 6538 'type': {'readonly': True}, 6539 } 6540 6541 _attribute_map = { 6542 'id': {'key': 'id', 'type': 'str'}, 6543 'name': {'key': 'name', 'type': 'str'}, 6544 'type': {'key': 'type', 'type': 'str'}, 6545 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, 6546 'maintenance_window_cycles': {'key': 'properties.maintenanceWindowCycles', 'type': '[MaintenanceWindowTimeRange]'}, 6547 'min_duration_in_minutes': {'key': 'properties.minDurationInMinutes', 'type': 'int'}, 6548 'default_duration_in_minutes': {'key': 'properties.defaultDurationInMinutes', 'type': 'int'}, 6549 'min_cycles': {'key': 'properties.minCycles', 'type': 'int'}, 6550 'time_granularity_in_minutes': {'key': 'properties.timeGranularityInMinutes', 'type': 'int'}, 6551 'allow_multiple_maintenance_windows_per_cycle': {'key': 'properties.allowMultipleMaintenanceWindowsPerCycle', 'type': 'bool'}, 6552 } 6553 6554 def __init__( 6555 self, 6556 **kwargs 6557 ): 6558 super(MaintenanceWindowOptions, self).__init__(**kwargs) 6559 self.is_enabled = kwargs.get('is_enabled', None) 6560 self.maintenance_window_cycles = kwargs.get('maintenance_window_cycles', None) 6561 self.min_duration_in_minutes = kwargs.get('min_duration_in_minutes', None) 6562 self.default_duration_in_minutes = kwargs.get('default_duration_in_minutes', None) 6563 self.min_cycles = kwargs.get('min_cycles', None) 6564 self.time_granularity_in_minutes = kwargs.get('time_granularity_in_minutes', None) 6565 self.allow_multiple_maintenance_windows_per_cycle = kwargs.get('allow_multiple_maintenance_windows_per_cycle', None) 6566 6567 6568class MaintenanceWindows(ProxyResource): 6569 """Maintenance windows. 6570 6571 Variables are only populated by the server, and will be ignored when sending a request. 6572 6573 :ivar id: Resource ID. 6574 :vartype id: str 6575 :ivar name: Resource name. 6576 :vartype name: str 6577 :ivar type: Resource type. 6578 :vartype type: str 6579 :param time_ranges: 6580 :type time_ranges: list[~azure.mgmt.sql.models.MaintenanceWindowTimeRange] 6581 """ 6582 6583 _validation = { 6584 'id': {'readonly': True}, 6585 'name': {'readonly': True}, 6586 'type': {'readonly': True}, 6587 } 6588 6589 _attribute_map = { 6590 'id': {'key': 'id', 'type': 'str'}, 6591 'name': {'key': 'name', 'type': 'str'}, 6592 'type': {'key': 'type', 'type': 'str'}, 6593 'time_ranges': {'key': 'properties.timeRanges', 'type': '[MaintenanceWindowTimeRange]'}, 6594 } 6595 6596 def __init__( 6597 self, 6598 **kwargs 6599 ): 6600 super(MaintenanceWindows, self).__init__(**kwargs) 6601 self.time_ranges = kwargs.get('time_ranges', None) 6602 6603 6604class MaintenanceWindowTimeRange(msrest.serialization.Model): 6605 """Maintenance window time range. 6606 6607 :param day_of_week: Day of maintenance window. Possible values include: "Sunday", "Monday", 6608 "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday". 6609 :type day_of_week: str or ~azure.mgmt.sql.models.DayOfWeek 6610 :param start_time: Start time minutes offset from 12am. 6611 :type start_time: str 6612 :param duration: Duration of maintenance window in minutes. 6613 :type duration: str 6614 """ 6615 6616 _attribute_map = { 6617 'day_of_week': {'key': 'dayOfWeek', 'type': 'str'}, 6618 'start_time': {'key': 'startTime', 'type': 'str'}, 6619 'duration': {'key': 'duration', 'type': 'str'}, 6620 } 6621 6622 def __init__( 6623 self, 6624 **kwargs 6625 ): 6626 super(MaintenanceWindowTimeRange, self).__init__(**kwargs) 6627 self.day_of_week = kwargs.get('day_of_week', None) 6628 self.start_time = kwargs.get('start_time', None) 6629 self.duration = kwargs.get('duration', None) 6630 6631 6632class ManagedBackupShortTermRetentionPolicy(ProxyResource): 6633 """A short term retention policy. 6634 6635 Variables are only populated by the server, and will be ignored when sending a request. 6636 6637 :ivar id: Resource ID. 6638 :vartype id: str 6639 :ivar name: Resource name. 6640 :vartype name: str 6641 :ivar type: Resource type. 6642 :vartype type: str 6643 :param retention_days: The backup retention period in days. This is how many days Point-in-Time 6644 Restore will be supported. 6645 :type retention_days: int 6646 """ 6647 6648 _validation = { 6649 'id': {'readonly': True}, 6650 'name': {'readonly': True}, 6651 'type': {'readonly': True}, 6652 } 6653 6654 _attribute_map = { 6655 'id': {'key': 'id', 'type': 'str'}, 6656 'name': {'key': 'name', 'type': 'str'}, 6657 'type': {'key': 'type', 'type': 'str'}, 6658 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 6659 } 6660 6661 def __init__( 6662 self, 6663 **kwargs 6664 ): 6665 super(ManagedBackupShortTermRetentionPolicy, self).__init__(**kwargs) 6666 self.retention_days = kwargs.get('retention_days', None) 6667 6668 6669class ManagedBackupShortTermRetentionPolicyListResult(msrest.serialization.Model): 6670 """A list of short term retention policies. 6671 6672 Variables are only populated by the server, and will be ignored when sending a request. 6673 6674 :ivar value: Array of results. 6675 :vartype value: list[~azure.mgmt.sql.models.ManagedBackupShortTermRetentionPolicy] 6676 :ivar next_link: Link to retrieve next page of results. 6677 :vartype next_link: str 6678 """ 6679 6680 _validation = { 6681 'value': {'readonly': True}, 6682 'next_link': {'readonly': True}, 6683 } 6684 6685 _attribute_map = { 6686 'value': {'key': 'value', 'type': '[ManagedBackupShortTermRetentionPolicy]'}, 6687 'next_link': {'key': 'nextLink', 'type': 'str'}, 6688 } 6689 6690 def __init__( 6691 self, 6692 **kwargs 6693 ): 6694 super(ManagedBackupShortTermRetentionPolicyListResult, self).__init__(**kwargs) 6695 self.value = None 6696 self.next_link = None 6697 6698 6699class ManagedDatabase(TrackedResource): 6700 """A managed database resource. 6701 6702 Variables are only populated by the server, and will be ignored when sending a request. 6703 6704 All required parameters must be populated in order to send to Azure. 6705 6706 :ivar id: Resource ID. 6707 :vartype id: str 6708 :ivar name: Resource name. 6709 :vartype name: str 6710 :ivar type: Resource type. 6711 :vartype type: str 6712 :param location: Required. Resource location. 6713 :type location: str 6714 :param tags: A set of tags. Resource tags. 6715 :type tags: dict[str, str] 6716 :param collation: Collation of the managed database. 6717 :type collation: str 6718 :ivar status: Status of the database. Possible values include: "Online", "Offline", "Shutdown", 6719 "Creating", "Inaccessible", "Restoring", "Updating". 6720 :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus 6721 :ivar creation_date: Creation date of the database. 6722 :vartype creation_date: ~datetime.datetime 6723 :ivar earliest_restore_point: Earliest restore point in time for point in time restore. 6724 :vartype earliest_restore_point: ~datetime.datetime 6725 :param restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is 6726 required. Specifies the point in time (ISO8601 format) of the source database that will be 6727 restored to create the new database. 6728 :type restore_point_in_time: ~datetime.datetime 6729 :ivar default_secondary_location: Geo paired region. 6730 :vartype default_secondary_location: str 6731 :param catalog_collation: Collation of the metadata catalog. Possible values include: 6732 "DATABASE_DEFAULT", "SQL_Latin1_General_CP1_CI_AS". 6733 :type catalog_collation: str or ~azure.mgmt.sql.models.CatalogCollationType 6734 :param create_mode: Managed database create mode. PointInTimeRestore: Create a database by 6735 restoring a point in time backup of an existing database. SourceDatabaseName, 6736 SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a 6737 database by restoring from external backup files. Collation, StorageContainerUri and 6738 StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a 6739 geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database 6740 resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a 6741 long term retention backup (longTermRetentionBackupResourceId required). Possible values 6742 include: "Default", "RestoreExternalBackup", "PointInTimeRestore", "Recovery", 6743 "RestoreLongTermRetentionBackup". 6744 :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode 6745 :param storage_container_uri: Conditional. If createMode is RestoreExternalBackup, this value 6746 is required. Specifies the uri of the storage container where backups for this restore are 6747 stored. 6748 :type storage_container_uri: str 6749 :param source_database_id: The resource identifier of the source database associated with 6750 create operation of this database. 6751 :type source_database_id: str 6752 :param restorable_dropped_database_id: The restorable dropped database resource id to restore 6753 when creating this database. 6754 :type restorable_dropped_database_id: str 6755 :param storage_container_sas_token: Conditional. If createMode is RestoreExternalBackup, this 6756 value is required. Specifies the storage container sas token. 6757 :type storage_container_sas_token: str 6758 :ivar failover_group_id: Instance Failover Group resource identifier that this managed database 6759 belongs to. 6760 :vartype failover_group_id: str 6761 :param recoverable_database_id: The resource identifier of the recoverable database associated 6762 with create operation of this database. 6763 :type recoverable_database_id: str 6764 :param long_term_retention_backup_resource_id: The name of the Long Term Retention backup to be 6765 used for restore of this managed database. 6766 :type long_term_retention_backup_resource_id: str 6767 :param auto_complete_restore: Whether to auto complete restore of this managed database. 6768 :type auto_complete_restore: bool 6769 :param last_backup_name: Last backup file name for restore of this managed database. 6770 :type last_backup_name: str 6771 """ 6772 6773 _validation = { 6774 'id': {'readonly': True}, 6775 'name': {'readonly': True}, 6776 'type': {'readonly': True}, 6777 'location': {'required': True}, 6778 'status': {'readonly': True}, 6779 'creation_date': {'readonly': True}, 6780 'earliest_restore_point': {'readonly': True}, 6781 'default_secondary_location': {'readonly': True}, 6782 'failover_group_id': {'readonly': True}, 6783 } 6784 6785 _attribute_map = { 6786 'id': {'key': 'id', 'type': 'str'}, 6787 'name': {'key': 'name', 'type': 'str'}, 6788 'type': {'key': 'type', 'type': 'str'}, 6789 'location': {'key': 'location', 'type': 'str'}, 6790 'tags': {'key': 'tags', 'type': '{str}'}, 6791 'collation': {'key': 'properties.collation', 'type': 'str'}, 6792 'status': {'key': 'properties.status', 'type': 'str'}, 6793 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 6794 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, 6795 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 6796 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, 6797 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 6798 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, 6799 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, 6800 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, 6801 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, 6802 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, 6803 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, 6804 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, 6805 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, 6806 'auto_complete_restore': {'key': 'properties.autoCompleteRestore', 'type': 'bool'}, 6807 'last_backup_name': {'key': 'properties.lastBackupName', 'type': 'str'}, 6808 } 6809 6810 def __init__( 6811 self, 6812 **kwargs 6813 ): 6814 super(ManagedDatabase, self).__init__(**kwargs) 6815 self.collation = kwargs.get('collation', None) 6816 self.status = None 6817 self.creation_date = None 6818 self.earliest_restore_point = None 6819 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 6820 self.default_secondary_location = None 6821 self.catalog_collation = kwargs.get('catalog_collation', None) 6822 self.create_mode = kwargs.get('create_mode', None) 6823 self.storage_container_uri = kwargs.get('storage_container_uri', None) 6824 self.source_database_id = kwargs.get('source_database_id', None) 6825 self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) 6826 self.storage_container_sas_token = kwargs.get('storage_container_sas_token', None) 6827 self.failover_group_id = None 6828 self.recoverable_database_id = kwargs.get('recoverable_database_id', None) 6829 self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) 6830 self.auto_complete_restore = kwargs.get('auto_complete_restore', None) 6831 self.last_backup_name = kwargs.get('last_backup_name', None) 6832 6833 6834class ManagedDatabaseListResult(msrest.serialization.Model): 6835 """A list of managed databases. 6836 6837 Variables are only populated by the server, and will be ignored when sending a request. 6838 6839 :ivar value: Array of results. 6840 :vartype value: list[~azure.mgmt.sql.models.ManagedDatabase] 6841 :ivar next_link: Link to retrieve next page of results. 6842 :vartype next_link: str 6843 """ 6844 6845 _validation = { 6846 'value': {'readonly': True}, 6847 'next_link': {'readonly': True}, 6848 } 6849 6850 _attribute_map = { 6851 'value': {'key': 'value', 'type': '[ManagedDatabase]'}, 6852 'next_link': {'key': 'nextLink', 'type': 'str'}, 6853 } 6854 6855 def __init__( 6856 self, 6857 **kwargs 6858 ): 6859 super(ManagedDatabaseListResult, self).__init__(**kwargs) 6860 self.value = None 6861 self.next_link = None 6862 6863 6864class ManagedDatabaseRestoreDetailsResult(ProxyResource): 6865 """A managed database restore details. 6866 6867 Variables are only populated by the server, and will be ignored when sending a request. 6868 6869 :ivar id: Resource ID. 6870 :vartype id: str 6871 :ivar name: Resource name. 6872 :vartype name: str 6873 :ivar type: Resource type. 6874 :vartype type: str 6875 :ivar status: Restore status. 6876 :vartype status: str 6877 :ivar current_restoring_file_name: Current restoring file name. 6878 :vartype current_restoring_file_name: str 6879 :ivar last_restored_file_name: Last restored file name. 6880 :vartype last_restored_file_name: str 6881 :ivar last_restored_file_time: Last restored file time. 6882 :vartype last_restored_file_time: ~datetime.datetime 6883 :ivar percent_completed: Percent completed. 6884 :vartype percent_completed: float 6885 :ivar unrestorable_files: List of unrestorable files. 6886 :vartype unrestorable_files: list[str] 6887 :ivar number_of_files_detected: Number of files detected. 6888 :vartype number_of_files_detected: long 6889 :ivar last_uploaded_file_name: Last uploaded file name. 6890 :vartype last_uploaded_file_name: str 6891 :ivar last_uploaded_file_time: Last uploaded file time. 6892 :vartype last_uploaded_file_time: ~datetime.datetime 6893 :ivar block_reason: The reason why restore is in Blocked state. 6894 :vartype block_reason: str 6895 """ 6896 6897 _validation = { 6898 'id': {'readonly': True}, 6899 'name': {'readonly': True}, 6900 'type': {'readonly': True}, 6901 'status': {'readonly': True}, 6902 'current_restoring_file_name': {'readonly': True}, 6903 'last_restored_file_name': {'readonly': True}, 6904 'last_restored_file_time': {'readonly': True}, 6905 'percent_completed': {'readonly': True}, 6906 'unrestorable_files': {'readonly': True}, 6907 'number_of_files_detected': {'readonly': True}, 6908 'last_uploaded_file_name': {'readonly': True}, 6909 'last_uploaded_file_time': {'readonly': True}, 6910 'block_reason': {'readonly': True}, 6911 } 6912 6913 _attribute_map = { 6914 'id': {'key': 'id', 'type': 'str'}, 6915 'name': {'key': 'name', 'type': 'str'}, 6916 'type': {'key': 'type', 'type': 'str'}, 6917 'status': {'key': 'properties.status', 'type': 'str'}, 6918 'current_restoring_file_name': {'key': 'properties.currentRestoringFileName', 'type': 'str'}, 6919 'last_restored_file_name': {'key': 'properties.lastRestoredFileName', 'type': 'str'}, 6920 'last_restored_file_time': {'key': 'properties.lastRestoredFileTime', 'type': 'iso-8601'}, 6921 'percent_completed': {'key': 'properties.percentCompleted', 'type': 'float'}, 6922 'unrestorable_files': {'key': 'properties.unrestorableFiles', 'type': '[str]'}, 6923 'number_of_files_detected': {'key': 'properties.numberOfFilesDetected', 'type': 'long'}, 6924 'last_uploaded_file_name': {'key': 'properties.lastUploadedFileName', 'type': 'str'}, 6925 'last_uploaded_file_time': {'key': 'properties.lastUploadedFileTime', 'type': 'iso-8601'}, 6926 'block_reason': {'key': 'properties.blockReason', 'type': 'str'}, 6927 } 6928 6929 def __init__( 6930 self, 6931 **kwargs 6932 ): 6933 super(ManagedDatabaseRestoreDetailsResult, self).__init__(**kwargs) 6934 self.status = None 6935 self.current_restoring_file_name = None 6936 self.last_restored_file_name = None 6937 self.last_restored_file_time = None 6938 self.percent_completed = None 6939 self.unrestorable_files = None 6940 self.number_of_files_detected = None 6941 self.last_uploaded_file_name = None 6942 self.last_uploaded_file_time = None 6943 self.block_reason = None 6944 6945 6946class ManagedDatabaseSecurityAlertPolicy(ProxyResource): 6947 """A managed database security alert policy. 6948 6949 Variables are only populated by the server, and will be ignored when sending a request. 6950 6951 :ivar id: Resource ID. 6952 :vartype id: str 6953 :ivar name: Resource name. 6954 :vartype name: str 6955 :ivar type: Resource type. 6956 :vartype type: str 6957 :param state: Specifies the state of the policy, whether it is enabled or disabled or a policy 6958 has not been applied yet on the specific database. Possible values include: "New", "Enabled", 6959 "Disabled". 6960 :type state: str or ~azure.mgmt.sql.models.SecurityAlertPolicyState 6961 :param disabled_alerts: Specifies an array of alerts that are disabled. Allowed values are: 6962 Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, 6963 Brute_Force. 6964 :type disabled_alerts: list[str] 6965 :param email_addresses: Specifies an array of e-mail addresses to which the alert is sent. 6966 :type email_addresses: list[str] 6967 :param email_account_admins: Specifies that the alert is sent to the account administrators. 6968 :type email_account_admins: bool 6969 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 6970 https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection 6971 audit logs. 6972 :type storage_endpoint: str 6973 :param storage_account_access_key: Specifies the identifier key of the Threat Detection audit 6974 storage account. 6975 :type storage_account_access_key: str 6976 :param retention_days: Specifies the number of days to keep in the Threat Detection audit logs. 6977 :type retention_days: int 6978 :ivar creation_time: Specifies the UTC creation time of the policy. 6979 :vartype creation_time: ~datetime.datetime 6980 """ 6981 6982 _validation = { 6983 'id': {'readonly': True}, 6984 'name': {'readonly': True}, 6985 'type': {'readonly': True}, 6986 'creation_time': {'readonly': True}, 6987 } 6988 6989 _attribute_map = { 6990 'id': {'key': 'id', 'type': 'str'}, 6991 'name': {'key': 'name', 'type': 'str'}, 6992 'type': {'key': 'type', 'type': 'str'}, 6993 'state': {'key': 'properties.state', 'type': 'str'}, 6994 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': '[str]'}, 6995 'email_addresses': {'key': 'properties.emailAddresses', 'type': '[str]'}, 6996 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'bool'}, 6997 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 6998 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 6999 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 7000 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 7001 } 7002 7003 def __init__( 7004 self, 7005 **kwargs 7006 ): 7007 super(ManagedDatabaseSecurityAlertPolicy, self).__init__(**kwargs) 7008 self.state = kwargs.get('state', None) 7009 self.disabled_alerts = kwargs.get('disabled_alerts', None) 7010 self.email_addresses = kwargs.get('email_addresses', None) 7011 self.email_account_admins = kwargs.get('email_account_admins', None) 7012 self.storage_endpoint = kwargs.get('storage_endpoint', None) 7013 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 7014 self.retention_days = kwargs.get('retention_days', None) 7015 self.creation_time = None 7016 7017 7018class ManagedDatabaseSecurityAlertPolicyListResult(msrest.serialization.Model): 7019 """A list of the managed database's security alert policies. 7020 7021 Variables are only populated by the server, and will be ignored when sending a request. 7022 7023 :ivar value: Array of results. 7024 :vartype value: list[~azure.mgmt.sql.models.ManagedDatabaseSecurityAlertPolicy] 7025 :ivar next_link: Link to retrieve next page of results. 7026 :vartype next_link: str 7027 """ 7028 7029 _validation = { 7030 'value': {'readonly': True}, 7031 'next_link': {'readonly': True}, 7032 } 7033 7034 _attribute_map = { 7035 'value': {'key': 'value', 'type': '[ManagedDatabaseSecurityAlertPolicy]'}, 7036 'next_link': {'key': 'nextLink', 'type': 'str'}, 7037 } 7038 7039 def __init__( 7040 self, 7041 **kwargs 7042 ): 7043 super(ManagedDatabaseSecurityAlertPolicyListResult, self).__init__(**kwargs) 7044 self.value = None 7045 self.next_link = None 7046 7047 7048class ManagedDatabaseUpdate(msrest.serialization.Model): 7049 """An managed database update. 7050 7051 Variables are only populated by the server, and will be ignored when sending a request. 7052 7053 :param tags: A set of tags. Resource tags. 7054 :type tags: dict[str, str] 7055 :param collation: Collation of the managed database. 7056 :type collation: str 7057 :ivar status: Status of the database. Possible values include: "Online", "Offline", "Shutdown", 7058 "Creating", "Inaccessible", "Restoring", "Updating". 7059 :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus 7060 :ivar creation_date: Creation date of the database. 7061 :vartype creation_date: ~datetime.datetime 7062 :ivar earliest_restore_point: Earliest restore point in time for point in time restore. 7063 :vartype earliest_restore_point: ~datetime.datetime 7064 :param restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is 7065 required. Specifies the point in time (ISO8601 format) of the source database that will be 7066 restored to create the new database. 7067 :type restore_point_in_time: ~datetime.datetime 7068 :ivar default_secondary_location: Geo paired region. 7069 :vartype default_secondary_location: str 7070 :param catalog_collation: Collation of the metadata catalog. Possible values include: 7071 "DATABASE_DEFAULT", "SQL_Latin1_General_CP1_CI_AS". 7072 :type catalog_collation: str or ~azure.mgmt.sql.models.CatalogCollationType 7073 :param create_mode: Managed database create mode. PointInTimeRestore: Create a database by 7074 restoring a point in time backup of an existing database. SourceDatabaseName, 7075 SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a 7076 database by restoring from external backup files. Collation, StorageContainerUri and 7077 StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a 7078 geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database 7079 resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a 7080 long term retention backup (longTermRetentionBackupResourceId required). Possible values 7081 include: "Default", "RestoreExternalBackup", "PointInTimeRestore", "Recovery", 7082 "RestoreLongTermRetentionBackup". 7083 :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode 7084 :param storage_container_uri: Conditional. If createMode is RestoreExternalBackup, this value 7085 is required. Specifies the uri of the storage container where backups for this restore are 7086 stored. 7087 :type storage_container_uri: str 7088 :param source_database_id: The resource identifier of the source database associated with 7089 create operation of this database. 7090 :type source_database_id: str 7091 :param restorable_dropped_database_id: The restorable dropped database resource id to restore 7092 when creating this database. 7093 :type restorable_dropped_database_id: str 7094 :param storage_container_sas_token: Conditional. If createMode is RestoreExternalBackup, this 7095 value is required. Specifies the storage container sas token. 7096 :type storage_container_sas_token: str 7097 :ivar failover_group_id: Instance Failover Group resource identifier that this managed database 7098 belongs to. 7099 :vartype failover_group_id: str 7100 :param recoverable_database_id: The resource identifier of the recoverable database associated 7101 with create operation of this database. 7102 :type recoverable_database_id: str 7103 :param long_term_retention_backup_resource_id: The name of the Long Term Retention backup to be 7104 used for restore of this managed database. 7105 :type long_term_retention_backup_resource_id: str 7106 :param auto_complete_restore: Whether to auto complete restore of this managed database. 7107 :type auto_complete_restore: bool 7108 :param last_backup_name: Last backup file name for restore of this managed database. 7109 :type last_backup_name: str 7110 """ 7111 7112 _validation = { 7113 'status': {'readonly': True}, 7114 'creation_date': {'readonly': True}, 7115 'earliest_restore_point': {'readonly': True}, 7116 'default_secondary_location': {'readonly': True}, 7117 'failover_group_id': {'readonly': True}, 7118 } 7119 7120 _attribute_map = { 7121 'tags': {'key': 'tags', 'type': '{str}'}, 7122 'collation': {'key': 'properties.collation', 'type': 'str'}, 7123 'status': {'key': 'properties.status', 'type': 'str'}, 7124 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 7125 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, 7126 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 7127 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, 7128 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 7129 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, 7130 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, 7131 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, 7132 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, 7133 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, 7134 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, 7135 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, 7136 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, 7137 'auto_complete_restore': {'key': 'properties.autoCompleteRestore', 'type': 'bool'}, 7138 'last_backup_name': {'key': 'properties.lastBackupName', 'type': 'str'}, 7139 } 7140 7141 def __init__( 7142 self, 7143 **kwargs 7144 ): 7145 super(ManagedDatabaseUpdate, self).__init__(**kwargs) 7146 self.tags = kwargs.get('tags', None) 7147 self.collation = kwargs.get('collation', None) 7148 self.status = None 7149 self.creation_date = None 7150 self.earliest_restore_point = None 7151 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 7152 self.default_secondary_location = None 7153 self.catalog_collation = kwargs.get('catalog_collation', None) 7154 self.create_mode = kwargs.get('create_mode', None) 7155 self.storage_container_uri = kwargs.get('storage_container_uri', None) 7156 self.source_database_id = kwargs.get('source_database_id', None) 7157 self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) 7158 self.storage_container_sas_token = kwargs.get('storage_container_sas_token', None) 7159 self.failover_group_id = None 7160 self.recoverable_database_id = kwargs.get('recoverable_database_id', None) 7161 self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) 7162 self.auto_complete_restore = kwargs.get('auto_complete_restore', None) 7163 self.last_backup_name = kwargs.get('last_backup_name', None) 7164 7165 7166class ManagedInstance(TrackedResource): 7167 """An Azure SQL managed instance. 7168 7169 Variables are only populated by the server, and will be ignored when sending a request. 7170 7171 All required parameters must be populated in order to send to Azure. 7172 7173 :ivar id: Resource ID. 7174 :vartype id: str 7175 :ivar name: Resource name. 7176 :vartype name: str 7177 :ivar type: Resource type. 7178 :vartype type: str 7179 :param location: Required. Resource location. 7180 :type location: str 7181 :param tags: A set of tags. Resource tags. 7182 :type tags: dict[str, str] 7183 :param identity: The Azure Active Directory identity of the managed instance. 7184 :type identity: ~azure.mgmt.sql.models.ResourceIdentity 7185 :param sku: Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, 7186 BC_Gen5. 7187 :type sku: ~azure.mgmt.sql.models.Sku 7188 :ivar provisioning_state: Possible values include: "Creating", "Deleting", "Updating", 7189 "Unknown", "Succeeded", "Failed". 7190 :vartype provisioning_state: str or 7191 ~azure.mgmt.sql.models.ManagedInstancePropertiesProvisioningState 7192 :param managed_instance_create_mode: Specifies the mode of database creation. 7193 7194 Default: Regular instance creation. 7195 7196 Restore: Creates an instance by restoring a set of backups to specific point in time. 7197 RestorePointInTime and SourceManagedInstanceId must be specified. Possible values include: 7198 "Default", "PointInTimeRestore". 7199 :type managed_instance_create_mode: str or ~azure.mgmt.sql.models.ManagedServerCreateMode 7200 :ivar fully_qualified_domain_name: The fully qualified domain name of the managed instance. 7201 :vartype fully_qualified_domain_name: str 7202 :param administrator_login: Administrator username for the managed instance. Can only be 7203 specified when the managed instance is being created (and is required for creation). 7204 :type administrator_login: str 7205 :param administrator_login_password: The administrator login password (required for managed 7206 instance creation). 7207 :type administrator_login_password: str 7208 :param subnet_id: Subnet resource ID for the managed instance. 7209 :type subnet_id: str 7210 :ivar state: The state of the managed instance. 7211 :vartype state: str 7212 :param license_type: The license type. Possible values are 'LicenseIncluded' (regular price 7213 inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL 7214 licenses). Possible values include: "LicenseIncluded", "BasePrice". 7215 :type license_type: str or ~azure.mgmt.sql.models.ManagedInstanceLicenseType 7216 :param v_cores: The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. 7217 :type v_cores: int 7218 :param storage_size_in_gb: Storage size in GB. Minimum value: 32. Maximum value: 8192. 7219 Increments of 32 GB allowed only. 7220 :type storage_size_in_gb: int 7221 :param collation: Collation of the managed instance. 7222 :type collation: str 7223 :ivar dns_zone: The Dns Zone that the managed instance is in. 7224 :vartype dns_zone: str 7225 :param dns_zone_partner: The resource id of another managed instance whose DNS zone this 7226 managed instance will share after creation. 7227 :type dns_zone_partner: str 7228 :param public_data_endpoint_enabled: Whether or not the public data endpoint is enabled. 7229 :type public_data_endpoint_enabled: bool 7230 :param source_managed_instance_id: The resource identifier of the source managed instance 7231 associated with create operation of this instance. 7232 :type source_managed_instance_id: str 7233 :param restore_point_in_time: Specifies the point in time (ISO8601 format) of the source 7234 database that will be restored to create the new database. 7235 :type restore_point_in_time: ~datetime.datetime 7236 :param proxy_override: Connection type used for connecting to the instance. Possible values 7237 include: "Proxy", "Redirect", "Default". 7238 :type proxy_override: str or ~azure.mgmt.sql.models.ManagedInstanceProxyOverride 7239 :param timezone_id: Id of the timezone. Allowed values are timezones supported by Windows. 7240 Windows keeps details on supported timezones, including the id, in registry under 7241 KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. 7242 You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM 7243 sys.time_zone_info. 7244 List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in 7245 PowerShell. 7246 An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". 7247 :type timezone_id: str 7248 :param instance_pool_id: The Id of the instance pool this managed server belongs to. 7249 :type instance_pool_id: str 7250 :param maintenance_configuration_id: Specifies maintenance configuration id to apply to this 7251 managed instance. 7252 :type maintenance_configuration_id: str 7253 :ivar private_endpoint_connections: List of private endpoint connections on a managed instance. 7254 :vartype private_endpoint_connections: list[~azure.mgmt.sql.models.ManagedInstancePecProperty] 7255 :param minimal_tls_version: Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'. 7256 :type minimal_tls_version: str 7257 :param storage_account_type: The storage account type used to store backups for this instance. 7258 The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS 7259 (GeoRedundantStorage). Possible values include: "GRS", "LRS", "ZRS". 7260 :type storage_account_type: str or ~azure.mgmt.sql.models.StorageAccountType 7261 :param zone_redundant: Whether or not the multi-az is enabled. 7262 :type zone_redundant: bool 7263 :param primary_user_assigned_identity_id: The resource id of a user assigned identity to be 7264 used by default. 7265 :type primary_user_assigned_identity_id: str 7266 :param key_id: A CMK URI of the key to use for encryption. 7267 :type key_id: str 7268 :param administrators: The Azure Active Directory administrator of the server. 7269 :type administrators: ~azure.mgmt.sql.models.ManagedInstanceExternalAdministrator 7270 """ 7271 7272 _validation = { 7273 'id': {'readonly': True}, 7274 'name': {'readonly': True}, 7275 'type': {'readonly': True}, 7276 'location': {'required': True}, 7277 'provisioning_state': {'readonly': True}, 7278 'fully_qualified_domain_name': {'readonly': True}, 7279 'state': {'readonly': True}, 7280 'dns_zone': {'readonly': True}, 7281 'private_endpoint_connections': {'readonly': True}, 7282 } 7283 7284 _attribute_map = { 7285 'id': {'key': 'id', 'type': 'str'}, 7286 'name': {'key': 'name', 'type': 'str'}, 7287 'type': {'key': 'type', 'type': 'str'}, 7288 'location': {'key': 'location', 'type': 'str'}, 7289 'tags': {'key': 'tags', 'type': '{str}'}, 7290 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 7291 'sku': {'key': 'sku', 'type': 'Sku'}, 7292 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7293 'managed_instance_create_mode': {'key': 'properties.managedInstanceCreateMode', 'type': 'str'}, 7294 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 7295 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, 7296 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, 7297 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, 7298 'state': {'key': 'properties.state', 'type': 'str'}, 7299 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 7300 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, 7301 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, 7302 'collation': {'key': 'properties.collation', 'type': 'str'}, 7303 'dns_zone': {'key': 'properties.dnsZone', 'type': 'str'}, 7304 'dns_zone_partner': {'key': 'properties.dnsZonePartner', 'type': 'str'}, 7305 'public_data_endpoint_enabled': {'key': 'properties.publicDataEndpointEnabled', 'type': 'bool'}, 7306 'source_managed_instance_id': {'key': 'properties.sourceManagedInstanceId', 'type': 'str'}, 7307 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 7308 'proxy_override': {'key': 'properties.proxyOverride', 'type': 'str'}, 7309 'timezone_id': {'key': 'properties.timezoneId', 'type': 'str'}, 7310 'instance_pool_id': {'key': 'properties.instancePoolId', 'type': 'str'}, 7311 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 7312 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[ManagedInstancePecProperty]'}, 7313 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 7314 'storage_account_type': {'key': 'properties.storageAccountType', 'type': 'str'}, 7315 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 7316 'primary_user_assigned_identity_id': {'key': 'properties.primaryUserAssignedIdentityId', 'type': 'str'}, 7317 'key_id': {'key': 'properties.keyId', 'type': 'str'}, 7318 'administrators': {'key': 'properties.administrators', 'type': 'ManagedInstanceExternalAdministrator'}, 7319 } 7320 7321 def __init__( 7322 self, 7323 **kwargs 7324 ): 7325 super(ManagedInstance, self).__init__(**kwargs) 7326 self.identity = kwargs.get('identity', None) 7327 self.sku = kwargs.get('sku', None) 7328 self.provisioning_state = None 7329 self.managed_instance_create_mode = kwargs.get('managed_instance_create_mode', None) 7330 self.fully_qualified_domain_name = None 7331 self.administrator_login = kwargs.get('administrator_login', None) 7332 self.administrator_login_password = kwargs.get('administrator_login_password', None) 7333 self.subnet_id = kwargs.get('subnet_id', None) 7334 self.state = None 7335 self.license_type = kwargs.get('license_type', None) 7336 self.v_cores = kwargs.get('v_cores', None) 7337 self.storage_size_in_gb = kwargs.get('storage_size_in_gb', None) 7338 self.collation = kwargs.get('collation', None) 7339 self.dns_zone = None 7340 self.dns_zone_partner = kwargs.get('dns_zone_partner', None) 7341 self.public_data_endpoint_enabled = kwargs.get('public_data_endpoint_enabled', None) 7342 self.source_managed_instance_id = kwargs.get('source_managed_instance_id', None) 7343 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 7344 self.proxy_override = kwargs.get('proxy_override', None) 7345 self.timezone_id = kwargs.get('timezone_id', None) 7346 self.instance_pool_id = kwargs.get('instance_pool_id', None) 7347 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 7348 self.private_endpoint_connections = None 7349 self.minimal_tls_version = kwargs.get('minimal_tls_version', None) 7350 self.storage_account_type = kwargs.get('storage_account_type', None) 7351 self.zone_redundant = kwargs.get('zone_redundant', None) 7352 self.primary_user_assigned_identity_id = kwargs.get('primary_user_assigned_identity_id', None) 7353 self.key_id = kwargs.get('key_id', None) 7354 self.administrators = kwargs.get('administrators', None) 7355 7356 7357class ManagedInstanceAdministrator(ProxyResource): 7358 """An Azure SQL managed instance administrator. 7359 7360 Variables are only populated by the server, and will be ignored when sending a request. 7361 7362 :ivar id: Resource ID. 7363 :vartype id: str 7364 :ivar name: Resource name. 7365 :vartype name: str 7366 :ivar type: Resource type. 7367 :vartype type: str 7368 :param administrator_type: Type of the managed instance administrator. Possible values include: 7369 "ActiveDirectory". 7370 :type administrator_type: str or ~azure.mgmt.sql.models.ManagedInstanceAdministratorType 7371 :param login: Login name of the managed instance administrator. 7372 :type login: str 7373 :param sid: SID (object ID) of the managed instance administrator. 7374 :type sid: str 7375 :param tenant_id: Tenant ID of the managed instance administrator. 7376 :type tenant_id: str 7377 """ 7378 7379 _validation = { 7380 'id': {'readonly': True}, 7381 'name': {'readonly': True}, 7382 'type': {'readonly': True}, 7383 } 7384 7385 _attribute_map = { 7386 'id': {'key': 'id', 'type': 'str'}, 7387 'name': {'key': 'name', 'type': 'str'}, 7388 'type': {'key': 'type', 'type': 'str'}, 7389 'administrator_type': {'key': 'properties.administratorType', 'type': 'str'}, 7390 'login': {'key': 'properties.login', 'type': 'str'}, 7391 'sid': {'key': 'properties.sid', 'type': 'str'}, 7392 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, 7393 } 7394 7395 def __init__( 7396 self, 7397 **kwargs 7398 ): 7399 super(ManagedInstanceAdministrator, self).__init__(**kwargs) 7400 self.administrator_type = kwargs.get('administrator_type', None) 7401 self.login = kwargs.get('login', None) 7402 self.sid = kwargs.get('sid', None) 7403 self.tenant_id = kwargs.get('tenant_id', None) 7404 7405 7406class ManagedInstanceAdministratorListResult(msrest.serialization.Model): 7407 """A list of managed instance administrators. 7408 7409 Variables are only populated by the server, and will be ignored when sending a request. 7410 7411 :ivar value: Array of results. 7412 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceAdministrator] 7413 :ivar next_link: Link to retrieve next page of results. 7414 :vartype next_link: str 7415 """ 7416 7417 _validation = { 7418 'value': {'readonly': True}, 7419 'next_link': {'readonly': True}, 7420 } 7421 7422 _attribute_map = { 7423 'value': {'key': 'value', 'type': '[ManagedInstanceAdministrator]'}, 7424 'next_link': {'key': 'nextLink', 'type': 'str'}, 7425 } 7426 7427 def __init__( 7428 self, 7429 **kwargs 7430 ): 7431 super(ManagedInstanceAdministratorListResult, self).__init__(**kwargs) 7432 self.value = None 7433 self.next_link = None 7434 7435 7436class ManagedInstanceAzureADOnlyAuthentication(ProxyResource): 7437 """Azure Active Directory only authentication. 7438 7439 Variables are only populated by the server, and will be ignored when sending a request. 7440 7441 :ivar id: Resource ID. 7442 :vartype id: str 7443 :ivar name: Resource name. 7444 :vartype name: str 7445 :ivar type: Resource type. 7446 :vartype type: str 7447 :param azure_ad_only_authentication: Azure Active Directory only Authentication enabled. 7448 :type azure_ad_only_authentication: bool 7449 """ 7450 7451 _validation = { 7452 'id': {'readonly': True}, 7453 'name': {'readonly': True}, 7454 'type': {'readonly': True}, 7455 } 7456 7457 _attribute_map = { 7458 'id': {'key': 'id', 'type': 'str'}, 7459 'name': {'key': 'name', 'type': 'str'}, 7460 'type': {'key': 'type', 'type': 'str'}, 7461 'azure_ad_only_authentication': {'key': 'properties.azureADOnlyAuthentication', 'type': 'bool'}, 7462 } 7463 7464 def __init__( 7465 self, 7466 **kwargs 7467 ): 7468 super(ManagedInstanceAzureADOnlyAuthentication, self).__init__(**kwargs) 7469 self.azure_ad_only_authentication = kwargs.get('azure_ad_only_authentication', None) 7470 7471 7472class ManagedInstanceAzureADOnlyAuthListResult(msrest.serialization.Model): 7473 """A list of active directory only authentications. 7474 7475 Variables are only populated by the server, and will be ignored when sending a request. 7476 7477 :ivar value: Array of results. 7478 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceAzureADOnlyAuthentication] 7479 :ivar next_link: Link to retrieve next page of results. 7480 :vartype next_link: str 7481 """ 7482 7483 _validation = { 7484 'value': {'readonly': True}, 7485 'next_link': {'readonly': True}, 7486 } 7487 7488 _attribute_map = { 7489 'value': {'key': 'value', 'type': '[ManagedInstanceAzureADOnlyAuthentication]'}, 7490 'next_link': {'key': 'nextLink', 'type': 'str'}, 7491 } 7492 7493 def __init__( 7494 self, 7495 **kwargs 7496 ): 7497 super(ManagedInstanceAzureADOnlyAuthListResult, self).__init__(**kwargs) 7498 self.value = None 7499 self.next_link = None 7500 7501 7502class ManagedInstanceEditionCapability(msrest.serialization.Model): 7503 """The managed server capability. 7504 7505 Variables are only populated by the server, and will be ignored when sending a request. 7506 7507 :ivar name: The managed server version name. 7508 :vartype name: str 7509 :ivar supported_families: The supported families. 7510 :vartype supported_families: list[~azure.mgmt.sql.models.ManagedInstanceFamilyCapability] 7511 :ivar supported_storage_capabilities: The list of supported storage capabilities for this 7512 edition. 7513 :vartype supported_storage_capabilities: list[~azure.mgmt.sql.models.StorageCapability] 7514 :ivar zone_redundant: Whether or not zone redundancy is supported for the edition. 7515 :vartype zone_redundant: bool 7516 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 7517 "Default", "Disabled". 7518 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 7519 :param reason: The reason for the capability not being available. 7520 :type reason: str 7521 """ 7522 7523 _validation = { 7524 'name': {'readonly': True}, 7525 'supported_families': {'readonly': True}, 7526 'supported_storage_capabilities': {'readonly': True}, 7527 'zone_redundant': {'readonly': True}, 7528 'status': {'readonly': True}, 7529 } 7530 7531 _attribute_map = { 7532 'name': {'key': 'name', 'type': 'str'}, 7533 'supported_families': {'key': 'supportedFamilies', 'type': '[ManagedInstanceFamilyCapability]'}, 7534 'supported_storage_capabilities': {'key': 'supportedStorageCapabilities', 'type': '[StorageCapability]'}, 7535 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 7536 'status': {'key': 'status', 'type': 'str'}, 7537 'reason': {'key': 'reason', 'type': 'str'}, 7538 } 7539 7540 def __init__( 7541 self, 7542 **kwargs 7543 ): 7544 super(ManagedInstanceEditionCapability, self).__init__(**kwargs) 7545 self.name = None 7546 self.supported_families = None 7547 self.supported_storage_capabilities = None 7548 self.zone_redundant = None 7549 self.status = None 7550 self.reason = kwargs.get('reason', None) 7551 7552 7553class ManagedInstanceEncryptionProtector(ProxyResource): 7554 """The managed instance encryption protector. 7555 7556 Variables are only populated by the server, and will be ignored when sending a request. 7557 7558 :ivar id: Resource ID. 7559 :vartype id: str 7560 :ivar name: Resource name. 7561 :vartype name: str 7562 :ivar type: Resource type. 7563 :vartype type: str 7564 :ivar kind: Kind of encryption protector. This is metadata used for the Azure portal 7565 experience. 7566 :vartype kind: str 7567 :param server_key_name: The name of the managed instance key. 7568 :type server_key_name: str 7569 :param server_key_type: The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. 7570 Possible values include: "ServiceManaged", "AzureKeyVault". 7571 :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType 7572 :ivar uri: The URI of the server key. 7573 :vartype uri: str 7574 :ivar thumbprint: Thumbprint of the server key. 7575 :vartype thumbprint: str 7576 :param auto_rotation_enabled: Key auto rotation opt-in flag. Either true or false. 7577 :type auto_rotation_enabled: bool 7578 """ 7579 7580 _validation = { 7581 'id': {'readonly': True}, 7582 'name': {'readonly': True}, 7583 'type': {'readonly': True}, 7584 'kind': {'readonly': True}, 7585 'uri': {'readonly': True}, 7586 'thumbprint': {'readonly': True}, 7587 } 7588 7589 _attribute_map = { 7590 'id': {'key': 'id', 'type': 'str'}, 7591 'name': {'key': 'name', 'type': 'str'}, 7592 'type': {'key': 'type', 'type': 'str'}, 7593 'kind': {'key': 'kind', 'type': 'str'}, 7594 'server_key_name': {'key': 'properties.serverKeyName', 'type': 'str'}, 7595 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, 7596 'uri': {'key': 'properties.uri', 'type': 'str'}, 7597 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 7598 'auto_rotation_enabled': {'key': 'properties.autoRotationEnabled', 'type': 'bool'}, 7599 } 7600 7601 def __init__( 7602 self, 7603 **kwargs 7604 ): 7605 super(ManagedInstanceEncryptionProtector, self).__init__(**kwargs) 7606 self.kind = None 7607 self.server_key_name = kwargs.get('server_key_name', None) 7608 self.server_key_type = kwargs.get('server_key_type', None) 7609 self.uri = None 7610 self.thumbprint = None 7611 self.auto_rotation_enabled = kwargs.get('auto_rotation_enabled', None) 7612 7613 7614class ManagedInstanceEncryptionProtectorListResult(msrest.serialization.Model): 7615 """A list of managed instance encryption protectors. 7616 7617 Variables are only populated by the server, and will be ignored when sending a request. 7618 7619 :ivar value: Array of results. 7620 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceEncryptionProtector] 7621 :ivar next_link: Link to retrieve next page of results. 7622 :vartype next_link: str 7623 """ 7624 7625 _validation = { 7626 'value': {'readonly': True}, 7627 'next_link': {'readonly': True}, 7628 } 7629 7630 _attribute_map = { 7631 'value': {'key': 'value', 'type': '[ManagedInstanceEncryptionProtector]'}, 7632 'next_link': {'key': 'nextLink', 'type': 'str'}, 7633 } 7634 7635 def __init__( 7636 self, 7637 **kwargs 7638 ): 7639 super(ManagedInstanceEncryptionProtectorListResult, self).__init__(**kwargs) 7640 self.value = None 7641 self.next_link = None 7642 7643 7644class ManagedInstanceExternalAdministrator(msrest.serialization.Model): 7645 """Properties of a active directory administrator. 7646 7647 :param administrator_type: Type of the sever administrator. Possible values include: 7648 "ActiveDirectory". 7649 :type administrator_type: str or ~azure.mgmt.sql.models.AdministratorType 7650 :param principal_type: Principal Type of the sever administrator. Possible values include: 7651 "User", "Group", "Application". 7652 :type principal_type: str or ~azure.mgmt.sql.models.PrincipalType 7653 :param login: Login name of the server administrator. 7654 :type login: str 7655 :param sid: SID (object ID) of the server administrator. 7656 :type sid: str 7657 :param tenant_id: Tenant ID of the administrator. 7658 :type tenant_id: str 7659 :param azure_ad_only_authentication: Azure Active Directory only Authentication enabled. 7660 :type azure_ad_only_authentication: bool 7661 """ 7662 7663 _attribute_map = { 7664 'administrator_type': {'key': 'administratorType', 'type': 'str'}, 7665 'principal_type': {'key': 'principalType', 'type': 'str'}, 7666 'login': {'key': 'login', 'type': 'str'}, 7667 'sid': {'key': 'sid', 'type': 'str'}, 7668 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 7669 'azure_ad_only_authentication': {'key': 'azureADOnlyAuthentication', 'type': 'bool'}, 7670 } 7671 7672 def __init__( 7673 self, 7674 **kwargs 7675 ): 7676 super(ManagedInstanceExternalAdministrator, self).__init__(**kwargs) 7677 self.administrator_type = kwargs.get('administrator_type', None) 7678 self.principal_type = kwargs.get('principal_type', None) 7679 self.login = kwargs.get('login', None) 7680 self.sid = kwargs.get('sid', None) 7681 self.tenant_id = kwargs.get('tenant_id', None) 7682 self.azure_ad_only_authentication = kwargs.get('azure_ad_only_authentication', None) 7683 7684 7685class ManagedInstanceFamilyCapability(msrest.serialization.Model): 7686 """The managed server family capability. 7687 7688 Variables are only populated by the server, and will be ignored when sending a request. 7689 7690 :ivar name: Family name. 7691 :vartype name: str 7692 :ivar sku: SKU name. 7693 :vartype sku: str 7694 :ivar supported_license_types: List of supported license types. 7695 :vartype supported_license_types: list[~azure.mgmt.sql.models.LicenseTypeCapability] 7696 :ivar supported_vcores_values: List of supported virtual cores values. 7697 :vartype supported_vcores_values: list[~azure.mgmt.sql.models.ManagedInstanceVcoresCapability] 7698 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 7699 "Default", "Disabled". 7700 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 7701 :param reason: The reason for the capability not being available. 7702 :type reason: str 7703 """ 7704 7705 _validation = { 7706 'name': {'readonly': True}, 7707 'sku': {'readonly': True}, 7708 'supported_license_types': {'readonly': True}, 7709 'supported_vcores_values': {'readonly': True}, 7710 'status': {'readonly': True}, 7711 } 7712 7713 _attribute_map = { 7714 'name': {'key': 'name', 'type': 'str'}, 7715 'sku': {'key': 'sku', 'type': 'str'}, 7716 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, 7717 'supported_vcores_values': {'key': 'supportedVcoresValues', 'type': '[ManagedInstanceVcoresCapability]'}, 7718 'status': {'key': 'status', 'type': 'str'}, 7719 'reason': {'key': 'reason', 'type': 'str'}, 7720 } 7721 7722 def __init__( 7723 self, 7724 **kwargs 7725 ): 7726 super(ManagedInstanceFamilyCapability, self).__init__(**kwargs) 7727 self.name = None 7728 self.sku = None 7729 self.supported_license_types = None 7730 self.supported_vcores_values = None 7731 self.status = None 7732 self.reason = kwargs.get('reason', None) 7733 7734 7735class ManagedInstanceKey(ProxyResource): 7736 """A managed instance key. 7737 7738 Variables are only populated by the server, and will be ignored when sending a request. 7739 7740 :ivar id: Resource ID. 7741 :vartype id: str 7742 :ivar name: Resource name. 7743 :vartype name: str 7744 :ivar type: Resource type. 7745 :vartype type: str 7746 :ivar kind: Kind of encryption protector. This is metadata used for the Azure portal 7747 experience. 7748 :vartype kind: str 7749 :param server_key_type: The key type like 'ServiceManaged', 'AzureKeyVault'. Possible values 7750 include: "ServiceManaged", "AzureKeyVault". 7751 :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType 7752 :param uri: The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is 7753 required. 7754 :type uri: str 7755 :ivar thumbprint: Thumbprint of the key. 7756 :vartype thumbprint: str 7757 :ivar creation_date: The key creation date. 7758 :vartype creation_date: ~datetime.datetime 7759 :ivar auto_rotation_enabled: Key auto rotation opt-in flag. Either true or false. 7760 :vartype auto_rotation_enabled: bool 7761 """ 7762 7763 _validation = { 7764 'id': {'readonly': True}, 7765 'name': {'readonly': True}, 7766 'type': {'readonly': True}, 7767 'kind': {'readonly': True}, 7768 'thumbprint': {'readonly': True}, 7769 'creation_date': {'readonly': True}, 7770 'auto_rotation_enabled': {'readonly': True}, 7771 } 7772 7773 _attribute_map = { 7774 'id': {'key': 'id', 'type': 'str'}, 7775 'name': {'key': 'name', 'type': 'str'}, 7776 'type': {'key': 'type', 'type': 'str'}, 7777 'kind': {'key': 'kind', 'type': 'str'}, 7778 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, 7779 'uri': {'key': 'properties.uri', 'type': 'str'}, 7780 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 7781 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 7782 'auto_rotation_enabled': {'key': 'properties.autoRotationEnabled', 'type': 'bool'}, 7783 } 7784 7785 def __init__( 7786 self, 7787 **kwargs 7788 ): 7789 super(ManagedInstanceKey, self).__init__(**kwargs) 7790 self.kind = None 7791 self.server_key_type = kwargs.get('server_key_type', None) 7792 self.uri = kwargs.get('uri', None) 7793 self.thumbprint = None 7794 self.creation_date = None 7795 self.auto_rotation_enabled = None 7796 7797 7798class ManagedInstanceKeyListResult(msrest.serialization.Model): 7799 """A list of managed instance keys. 7800 7801 Variables are only populated by the server, and will be ignored when sending a request. 7802 7803 :ivar value: Array of results. 7804 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceKey] 7805 :ivar next_link: Link to retrieve next page of results. 7806 :vartype next_link: str 7807 """ 7808 7809 _validation = { 7810 'value': {'readonly': True}, 7811 'next_link': {'readonly': True}, 7812 } 7813 7814 _attribute_map = { 7815 'value': {'key': 'value', 'type': '[ManagedInstanceKey]'}, 7816 'next_link': {'key': 'nextLink', 'type': 'str'}, 7817 } 7818 7819 def __init__( 7820 self, 7821 **kwargs 7822 ): 7823 super(ManagedInstanceKeyListResult, self).__init__(**kwargs) 7824 self.value = None 7825 self.next_link = None 7826 7827 7828class ManagedInstanceListResult(msrest.serialization.Model): 7829 """A list of managed instances. 7830 7831 Variables are only populated by the server, and will be ignored when sending a request. 7832 7833 :ivar value: Array of results. 7834 :vartype value: list[~azure.mgmt.sql.models.ManagedInstance] 7835 :ivar next_link: Link to retrieve next page of results. 7836 :vartype next_link: str 7837 """ 7838 7839 _validation = { 7840 'value': {'readonly': True}, 7841 'next_link': {'readonly': True}, 7842 } 7843 7844 _attribute_map = { 7845 'value': {'key': 'value', 'type': '[ManagedInstance]'}, 7846 'next_link': {'key': 'nextLink', 'type': 'str'}, 7847 } 7848 7849 def __init__( 7850 self, 7851 **kwargs 7852 ): 7853 super(ManagedInstanceListResult, self).__init__(**kwargs) 7854 self.value = None 7855 self.next_link = None 7856 7857 7858class ManagedInstanceLongTermRetentionBackup(ProxyResource): 7859 """A long term retention backup for a managed database. 7860 7861 Variables are only populated by the server, and will be ignored when sending a request. 7862 7863 :ivar id: Resource ID. 7864 :vartype id: str 7865 :ivar name: Resource name. 7866 :vartype name: str 7867 :ivar type: Resource type. 7868 :vartype type: str 7869 :ivar managed_instance_name: The managed instance that the backup database belongs to. 7870 :vartype managed_instance_name: str 7871 :ivar managed_instance_create_time: The create time of the instance. 7872 :vartype managed_instance_create_time: ~datetime.datetime 7873 :ivar database_name: The name of the database the backup belong to. 7874 :vartype database_name: str 7875 :ivar database_deletion_time: The delete time of the database. 7876 :vartype database_deletion_time: ~datetime.datetime 7877 :ivar backup_time: The time the backup was taken. 7878 :vartype backup_time: ~datetime.datetime 7879 :ivar backup_expiration_time: The time the long term retention backup will expire. 7880 :vartype backup_expiration_time: ~datetime.datetime 7881 :ivar backup_storage_redundancy: The storage redundancy type of the backup. Possible values 7882 include: "Geo", "Local", "Zone". 7883 :vartype backup_storage_redundancy: str or ~azure.mgmt.sql.models.BackupStorageRedundancy 7884 """ 7885 7886 _validation = { 7887 'id': {'readonly': True}, 7888 'name': {'readonly': True}, 7889 'type': {'readonly': True}, 7890 'managed_instance_name': {'readonly': True}, 7891 'managed_instance_create_time': {'readonly': True}, 7892 'database_name': {'readonly': True}, 7893 'database_deletion_time': {'readonly': True}, 7894 'backup_time': {'readonly': True}, 7895 'backup_expiration_time': {'readonly': True}, 7896 'backup_storage_redundancy': {'readonly': True}, 7897 } 7898 7899 _attribute_map = { 7900 'id': {'key': 'id', 'type': 'str'}, 7901 'name': {'key': 'name', 'type': 'str'}, 7902 'type': {'key': 'type', 'type': 'str'}, 7903 'managed_instance_name': {'key': 'properties.managedInstanceName', 'type': 'str'}, 7904 'managed_instance_create_time': {'key': 'properties.managedInstanceCreateTime', 'type': 'iso-8601'}, 7905 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 7906 'database_deletion_time': {'key': 'properties.databaseDeletionTime', 'type': 'iso-8601'}, 7907 'backup_time': {'key': 'properties.backupTime', 'type': 'iso-8601'}, 7908 'backup_expiration_time': {'key': 'properties.backupExpirationTime', 'type': 'iso-8601'}, 7909 'backup_storage_redundancy': {'key': 'properties.backupStorageRedundancy', 'type': 'str'}, 7910 } 7911 7912 def __init__( 7913 self, 7914 **kwargs 7915 ): 7916 super(ManagedInstanceLongTermRetentionBackup, self).__init__(**kwargs) 7917 self.managed_instance_name = None 7918 self.managed_instance_create_time = None 7919 self.database_name = None 7920 self.database_deletion_time = None 7921 self.backup_time = None 7922 self.backup_expiration_time = None 7923 self.backup_storage_redundancy = None 7924 7925 7926class ManagedInstanceLongTermRetentionBackupListResult(msrest.serialization.Model): 7927 """A list of long term retention backups for managed database(s). 7928 7929 Variables are only populated by the server, and will be ignored when sending a request. 7930 7931 :ivar value: Array of results. 7932 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceLongTermRetentionBackup] 7933 :ivar next_link: Link to retrieve next page of results. 7934 :vartype next_link: str 7935 """ 7936 7937 _validation = { 7938 'value': {'readonly': True}, 7939 'next_link': {'readonly': True}, 7940 } 7941 7942 _attribute_map = { 7943 'value': {'key': 'value', 'type': '[ManagedInstanceLongTermRetentionBackup]'}, 7944 'next_link': {'key': 'nextLink', 'type': 'str'}, 7945 } 7946 7947 def __init__( 7948 self, 7949 **kwargs 7950 ): 7951 super(ManagedInstanceLongTermRetentionBackupListResult, self).__init__(**kwargs) 7952 self.value = None 7953 self.next_link = None 7954 7955 7956class ManagedInstanceLongTermRetentionPolicy(ProxyResource): 7957 """A long term retention policy. 7958 7959 Variables are only populated by the server, and will be ignored when sending a request. 7960 7961 :ivar id: Resource ID. 7962 :vartype id: str 7963 :ivar name: Resource name. 7964 :vartype name: str 7965 :ivar type: Resource type. 7966 :vartype type: str 7967 :param weekly_retention: The weekly retention policy for an LTR backup in an ISO 8601 format. 7968 :type weekly_retention: str 7969 :param monthly_retention: The monthly retention policy for an LTR backup in an ISO 8601 format. 7970 :type monthly_retention: str 7971 :param yearly_retention: The yearly retention policy for an LTR backup in an ISO 8601 format. 7972 :type yearly_retention: str 7973 :param week_of_year: The week of year to take the yearly backup in an ISO 8601 format. 7974 :type week_of_year: int 7975 """ 7976 7977 _validation = { 7978 'id': {'readonly': True}, 7979 'name': {'readonly': True}, 7980 'type': {'readonly': True}, 7981 } 7982 7983 _attribute_map = { 7984 'id': {'key': 'id', 'type': 'str'}, 7985 'name': {'key': 'name', 'type': 'str'}, 7986 'type': {'key': 'type', 'type': 'str'}, 7987 'weekly_retention': {'key': 'properties.weeklyRetention', 'type': 'str'}, 7988 'monthly_retention': {'key': 'properties.monthlyRetention', 'type': 'str'}, 7989 'yearly_retention': {'key': 'properties.yearlyRetention', 'type': 'str'}, 7990 'week_of_year': {'key': 'properties.weekOfYear', 'type': 'int'}, 7991 } 7992 7993 def __init__( 7994 self, 7995 **kwargs 7996 ): 7997 super(ManagedInstanceLongTermRetentionPolicy, self).__init__(**kwargs) 7998 self.weekly_retention = kwargs.get('weekly_retention', None) 7999 self.monthly_retention = kwargs.get('monthly_retention', None) 8000 self.yearly_retention = kwargs.get('yearly_retention', None) 8001 self.week_of_year = kwargs.get('week_of_year', None) 8002 8003 8004class ManagedInstanceLongTermRetentionPolicyListResult(msrest.serialization.Model): 8005 """A list of long term retention policies. 8006 8007 Variables are only populated by the server, and will be ignored when sending a request. 8008 8009 :ivar value: Array of results. 8010 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceLongTermRetentionPolicy] 8011 :ivar next_link: Link to retrieve next page of results. 8012 :vartype next_link: str 8013 """ 8014 8015 _validation = { 8016 'value': {'readonly': True}, 8017 'next_link': {'readonly': True}, 8018 } 8019 8020 _attribute_map = { 8021 'value': {'key': 'value', 'type': '[ManagedInstanceLongTermRetentionPolicy]'}, 8022 'next_link': {'key': 'nextLink', 'type': 'str'}, 8023 } 8024 8025 def __init__( 8026 self, 8027 **kwargs 8028 ): 8029 super(ManagedInstanceLongTermRetentionPolicyListResult, self).__init__(**kwargs) 8030 self.value = None 8031 self.next_link = None 8032 8033 8034class ManagedInstanceMaintenanceConfigurationCapability(msrest.serialization.Model): 8035 """The maintenance configuration capability. 8036 8037 Variables are only populated by the server, and will be ignored when sending a request. 8038 8039 :ivar name: Maintenance configuration name. 8040 :vartype name: str 8041 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 8042 "Default", "Disabled". 8043 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 8044 :param reason: The reason for the capability not being available. 8045 :type reason: str 8046 """ 8047 8048 _validation = { 8049 'name': {'readonly': True}, 8050 'status': {'readonly': True}, 8051 } 8052 8053 _attribute_map = { 8054 'name': {'key': 'name', 'type': 'str'}, 8055 'status': {'key': 'status', 'type': 'str'}, 8056 'reason': {'key': 'reason', 'type': 'str'}, 8057 } 8058 8059 def __init__( 8060 self, 8061 **kwargs 8062 ): 8063 super(ManagedInstanceMaintenanceConfigurationCapability, self).__init__(**kwargs) 8064 self.name = None 8065 self.status = None 8066 self.reason = kwargs.get('reason', None) 8067 8068 8069class ManagedInstanceOperation(ProxyResource): 8070 """A managed instance operation. 8071 8072 Variables are only populated by the server, and will be ignored when sending a request. 8073 8074 :ivar id: Resource ID. 8075 :vartype id: str 8076 :ivar name: Resource name. 8077 :vartype name: str 8078 :ivar type: Resource type. 8079 :vartype type: str 8080 :ivar managed_instance_name: The name of the managed instance the operation is being performed 8081 on. 8082 :vartype managed_instance_name: str 8083 :ivar operation: The name of operation. 8084 :vartype operation: str 8085 :ivar operation_friendly_name: The friendly name of operation. 8086 :vartype operation_friendly_name: str 8087 :ivar percent_complete: The percentage of the operation completed. 8088 :vartype percent_complete: int 8089 :ivar start_time: The operation start time. 8090 :vartype start_time: ~datetime.datetime 8091 :ivar state: The operation state. Possible values include: "Pending", "InProgress", 8092 "Succeeded", "Failed", "CancelInProgress", "Cancelled". 8093 :vartype state: str or ~azure.mgmt.sql.models.ManagementOperationState 8094 :ivar error_code: The operation error code. 8095 :vartype error_code: int 8096 :ivar error_description: The operation error description. 8097 :vartype error_description: str 8098 :ivar error_severity: The operation error severity. 8099 :vartype error_severity: int 8100 :ivar is_user_error: Whether or not the error is a user error. 8101 :vartype is_user_error: bool 8102 :ivar estimated_completion_time: The estimated completion time of the operation. 8103 :vartype estimated_completion_time: ~datetime.datetime 8104 :ivar description: The operation description. 8105 :vartype description: str 8106 :ivar is_cancellable: Whether the operation can be cancelled. 8107 :vartype is_cancellable: bool 8108 :ivar operation_parameters: The operation parameters. 8109 :vartype operation_parameters: ~azure.mgmt.sql.models.ManagedInstanceOperationParametersPair 8110 :ivar operation_steps: The operation steps. 8111 :vartype operation_steps: ~azure.mgmt.sql.models.ManagedInstanceOperationSteps 8112 """ 8113 8114 _validation = { 8115 'id': {'readonly': True}, 8116 'name': {'readonly': True}, 8117 'type': {'readonly': True}, 8118 'managed_instance_name': {'readonly': True}, 8119 'operation': {'readonly': True}, 8120 'operation_friendly_name': {'readonly': True}, 8121 'percent_complete': {'readonly': True}, 8122 'start_time': {'readonly': True}, 8123 'state': {'readonly': True}, 8124 'error_code': {'readonly': True}, 8125 'error_description': {'readonly': True}, 8126 'error_severity': {'readonly': True}, 8127 'is_user_error': {'readonly': True}, 8128 'estimated_completion_time': {'readonly': True}, 8129 'description': {'readonly': True}, 8130 'is_cancellable': {'readonly': True}, 8131 'operation_parameters': {'readonly': True}, 8132 'operation_steps': {'readonly': True}, 8133 } 8134 8135 _attribute_map = { 8136 'id': {'key': 'id', 'type': 'str'}, 8137 'name': {'key': 'name', 'type': 'str'}, 8138 'type': {'key': 'type', 'type': 'str'}, 8139 'managed_instance_name': {'key': 'properties.managedInstanceName', 'type': 'str'}, 8140 'operation': {'key': 'properties.operation', 'type': 'str'}, 8141 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, 8142 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 8143 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 8144 'state': {'key': 'properties.state', 'type': 'str'}, 8145 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 8146 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, 8147 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 8148 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, 8149 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, 8150 'description': {'key': 'properties.description', 'type': 'str'}, 8151 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 8152 'operation_parameters': {'key': 'properties.operationParameters', 'type': 'ManagedInstanceOperationParametersPair'}, 8153 'operation_steps': {'key': 'properties.operationSteps', 'type': 'ManagedInstanceOperationSteps'}, 8154 } 8155 8156 def __init__( 8157 self, 8158 **kwargs 8159 ): 8160 super(ManagedInstanceOperation, self).__init__(**kwargs) 8161 self.managed_instance_name = None 8162 self.operation = None 8163 self.operation_friendly_name = None 8164 self.percent_complete = None 8165 self.start_time = None 8166 self.state = None 8167 self.error_code = None 8168 self.error_description = None 8169 self.error_severity = None 8170 self.is_user_error = None 8171 self.estimated_completion_time = None 8172 self.description = None 8173 self.is_cancellable = None 8174 self.operation_parameters = None 8175 self.operation_steps = None 8176 8177 8178class ManagedInstanceOperationListResult(msrest.serialization.Model): 8179 """The response to a list managed instance operations request. 8180 8181 Variables are only populated by the server, and will be ignored when sending a request. 8182 8183 :ivar value: Array of results. 8184 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceOperation] 8185 :ivar next_link: Link to retrieve next page of results. 8186 :vartype next_link: str 8187 """ 8188 8189 _validation = { 8190 'value': {'readonly': True}, 8191 'next_link': {'readonly': True}, 8192 } 8193 8194 _attribute_map = { 8195 'value': {'key': 'value', 'type': '[ManagedInstanceOperation]'}, 8196 'next_link': {'key': 'nextLink', 'type': 'str'}, 8197 } 8198 8199 def __init__( 8200 self, 8201 **kwargs 8202 ): 8203 super(ManagedInstanceOperationListResult, self).__init__(**kwargs) 8204 self.value = None 8205 self.next_link = None 8206 8207 8208class ManagedInstanceOperationParametersPair(msrest.serialization.Model): 8209 """The parameters of a managed instance operation. 8210 8211 Variables are only populated by the server, and will be ignored when sending a request. 8212 8213 :ivar current_parameters: The current parameters. 8214 :vartype current_parameters: ~azure.mgmt.sql.models.UpsertManagedServerOperationParameters 8215 :ivar requested_parameters: The requested parameters. 8216 :vartype requested_parameters: ~azure.mgmt.sql.models.UpsertManagedServerOperationParameters 8217 """ 8218 8219 _validation = { 8220 'current_parameters': {'readonly': True}, 8221 'requested_parameters': {'readonly': True}, 8222 } 8223 8224 _attribute_map = { 8225 'current_parameters': {'key': 'currentParameters', 'type': 'UpsertManagedServerOperationParameters'}, 8226 'requested_parameters': {'key': 'requestedParameters', 'type': 'UpsertManagedServerOperationParameters'}, 8227 } 8228 8229 def __init__( 8230 self, 8231 **kwargs 8232 ): 8233 super(ManagedInstanceOperationParametersPair, self).__init__(**kwargs) 8234 self.current_parameters = None 8235 self.requested_parameters = None 8236 8237 8238class ManagedInstanceOperationSteps(msrest.serialization.Model): 8239 """The steps of a managed instance operation. 8240 8241 Variables are only populated by the server, and will be ignored when sending a request. 8242 8243 :ivar total_steps: The total number of operation steps. 8244 :vartype total_steps: str 8245 :ivar current_step: The number of current operation steps. 8246 :vartype current_step: int 8247 :ivar steps_list: The operation steps list. 8248 :vartype steps_list: list[~azure.mgmt.sql.models.UpsertManagedServerOperationStep] 8249 """ 8250 8251 _validation = { 8252 'total_steps': {'readonly': True}, 8253 'current_step': {'readonly': True}, 8254 'steps_list': {'readonly': True}, 8255 } 8256 8257 _attribute_map = { 8258 'total_steps': {'key': 'totalSteps', 'type': 'str'}, 8259 'current_step': {'key': 'currentStep', 'type': 'int'}, 8260 'steps_list': {'key': 'stepsList', 'type': '[UpsertManagedServerOperationStep]'}, 8261 } 8262 8263 def __init__( 8264 self, 8265 **kwargs 8266 ): 8267 super(ManagedInstanceOperationSteps, self).__init__(**kwargs) 8268 self.total_steps = None 8269 self.current_step = None 8270 self.steps_list = None 8271 8272 8273class ManagedInstancePairInfo(msrest.serialization.Model): 8274 """Pairs of Managed Instances in the failover group. 8275 8276 :param primary_managed_instance_id: Id of Primary Managed Instance in pair. 8277 :type primary_managed_instance_id: str 8278 :param partner_managed_instance_id: Id of Partner Managed Instance in pair. 8279 :type partner_managed_instance_id: str 8280 """ 8281 8282 _attribute_map = { 8283 'primary_managed_instance_id': {'key': 'primaryManagedInstanceId', 'type': 'str'}, 8284 'partner_managed_instance_id': {'key': 'partnerManagedInstanceId', 'type': 'str'}, 8285 } 8286 8287 def __init__( 8288 self, 8289 **kwargs 8290 ): 8291 super(ManagedInstancePairInfo, self).__init__(**kwargs) 8292 self.primary_managed_instance_id = kwargs.get('primary_managed_instance_id', None) 8293 self.partner_managed_instance_id = kwargs.get('partner_managed_instance_id', None) 8294 8295 8296class ManagedInstancePecProperty(msrest.serialization.Model): 8297 """A private endpoint connection under a managed instance. 8298 8299 Variables are only populated by the server, and will be ignored when sending a request. 8300 8301 :ivar id: Resource ID. 8302 :vartype id: str 8303 :ivar properties: Private endpoint connection properties. 8304 :vartype properties: ~azure.mgmt.sql.models.ManagedInstancePrivateEndpointConnectionProperties 8305 """ 8306 8307 _validation = { 8308 'id': {'readonly': True}, 8309 'properties': {'readonly': True}, 8310 } 8311 8312 _attribute_map = { 8313 'id': {'key': 'id', 'type': 'str'}, 8314 'properties': {'key': 'properties', 'type': 'ManagedInstancePrivateEndpointConnectionProperties'}, 8315 } 8316 8317 def __init__( 8318 self, 8319 **kwargs 8320 ): 8321 super(ManagedInstancePecProperty, self).__init__(**kwargs) 8322 self.id = None 8323 self.properties = None 8324 8325 8326class ManagedInstancePrivateEndpointConnection(ProxyResource): 8327 """A private endpoint connection. 8328 8329 Variables are only populated by the server, and will be ignored when sending a request. 8330 8331 :ivar id: Resource ID. 8332 :vartype id: str 8333 :ivar name: Resource name. 8334 :vartype name: str 8335 :ivar type: Resource type. 8336 :vartype type: str 8337 :param private_endpoint: Private endpoint which the connection belongs to. 8338 :type private_endpoint: ~azure.mgmt.sql.models.ManagedInstancePrivateEndpointProperty 8339 :param private_link_service_connection_state: Connection State of the Private Endpoint 8340 Connection. 8341 :type private_link_service_connection_state: 8342 ~azure.mgmt.sql.models.ManagedInstancePrivateLinkServiceConnectionStateProperty 8343 :ivar provisioning_state: State of the Private Endpoint Connection. 8344 :vartype provisioning_state: str 8345 """ 8346 8347 _validation = { 8348 'id': {'readonly': True}, 8349 'name': {'readonly': True}, 8350 'type': {'readonly': True}, 8351 'provisioning_state': {'readonly': True}, 8352 } 8353 8354 _attribute_map = { 8355 'id': {'key': 'id', 'type': 'str'}, 8356 'name': {'key': 'name', 'type': 'str'}, 8357 'type': {'key': 'type', 'type': 'str'}, 8358 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'ManagedInstancePrivateEndpointProperty'}, 8359 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'ManagedInstancePrivateLinkServiceConnectionStateProperty'}, 8360 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8361 } 8362 8363 def __init__( 8364 self, 8365 **kwargs 8366 ): 8367 super(ManagedInstancePrivateEndpointConnection, self).__init__(**kwargs) 8368 self.private_endpoint = kwargs.get('private_endpoint', None) 8369 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 8370 self.provisioning_state = None 8371 8372 8373class ManagedInstancePrivateEndpointConnectionListResult(msrest.serialization.Model): 8374 """A list of private endpoint connections. 8375 8376 Variables are only populated by the server, and will be ignored when sending a request. 8377 8378 :ivar value: Array of results. 8379 :vartype value: list[~azure.mgmt.sql.models.ManagedInstancePrivateEndpointConnection] 8380 :ivar next_link: Link to retrieve next page of results. 8381 :vartype next_link: str 8382 """ 8383 8384 _validation = { 8385 'value': {'readonly': True}, 8386 'next_link': {'readonly': True}, 8387 } 8388 8389 _attribute_map = { 8390 'value': {'key': 'value', 'type': '[ManagedInstancePrivateEndpointConnection]'}, 8391 'next_link': {'key': 'nextLink', 'type': 'str'}, 8392 } 8393 8394 def __init__( 8395 self, 8396 **kwargs 8397 ): 8398 super(ManagedInstancePrivateEndpointConnectionListResult, self).__init__(**kwargs) 8399 self.value = None 8400 self.next_link = None 8401 8402 8403class ManagedInstancePrivateEndpointConnectionProperties(msrest.serialization.Model): 8404 """Properties of a private endpoint connection. 8405 8406 Variables are only populated by the server, and will be ignored when sending a request. 8407 8408 :param private_endpoint: Private endpoint which the connection belongs to. 8409 :type private_endpoint: ~azure.mgmt.sql.models.ManagedInstancePrivateEndpointProperty 8410 :param private_link_service_connection_state: Connection State of the Private Endpoint 8411 Connection. 8412 :type private_link_service_connection_state: 8413 ~azure.mgmt.sql.models.ManagedInstancePrivateLinkServiceConnectionStateProperty 8414 :ivar provisioning_state: State of the Private Endpoint Connection. 8415 :vartype provisioning_state: str 8416 """ 8417 8418 _validation = { 8419 'provisioning_state': {'readonly': True}, 8420 } 8421 8422 _attribute_map = { 8423 'private_endpoint': {'key': 'privateEndpoint', 'type': 'ManagedInstancePrivateEndpointProperty'}, 8424 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'ManagedInstancePrivateLinkServiceConnectionStateProperty'}, 8425 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 8426 } 8427 8428 def __init__( 8429 self, 8430 **kwargs 8431 ): 8432 super(ManagedInstancePrivateEndpointConnectionProperties, self).__init__(**kwargs) 8433 self.private_endpoint = kwargs.get('private_endpoint', None) 8434 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 8435 self.provisioning_state = None 8436 8437 8438class ManagedInstancePrivateEndpointProperty(msrest.serialization.Model): 8439 """ManagedInstancePrivateEndpointProperty. 8440 8441 :param id: Resource id of the private endpoint. 8442 :type id: str 8443 """ 8444 8445 _attribute_map = { 8446 'id': {'key': 'id', 'type': 'str'}, 8447 } 8448 8449 def __init__( 8450 self, 8451 **kwargs 8452 ): 8453 super(ManagedInstancePrivateEndpointProperty, self).__init__(**kwargs) 8454 self.id = kwargs.get('id', None) 8455 8456 8457class ManagedInstancePrivateLink(ProxyResource): 8458 """A private link resource. 8459 8460 Variables are only populated by the server, and will be ignored when sending a request. 8461 8462 :ivar id: Resource ID. 8463 :vartype id: str 8464 :ivar name: Resource name. 8465 :vartype name: str 8466 :ivar type: Resource type. 8467 :vartype type: str 8468 :ivar properties: The private link resource group id. 8469 :vartype properties: ~azure.mgmt.sql.models.ManagedInstancePrivateLinkProperties 8470 """ 8471 8472 _validation = { 8473 'id': {'readonly': True}, 8474 'name': {'readonly': True}, 8475 'type': {'readonly': True}, 8476 'properties': {'readonly': True}, 8477 } 8478 8479 _attribute_map = { 8480 'id': {'key': 'id', 'type': 'str'}, 8481 'name': {'key': 'name', 'type': 'str'}, 8482 'type': {'key': 'type', 'type': 'str'}, 8483 'properties': {'key': 'properties', 'type': 'ManagedInstancePrivateLinkProperties'}, 8484 } 8485 8486 def __init__( 8487 self, 8488 **kwargs 8489 ): 8490 super(ManagedInstancePrivateLink, self).__init__(**kwargs) 8491 self.properties = None 8492 8493 8494class ManagedInstancePrivateLinkListResult(msrest.serialization.Model): 8495 """A list of private link resources. 8496 8497 Variables are only populated by the server, and will be ignored when sending a request. 8498 8499 :ivar value: Array of results. 8500 :vartype value: list[~azure.mgmt.sql.models.ManagedInstancePrivateLink] 8501 :ivar next_link: Link to retrieve next page of results. 8502 :vartype next_link: str 8503 """ 8504 8505 _validation = { 8506 'value': {'readonly': True}, 8507 'next_link': {'readonly': True}, 8508 } 8509 8510 _attribute_map = { 8511 'value': {'key': 'value', 'type': '[ManagedInstancePrivateLink]'}, 8512 'next_link': {'key': 'nextLink', 'type': 'str'}, 8513 } 8514 8515 def __init__( 8516 self, 8517 **kwargs 8518 ): 8519 super(ManagedInstancePrivateLinkListResult, self).__init__(**kwargs) 8520 self.value = None 8521 self.next_link = None 8522 8523 8524class ManagedInstancePrivateLinkProperties(msrest.serialization.Model): 8525 """Properties of a private link resource. 8526 8527 Variables are only populated by the server, and will be ignored when sending a request. 8528 8529 :ivar group_id: The private link resource group id. 8530 :vartype group_id: str 8531 :ivar required_members: The private link resource required member names. 8532 :vartype required_members: list[str] 8533 """ 8534 8535 _validation = { 8536 'group_id': {'readonly': True}, 8537 'required_members': {'readonly': True}, 8538 } 8539 8540 _attribute_map = { 8541 'group_id': {'key': 'groupId', 'type': 'str'}, 8542 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, 8543 } 8544 8545 def __init__( 8546 self, 8547 **kwargs 8548 ): 8549 super(ManagedInstancePrivateLinkProperties, self).__init__(**kwargs) 8550 self.group_id = None 8551 self.required_members = None 8552 8553 8554class ManagedInstancePrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): 8555 """ManagedInstancePrivateLinkServiceConnectionStateProperty. 8556 8557 Variables are only populated by the server, and will be ignored when sending a request. 8558 8559 All required parameters must be populated in order to send to Azure. 8560 8561 :param status: Required. The private link service connection status. 8562 :type status: str 8563 :param description: Required. The private link service connection description. 8564 :type description: str 8565 :ivar actions_required: The private link service connection description. 8566 :vartype actions_required: str 8567 """ 8568 8569 _validation = { 8570 'status': {'required': True}, 8571 'description': {'required': True}, 8572 'actions_required': {'readonly': True}, 8573 } 8574 8575 _attribute_map = { 8576 'status': {'key': 'status', 'type': 'str'}, 8577 'description': {'key': 'description', 'type': 'str'}, 8578 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 8579 } 8580 8581 def __init__( 8582 self, 8583 **kwargs 8584 ): 8585 super(ManagedInstancePrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) 8586 self.status = kwargs['status'] 8587 self.description = kwargs['description'] 8588 self.actions_required = None 8589 8590 8591class ManagedInstanceQuery(ProxyResource): 8592 """Database query. 8593 8594 Variables are only populated by the server, and will be ignored when sending a request. 8595 8596 :ivar id: Resource ID. 8597 :vartype id: str 8598 :ivar name: Resource name. 8599 :vartype name: str 8600 :ivar type: Resource type. 8601 :vartype type: str 8602 :param query_text: Query text. 8603 :type query_text: str 8604 """ 8605 8606 _validation = { 8607 'id': {'readonly': True}, 8608 'name': {'readonly': True}, 8609 'type': {'readonly': True}, 8610 } 8611 8612 _attribute_map = { 8613 'id': {'key': 'id', 'type': 'str'}, 8614 'name': {'key': 'name', 'type': 'str'}, 8615 'type': {'key': 'type', 'type': 'str'}, 8616 'query_text': {'key': 'properties.queryText', 'type': 'str'}, 8617 } 8618 8619 def __init__( 8620 self, 8621 **kwargs 8622 ): 8623 super(ManagedInstanceQuery, self).__init__(**kwargs) 8624 self.query_text = kwargs.get('query_text', None) 8625 8626 8627class ManagedInstanceQueryStatistics(msrest.serialization.Model): 8628 """Execution statistics for one particular query. 8629 8630 Variables are only populated by the server, and will be ignored when sending a request. 8631 8632 :ivar value: Array of results. 8633 :vartype value: list[~azure.mgmt.sql.models.QueryStatistics] 8634 :ivar next_link: Link to retrieve next page of results. 8635 :vartype next_link: str 8636 """ 8637 8638 _validation = { 8639 'value': {'readonly': True}, 8640 'next_link': {'readonly': True}, 8641 } 8642 8643 _attribute_map = { 8644 'value': {'key': 'value', 'type': '[QueryStatistics]'}, 8645 'next_link': {'key': 'nextLink', 'type': 'str'}, 8646 } 8647 8648 def __init__( 8649 self, 8650 **kwargs 8651 ): 8652 super(ManagedInstanceQueryStatistics, self).__init__(**kwargs) 8653 self.value = None 8654 self.next_link = None 8655 8656 8657class ManagedInstanceUpdate(msrest.serialization.Model): 8658 """An update request for an Azure SQL Database managed instance. 8659 8660 Variables are only populated by the server, and will be ignored when sending a request. 8661 8662 :param sku: Managed instance sku. 8663 :type sku: ~azure.mgmt.sql.models.Sku 8664 :param identity: Managed instance identity. 8665 :type identity: ~azure.mgmt.sql.models.ResourceIdentity 8666 :param tags: A set of tags. Resource tags. 8667 :type tags: dict[str, str] 8668 :ivar provisioning_state: Possible values include: "Creating", "Deleting", "Updating", 8669 "Unknown", "Succeeded", "Failed". 8670 :vartype provisioning_state: str or 8671 ~azure.mgmt.sql.models.ManagedInstancePropertiesProvisioningState 8672 :param managed_instance_create_mode: Specifies the mode of database creation. 8673 8674 Default: Regular instance creation. 8675 8676 Restore: Creates an instance by restoring a set of backups to specific point in time. 8677 RestorePointInTime and SourceManagedInstanceId must be specified. Possible values include: 8678 "Default", "PointInTimeRestore". 8679 :type managed_instance_create_mode: str or ~azure.mgmt.sql.models.ManagedServerCreateMode 8680 :ivar fully_qualified_domain_name: The fully qualified domain name of the managed instance. 8681 :vartype fully_qualified_domain_name: str 8682 :param administrator_login: Administrator username for the managed instance. Can only be 8683 specified when the managed instance is being created (and is required for creation). 8684 :type administrator_login: str 8685 :param administrator_login_password: The administrator login password (required for managed 8686 instance creation). 8687 :type administrator_login_password: str 8688 :param subnet_id: Subnet resource ID for the managed instance. 8689 :type subnet_id: str 8690 :ivar state: The state of the managed instance. 8691 :vartype state: str 8692 :param license_type: The license type. Possible values are 'LicenseIncluded' (regular price 8693 inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL 8694 licenses). Possible values include: "LicenseIncluded", "BasePrice". 8695 :type license_type: str or ~azure.mgmt.sql.models.ManagedInstanceLicenseType 8696 :param v_cores: The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. 8697 :type v_cores: int 8698 :param storage_size_in_gb: Storage size in GB. Minimum value: 32. Maximum value: 8192. 8699 Increments of 32 GB allowed only. 8700 :type storage_size_in_gb: int 8701 :param collation: Collation of the managed instance. 8702 :type collation: str 8703 :ivar dns_zone: The Dns Zone that the managed instance is in. 8704 :vartype dns_zone: str 8705 :param dns_zone_partner: The resource id of another managed instance whose DNS zone this 8706 managed instance will share after creation. 8707 :type dns_zone_partner: str 8708 :param public_data_endpoint_enabled: Whether or not the public data endpoint is enabled. 8709 :type public_data_endpoint_enabled: bool 8710 :param source_managed_instance_id: The resource identifier of the source managed instance 8711 associated with create operation of this instance. 8712 :type source_managed_instance_id: str 8713 :param restore_point_in_time: Specifies the point in time (ISO8601 format) of the source 8714 database that will be restored to create the new database. 8715 :type restore_point_in_time: ~datetime.datetime 8716 :param proxy_override: Connection type used for connecting to the instance. Possible values 8717 include: "Proxy", "Redirect", "Default". 8718 :type proxy_override: str or ~azure.mgmt.sql.models.ManagedInstanceProxyOverride 8719 :param timezone_id: Id of the timezone. Allowed values are timezones supported by Windows. 8720 Windows keeps details on supported timezones, including the id, in registry under 8721 KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. 8722 You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM 8723 sys.time_zone_info. 8724 List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in 8725 PowerShell. 8726 An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". 8727 :type timezone_id: str 8728 :param instance_pool_id: The Id of the instance pool this managed server belongs to. 8729 :type instance_pool_id: str 8730 :param maintenance_configuration_id: Specifies maintenance configuration id to apply to this 8731 managed instance. 8732 :type maintenance_configuration_id: str 8733 :ivar private_endpoint_connections: List of private endpoint connections on a managed instance. 8734 :vartype private_endpoint_connections: list[~azure.mgmt.sql.models.ManagedInstancePecProperty] 8735 :param minimal_tls_version: Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'. 8736 :type minimal_tls_version: str 8737 :param storage_account_type: The storage account type used to store backups for this instance. 8738 The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS 8739 (GeoRedundantStorage). Possible values include: "GRS", "LRS", "ZRS". 8740 :type storage_account_type: str or ~azure.mgmt.sql.models.StorageAccountType 8741 :param zone_redundant: Whether or not the multi-az is enabled. 8742 :type zone_redundant: bool 8743 :param primary_user_assigned_identity_id: The resource id of a user assigned identity to be 8744 used by default. 8745 :type primary_user_assigned_identity_id: str 8746 :param key_id: A CMK URI of the key to use for encryption. 8747 :type key_id: str 8748 :param administrators: The Azure Active Directory administrator of the server. 8749 :type administrators: ~azure.mgmt.sql.models.ManagedInstanceExternalAdministrator 8750 """ 8751 8752 _validation = { 8753 'provisioning_state': {'readonly': True}, 8754 'fully_qualified_domain_name': {'readonly': True}, 8755 'state': {'readonly': True}, 8756 'dns_zone': {'readonly': True}, 8757 'private_endpoint_connections': {'readonly': True}, 8758 } 8759 8760 _attribute_map = { 8761 'sku': {'key': 'sku', 'type': 'Sku'}, 8762 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 8763 'tags': {'key': 'tags', 'type': '{str}'}, 8764 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8765 'managed_instance_create_mode': {'key': 'properties.managedInstanceCreateMode', 'type': 'str'}, 8766 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 8767 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, 8768 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, 8769 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, 8770 'state': {'key': 'properties.state', 'type': 'str'}, 8771 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 8772 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, 8773 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, 8774 'collation': {'key': 'properties.collation', 'type': 'str'}, 8775 'dns_zone': {'key': 'properties.dnsZone', 'type': 'str'}, 8776 'dns_zone_partner': {'key': 'properties.dnsZonePartner', 'type': 'str'}, 8777 'public_data_endpoint_enabled': {'key': 'properties.publicDataEndpointEnabled', 'type': 'bool'}, 8778 'source_managed_instance_id': {'key': 'properties.sourceManagedInstanceId', 'type': 'str'}, 8779 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, 8780 'proxy_override': {'key': 'properties.proxyOverride', 'type': 'str'}, 8781 'timezone_id': {'key': 'properties.timezoneId', 'type': 'str'}, 8782 'instance_pool_id': {'key': 'properties.instancePoolId', 'type': 'str'}, 8783 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 8784 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[ManagedInstancePecProperty]'}, 8785 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 8786 'storage_account_type': {'key': 'properties.storageAccountType', 'type': 'str'}, 8787 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, 8788 'primary_user_assigned_identity_id': {'key': 'properties.primaryUserAssignedIdentityId', 'type': 'str'}, 8789 'key_id': {'key': 'properties.keyId', 'type': 'str'}, 8790 'administrators': {'key': 'properties.administrators', 'type': 'ManagedInstanceExternalAdministrator'}, 8791 } 8792 8793 def __init__( 8794 self, 8795 **kwargs 8796 ): 8797 super(ManagedInstanceUpdate, self).__init__(**kwargs) 8798 self.sku = kwargs.get('sku', None) 8799 self.identity = kwargs.get('identity', None) 8800 self.tags = kwargs.get('tags', None) 8801 self.provisioning_state = None 8802 self.managed_instance_create_mode = kwargs.get('managed_instance_create_mode', None) 8803 self.fully_qualified_domain_name = None 8804 self.administrator_login = kwargs.get('administrator_login', None) 8805 self.administrator_login_password = kwargs.get('administrator_login_password', None) 8806 self.subnet_id = kwargs.get('subnet_id', None) 8807 self.state = None 8808 self.license_type = kwargs.get('license_type', None) 8809 self.v_cores = kwargs.get('v_cores', None) 8810 self.storage_size_in_gb = kwargs.get('storage_size_in_gb', None) 8811 self.collation = kwargs.get('collation', None) 8812 self.dns_zone = None 8813 self.dns_zone_partner = kwargs.get('dns_zone_partner', None) 8814 self.public_data_endpoint_enabled = kwargs.get('public_data_endpoint_enabled', None) 8815 self.source_managed_instance_id = kwargs.get('source_managed_instance_id', None) 8816 self.restore_point_in_time = kwargs.get('restore_point_in_time', None) 8817 self.proxy_override = kwargs.get('proxy_override', None) 8818 self.timezone_id = kwargs.get('timezone_id', None) 8819 self.instance_pool_id = kwargs.get('instance_pool_id', None) 8820 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 8821 self.private_endpoint_connections = None 8822 self.minimal_tls_version = kwargs.get('minimal_tls_version', None) 8823 self.storage_account_type = kwargs.get('storage_account_type', None) 8824 self.zone_redundant = kwargs.get('zone_redundant', None) 8825 self.primary_user_assigned_identity_id = kwargs.get('primary_user_assigned_identity_id', None) 8826 self.key_id = kwargs.get('key_id', None) 8827 self.administrators = kwargs.get('administrators', None) 8828 8829 8830class ManagedInstanceVcoresCapability(msrest.serialization.Model): 8831 """The managed instance virtual cores capability. 8832 8833 Variables are only populated by the server, and will be ignored when sending a request. 8834 8835 :ivar name: The virtual cores identifier. 8836 :vartype name: str 8837 :ivar value: The virtual cores value. 8838 :vartype value: int 8839 :ivar included_max_size: Included size. 8840 :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability 8841 :ivar supported_storage_sizes: Storage size ranges. 8842 :vartype supported_storage_sizes: list[~azure.mgmt.sql.models.MaxSizeRangeCapability] 8843 :ivar instance_pool_supported: True if this service objective is supported for managed 8844 instances in an instance pool. 8845 :vartype instance_pool_supported: bool 8846 :ivar standalone_supported: True if this service objective is supported for standalone managed 8847 instances. 8848 :vartype standalone_supported: bool 8849 :ivar supported_maintenance_configurations: List of supported maintenance configurations. 8850 :vartype supported_maintenance_configurations: 8851 list[~azure.mgmt.sql.models.ManagedInstanceMaintenanceConfigurationCapability] 8852 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 8853 "Default", "Disabled". 8854 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 8855 :param reason: The reason for the capability not being available. 8856 :type reason: str 8857 """ 8858 8859 _validation = { 8860 'name': {'readonly': True}, 8861 'value': {'readonly': True}, 8862 'included_max_size': {'readonly': True}, 8863 'supported_storage_sizes': {'readonly': True}, 8864 'instance_pool_supported': {'readonly': True}, 8865 'standalone_supported': {'readonly': True}, 8866 'supported_maintenance_configurations': {'readonly': True}, 8867 'status': {'readonly': True}, 8868 } 8869 8870 _attribute_map = { 8871 'name': {'key': 'name', 'type': 'str'}, 8872 'value': {'key': 'value', 'type': 'int'}, 8873 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, 8874 'supported_storage_sizes': {'key': 'supportedStorageSizes', 'type': '[MaxSizeRangeCapability]'}, 8875 'instance_pool_supported': {'key': 'instancePoolSupported', 'type': 'bool'}, 8876 'standalone_supported': {'key': 'standaloneSupported', 'type': 'bool'}, 8877 'supported_maintenance_configurations': {'key': 'supportedMaintenanceConfigurations', 'type': '[ManagedInstanceMaintenanceConfigurationCapability]'}, 8878 'status': {'key': 'status', 'type': 'str'}, 8879 'reason': {'key': 'reason', 'type': 'str'}, 8880 } 8881 8882 def __init__( 8883 self, 8884 **kwargs 8885 ): 8886 super(ManagedInstanceVcoresCapability, self).__init__(**kwargs) 8887 self.name = None 8888 self.value = None 8889 self.included_max_size = None 8890 self.supported_storage_sizes = None 8891 self.instance_pool_supported = None 8892 self.standalone_supported = None 8893 self.supported_maintenance_configurations = None 8894 self.status = None 8895 self.reason = kwargs.get('reason', None) 8896 8897 8898class ManagedInstanceVersionCapability(msrest.serialization.Model): 8899 """The managed instance capability. 8900 8901 Variables are only populated by the server, and will be ignored when sending a request. 8902 8903 :ivar name: The server version name. 8904 :vartype name: str 8905 :ivar supported_editions: The list of supported managed instance editions. 8906 :vartype supported_editions: list[~azure.mgmt.sql.models.ManagedInstanceEditionCapability] 8907 :ivar supported_instance_pool_editions: The list of supported instance pool editions. 8908 :vartype supported_instance_pool_editions: 8909 list[~azure.mgmt.sql.models.InstancePoolEditionCapability] 8910 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 8911 "Default", "Disabled". 8912 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 8913 :param reason: The reason for the capability not being available. 8914 :type reason: str 8915 """ 8916 8917 _validation = { 8918 'name': {'readonly': True}, 8919 'supported_editions': {'readonly': True}, 8920 'supported_instance_pool_editions': {'readonly': True}, 8921 'status': {'readonly': True}, 8922 } 8923 8924 _attribute_map = { 8925 'name': {'key': 'name', 'type': 'str'}, 8926 'supported_editions': {'key': 'supportedEditions', 'type': '[ManagedInstanceEditionCapability]'}, 8927 'supported_instance_pool_editions': {'key': 'supportedInstancePoolEditions', 'type': '[InstancePoolEditionCapability]'}, 8928 'status': {'key': 'status', 'type': 'str'}, 8929 'reason': {'key': 'reason', 'type': 'str'}, 8930 } 8931 8932 def __init__( 8933 self, 8934 **kwargs 8935 ): 8936 super(ManagedInstanceVersionCapability, self).__init__(**kwargs) 8937 self.name = None 8938 self.supported_editions = None 8939 self.supported_instance_pool_editions = None 8940 self.status = None 8941 self.reason = kwargs.get('reason', None) 8942 8943 8944class ManagedInstanceVulnerabilityAssessment(ProxyResource): 8945 """A managed instance vulnerability assessment. 8946 8947 Variables are only populated by the server, and will be ignored when sending a request. 8948 8949 :ivar id: Resource ID. 8950 :vartype id: str 8951 :ivar name: Resource name. 8952 :vartype name: str 8953 :ivar type: Resource type. 8954 :vartype type: str 8955 :param storage_container_path: A blob storage container path to hold the scan results (e.g. 8956 https://myStorage.blob.core.windows.net/VaScans/). 8957 :type storage_container_path: str 8958 :param storage_container_sas_key: A shared access signature (SAS Key) that has write access to 8959 the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' 8960 isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not 8961 behind a Vnet or a firewall. 8962 :type storage_container_sas_key: str 8963 :param storage_account_access_key: Specifies the identifier key of the storage account for 8964 vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, 8965 storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet 8966 or a firewall. 8967 :type storage_account_access_key: str 8968 :param recurring_scans: The recurring scans settings. 8969 :type recurring_scans: ~azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties 8970 """ 8971 8972 _validation = { 8973 'id': {'readonly': True}, 8974 'name': {'readonly': True}, 8975 'type': {'readonly': True}, 8976 } 8977 8978 _attribute_map = { 8979 'id': {'key': 'id', 'type': 'str'}, 8980 'name': {'key': 'name', 'type': 'str'}, 8981 'type': {'key': 'type', 'type': 'str'}, 8982 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, 8983 'storage_container_sas_key': {'key': 'properties.storageContainerSasKey', 'type': 'str'}, 8984 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 8985 'recurring_scans': {'key': 'properties.recurringScans', 'type': 'VulnerabilityAssessmentRecurringScansProperties'}, 8986 } 8987 8988 def __init__( 8989 self, 8990 **kwargs 8991 ): 8992 super(ManagedInstanceVulnerabilityAssessment, self).__init__(**kwargs) 8993 self.storage_container_path = kwargs.get('storage_container_path', None) 8994 self.storage_container_sas_key = kwargs.get('storage_container_sas_key', None) 8995 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 8996 self.recurring_scans = kwargs.get('recurring_scans', None) 8997 8998 8999class ManagedInstanceVulnerabilityAssessmentListResult(msrest.serialization.Model): 9000 """A list of the ManagedInstance's vulnerability assessments. 9001 9002 Variables are only populated by the server, and will be ignored when sending a request. 9003 9004 :ivar value: Array of results. 9005 :vartype value: list[~azure.mgmt.sql.models.ManagedInstanceVulnerabilityAssessment] 9006 :ivar next_link: Link to retrieve next page of results. 9007 :vartype next_link: str 9008 """ 9009 9010 _validation = { 9011 'value': {'readonly': True}, 9012 'next_link': {'readonly': True}, 9013 } 9014 9015 _attribute_map = { 9016 'value': {'key': 'value', 'type': '[ManagedInstanceVulnerabilityAssessment]'}, 9017 'next_link': {'key': 'nextLink', 'type': 'str'}, 9018 } 9019 9020 def __init__( 9021 self, 9022 **kwargs 9023 ): 9024 super(ManagedInstanceVulnerabilityAssessmentListResult, self).__init__(**kwargs) 9025 self.value = None 9026 self.next_link = None 9027 9028 9029class ManagedServerSecurityAlertPolicy(ProxyResource): 9030 """A managed server security alert policy. 9031 9032 Variables are only populated by the server, and will be ignored when sending a request. 9033 9034 :ivar id: Resource ID. 9035 :vartype id: str 9036 :ivar name: Resource name. 9037 :vartype name: str 9038 :ivar type: Resource type. 9039 :vartype type: str 9040 :ivar system_data: SystemData of SecurityAlertPolicyResource. 9041 :vartype system_data: ~azure.mgmt.sql.models.SystemData 9042 :param state: Specifies the state of the policy, whether it is enabled or disabled or a policy 9043 has not been applied yet on the specific database. Possible values include: "Enabled", 9044 "Disabled". 9045 :type state: str or ~azure.mgmt.sql.models.SecurityAlertsPolicyState 9046 :param disabled_alerts: Specifies an array of alerts that are disabled. Allowed values are: 9047 Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, 9048 Brute_Force. 9049 :type disabled_alerts: list[str] 9050 :param email_addresses: Specifies an array of e-mail addresses to which the alert is sent. 9051 :type email_addresses: list[str] 9052 :param email_account_admins: Specifies that the alert is sent to the account administrators. 9053 :type email_account_admins: bool 9054 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 9055 https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection 9056 audit logs. 9057 :type storage_endpoint: str 9058 :param storage_account_access_key: Specifies the identifier key of the Threat Detection audit 9059 storage account. 9060 :type storage_account_access_key: str 9061 :param retention_days: Specifies the number of days to keep in the Threat Detection audit logs. 9062 :type retention_days: int 9063 :ivar creation_time: Specifies the UTC creation time of the policy. 9064 :vartype creation_time: ~datetime.datetime 9065 """ 9066 9067 _validation = { 9068 'id': {'readonly': True}, 9069 'name': {'readonly': True}, 9070 'type': {'readonly': True}, 9071 'system_data': {'readonly': True}, 9072 'creation_time': {'readonly': True}, 9073 } 9074 9075 _attribute_map = { 9076 'id': {'key': 'id', 'type': 'str'}, 9077 'name': {'key': 'name', 'type': 'str'}, 9078 'type': {'key': 'type', 'type': 'str'}, 9079 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 9080 'state': {'key': 'properties.state', 'type': 'str'}, 9081 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': '[str]'}, 9082 'email_addresses': {'key': 'properties.emailAddresses', 'type': '[str]'}, 9083 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'bool'}, 9084 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 9085 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 9086 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 9087 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 9088 } 9089 9090 def __init__( 9091 self, 9092 **kwargs 9093 ): 9094 super(ManagedServerSecurityAlertPolicy, self).__init__(**kwargs) 9095 self.system_data = None 9096 self.state = kwargs.get('state', None) 9097 self.disabled_alerts = kwargs.get('disabled_alerts', None) 9098 self.email_addresses = kwargs.get('email_addresses', None) 9099 self.email_account_admins = kwargs.get('email_account_admins', None) 9100 self.storage_endpoint = kwargs.get('storage_endpoint', None) 9101 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 9102 self.retention_days = kwargs.get('retention_days', None) 9103 self.creation_time = None 9104 9105 9106class ManagedServerSecurityAlertPolicyListResult(msrest.serialization.Model): 9107 """A list of the managed Server's security alert policies. 9108 9109 Variables are only populated by the server, and will be ignored when sending a request. 9110 9111 :ivar value: Array of results. 9112 :vartype value: list[~azure.mgmt.sql.models.ManagedServerSecurityAlertPolicy] 9113 :ivar next_link: Link to retrieve next page of results. 9114 :vartype next_link: str 9115 """ 9116 9117 _validation = { 9118 'value': {'readonly': True}, 9119 'next_link': {'readonly': True}, 9120 } 9121 9122 _attribute_map = { 9123 'value': {'key': 'value', 'type': '[ManagedServerSecurityAlertPolicy]'}, 9124 'next_link': {'key': 'nextLink', 'type': 'str'}, 9125 } 9126 9127 def __init__( 9128 self, 9129 **kwargs 9130 ): 9131 super(ManagedServerSecurityAlertPolicyListResult, self).__init__(**kwargs) 9132 self.value = None 9133 self.next_link = None 9134 9135 9136class ManagedTransparentDataEncryption(ProxyResource): 9137 """A managed database transparent data encryption state. 9138 9139 Variables are only populated by the server, and will be ignored when sending a request. 9140 9141 :ivar id: Resource ID. 9142 :vartype id: str 9143 :ivar name: Resource name. 9144 :vartype name: str 9145 :ivar type: Resource type. 9146 :vartype type: str 9147 :param state: Specifies the state of the transparent data encryption. Possible values include: 9148 "Enabled", "Disabled". 9149 :type state: str or ~azure.mgmt.sql.models.TransparentDataEncryptionState 9150 """ 9151 9152 _validation = { 9153 'id': {'readonly': True}, 9154 'name': {'readonly': True}, 9155 'type': {'readonly': True}, 9156 } 9157 9158 _attribute_map = { 9159 'id': {'key': 'id', 'type': 'str'}, 9160 'name': {'key': 'name', 'type': 'str'}, 9161 'type': {'key': 'type', 'type': 'str'}, 9162 'state': {'key': 'properties.state', 'type': 'str'}, 9163 } 9164 9165 def __init__( 9166 self, 9167 **kwargs 9168 ): 9169 super(ManagedTransparentDataEncryption, self).__init__(**kwargs) 9170 self.state = kwargs.get('state', None) 9171 9172 9173class ManagedTransparentDataEncryptionListResult(msrest.serialization.Model): 9174 """A list of managed transparent data encryptions. 9175 9176 Variables are only populated by the server, and will be ignored when sending a request. 9177 9178 :ivar value: Array of results. 9179 :vartype value: list[~azure.mgmt.sql.models.ManagedTransparentDataEncryption] 9180 :ivar next_link: Link to retrieve next page of results. 9181 :vartype next_link: str 9182 """ 9183 9184 _validation = { 9185 'value': {'readonly': True}, 9186 'next_link': {'readonly': True}, 9187 } 9188 9189 _attribute_map = { 9190 'value': {'key': 'value', 'type': '[ManagedTransparentDataEncryption]'}, 9191 'next_link': {'key': 'nextLink', 'type': 'str'}, 9192 } 9193 9194 def __init__( 9195 self, 9196 **kwargs 9197 ): 9198 super(ManagedTransparentDataEncryptionListResult, self).__init__(**kwargs) 9199 self.value = None 9200 self.next_link = None 9201 9202 9203class MaxSizeCapability(msrest.serialization.Model): 9204 """The maximum size capability. 9205 9206 Variables are only populated by the server, and will be ignored when sending a request. 9207 9208 :ivar limit: The maximum size limit (see 'unit' for the units). 9209 :vartype limit: int 9210 :ivar unit: The units that the limit is expressed in. Possible values include: "Megabytes", 9211 "Gigabytes", "Terabytes", "Petabytes". 9212 :vartype unit: str or ~azure.mgmt.sql.models.MaxSizeUnit 9213 """ 9214 9215 _validation = { 9216 'limit': {'readonly': True}, 9217 'unit': {'readonly': True}, 9218 } 9219 9220 _attribute_map = { 9221 'limit': {'key': 'limit', 'type': 'int'}, 9222 'unit': {'key': 'unit', 'type': 'str'}, 9223 } 9224 9225 def __init__( 9226 self, 9227 **kwargs 9228 ): 9229 super(MaxSizeCapability, self).__init__(**kwargs) 9230 self.limit = None 9231 self.unit = None 9232 9233 9234class MaxSizeRangeCapability(msrest.serialization.Model): 9235 """The maximum size range capability. 9236 9237 Variables are only populated by the server, and will be ignored when sending a request. 9238 9239 :ivar min_value: Minimum value. 9240 :vartype min_value: ~azure.mgmt.sql.models.MaxSizeCapability 9241 :ivar max_value: Maximum value. 9242 :vartype max_value: ~azure.mgmt.sql.models.MaxSizeCapability 9243 :ivar scale_size: Scale/step size for discrete values between the minimum value and the maximum 9244 value. 9245 :vartype scale_size: ~azure.mgmt.sql.models.MaxSizeCapability 9246 :ivar log_size: Size of transaction log. 9247 :vartype log_size: ~azure.mgmt.sql.models.LogSizeCapability 9248 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 9249 "Default", "Disabled". 9250 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 9251 :param reason: The reason for the capability not being available. 9252 :type reason: str 9253 """ 9254 9255 _validation = { 9256 'min_value': {'readonly': True}, 9257 'max_value': {'readonly': True}, 9258 'scale_size': {'readonly': True}, 9259 'log_size': {'readonly': True}, 9260 'status': {'readonly': True}, 9261 } 9262 9263 _attribute_map = { 9264 'min_value': {'key': 'minValue', 'type': 'MaxSizeCapability'}, 9265 'max_value': {'key': 'maxValue', 'type': 'MaxSizeCapability'}, 9266 'scale_size': {'key': 'scaleSize', 'type': 'MaxSizeCapability'}, 9267 'log_size': {'key': 'logSize', 'type': 'LogSizeCapability'}, 9268 'status': {'key': 'status', 'type': 'str'}, 9269 'reason': {'key': 'reason', 'type': 'str'}, 9270 } 9271 9272 def __init__( 9273 self, 9274 **kwargs 9275 ): 9276 super(MaxSizeRangeCapability, self).__init__(**kwargs) 9277 self.min_value = None 9278 self.max_value = None 9279 self.scale_size = None 9280 self.log_size = None 9281 self.status = None 9282 self.reason = kwargs.get('reason', None) 9283 9284 9285class Metric(msrest.serialization.Model): 9286 """Database metrics. 9287 9288 Variables are only populated by the server, and will be ignored when sending a request. 9289 9290 :ivar start_time: The start time for the metric (ISO-8601 format). 9291 :vartype start_time: ~datetime.datetime 9292 :ivar end_time: The end time for the metric (ISO-8601 format). 9293 :vartype end_time: ~datetime.datetime 9294 :ivar time_grain: The time step to be used to summarize the metric values. 9295 :vartype time_grain: str 9296 :ivar unit: The unit of the metric. Possible values include: "count", "bytes", "seconds", 9297 "percent", "countPerSecond", "bytesPerSecond". 9298 :vartype unit: str or ~azure.mgmt.sql.models.UnitType 9299 :ivar name: The name information for the metric. 9300 :vartype name: ~azure.mgmt.sql.models.MetricName 9301 :ivar metric_values: The metric values for the specified time window and timestep. 9302 :vartype metric_values: list[~azure.mgmt.sql.models.MetricValue] 9303 """ 9304 9305 _validation = { 9306 'start_time': {'readonly': True}, 9307 'end_time': {'readonly': True}, 9308 'time_grain': {'readonly': True}, 9309 'unit': {'readonly': True}, 9310 'name': {'readonly': True}, 9311 'metric_values': {'readonly': True}, 9312 } 9313 9314 _attribute_map = { 9315 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 9316 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 9317 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 9318 'unit': {'key': 'unit', 'type': 'str'}, 9319 'name': {'key': 'name', 'type': 'MetricName'}, 9320 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, 9321 } 9322 9323 def __init__( 9324 self, 9325 **kwargs 9326 ): 9327 super(Metric, self).__init__(**kwargs) 9328 self.start_time = None 9329 self.end_time = None 9330 self.time_grain = None 9331 self.unit = None 9332 self.name = None 9333 self.metric_values = None 9334 9335 9336class MetricAvailability(msrest.serialization.Model): 9337 """A metric availability value. 9338 9339 Variables are only populated by the server, and will be ignored when sending a request. 9340 9341 :ivar retention: The length of retention for the database metric. 9342 :vartype retention: str 9343 :ivar time_grain: The granularity of the database metric. 9344 :vartype time_grain: str 9345 """ 9346 9347 _validation = { 9348 'retention': {'readonly': True}, 9349 'time_grain': {'readonly': True}, 9350 } 9351 9352 _attribute_map = { 9353 'retention': {'key': 'retention', 'type': 'str'}, 9354 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 9355 } 9356 9357 def __init__( 9358 self, 9359 **kwargs 9360 ): 9361 super(MetricAvailability, self).__init__(**kwargs) 9362 self.retention = None 9363 self.time_grain = None 9364 9365 9366class MetricDefinition(msrest.serialization.Model): 9367 """A database metric definition. 9368 9369 Variables are only populated by the server, and will be ignored when sending a request. 9370 9371 :ivar name: The name information for the metric. 9372 :vartype name: ~azure.mgmt.sql.models.MetricName 9373 :ivar primary_aggregation_type: The primary aggregation type defining how metric values are 9374 displayed. Possible values include: "None", "Average", "Count", "Minimum", "Maximum", "Total". 9375 :vartype primary_aggregation_type: str or ~azure.mgmt.sql.models.PrimaryAggregationType 9376 :ivar resource_uri: The resource uri of the database. 9377 :vartype resource_uri: str 9378 :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", 9379 "Percent", "CountPerSecond", "BytesPerSecond". 9380 :vartype unit: str or ~azure.mgmt.sql.models.UnitDefinitionType 9381 :ivar metric_availabilities: The list of database metric availabilities for the metric. 9382 :vartype metric_availabilities: list[~azure.mgmt.sql.models.MetricAvailability] 9383 """ 9384 9385 _validation = { 9386 'name': {'readonly': True}, 9387 'primary_aggregation_type': {'readonly': True}, 9388 'resource_uri': {'readonly': True}, 9389 'unit': {'readonly': True}, 9390 'metric_availabilities': {'readonly': True}, 9391 } 9392 9393 _attribute_map = { 9394 'name': {'key': 'name', 'type': 'MetricName'}, 9395 'primary_aggregation_type': {'key': 'primaryAggregationType', 'type': 'str'}, 9396 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, 9397 'unit': {'key': 'unit', 'type': 'str'}, 9398 'metric_availabilities': {'key': 'metricAvailabilities', 'type': '[MetricAvailability]'}, 9399 } 9400 9401 def __init__( 9402 self, 9403 **kwargs 9404 ): 9405 super(MetricDefinition, self).__init__(**kwargs) 9406 self.name = None 9407 self.primary_aggregation_type = None 9408 self.resource_uri = None 9409 self.unit = None 9410 self.metric_availabilities = None 9411 9412 9413class MetricDefinitionListResult(msrest.serialization.Model): 9414 """The response to a list database metric definitions request. 9415 9416 All required parameters must be populated in order to send to Azure. 9417 9418 :param value: Required. The list of metric definitions for the database. 9419 :type value: list[~azure.mgmt.sql.models.MetricDefinition] 9420 """ 9421 9422 _validation = { 9423 'value': {'required': True}, 9424 } 9425 9426 _attribute_map = { 9427 'value': {'key': 'value', 'type': '[MetricDefinition]'}, 9428 } 9429 9430 def __init__( 9431 self, 9432 **kwargs 9433 ): 9434 super(MetricDefinitionListResult, self).__init__(**kwargs) 9435 self.value = kwargs['value'] 9436 9437 9438class MetricListResult(msrest.serialization.Model): 9439 """The response to a list database metrics request. 9440 9441 All required parameters must be populated in order to send to Azure. 9442 9443 :param value: Required. The list of metrics for the database. 9444 :type value: list[~azure.mgmt.sql.models.Metric] 9445 """ 9446 9447 _validation = { 9448 'value': {'required': True}, 9449 } 9450 9451 _attribute_map = { 9452 'value': {'key': 'value', 'type': '[Metric]'}, 9453 } 9454 9455 def __init__( 9456 self, 9457 **kwargs 9458 ): 9459 super(MetricListResult, self).__init__(**kwargs) 9460 self.value = kwargs['value'] 9461 9462 9463class MetricName(msrest.serialization.Model): 9464 """A database metric name. 9465 9466 Variables are only populated by the server, and will be ignored when sending a request. 9467 9468 :ivar value: The name of the database metric. 9469 :vartype value: str 9470 :ivar localized_value: The friendly name of the database metric. 9471 :vartype localized_value: str 9472 """ 9473 9474 _validation = { 9475 'value': {'readonly': True}, 9476 'localized_value': {'readonly': True}, 9477 } 9478 9479 _attribute_map = { 9480 'value': {'key': 'value', 'type': 'str'}, 9481 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 9482 } 9483 9484 def __init__( 9485 self, 9486 **kwargs 9487 ): 9488 super(MetricName, self).__init__(**kwargs) 9489 self.value = None 9490 self.localized_value = None 9491 9492 9493class MetricValue(msrest.serialization.Model): 9494 """Represents database metrics. 9495 9496 Variables are only populated by the server, and will be ignored when sending a request. 9497 9498 :ivar count: The number of values for the metric. 9499 :vartype count: int 9500 :ivar average: The average value of the metric. 9501 :vartype average: float 9502 :ivar maximum: The max value of the metric. 9503 :vartype maximum: float 9504 :ivar minimum: The min value of the metric. 9505 :vartype minimum: float 9506 :ivar timestamp: The metric timestamp (ISO-8601 format). 9507 :vartype timestamp: ~datetime.datetime 9508 :ivar total: The total value of the metric. 9509 :vartype total: float 9510 """ 9511 9512 _validation = { 9513 'count': {'readonly': True}, 9514 'average': {'readonly': True}, 9515 'maximum': {'readonly': True}, 9516 'minimum': {'readonly': True}, 9517 'timestamp': {'readonly': True}, 9518 'total': {'readonly': True}, 9519 } 9520 9521 _attribute_map = { 9522 'count': {'key': 'count', 'type': 'int'}, 9523 'average': {'key': 'average', 'type': 'float'}, 9524 'maximum': {'key': 'maximum', 'type': 'float'}, 9525 'minimum': {'key': 'minimum', 'type': 'float'}, 9526 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 9527 'total': {'key': 'total', 'type': 'float'}, 9528 } 9529 9530 def __init__( 9531 self, 9532 **kwargs 9533 ): 9534 super(MetricValue, self).__init__(**kwargs) 9535 self.count = None 9536 self.average = None 9537 self.maximum = None 9538 self.minimum = None 9539 self.timestamp = None 9540 self.total = None 9541 9542 9543class MinCapacityCapability(msrest.serialization.Model): 9544 """The min capacity capability. 9545 9546 Variables are only populated by the server, and will be ignored when sending a request. 9547 9548 :ivar value: Min capacity value. 9549 :vartype value: float 9550 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 9551 "Default", "Disabled". 9552 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 9553 :param reason: The reason for the capability not being available. 9554 :type reason: str 9555 """ 9556 9557 _validation = { 9558 'value': {'readonly': True}, 9559 'status': {'readonly': True}, 9560 } 9561 9562 _attribute_map = { 9563 'value': {'key': 'value', 'type': 'float'}, 9564 'status': {'key': 'status', 'type': 'str'}, 9565 'reason': {'key': 'reason', 'type': 'str'}, 9566 } 9567 9568 def __init__( 9569 self, 9570 **kwargs 9571 ): 9572 super(MinCapacityCapability, self).__init__(**kwargs) 9573 self.value = None 9574 self.status = None 9575 self.reason = kwargs.get('reason', None) 9576 9577 9578class Name(msrest.serialization.Model): 9579 """ARM Usage Name. 9580 9581 :param value: Usage name value. 9582 :type value: str 9583 :param localized_value: Usage name localized value. 9584 :type localized_value: str 9585 """ 9586 9587 _attribute_map = { 9588 'value': {'key': 'value', 'type': 'str'}, 9589 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 9590 } 9591 9592 def __init__( 9593 self, 9594 **kwargs 9595 ): 9596 super(Name, self).__init__(**kwargs) 9597 self.value = kwargs.get('value', None) 9598 self.localized_value = kwargs.get('localized_value', None) 9599 9600 9601class NetworkIsolationSettings(msrest.serialization.Model): 9602 """Contains the ARM resources for which to create private endpoint connection. 9603 9604 :param storage_account_resource_id: The resource id for the storage account used to store 9605 BACPAC file. If set, private endpoint connection will be created for the storage account. Must 9606 match storage account used for StorageUri parameter. 9607 :type storage_account_resource_id: str 9608 :param sql_server_resource_id: The resource id for the SQL server which is the target of this 9609 request. If set, private endpoint connection will be created for the SQL server. Must match 9610 server which is target of the operation. 9611 :type sql_server_resource_id: str 9612 """ 9613 9614 _attribute_map = { 9615 'storage_account_resource_id': {'key': 'storageAccountResourceId', 'type': 'str'}, 9616 'sql_server_resource_id': {'key': 'sqlServerResourceId', 'type': 'str'}, 9617 } 9618 9619 def __init__( 9620 self, 9621 **kwargs 9622 ): 9623 super(NetworkIsolationSettings, self).__init__(**kwargs) 9624 self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) 9625 self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) 9626 9627 9628class Operation(msrest.serialization.Model): 9629 """SQL REST API operation definition. 9630 9631 Variables are only populated by the server, and will be ignored when sending a request. 9632 9633 :ivar name: The name of the operation being performed on this particular object. 9634 :vartype name: str 9635 :ivar display: The localized display information for this particular operation / action. 9636 :vartype display: ~azure.mgmt.sql.models.OperationDisplay 9637 :ivar origin: The intended executor of the operation. Possible values include: "user", 9638 "system". 9639 :vartype origin: str or ~azure.mgmt.sql.models.OperationOrigin 9640 :ivar properties: Additional descriptions for the operation. 9641 :vartype properties: dict[str, any] 9642 """ 9643 9644 _validation = { 9645 'name': {'readonly': True}, 9646 'display': {'readonly': True}, 9647 'origin': {'readonly': True}, 9648 'properties': {'readonly': True}, 9649 } 9650 9651 _attribute_map = { 9652 'name': {'key': 'name', 'type': 'str'}, 9653 'display': {'key': 'display', 'type': 'OperationDisplay'}, 9654 'origin': {'key': 'origin', 'type': 'str'}, 9655 'properties': {'key': 'properties', 'type': '{object}'}, 9656 } 9657 9658 def __init__( 9659 self, 9660 **kwargs 9661 ): 9662 super(Operation, self).__init__(**kwargs) 9663 self.name = None 9664 self.display = None 9665 self.origin = None 9666 self.properties = None 9667 9668 9669class OperationDisplay(msrest.serialization.Model): 9670 """Display metadata associated with the operation. 9671 9672 Variables are only populated by the server, and will be ignored when sending a request. 9673 9674 :ivar provider: The localized friendly form of the resource provider name. 9675 :vartype provider: str 9676 :ivar resource: The localized friendly form of the resource type related to this 9677 action/operation. 9678 :vartype resource: str 9679 :ivar operation: The localized friendly name for the operation. 9680 :vartype operation: str 9681 :ivar description: The localized friendly description for the operation. 9682 :vartype description: str 9683 """ 9684 9685 _validation = { 9686 'provider': {'readonly': True}, 9687 'resource': {'readonly': True}, 9688 'operation': {'readonly': True}, 9689 'description': {'readonly': True}, 9690 } 9691 9692 _attribute_map = { 9693 'provider': {'key': 'provider', 'type': 'str'}, 9694 'resource': {'key': 'resource', 'type': 'str'}, 9695 'operation': {'key': 'operation', 'type': 'str'}, 9696 'description': {'key': 'description', 'type': 'str'}, 9697 } 9698 9699 def __init__( 9700 self, 9701 **kwargs 9702 ): 9703 super(OperationDisplay, self).__init__(**kwargs) 9704 self.provider = None 9705 self.resource = None 9706 self.operation = None 9707 self.description = None 9708 9709 9710class OperationImpact(msrest.serialization.Model): 9711 """The impact of an operation, both in absolute and relative terms. 9712 9713 Variables are only populated by the server, and will be ignored when sending a request. 9714 9715 :ivar name: The name of the impact dimension. 9716 :vartype name: str 9717 :ivar unit: The unit in which estimated impact to dimension is measured. 9718 :vartype unit: str 9719 :ivar change_value_absolute: The absolute impact to dimension. 9720 :vartype change_value_absolute: float 9721 :ivar change_value_relative: The relative impact to dimension (null if not applicable). 9722 :vartype change_value_relative: float 9723 """ 9724 9725 _validation = { 9726 'name': {'readonly': True}, 9727 'unit': {'readonly': True}, 9728 'change_value_absolute': {'readonly': True}, 9729 'change_value_relative': {'readonly': True}, 9730 } 9731 9732 _attribute_map = { 9733 'name': {'key': 'name', 'type': 'str'}, 9734 'unit': {'key': 'unit', 'type': 'str'}, 9735 'change_value_absolute': {'key': 'changeValueAbsolute', 'type': 'float'}, 9736 'change_value_relative': {'key': 'changeValueRelative', 'type': 'float'}, 9737 } 9738 9739 def __init__( 9740 self, 9741 **kwargs 9742 ): 9743 super(OperationImpact, self).__init__(**kwargs) 9744 self.name = None 9745 self.unit = None 9746 self.change_value_absolute = None 9747 self.change_value_relative = None 9748 9749 9750class OperationListResult(msrest.serialization.Model): 9751 """Result of the request to list SQL operations. 9752 9753 Variables are only populated by the server, and will be ignored when sending a request. 9754 9755 :ivar value: Array of results. 9756 :vartype value: list[~azure.mgmt.sql.models.Operation] 9757 :ivar next_link: Link to retrieve next page of results. 9758 :vartype next_link: str 9759 """ 9760 9761 _validation = { 9762 'value': {'readonly': True}, 9763 'next_link': {'readonly': True}, 9764 } 9765 9766 _attribute_map = { 9767 'value': {'key': 'value', 'type': '[Operation]'}, 9768 'next_link': {'key': 'nextLink', 'type': 'str'}, 9769 } 9770 9771 def __init__( 9772 self, 9773 **kwargs 9774 ): 9775 super(OperationListResult, self).__init__(**kwargs) 9776 self.value = None 9777 self.next_link = None 9778 9779 9780class OperationsHealth(ProxyResource): 9781 """Operations health status in a location. 9782 9783 Variables are only populated by the server, and will be ignored when sending a request. 9784 9785 :ivar id: Resource ID. 9786 :vartype id: str 9787 :ivar name: Resource name. 9788 :vartype name: str 9789 :ivar type: Resource type. 9790 :vartype type: str 9791 :ivar name_properties_name: Operation name for the service. 9792 :vartype name_properties_name: str 9793 :ivar health: Operation health status of the service. 9794 :vartype health: str 9795 :ivar description: Health status description. 9796 :vartype description: str 9797 """ 9798 9799 _validation = { 9800 'id': {'readonly': True}, 9801 'name': {'readonly': True}, 9802 'type': {'readonly': True}, 9803 'name_properties_name': {'readonly': True}, 9804 'health': {'readonly': True}, 9805 'description': {'readonly': True}, 9806 } 9807 9808 _attribute_map = { 9809 'id': {'key': 'id', 'type': 'str'}, 9810 'name': {'key': 'name', 'type': 'str'}, 9811 'type': {'key': 'type', 'type': 'str'}, 9812 'name_properties_name': {'key': 'properties.name', 'type': 'str'}, 9813 'health': {'key': 'properties.health', 'type': 'str'}, 9814 'description': {'key': 'properties.description', 'type': 'str'}, 9815 } 9816 9817 def __init__( 9818 self, 9819 **kwargs 9820 ): 9821 super(OperationsHealth, self).__init__(**kwargs) 9822 self.name_properties_name = None 9823 self.health = None 9824 self.description = None 9825 9826 9827class OperationsHealthListResult(msrest.serialization.Model): 9828 """A list of service health statuses in a location. 9829 9830 Variables are only populated by the server, and will be ignored when sending a request. 9831 9832 :ivar value: Array of results. 9833 :vartype value: list[~azure.mgmt.sql.models.OperationsHealth] 9834 :ivar next_link: Link to retrieve next page of results. 9835 :vartype next_link: str 9836 """ 9837 9838 _validation = { 9839 'value': {'readonly': True}, 9840 'next_link': {'readonly': True}, 9841 } 9842 9843 _attribute_map = { 9844 'value': {'key': 'value', 'type': '[OperationsHealth]'}, 9845 'next_link': {'key': 'nextLink', 'type': 'str'}, 9846 } 9847 9848 def __init__( 9849 self, 9850 **kwargs 9851 ): 9852 super(OperationsHealthListResult, self).__init__(**kwargs) 9853 self.value = None 9854 self.next_link = None 9855 9856 9857class OutboundFirewallRule(ProxyResource): 9858 """An Azure SQL DB Server Outbound Firewall Rule. 9859 9860 Variables are only populated by the server, and will be ignored when sending a request. 9861 9862 :ivar id: Resource ID. 9863 :vartype id: str 9864 :ivar name: Resource name. 9865 :vartype name: str 9866 :ivar type: Resource type. 9867 :vartype type: str 9868 :ivar provisioning_state: The state of the outbound rule. 9869 :vartype provisioning_state: str 9870 """ 9871 9872 _validation = { 9873 'id': {'readonly': True}, 9874 'name': {'readonly': True}, 9875 'type': {'readonly': True}, 9876 'provisioning_state': {'readonly': True}, 9877 } 9878 9879 _attribute_map = { 9880 'id': {'key': 'id', 'type': 'str'}, 9881 'name': {'key': 'name', 'type': 'str'}, 9882 'type': {'key': 'type', 'type': 'str'}, 9883 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9884 } 9885 9886 def __init__( 9887 self, 9888 **kwargs 9889 ): 9890 super(OutboundFirewallRule, self).__init__(**kwargs) 9891 self.provisioning_state = None 9892 9893 9894class OutboundFirewallRuleListResult(msrest.serialization.Model): 9895 """A list of outbound rules. 9896 9897 Variables are only populated by the server, and will be ignored when sending a request. 9898 9899 :ivar value: Array of results. 9900 :vartype value: list[~azure.mgmt.sql.models.OutboundFirewallRule] 9901 :ivar next_link: Link to retrieve next page of results. 9902 :vartype next_link: str 9903 """ 9904 9905 _validation = { 9906 'value': {'readonly': True}, 9907 'next_link': {'readonly': True}, 9908 } 9909 9910 _attribute_map = { 9911 'value': {'key': 'value', 'type': '[OutboundFirewallRule]'}, 9912 'next_link': {'key': 'nextLink', 'type': 'str'}, 9913 } 9914 9915 def __init__( 9916 self, 9917 **kwargs 9918 ): 9919 super(OutboundFirewallRuleListResult, self).__init__(**kwargs) 9920 self.value = None 9921 self.next_link = None 9922 9923 9924class PartnerInfo(msrest.serialization.Model): 9925 """Partner server information for the failover group. 9926 9927 Variables are only populated by the server, and will be ignored when sending a request. 9928 9929 All required parameters must be populated in order to send to Azure. 9930 9931 :param id: Required. Resource identifier of the partner server. 9932 :type id: str 9933 :ivar location: Geo location of the partner server. 9934 :vartype location: str 9935 :ivar replication_role: Replication role of the partner server. Possible values include: 9936 "Primary", "Secondary". 9937 :vartype replication_role: str or ~azure.mgmt.sql.models.FailoverGroupReplicationRole 9938 """ 9939 9940 _validation = { 9941 'id': {'required': True}, 9942 'location': {'readonly': True}, 9943 'replication_role': {'readonly': True}, 9944 } 9945 9946 _attribute_map = { 9947 'id': {'key': 'id', 'type': 'str'}, 9948 'location': {'key': 'location', 'type': 'str'}, 9949 'replication_role': {'key': 'replicationRole', 'type': 'str'}, 9950 } 9951 9952 def __init__( 9953 self, 9954 **kwargs 9955 ): 9956 super(PartnerInfo, self).__init__(**kwargs) 9957 self.id = kwargs['id'] 9958 self.location = None 9959 self.replication_role = None 9960 9961 9962class PartnerRegionInfo(msrest.serialization.Model): 9963 """Partner region information for the failover group. 9964 9965 Variables are only populated by the server, and will be ignored when sending a request. 9966 9967 :param location: Geo location of the partner managed instances. 9968 :type location: str 9969 :ivar replication_role: Replication role of the partner managed instances. Possible values 9970 include: "Primary", "Secondary". 9971 :vartype replication_role: str or ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole 9972 """ 9973 9974 _validation = { 9975 'replication_role': {'readonly': True}, 9976 } 9977 9978 _attribute_map = { 9979 'location': {'key': 'location', 'type': 'str'}, 9980 'replication_role': {'key': 'replicationRole', 'type': 'str'}, 9981 } 9982 9983 def __init__( 9984 self, 9985 **kwargs 9986 ): 9987 super(PartnerRegionInfo, self).__init__(**kwargs) 9988 self.location = kwargs.get('location', None) 9989 self.replication_role = None 9990 9991 9992class PerformanceLevelCapability(msrest.serialization.Model): 9993 """The performance level capability. 9994 9995 Variables are only populated by the server, and will be ignored when sending a request. 9996 9997 :ivar value: Performance level value. 9998 :vartype value: float 9999 :ivar unit: Unit type used to measure performance level. Possible values include: "DTU", 10000 "VCores". 10001 :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit 10002 """ 10003 10004 _validation = { 10005 'value': {'readonly': True}, 10006 'unit': {'readonly': True}, 10007 } 10008 10009 _attribute_map = { 10010 'value': {'key': 'value', 'type': 'float'}, 10011 'unit': {'key': 'unit', 'type': 'str'}, 10012 } 10013 10014 def __init__( 10015 self, 10016 **kwargs 10017 ): 10018 super(PerformanceLevelCapability, self).__init__(**kwargs) 10019 self.value = None 10020 self.unit = None 10021 10022 10023class PrivateEndpointConnection(ProxyResource): 10024 """A private endpoint connection. 10025 10026 Variables are only populated by the server, and will be ignored when sending a request. 10027 10028 :ivar id: Resource ID. 10029 :vartype id: str 10030 :ivar name: Resource name. 10031 :vartype name: str 10032 :ivar type: Resource type. 10033 :vartype type: str 10034 :param private_endpoint: Private endpoint which the connection belongs to. 10035 :type private_endpoint: ~azure.mgmt.sql.models.PrivateEndpointProperty 10036 :param private_link_service_connection_state: Connection state of the private endpoint 10037 connection. 10038 :type private_link_service_connection_state: 10039 ~azure.mgmt.sql.models.PrivateLinkServiceConnectionStateProperty 10040 :ivar provisioning_state: State of the private endpoint connection. Possible values include: 10041 "Approving", "Ready", "Dropping", "Failed", "Rejecting". 10042 :vartype provisioning_state: str or ~azure.mgmt.sql.models.PrivateEndpointProvisioningState 10043 """ 10044 10045 _validation = { 10046 'id': {'readonly': True}, 10047 'name': {'readonly': True}, 10048 'type': {'readonly': True}, 10049 'provisioning_state': {'readonly': True}, 10050 } 10051 10052 _attribute_map = { 10053 'id': {'key': 'id', 'type': 'str'}, 10054 'name': {'key': 'name', 'type': 'str'}, 10055 'type': {'key': 'type', 'type': 'str'}, 10056 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpointProperty'}, 10057 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, 10058 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10059 } 10060 10061 def __init__( 10062 self, 10063 **kwargs 10064 ): 10065 super(PrivateEndpointConnection, self).__init__(**kwargs) 10066 self.private_endpoint = kwargs.get('private_endpoint', None) 10067 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 10068 self.provisioning_state = None 10069 10070 10071class PrivateEndpointConnectionListResult(msrest.serialization.Model): 10072 """A list of private endpoint connections. 10073 10074 Variables are only populated by the server, and will be ignored when sending a request. 10075 10076 :ivar value: Array of results. 10077 :vartype value: list[~azure.mgmt.sql.models.PrivateEndpointConnection] 10078 :ivar next_link: Link to retrieve next page of results. 10079 :vartype next_link: str 10080 """ 10081 10082 _validation = { 10083 'value': {'readonly': True}, 10084 'next_link': {'readonly': True}, 10085 } 10086 10087 _attribute_map = { 10088 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 10089 'next_link': {'key': 'nextLink', 'type': 'str'}, 10090 } 10091 10092 def __init__( 10093 self, 10094 **kwargs 10095 ): 10096 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 10097 self.value = None 10098 self.next_link = None 10099 10100 10101class PrivateEndpointConnectionProperties(msrest.serialization.Model): 10102 """Properties of a private endpoint connection. 10103 10104 Variables are only populated by the server, and will be ignored when sending a request. 10105 10106 :param private_endpoint: Private endpoint which the connection belongs to. 10107 :type private_endpoint: ~azure.mgmt.sql.models.PrivateEndpointProperty 10108 :param private_link_service_connection_state: Connection state of the private endpoint 10109 connection. 10110 :type private_link_service_connection_state: 10111 ~azure.mgmt.sql.models.PrivateLinkServiceConnectionStateProperty 10112 :ivar provisioning_state: State of the private endpoint connection. Possible values include: 10113 "Approving", "Ready", "Dropping", "Failed", "Rejecting". 10114 :vartype provisioning_state: str or ~azure.mgmt.sql.models.PrivateEndpointProvisioningState 10115 """ 10116 10117 _validation = { 10118 'provisioning_state': {'readonly': True}, 10119 } 10120 10121 _attribute_map = { 10122 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpointProperty'}, 10123 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, 10124 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 10125 } 10126 10127 def __init__( 10128 self, 10129 **kwargs 10130 ): 10131 super(PrivateEndpointConnectionProperties, self).__init__(**kwargs) 10132 self.private_endpoint = kwargs.get('private_endpoint', None) 10133 self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) 10134 self.provisioning_state = None 10135 10136 10137class PrivateEndpointConnectionRequestStatus(msrest.serialization.Model): 10138 """Contains the private endpoint connection requests status. 10139 10140 Variables are only populated by the server, and will be ignored when sending a request. 10141 10142 :ivar private_link_service_id: Resource id for which the private endpoint is created. 10143 :vartype private_link_service_id: str 10144 :ivar private_endpoint_connection_name: The connection name for the private endpoint. 10145 :vartype private_endpoint_connection_name: str 10146 :ivar status: Status of this private endpoint connection. 10147 :vartype status: str 10148 """ 10149 10150 _validation = { 10151 'private_link_service_id': {'readonly': True}, 10152 'private_endpoint_connection_name': {'readonly': True}, 10153 'status': {'readonly': True}, 10154 } 10155 10156 _attribute_map = { 10157 'private_link_service_id': {'key': 'privateLinkServiceId', 'type': 'str'}, 10158 'private_endpoint_connection_name': {'key': 'privateEndpointConnectionName', 'type': 'str'}, 10159 'status': {'key': 'status', 'type': 'str'}, 10160 } 10161 10162 def __init__( 10163 self, 10164 **kwargs 10165 ): 10166 super(PrivateEndpointConnectionRequestStatus, self).__init__(**kwargs) 10167 self.private_link_service_id = None 10168 self.private_endpoint_connection_name = None 10169 self.status = None 10170 10171 10172class PrivateEndpointProperty(msrest.serialization.Model): 10173 """PrivateEndpointProperty. 10174 10175 :param id: Resource id of the private endpoint. 10176 :type id: str 10177 """ 10178 10179 _attribute_map = { 10180 'id': {'key': 'id', 'type': 'str'}, 10181 } 10182 10183 def __init__( 10184 self, 10185 **kwargs 10186 ): 10187 super(PrivateEndpointProperty, self).__init__(**kwargs) 10188 self.id = kwargs.get('id', None) 10189 10190 10191class PrivateLinkResource(ProxyResource): 10192 """A private link resource. 10193 10194 Variables are only populated by the server, and will be ignored when sending a request. 10195 10196 :ivar id: Resource ID. 10197 :vartype id: str 10198 :ivar name: Resource name. 10199 :vartype name: str 10200 :ivar type: Resource type. 10201 :vartype type: str 10202 :ivar properties: The private link resource group id. 10203 :vartype properties: ~azure.mgmt.sql.models.PrivateLinkResourceProperties 10204 """ 10205 10206 _validation = { 10207 'id': {'readonly': True}, 10208 'name': {'readonly': True}, 10209 'type': {'readonly': True}, 10210 'properties': {'readonly': True}, 10211 } 10212 10213 _attribute_map = { 10214 'id': {'key': 'id', 'type': 'str'}, 10215 'name': {'key': 'name', 'type': 'str'}, 10216 'type': {'key': 'type', 'type': 'str'}, 10217 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, 10218 } 10219 10220 def __init__( 10221 self, 10222 **kwargs 10223 ): 10224 super(PrivateLinkResource, self).__init__(**kwargs) 10225 self.properties = None 10226 10227 10228class PrivateLinkResourceListResult(msrest.serialization.Model): 10229 """A list of private link resources. 10230 10231 Variables are only populated by the server, and will be ignored when sending a request. 10232 10233 :ivar value: Array of results. 10234 :vartype value: list[~azure.mgmt.sql.models.PrivateLinkResource] 10235 :ivar next_link: Link to retrieve next page of results. 10236 :vartype next_link: str 10237 """ 10238 10239 _validation = { 10240 'value': {'readonly': True}, 10241 'next_link': {'readonly': True}, 10242 } 10243 10244 _attribute_map = { 10245 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 10246 'next_link': {'key': 'nextLink', 'type': 'str'}, 10247 } 10248 10249 def __init__( 10250 self, 10251 **kwargs 10252 ): 10253 super(PrivateLinkResourceListResult, self).__init__(**kwargs) 10254 self.value = None 10255 self.next_link = None 10256 10257 10258class PrivateLinkResourceProperties(msrest.serialization.Model): 10259 """Properties of a private link resource. 10260 10261 Variables are only populated by the server, and will be ignored when sending a request. 10262 10263 :ivar group_id: The private link resource group id. 10264 :vartype group_id: str 10265 :ivar required_members: The private link resource required member names. 10266 :vartype required_members: list[str] 10267 :ivar required_zone_names: The private link resource required zone names. 10268 :vartype required_zone_names: list[str] 10269 """ 10270 10271 _validation = { 10272 'group_id': {'readonly': True}, 10273 'required_members': {'readonly': True}, 10274 'required_zone_names': {'readonly': True}, 10275 } 10276 10277 _attribute_map = { 10278 'group_id': {'key': 'groupId', 'type': 'str'}, 10279 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, 10280 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, 10281 } 10282 10283 def __init__( 10284 self, 10285 **kwargs 10286 ): 10287 super(PrivateLinkResourceProperties, self).__init__(**kwargs) 10288 self.group_id = None 10289 self.required_members = None 10290 self.required_zone_names = None 10291 10292 10293class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): 10294 """PrivateLinkServiceConnectionStateProperty. 10295 10296 Variables are only populated by the server, and will be ignored when sending a request. 10297 10298 All required parameters must be populated in order to send to Azure. 10299 10300 :param status: Required. The private link service connection status. Possible values include: 10301 "Approved", "Pending", "Rejected", "Disconnected". 10302 :type status: str or ~azure.mgmt.sql.models.PrivateLinkServiceConnectionStateStatus 10303 :param description: Required. The private link service connection description. 10304 :type description: str 10305 :ivar actions_required: The actions required for private link service connection. Possible 10306 values include: "None". 10307 :vartype actions_required: str or 10308 ~azure.mgmt.sql.models.PrivateLinkServiceConnectionStateActionsRequire 10309 """ 10310 10311 _validation = { 10312 'status': {'required': True}, 10313 'description': {'required': True}, 10314 'actions_required': {'readonly': True}, 10315 } 10316 10317 _attribute_map = { 10318 'status': {'key': 'status', 'type': 'str'}, 10319 'description': {'key': 'description', 'type': 'str'}, 10320 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 10321 } 10322 10323 def __init__( 10324 self, 10325 **kwargs 10326 ): 10327 super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) 10328 self.status = kwargs['status'] 10329 self.description = kwargs['description'] 10330 self.actions_required = None 10331 10332 10333class QueryMetricInterval(msrest.serialization.Model): 10334 """Properties of a query metrics interval. 10335 10336 Variables are only populated by the server, and will be ignored when sending a request. 10337 10338 :ivar interval_start_time: The start time for the metric interval (ISO-8601 format). 10339 :vartype interval_start_time: str 10340 :ivar interval_type: Interval type (length). Possible values include: "PT1H", "P1D". 10341 :vartype interval_type: str or ~azure.mgmt.sql.models.QueryTimeGrainType 10342 :ivar execution_count: Execution count of a query in this interval. 10343 :vartype execution_count: long 10344 :param metrics: List of metric objects for this interval. 10345 :type metrics: list[~azure.mgmt.sql.models.QueryMetricProperties] 10346 """ 10347 10348 _validation = { 10349 'interval_start_time': {'readonly': True}, 10350 'interval_type': {'readonly': True}, 10351 'execution_count': {'readonly': True}, 10352 } 10353 10354 _attribute_map = { 10355 'interval_start_time': {'key': 'intervalStartTime', 'type': 'str'}, 10356 'interval_type': {'key': 'intervalType', 'type': 'str'}, 10357 'execution_count': {'key': 'executionCount', 'type': 'long'}, 10358 'metrics': {'key': 'metrics', 'type': '[QueryMetricProperties]'}, 10359 } 10360 10361 def __init__( 10362 self, 10363 **kwargs 10364 ): 10365 super(QueryMetricInterval, self).__init__(**kwargs) 10366 self.interval_start_time = None 10367 self.interval_type = None 10368 self.execution_count = None 10369 self.metrics = kwargs.get('metrics', None) 10370 10371 10372class QueryMetricProperties(msrest.serialization.Model): 10373 """Properties of a topquery metric in one interval. 10374 10375 Variables are only populated by the server, and will be ignored when sending a request. 10376 10377 :ivar name: The name information for the metric. 10378 :vartype name: str 10379 :ivar display_name: The UI appropriate name for the metric. 10380 :vartype display_name: str 10381 :ivar unit: The unit of the metric. Possible values include: "percentage", "KB", 10382 "microseconds", "count". 10383 :vartype unit: str or ~azure.mgmt.sql.models.QueryMetricUnitType 10384 :ivar value: The value of the metric. 10385 :vartype value: float 10386 :ivar min: Metric value when min() aggregate function is used over the interval. 10387 :vartype min: float 10388 :ivar max: Metric value when max() aggregate function is used over the interval. 10389 :vartype max: float 10390 :ivar avg: Metric value when avg() aggregate function is used over the interval. 10391 :vartype avg: float 10392 :ivar sum: Metric value when sum() aggregate function is used over the interval. 10393 :vartype sum: float 10394 :ivar stdev: Metric value when stdev aggregate function is used over the interval. 10395 :vartype stdev: float 10396 """ 10397 10398 _validation = { 10399 'name': {'readonly': True}, 10400 'display_name': {'readonly': True}, 10401 'unit': {'readonly': True}, 10402 'value': {'readonly': True}, 10403 'min': {'readonly': True}, 10404 'max': {'readonly': True}, 10405 'avg': {'readonly': True}, 10406 'sum': {'readonly': True}, 10407 'stdev': {'readonly': True}, 10408 } 10409 10410 _attribute_map = { 10411 'name': {'key': 'name', 'type': 'str'}, 10412 'display_name': {'key': 'displayName', 'type': 'str'}, 10413 'unit': {'key': 'unit', 'type': 'str'}, 10414 'value': {'key': 'value', 'type': 'float'}, 10415 'min': {'key': 'min', 'type': 'float'}, 10416 'max': {'key': 'max', 'type': 'float'}, 10417 'avg': {'key': 'avg', 'type': 'float'}, 10418 'sum': {'key': 'sum', 'type': 'float'}, 10419 'stdev': {'key': 'stdev', 'type': 'float'}, 10420 } 10421 10422 def __init__( 10423 self, 10424 **kwargs 10425 ): 10426 super(QueryMetricProperties, self).__init__(**kwargs) 10427 self.name = None 10428 self.display_name = None 10429 self.unit = None 10430 self.value = None 10431 self.min = None 10432 self.max = None 10433 self.avg = None 10434 self.sum = None 10435 self.stdev = None 10436 10437 10438class QueryStatistics(ProxyResource): 10439 """QueryStatistics. 10440 10441 Variables are only populated by the server, and will be ignored when sending a request. 10442 10443 :ivar id: Resource ID. 10444 :vartype id: str 10445 :ivar name: Resource name. 10446 :vartype name: str 10447 :ivar type: Resource type. 10448 :vartype type: str 10449 :ivar database_name: Database name of the database in which this query was executed. 10450 :vartype database_name: str 10451 :ivar query_id: Unique query id (unique within one database). 10452 :vartype query_id: str 10453 :ivar start_time: The start time for the metric (ISO-8601 format). 10454 :vartype start_time: str 10455 :ivar end_time: The end time for the metric (ISO-8601 format). 10456 :vartype end_time: str 10457 :param intervals: List of intervals with appropriate metric data. 10458 :type intervals: list[~azure.mgmt.sql.models.QueryMetricInterval] 10459 """ 10460 10461 _validation = { 10462 'id': {'readonly': True}, 10463 'name': {'readonly': True}, 10464 'type': {'readonly': True}, 10465 'database_name': {'readonly': True}, 10466 'query_id': {'readonly': True}, 10467 'start_time': {'readonly': True}, 10468 'end_time': {'readonly': True}, 10469 } 10470 10471 _attribute_map = { 10472 'id': {'key': 'id', 'type': 'str'}, 10473 'name': {'key': 'name', 'type': 'str'}, 10474 'type': {'key': 'type', 'type': 'str'}, 10475 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 10476 'query_id': {'key': 'properties.queryId', 'type': 'str'}, 10477 'start_time': {'key': 'properties.startTime', 'type': 'str'}, 10478 'end_time': {'key': 'properties.endTime', 'type': 'str'}, 10479 'intervals': {'key': 'properties.intervals', 'type': '[QueryMetricInterval]'}, 10480 } 10481 10482 def __init__( 10483 self, 10484 **kwargs 10485 ): 10486 super(QueryStatistics, self).__init__(**kwargs) 10487 self.database_name = None 10488 self.query_id = None 10489 self.start_time = None 10490 self.end_time = None 10491 self.intervals = kwargs.get('intervals', None) 10492 10493 10494class QueryStatisticsProperties(msrest.serialization.Model): 10495 """Properties of a query execution statistics. 10496 10497 Variables are only populated by the server, and will be ignored when sending a request. 10498 10499 :ivar database_name: Database name of the database in which this query was executed. 10500 :vartype database_name: str 10501 :ivar query_id: Unique query id (unique within one database). 10502 :vartype query_id: str 10503 :ivar start_time: The start time for the metric (ISO-8601 format). 10504 :vartype start_time: str 10505 :ivar end_time: The end time for the metric (ISO-8601 format). 10506 :vartype end_time: str 10507 :param intervals: List of intervals with appropriate metric data. 10508 :type intervals: list[~azure.mgmt.sql.models.QueryMetricInterval] 10509 """ 10510 10511 _validation = { 10512 'database_name': {'readonly': True}, 10513 'query_id': {'readonly': True}, 10514 'start_time': {'readonly': True}, 10515 'end_time': {'readonly': True}, 10516 } 10517 10518 _attribute_map = { 10519 'database_name': {'key': 'databaseName', 'type': 'str'}, 10520 'query_id': {'key': 'queryId', 'type': 'str'}, 10521 'start_time': {'key': 'startTime', 'type': 'str'}, 10522 'end_time': {'key': 'endTime', 'type': 'str'}, 10523 'intervals': {'key': 'intervals', 'type': '[QueryMetricInterval]'}, 10524 } 10525 10526 def __init__( 10527 self, 10528 **kwargs 10529 ): 10530 super(QueryStatisticsProperties, self).__init__(**kwargs) 10531 self.database_name = None 10532 self.query_id = None 10533 self.start_time = None 10534 self.end_time = None 10535 self.intervals = kwargs.get('intervals', None) 10536 10537 10538class ReadScaleCapability(msrest.serialization.Model): 10539 """The read scale capability. 10540 10541 Variables are only populated by the server, and will be ignored when sending a request. 10542 10543 :ivar max_number_of_replicas: The maximum number of read scale replicas. 10544 :vartype max_number_of_replicas: int 10545 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 10546 "Default", "Disabled". 10547 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 10548 :param reason: The reason for the capability not being available. 10549 :type reason: str 10550 """ 10551 10552 _validation = { 10553 'max_number_of_replicas': {'readonly': True}, 10554 'status': {'readonly': True}, 10555 } 10556 10557 _attribute_map = { 10558 'max_number_of_replicas': {'key': 'maxNumberOfReplicas', 'type': 'int'}, 10559 'status': {'key': 'status', 'type': 'str'}, 10560 'reason': {'key': 'reason', 'type': 'str'}, 10561 } 10562 10563 def __init__( 10564 self, 10565 **kwargs 10566 ): 10567 super(ReadScaleCapability, self).__init__(**kwargs) 10568 self.max_number_of_replicas = None 10569 self.status = None 10570 self.reason = kwargs.get('reason', None) 10571 10572 10573class RecommendedAction(ProxyResource): 10574 """Database, Server or Elastic Pool Recommended Action. 10575 10576 Variables are only populated by the server, and will be ignored when sending a request. 10577 10578 :ivar id: Resource ID. 10579 :vartype id: str 10580 :ivar name: Resource name. 10581 :vartype name: str 10582 :ivar type: Resource type. 10583 :vartype type: str 10584 :ivar kind: Resource kind. 10585 :vartype kind: str 10586 :ivar location: Resource location. 10587 :vartype location: str 10588 :ivar recommendation_reason: Gets the reason for recommending this action. e.g., 10589 DuplicateIndex. 10590 :vartype recommendation_reason: str 10591 :ivar valid_since: Gets the time since when this recommended action is valid. 10592 :vartype valid_since: ~datetime.datetime 10593 :ivar last_refresh: Gets time when this recommended action was last refreshed. 10594 :vartype last_refresh: ~datetime.datetime 10595 :param state: Gets the info of the current state the recommended action is in. 10596 :type state: ~azure.mgmt.sql.models.RecommendedActionStateInfo 10597 :ivar is_executable_action: Gets if this recommended action is actionable by user. 10598 :vartype is_executable_action: bool 10599 :ivar is_revertable_action: Gets if changes applied by this recommended action can be reverted 10600 by user. 10601 :vartype is_revertable_action: bool 10602 :ivar is_archived_action: Gets if this recommended action was suggested some time ago but user 10603 chose to ignore this and system added a new recommended action again. 10604 :vartype is_archived_action: bool 10605 :ivar execute_action_start_time: Gets the time when system started applying this recommended 10606 action on the user resource. e.g., index creation start time. 10607 :vartype execute_action_start_time: ~datetime.datetime 10608 :ivar execute_action_duration: Gets the time taken for applying this recommended action on user 10609 resource. e.g., time taken for index creation. 10610 :vartype execute_action_duration: str 10611 :ivar revert_action_start_time: Gets the time when system started reverting changes of this 10612 recommended action on user resource. e.g., time when index drop is executed. 10613 :vartype revert_action_start_time: ~datetime.datetime 10614 :ivar revert_action_duration: Gets the time taken for reverting changes of this recommended 10615 action on user resource. e.g., time taken for dropping the created index. 10616 :vartype revert_action_duration: str 10617 :ivar execute_action_initiated_by: Gets if approval for applying this recommended action was 10618 given by user/system. Possible values include: "User", "System". 10619 :vartype execute_action_initiated_by: str or 10620 ~azure.mgmt.sql.models.RecommendedActionInitiatedBy 10621 :ivar execute_action_initiated_time: Gets the time when this recommended action was approved 10622 for execution. 10623 :vartype execute_action_initiated_time: ~datetime.datetime 10624 :ivar revert_action_initiated_by: Gets if approval for reverting this recommended action was 10625 given by user/system. Possible values include: "User", "System". 10626 :vartype revert_action_initiated_by: str or ~azure.mgmt.sql.models.RecommendedActionInitiatedBy 10627 :ivar revert_action_initiated_time: Gets the time when this recommended action was approved for 10628 revert. 10629 :vartype revert_action_initiated_time: ~datetime.datetime 10630 :ivar score: Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 10631 - Medium Impact and 3 - High Impact. 10632 :vartype score: int 10633 :ivar implementation_details: Gets the implementation details of this recommended action for 10634 user to apply it manually. 10635 :vartype implementation_details: ~azure.mgmt.sql.models.RecommendedActionImplementationInfo 10636 :ivar error_details: Gets the error details if and why this recommended action is put to error 10637 state. 10638 :vartype error_details: ~azure.mgmt.sql.models.RecommendedActionErrorInfo 10639 :ivar estimated_impact: Gets the estimated impact info for this recommended action e.g., 10640 Estimated CPU gain, Estimated Disk Space change. 10641 :vartype estimated_impact: list[~azure.mgmt.sql.models.RecommendedActionImpactRecord] 10642 :ivar observed_impact: Gets the observed/actual impact info for this recommended action e.g., 10643 Actual CPU gain, Actual Disk Space change. 10644 :vartype observed_impact: list[~azure.mgmt.sql.models.RecommendedActionImpactRecord] 10645 :ivar time_series: Gets the time series info of metrics for this recommended action e.g., CPU 10646 consumption time series. 10647 :vartype time_series: list[~azure.mgmt.sql.models.RecommendedActionMetricInfo] 10648 :ivar linked_objects: Gets the linked objects, if any. 10649 :vartype linked_objects: list[str] 10650 :ivar details: Gets additional details specific to this recommended action. 10651 :vartype details: dict[str, any] 10652 """ 10653 10654 _validation = { 10655 'id': {'readonly': True}, 10656 'name': {'readonly': True}, 10657 'type': {'readonly': True}, 10658 'kind': {'readonly': True}, 10659 'location': {'readonly': True}, 10660 'recommendation_reason': {'readonly': True}, 10661 'valid_since': {'readonly': True}, 10662 'last_refresh': {'readonly': True}, 10663 'is_executable_action': {'readonly': True}, 10664 'is_revertable_action': {'readonly': True}, 10665 'is_archived_action': {'readonly': True}, 10666 'execute_action_start_time': {'readonly': True}, 10667 'execute_action_duration': {'readonly': True}, 10668 'revert_action_start_time': {'readonly': True}, 10669 'revert_action_duration': {'readonly': True}, 10670 'execute_action_initiated_by': {'readonly': True}, 10671 'execute_action_initiated_time': {'readonly': True}, 10672 'revert_action_initiated_by': {'readonly': True}, 10673 'revert_action_initiated_time': {'readonly': True}, 10674 'score': {'readonly': True}, 10675 'implementation_details': {'readonly': True}, 10676 'error_details': {'readonly': True}, 10677 'estimated_impact': {'readonly': True}, 10678 'observed_impact': {'readonly': True}, 10679 'time_series': {'readonly': True}, 10680 'linked_objects': {'readonly': True}, 10681 'details': {'readonly': True}, 10682 } 10683 10684 _attribute_map = { 10685 'id': {'key': 'id', 'type': 'str'}, 10686 'name': {'key': 'name', 'type': 'str'}, 10687 'type': {'key': 'type', 'type': 'str'}, 10688 'kind': {'key': 'kind', 'type': 'str'}, 10689 'location': {'key': 'location', 'type': 'str'}, 10690 'recommendation_reason': {'key': 'properties.recommendationReason', 'type': 'str'}, 10691 'valid_since': {'key': 'properties.validSince', 'type': 'iso-8601'}, 10692 'last_refresh': {'key': 'properties.lastRefresh', 'type': 'iso-8601'}, 10693 'state': {'key': 'properties.state', 'type': 'RecommendedActionStateInfo'}, 10694 'is_executable_action': {'key': 'properties.isExecutableAction', 'type': 'bool'}, 10695 'is_revertable_action': {'key': 'properties.isRevertableAction', 'type': 'bool'}, 10696 'is_archived_action': {'key': 'properties.isArchivedAction', 'type': 'bool'}, 10697 'execute_action_start_time': {'key': 'properties.executeActionStartTime', 'type': 'iso-8601'}, 10698 'execute_action_duration': {'key': 'properties.executeActionDuration', 'type': 'str'}, 10699 'revert_action_start_time': {'key': 'properties.revertActionStartTime', 'type': 'iso-8601'}, 10700 'revert_action_duration': {'key': 'properties.revertActionDuration', 'type': 'str'}, 10701 'execute_action_initiated_by': {'key': 'properties.executeActionInitiatedBy', 'type': 'str'}, 10702 'execute_action_initiated_time': {'key': 'properties.executeActionInitiatedTime', 'type': 'iso-8601'}, 10703 'revert_action_initiated_by': {'key': 'properties.revertActionInitiatedBy', 'type': 'str'}, 10704 'revert_action_initiated_time': {'key': 'properties.revertActionInitiatedTime', 'type': 'iso-8601'}, 10705 'score': {'key': 'properties.score', 'type': 'int'}, 10706 'implementation_details': {'key': 'properties.implementationDetails', 'type': 'RecommendedActionImplementationInfo'}, 10707 'error_details': {'key': 'properties.errorDetails', 'type': 'RecommendedActionErrorInfo'}, 10708 'estimated_impact': {'key': 'properties.estimatedImpact', 'type': '[RecommendedActionImpactRecord]'}, 10709 'observed_impact': {'key': 'properties.observedImpact', 'type': '[RecommendedActionImpactRecord]'}, 10710 'time_series': {'key': 'properties.timeSeries', 'type': '[RecommendedActionMetricInfo]'}, 10711 'linked_objects': {'key': 'properties.linkedObjects', 'type': '[str]'}, 10712 'details': {'key': 'properties.details', 'type': '{object}'}, 10713 } 10714 10715 def __init__( 10716 self, 10717 **kwargs 10718 ): 10719 super(RecommendedAction, self).__init__(**kwargs) 10720 self.kind = None 10721 self.location = None 10722 self.recommendation_reason = None 10723 self.valid_since = None 10724 self.last_refresh = None 10725 self.state = kwargs.get('state', None) 10726 self.is_executable_action = None 10727 self.is_revertable_action = None 10728 self.is_archived_action = None 10729 self.execute_action_start_time = None 10730 self.execute_action_duration = None 10731 self.revert_action_start_time = None 10732 self.revert_action_duration = None 10733 self.execute_action_initiated_by = None 10734 self.execute_action_initiated_time = None 10735 self.revert_action_initiated_by = None 10736 self.revert_action_initiated_time = None 10737 self.score = None 10738 self.implementation_details = None 10739 self.error_details = None 10740 self.estimated_impact = None 10741 self.observed_impact = None 10742 self.time_series = None 10743 self.linked_objects = None 10744 self.details = None 10745 10746 10747class RecommendedActionErrorInfo(msrest.serialization.Model): 10748 """Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action. 10749 10750 Variables are only populated by the server, and will be ignored when sending a request. 10751 10752 :ivar error_code: Gets the reason why the recommended action was put to error state. e.g., 10753 DatabaseHasQdsOff, IndexAlreadyExists. 10754 :vartype error_code: str 10755 :ivar is_retryable: Gets whether the error could be ignored and recommended action could be 10756 retried. Possible values are: Yes/No. Possible values include: "Yes", "No". 10757 :vartype is_retryable: str or ~azure.mgmt.sql.models.IsRetryable 10758 """ 10759 10760 _validation = { 10761 'error_code': {'readonly': True}, 10762 'is_retryable': {'readonly': True}, 10763 } 10764 10765 _attribute_map = { 10766 'error_code': {'key': 'errorCode', 'type': 'str'}, 10767 'is_retryable': {'key': 'isRetryable', 'type': 'str'}, 10768 } 10769 10770 def __init__( 10771 self, 10772 **kwargs 10773 ): 10774 super(RecommendedActionErrorInfo, self).__init__(**kwargs) 10775 self.error_code = None 10776 self.is_retryable = None 10777 10778 10779class RecommendedActionImpactRecord(msrest.serialization.Model): 10780 """Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action. 10781 10782 Variables are only populated by the server, and will be ignored when sending a request. 10783 10784 :ivar dimension_name: Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, 10785 NumberOfQueriesAffected. 10786 :vartype dimension_name: str 10787 :ivar unit: Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, 10788 NumberOfQueriesAffected. 10789 :vartype unit: str 10790 :ivar absolute_value: Gets the absolute value of this dimension if applicable. e.g., Number of 10791 Queries affected. 10792 :vartype absolute_value: float 10793 :ivar change_value_absolute: Gets the absolute change in the value of this dimension. e.g., 10794 Absolute Disk space change in Megabytes. 10795 :vartype change_value_absolute: float 10796 :ivar change_value_relative: Gets the relative change in the value of this dimension. e.g., 10797 Relative Disk space change in Percentage. 10798 :vartype change_value_relative: float 10799 """ 10800 10801 _validation = { 10802 'dimension_name': {'readonly': True}, 10803 'unit': {'readonly': True}, 10804 'absolute_value': {'readonly': True}, 10805 'change_value_absolute': {'readonly': True}, 10806 'change_value_relative': {'readonly': True}, 10807 } 10808 10809 _attribute_map = { 10810 'dimension_name': {'key': 'dimensionName', 'type': 'str'}, 10811 'unit': {'key': 'unit', 'type': 'str'}, 10812 'absolute_value': {'key': 'absoluteValue', 'type': 'float'}, 10813 'change_value_absolute': {'key': 'changeValueAbsolute', 'type': 'float'}, 10814 'change_value_relative': {'key': 'changeValueRelative', 'type': 'float'}, 10815 } 10816 10817 def __init__( 10818 self, 10819 **kwargs 10820 ): 10821 super(RecommendedActionImpactRecord, self).__init__(**kwargs) 10822 self.dimension_name = None 10823 self.unit = None 10824 self.absolute_value = None 10825 self.change_value_absolute = None 10826 self.change_value_relative = None 10827 10828 10829class RecommendedActionImplementationInfo(msrest.serialization.Model): 10830 """Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action. 10831 10832 Variables are only populated by the server, and will be ignored when sending a request. 10833 10834 :ivar method: Gets the method in which this recommended action can be manually implemented. 10835 e.g., TSql, AzurePowerShell. Possible values include: "TSql", "AzurePowerShell". 10836 :vartype method: str or ~azure.mgmt.sql.models.ImplementationMethod 10837 :ivar script: Gets the manual implementation script. e.g., T-SQL script that could be executed 10838 on the database. 10839 :vartype script: str 10840 """ 10841 10842 _validation = { 10843 'method': {'readonly': True}, 10844 'script': {'readonly': True}, 10845 } 10846 10847 _attribute_map = { 10848 'method': {'key': 'method', 'type': 'str'}, 10849 'script': {'key': 'script', 'type': 'str'}, 10850 } 10851 10852 def __init__( 10853 self, 10854 **kwargs 10855 ): 10856 super(RecommendedActionImplementationInfo, self).__init__(**kwargs) 10857 self.method = None 10858 self.script = None 10859 10860 10861class RecommendedActionMetricInfo(msrest.serialization.Model): 10862 """Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action. 10863 10864 Variables are only populated by the server, and will be ignored when sending a request. 10865 10866 :ivar metric_name: Gets the name of the metric. e.g., CPU, Number of Queries. 10867 :vartype metric_name: str 10868 :ivar unit: Gets the unit in which metric is measured. e.g., DTU, Frequency. 10869 :vartype unit: str 10870 :ivar time_grain: Gets the duration of time interval for the value given by this MetricInfo. 10871 e.g., PT1H (1 hour). 10872 :vartype time_grain: str 10873 :ivar start_time: Gets the start time of time interval given by this MetricInfo. 10874 :vartype start_time: ~datetime.datetime 10875 :ivar value: Gets the value of the metric in the time interval given by this MetricInfo. 10876 :vartype value: float 10877 """ 10878 10879 _validation = { 10880 'metric_name': {'readonly': True}, 10881 'unit': {'readonly': True}, 10882 'time_grain': {'readonly': True}, 10883 'start_time': {'readonly': True}, 10884 'value': {'readonly': True}, 10885 } 10886 10887 _attribute_map = { 10888 'metric_name': {'key': 'metricName', 'type': 'str'}, 10889 'unit': {'key': 'unit', 'type': 'str'}, 10890 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 10891 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10892 'value': {'key': 'value', 'type': 'float'}, 10893 } 10894 10895 def __init__( 10896 self, 10897 **kwargs 10898 ): 10899 super(RecommendedActionMetricInfo, self).__init__(**kwargs) 10900 self.metric_name = None 10901 self.unit = None 10902 self.time_grain = None 10903 self.start_time = None 10904 self.value = None 10905 10906 10907class RecommendedActionStateInfo(msrest.serialization.Model): 10908 """Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action. 10909 10910 Variables are only populated by the server, and will be ignored when sending a request. 10911 10912 All required parameters must be populated in order to send to Azure. 10913 10914 :param current_value: Required. Current state the recommended action is in. Some commonly used 10915 states are: Active -> recommended action is active and no action has been taken yet. 10916 Pending -> recommended action is approved for and is awaiting execution. Executing -> 10917 recommended action is being applied on the user database. Verifying -> recommended action was 10918 applied and is being verified of its usefulness by the system. Success -> recommended 10919 action was applied and improvement found during verification. Pending Revert -> verification 10920 found little or no improvement so recommended action is queued for revert or user has manually 10921 reverted. Reverting -> changes made while applying recommended action are being reverted on 10922 the user database. Reverted -> successfully reverted the changes made by recommended action 10923 on user database. Ignored -> user explicitly ignored/discarded the recommended action. 10924 Possible values include: "Active", "Pending", "Executing", "Verifying", "PendingRevert", 10925 "RevertCancelled", "Reverting", "Reverted", "Ignored", "Expired", "Monitoring", "Resolved", 10926 "Success", "Error". 10927 :type current_value: str or ~azure.mgmt.sql.models.RecommendedActionCurrentState 10928 :ivar action_initiated_by: Gets who initiated the execution of this recommended action. 10929 Possible Value are: User -> When user explicity notified system to apply the recommended 10930 action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case 10931 the system applied it. Possible values include: "User", "System". 10932 :vartype action_initiated_by: str or ~azure.mgmt.sql.models.RecommendedActionInitiatedBy 10933 :ivar last_modified: Gets the time when the state was last modified. 10934 :vartype last_modified: ~datetime.datetime 10935 """ 10936 10937 _validation = { 10938 'current_value': {'required': True}, 10939 'action_initiated_by': {'readonly': True}, 10940 'last_modified': {'readonly': True}, 10941 } 10942 10943 _attribute_map = { 10944 'current_value': {'key': 'currentValue', 'type': 'str'}, 10945 'action_initiated_by': {'key': 'actionInitiatedBy', 'type': 'str'}, 10946 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 10947 } 10948 10949 def __init__( 10950 self, 10951 **kwargs 10952 ): 10953 super(RecommendedActionStateInfo, self).__init__(**kwargs) 10954 self.current_value = kwargs['current_value'] 10955 self.action_initiated_by = None 10956 self.last_modified = None 10957 10958 10959class RecommendedSensitivityLabelUpdate(ProxyResource): 10960 """A recommended sensitivity label update operation. 10961 10962 Variables are only populated by the server, and will be ignored when sending a request. 10963 10964 :ivar id: Resource ID. 10965 :vartype id: str 10966 :ivar name: Resource name. 10967 :vartype name: str 10968 :ivar type: Resource type. 10969 :vartype type: str 10970 :param op: Possible values include: "enable", "disable". 10971 :type op: str or ~azure.mgmt.sql.models.RecommendedSensitivityLabelUpdateKind 10972 :param schema: Schema name of the column to update. 10973 :type schema: str 10974 :param table: Table name of the column to update. 10975 :type table: str 10976 :param column: Column name to update. 10977 :type column: str 10978 """ 10979 10980 _validation = { 10981 'id': {'readonly': True}, 10982 'name': {'readonly': True}, 10983 'type': {'readonly': True}, 10984 } 10985 10986 _attribute_map = { 10987 'id': {'key': 'id', 'type': 'str'}, 10988 'name': {'key': 'name', 'type': 'str'}, 10989 'type': {'key': 'type', 'type': 'str'}, 10990 'op': {'key': 'properties.op', 'type': 'str'}, 10991 'schema': {'key': 'properties.schema', 'type': 'str'}, 10992 'table': {'key': 'properties.table', 'type': 'str'}, 10993 'column': {'key': 'properties.column', 'type': 'str'}, 10994 } 10995 10996 def __init__( 10997 self, 10998 **kwargs 10999 ): 11000 super(RecommendedSensitivityLabelUpdate, self).__init__(**kwargs) 11001 self.op = kwargs.get('op', None) 11002 self.schema = kwargs.get('schema', None) 11003 self.table = kwargs.get('table', None) 11004 self.column = kwargs.get('column', None) 11005 11006 11007class RecommendedSensitivityLabelUpdateList(msrest.serialization.Model): 11008 """A list of recommended sensitivity label update operations. 11009 11010 :param operations: 11011 :type operations: list[~azure.mgmt.sql.models.RecommendedSensitivityLabelUpdate] 11012 """ 11013 11014 _attribute_map = { 11015 'operations': {'key': 'operations', 'type': '[RecommendedSensitivityLabelUpdate]'}, 11016 } 11017 11018 def __init__( 11019 self, 11020 **kwargs 11021 ): 11022 super(RecommendedSensitivityLabelUpdateList, self).__init__(**kwargs) 11023 self.operations = kwargs.get('operations', None) 11024 11025 11026class RecoverableDatabase(ProxyResource): 11027 """A recoverable database. 11028 11029 Variables are only populated by the server, and will be ignored when sending a request. 11030 11031 :ivar id: Resource ID. 11032 :vartype id: str 11033 :ivar name: Resource name. 11034 :vartype name: str 11035 :ivar type: Resource type. 11036 :vartype type: str 11037 :ivar edition: The edition of the database. 11038 :vartype edition: str 11039 :ivar service_level_objective: The service level objective name of the database. 11040 :vartype service_level_objective: str 11041 :ivar elastic_pool_name: The elastic pool name of the database. 11042 :vartype elastic_pool_name: str 11043 :ivar last_available_backup_date: The last available backup date of the database (ISO8601 11044 format). 11045 :vartype last_available_backup_date: ~datetime.datetime 11046 """ 11047 11048 _validation = { 11049 'id': {'readonly': True}, 11050 'name': {'readonly': True}, 11051 'type': {'readonly': True}, 11052 'edition': {'readonly': True}, 11053 'service_level_objective': {'readonly': True}, 11054 'elastic_pool_name': {'readonly': True}, 11055 'last_available_backup_date': {'readonly': True}, 11056 } 11057 11058 _attribute_map = { 11059 'id': {'key': 'id', 'type': 'str'}, 11060 'name': {'key': 'name', 'type': 'str'}, 11061 'type': {'key': 'type', 'type': 'str'}, 11062 'edition': {'key': 'properties.edition', 'type': 'str'}, 11063 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, 11064 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, 11065 'last_available_backup_date': {'key': 'properties.lastAvailableBackupDate', 'type': 'iso-8601'}, 11066 } 11067 11068 def __init__( 11069 self, 11070 **kwargs 11071 ): 11072 super(RecoverableDatabase, self).__init__(**kwargs) 11073 self.edition = None 11074 self.service_level_objective = None 11075 self.elastic_pool_name = None 11076 self.last_available_backup_date = None 11077 11078 11079class RecoverableDatabaseListResult(msrest.serialization.Model): 11080 """The response to a list recoverable databases request. 11081 11082 All required parameters must be populated in order to send to Azure. 11083 11084 :param value: Required. A list of recoverable databases. 11085 :type value: list[~azure.mgmt.sql.models.RecoverableDatabase] 11086 """ 11087 11088 _validation = { 11089 'value': {'required': True}, 11090 } 11091 11092 _attribute_map = { 11093 'value': {'key': 'value', 'type': '[RecoverableDatabase]'}, 11094 } 11095 11096 def __init__( 11097 self, 11098 **kwargs 11099 ): 11100 super(RecoverableDatabaseListResult, self).__init__(**kwargs) 11101 self.value = kwargs['value'] 11102 11103 11104class RecoverableManagedDatabase(ProxyResource): 11105 """A recoverable managed database resource. 11106 11107 Variables are only populated by the server, and will be ignored when sending a request. 11108 11109 :ivar id: Resource ID. 11110 :vartype id: str 11111 :ivar name: Resource name. 11112 :vartype name: str 11113 :ivar type: Resource type. 11114 :vartype type: str 11115 :ivar last_available_backup_date: The last available backup date. 11116 :vartype last_available_backup_date: str 11117 """ 11118 11119 _validation = { 11120 'id': {'readonly': True}, 11121 'name': {'readonly': True}, 11122 'type': {'readonly': True}, 11123 'last_available_backup_date': {'readonly': True}, 11124 } 11125 11126 _attribute_map = { 11127 'id': {'key': 'id', 'type': 'str'}, 11128 'name': {'key': 'name', 'type': 'str'}, 11129 'type': {'key': 'type', 'type': 'str'}, 11130 'last_available_backup_date': {'key': 'properties.lastAvailableBackupDate', 'type': 'str'}, 11131 } 11132 11133 def __init__( 11134 self, 11135 **kwargs 11136 ): 11137 super(RecoverableManagedDatabase, self).__init__(**kwargs) 11138 self.last_available_backup_date = None 11139 11140 11141class RecoverableManagedDatabaseListResult(msrest.serialization.Model): 11142 """A list of recoverable managed databases. 11143 11144 Variables are only populated by the server, and will be ignored when sending a request. 11145 11146 :ivar value: Array of results. 11147 :vartype value: list[~azure.mgmt.sql.models.RecoverableManagedDatabase] 11148 :ivar next_link: Link to retrieve next page of results. 11149 :vartype next_link: str 11150 """ 11151 11152 _validation = { 11153 'value': {'readonly': True}, 11154 'next_link': {'readonly': True}, 11155 } 11156 11157 _attribute_map = { 11158 'value': {'key': 'value', 'type': '[RecoverableManagedDatabase]'}, 11159 'next_link': {'key': 'nextLink', 'type': 'str'}, 11160 } 11161 11162 def __init__( 11163 self, 11164 **kwargs 11165 ): 11166 super(RecoverableManagedDatabaseListResult, self).__init__(**kwargs) 11167 self.value = None 11168 self.next_link = None 11169 11170 11171class ReplicationLink(ProxyResource): 11172 """A replication link. 11173 11174 Variables are only populated by the server, and will be ignored when sending a request. 11175 11176 :ivar id: Resource ID. 11177 :vartype id: str 11178 :ivar name: Resource name. 11179 :vartype name: str 11180 :ivar type: Resource type. 11181 :vartype type: str 11182 :ivar partner_server: Resource partner server. 11183 :vartype partner_server: str 11184 :ivar partner_database: Resource partner database. 11185 :vartype partner_database: str 11186 :ivar partner_location: Resource partner location. 11187 :vartype partner_location: str 11188 :ivar role: Local replication role. Possible values include: "Primary", "Secondary", 11189 "NonReadableSecondary", "Source", "Copy". 11190 :vartype role: str or ~azure.mgmt.sql.models.ReplicationRole 11191 :ivar partner_role: Partner replication role. Possible values include: "Primary", "Secondary", 11192 "NonReadableSecondary", "Source", "Copy". 11193 :vartype partner_role: str or ~azure.mgmt.sql.models.ReplicationRole 11194 :ivar replication_mode: Replication mode. 11195 :vartype replication_mode: str 11196 :ivar start_time: Time at which the link was created. 11197 :vartype start_time: ~datetime.datetime 11198 :ivar percent_complete: Seeding completion percentage for the link. 11199 :vartype percent_complete: int 11200 :ivar replication_state: Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED). Possible 11201 values include: "PENDING", "SEEDING", "CATCH_UP", "SUSPENDED". 11202 :vartype replication_state: str or ~azure.mgmt.sql.models.ReplicationState 11203 :ivar is_termination_allowed: Whether the user is currently allowed to terminate the link. 11204 :vartype is_termination_allowed: bool 11205 :ivar link_type: Link type (GEO, NAMED). Possible values include: "GEO", "NAMED". 11206 :vartype link_type: str or ~azure.mgmt.sql.models.ReplicationLinkType 11207 """ 11208 11209 _validation = { 11210 'id': {'readonly': True}, 11211 'name': {'readonly': True}, 11212 'type': {'readonly': True}, 11213 'partner_server': {'readonly': True}, 11214 'partner_database': {'readonly': True}, 11215 'partner_location': {'readonly': True}, 11216 'role': {'readonly': True}, 11217 'partner_role': {'readonly': True}, 11218 'replication_mode': {'readonly': True}, 11219 'start_time': {'readonly': True}, 11220 'percent_complete': {'readonly': True}, 11221 'replication_state': {'readonly': True}, 11222 'is_termination_allowed': {'readonly': True}, 11223 'link_type': {'readonly': True}, 11224 } 11225 11226 _attribute_map = { 11227 'id': {'key': 'id', 'type': 'str'}, 11228 'name': {'key': 'name', 'type': 'str'}, 11229 'type': {'key': 'type', 'type': 'str'}, 11230 'partner_server': {'key': 'properties.partnerServer', 'type': 'str'}, 11231 'partner_database': {'key': 'properties.partnerDatabase', 'type': 'str'}, 11232 'partner_location': {'key': 'properties.partnerLocation', 'type': 'str'}, 11233 'role': {'key': 'properties.role', 'type': 'str'}, 11234 'partner_role': {'key': 'properties.partnerRole', 'type': 'str'}, 11235 'replication_mode': {'key': 'properties.replicationMode', 'type': 'str'}, 11236 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 11237 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 11238 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, 11239 'is_termination_allowed': {'key': 'properties.isTerminationAllowed', 'type': 'bool'}, 11240 'link_type': {'key': 'properties.linkType', 'type': 'str'}, 11241 } 11242 11243 def __init__( 11244 self, 11245 **kwargs 11246 ): 11247 super(ReplicationLink, self).__init__(**kwargs) 11248 self.partner_server = None 11249 self.partner_database = None 11250 self.partner_location = None 11251 self.role = None 11252 self.partner_role = None 11253 self.replication_mode = None 11254 self.start_time = None 11255 self.percent_complete = None 11256 self.replication_state = None 11257 self.is_termination_allowed = None 11258 self.link_type = None 11259 11260 11261class ReplicationLinkListResult(msrest.serialization.Model): 11262 """A list of replication links. 11263 11264 Variables are only populated by the server, and will be ignored when sending a request. 11265 11266 :ivar value: Array of results. 11267 :vartype value: list[~azure.mgmt.sql.models.ReplicationLink] 11268 :ivar next_link: Link to retrieve next page of results. 11269 :vartype next_link: str 11270 """ 11271 11272 _validation = { 11273 'value': {'readonly': True}, 11274 'next_link': {'readonly': True}, 11275 } 11276 11277 _attribute_map = { 11278 'value': {'key': 'value', 'type': '[ReplicationLink]'}, 11279 'next_link': {'key': 'nextLink', 'type': 'str'}, 11280 } 11281 11282 def __init__( 11283 self, 11284 **kwargs 11285 ): 11286 super(ReplicationLinkListResult, self).__init__(**kwargs) 11287 self.value = None 11288 self.next_link = None 11289 11290 11291class ResourceIdentity(msrest.serialization.Model): 11292 """Azure Active Directory identity configuration for a resource. 11293 11294 Variables are only populated by the server, and will be ignored when sending a request. 11295 11296 :param user_assigned_identities: The resource ids of the user assigned identities to use. 11297 :type user_assigned_identities: dict[str, ~azure.mgmt.sql.models.UserIdentity] 11298 :ivar principal_id: The Azure Active Directory principal id. 11299 :vartype principal_id: str 11300 :param type: The identity type. Set this to 'SystemAssigned' in order to automatically create 11301 and assign an Azure Active Directory principal for the resource. Possible values include: 11302 "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned". 11303 :type type: str or ~azure.mgmt.sql.models.IdentityType 11304 :ivar tenant_id: The Azure Active Directory tenant id. 11305 :vartype tenant_id: str 11306 """ 11307 11308 _validation = { 11309 'principal_id': {'readonly': True}, 11310 'tenant_id': {'readonly': True}, 11311 } 11312 11313 _attribute_map = { 11314 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserIdentity}'}, 11315 'principal_id': {'key': 'principalId', 'type': 'str'}, 11316 'type': {'key': 'type', 'type': 'str'}, 11317 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 11318 } 11319 11320 def __init__( 11321 self, 11322 **kwargs 11323 ): 11324 super(ResourceIdentity, self).__init__(**kwargs) 11325 self.user_assigned_identities = kwargs.get('user_assigned_identities', None) 11326 self.principal_id = None 11327 self.type = kwargs.get('type', None) 11328 self.tenant_id = None 11329 11330 11331class ResourceMoveDefinition(msrest.serialization.Model): 11332 """Contains the information necessary to perform a resource move (rename). 11333 11334 All required parameters must be populated in order to send to Azure. 11335 11336 :param id: Required. The target ID for the resource. 11337 :type id: str 11338 """ 11339 11340 _validation = { 11341 'id': {'required': True}, 11342 } 11343 11344 _attribute_map = { 11345 'id': {'key': 'id', 'type': 'str'}, 11346 } 11347 11348 def __init__( 11349 self, 11350 **kwargs 11351 ): 11352 super(ResourceMoveDefinition, self).__init__(**kwargs) 11353 self.id = kwargs['id'] 11354 11355 11356class RestorableDroppedDatabase(ProxyResource): 11357 """A restorable dropped database resource. 11358 11359 Variables are only populated by the server, and will be ignored when sending a request. 11360 11361 :ivar id: Resource ID. 11362 :vartype id: str 11363 :ivar name: Resource name. 11364 :vartype name: str 11365 :ivar type: Resource type. 11366 :vartype type: str 11367 :param sku: The name and tier of the SKU. 11368 :type sku: ~azure.mgmt.sql.models.Sku 11369 :param location: Resource location. 11370 :type location: str 11371 :param tags: A set of tags. Resource tags. 11372 :type tags: dict[str, str] 11373 :ivar database_name: The name of the database. 11374 :vartype database_name: str 11375 :ivar max_size_bytes: The max size of the database expressed in bytes. 11376 :vartype max_size_bytes: long 11377 :ivar elastic_pool_id: DEPRECATED: The resource name of the elastic pool containing this 11378 database. This property is deprecated and the value will always be null. 11379 :vartype elastic_pool_id: str 11380 :ivar creation_date: The creation date of the database (ISO8601 format). 11381 :vartype creation_date: ~datetime.datetime 11382 :ivar deletion_date: The deletion date of the database (ISO8601 format). 11383 :vartype deletion_date: ~datetime.datetime 11384 :ivar earliest_restore_date: The earliest restore date of the database (ISO8601 format). 11385 :vartype earliest_restore_date: ~datetime.datetime 11386 :ivar backup_storage_redundancy: The storage account type used to store backups for this 11387 database. Possible values include: "Geo", "Local", "Zone". 11388 :vartype backup_storage_redundancy: str or 11389 ~azure.mgmt.sql.models.RestorableDroppedDatabasePropertiesBackupStorageRedundancy 11390 """ 11391 11392 _validation = { 11393 'id': {'readonly': True}, 11394 'name': {'readonly': True}, 11395 'type': {'readonly': True}, 11396 'database_name': {'readonly': True}, 11397 'max_size_bytes': {'readonly': True}, 11398 'elastic_pool_id': {'readonly': True}, 11399 'creation_date': {'readonly': True}, 11400 'deletion_date': {'readonly': True}, 11401 'earliest_restore_date': {'readonly': True}, 11402 'backup_storage_redundancy': {'readonly': True}, 11403 } 11404 11405 _attribute_map = { 11406 'id': {'key': 'id', 'type': 'str'}, 11407 'name': {'key': 'name', 'type': 'str'}, 11408 'type': {'key': 'type', 'type': 'str'}, 11409 'sku': {'key': 'sku', 'type': 'Sku'}, 11410 'location': {'key': 'location', 'type': 'str'}, 11411 'tags': {'key': 'tags', 'type': '{str}'}, 11412 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 11413 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, 11414 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, 11415 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 11416 'deletion_date': {'key': 'properties.deletionDate', 'type': 'iso-8601'}, 11417 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 11418 'backup_storage_redundancy': {'key': 'properties.backupStorageRedundancy', 'type': 'str'}, 11419 } 11420 11421 def __init__( 11422 self, 11423 **kwargs 11424 ): 11425 super(RestorableDroppedDatabase, self).__init__(**kwargs) 11426 self.sku = kwargs.get('sku', None) 11427 self.location = kwargs.get('location', None) 11428 self.tags = kwargs.get('tags', None) 11429 self.database_name = None 11430 self.max_size_bytes = None 11431 self.elastic_pool_id = None 11432 self.creation_date = None 11433 self.deletion_date = None 11434 self.earliest_restore_date = None 11435 self.backup_storage_redundancy = None 11436 11437 11438class RestorableDroppedDatabaseListResult(msrest.serialization.Model): 11439 """A list of restorable dropped databases. 11440 11441 Variables are only populated by the server, and will be ignored when sending a request. 11442 11443 :ivar value: Array of results. 11444 :vartype value: list[~azure.mgmt.sql.models.RestorableDroppedDatabase] 11445 :ivar next_link: Link to retrieve next page of results. 11446 :vartype next_link: str 11447 """ 11448 11449 _validation = { 11450 'value': {'readonly': True}, 11451 'next_link': {'readonly': True}, 11452 } 11453 11454 _attribute_map = { 11455 'value': {'key': 'value', 'type': '[RestorableDroppedDatabase]'}, 11456 'next_link': {'key': 'nextLink', 'type': 'str'}, 11457 } 11458 11459 def __init__( 11460 self, 11461 **kwargs 11462 ): 11463 super(RestorableDroppedDatabaseListResult, self).__init__(**kwargs) 11464 self.value = None 11465 self.next_link = None 11466 11467 11468class RestorableDroppedManagedDatabase(TrackedResource): 11469 """A restorable dropped managed database resource. 11470 11471 Variables are only populated by the server, and will be ignored when sending a request. 11472 11473 All required parameters must be populated in order to send to Azure. 11474 11475 :ivar id: Resource ID. 11476 :vartype id: str 11477 :ivar name: Resource name. 11478 :vartype name: str 11479 :ivar type: Resource type. 11480 :vartype type: str 11481 :param location: Required. Resource location. 11482 :type location: str 11483 :param tags: A set of tags. Resource tags. 11484 :type tags: dict[str, str] 11485 :ivar database_name: The name of the database. 11486 :vartype database_name: str 11487 :ivar creation_date: The creation date of the database (ISO8601 format). 11488 :vartype creation_date: ~datetime.datetime 11489 :ivar deletion_date: The deletion date of the database (ISO8601 format). 11490 :vartype deletion_date: ~datetime.datetime 11491 :ivar earliest_restore_date: The earliest restore date of the database (ISO8601 format). 11492 :vartype earliest_restore_date: ~datetime.datetime 11493 """ 11494 11495 _validation = { 11496 'id': {'readonly': True}, 11497 'name': {'readonly': True}, 11498 'type': {'readonly': True}, 11499 'location': {'required': True}, 11500 'database_name': {'readonly': True}, 11501 'creation_date': {'readonly': True}, 11502 'deletion_date': {'readonly': True}, 11503 'earliest_restore_date': {'readonly': True}, 11504 } 11505 11506 _attribute_map = { 11507 'id': {'key': 'id', 'type': 'str'}, 11508 'name': {'key': 'name', 'type': 'str'}, 11509 'type': {'key': 'type', 'type': 'str'}, 11510 'location': {'key': 'location', 'type': 'str'}, 11511 'tags': {'key': 'tags', 'type': '{str}'}, 11512 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 11513 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 11514 'deletion_date': {'key': 'properties.deletionDate', 'type': 'iso-8601'}, 11515 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 11516 } 11517 11518 def __init__( 11519 self, 11520 **kwargs 11521 ): 11522 super(RestorableDroppedManagedDatabase, self).__init__(**kwargs) 11523 self.database_name = None 11524 self.creation_date = None 11525 self.deletion_date = None 11526 self.earliest_restore_date = None 11527 11528 11529class RestorableDroppedManagedDatabaseListResult(msrest.serialization.Model): 11530 """A list of restorable dropped managed databases. 11531 11532 Variables are only populated by the server, and will be ignored when sending a request. 11533 11534 :ivar value: Array of results. 11535 :vartype value: list[~azure.mgmt.sql.models.RestorableDroppedManagedDatabase] 11536 :ivar next_link: Link to retrieve next page of results. 11537 :vartype next_link: str 11538 """ 11539 11540 _validation = { 11541 'value': {'readonly': True}, 11542 'next_link': {'readonly': True}, 11543 } 11544 11545 _attribute_map = { 11546 'value': {'key': 'value', 'type': '[RestorableDroppedManagedDatabase]'}, 11547 'next_link': {'key': 'nextLink', 'type': 'str'}, 11548 } 11549 11550 def __init__( 11551 self, 11552 **kwargs 11553 ): 11554 super(RestorableDroppedManagedDatabaseListResult, self).__init__(**kwargs) 11555 self.value = None 11556 self.next_link = None 11557 11558 11559class RestorePoint(ProxyResource): 11560 """Database restore points. 11561 11562 Variables are only populated by the server, and will be ignored when sending a request. 11563 11564 :ivar id: Resource ID. 11565 :vartype id: str 11566 :ivar name: Resource name. 11567 :vartype name: str 11568 :ivar type: Resource type. 11569 :vartype type: str 11570 :ivar location: Resource location. 11571 :vartype location: str 11572 :ivar restore_point_type: The type of restore point. Possible values include: "CONTINUOUS", 11573 "DISCRETE". 11574 :vartype restore_point_type: str or ~azure.mgmt.sql.models.RestorePointType 11575 :ivar earliest_restore_date: The earliest time to which this database can be restored. 11576 :vartype earliest_restore_date: ~datetime.datetime 11577 :ivar restore_point_creation_date: The time the backup was taken. 11578 :vartype restore_point_creation_date: ~datetime.datetime 11579 :ivar restore_point_label: The label of restore point for backup request by user. 11580 :vartype restore_point_label: str 11581 """ 11582 11583 _validation = { 11584 'id': {'readonly': True}, 11585 'name': {'readonly': True}, 11586 'type': {'readonly': True}, 11587 'location': {'readonly': True}, 11588 'restore_point_type': {'readonly': True}, 11589 'earliest_restore_date': {'readonly': True}, 11590 'restore_point_creation_date': {'readonly': True}, 11591 'restore_point_label': {'readonly': True}, 11592 } 11593 11594 _attribute_map = { 11595 'id': {'key': 'id', 'type': 'str'}, 11596 'name': {'key': 'name', 'type': 'str'}, 11597 'type': {'key': 'type', 'type': 'str'}, 11598 'location': {'key': 'location', 'type': 'str'}, 11599 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'str'}, 11600 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, 11601 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, 11602 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, 11603 } 11604 11605 def __init__( 11606 self, 11607 **kwargs 11608 ): 11609 super(RestorePoint, self).__init__(**kwargs) 11610 self.location = None 11611 self.restore_point_type = None 11612 self.earliest_restore_date = None 11613 self.restore_point_creation_date = None 11614 self.restore_point_label = None 11615 11616 11617class RestorePointListResult(msrest.serialization.Model): 11618 """A list of long term retention backups. 11619 11620 Variables are only populated by the server, and will be ignored when sending a request. 11621 11622 :ivar value: Array of results. 11623 :vartype value: list[~azure.mgmt.sql.models.RestorePoint] 11624 :ivar next_link: Link to retrieve next page of results. 11625 :vartype next_link: str 11626 """ 11627 11628 _validation = { 11629 'value': {'readonly': True}, 11630 'next_link': {'readonly': True}, 11631 } 11632 11633 _attribute_map = { 11634 'value': {'key': 'value', 'type': '[RestorePoint]'}, 11635 'next_link': {'key': 'nextLink', 'type': 'str'}, 11636 } 11637 11638 def __init__( 11639 self, 11640 **kwargs 11641 ): 11642 super(RestorePointListResult, self).__init__(**kwargs) 11643 self.value = None 11644 self.next_link = None 11645 11646 11647class SecurityEvent(ProxyResource): 11648 """A security event. 11649 11650 Variables are only populated by the server, and will be ignored when sending a request. 11651 11652 :ivar id: Resource ID. 11653 :vartype id: str 11654 :ivar name: Resource name. 11655 :vartype name: str 11656 :ivar type: Resource type. 11657 :vartype type: str 11658 :ivar event_time: The time when the security event occurred. 11659 :vartype event_time: ~datetime.datetime 11660 :ivar security_event_type: The type of the security event. Possible values include: 11661 "Undefined", "SqlInjectionVulnerability", "SqlInjectionExploit". 11662 :vartype security_event_type: str or ~azure.mgmt.sql.models.SecurityEventType 11663 :ivar subscription: The subscription name. 11664 :vartype subscription: str 11665 :ivar server: The server name. 11666 :vartype server: str 11667 :ivar database: The database name. 11668 :vartype database: str 11669 :ivar client_ip: The IP address of the client who executed the statement. 11670 :vartype client_ip: str 11671 :ivar application_name: The application used to execute the statement. 11672 :vartype application_name: str 11673 :ivar principal_name: The principal user who executed the statement. 11674 :vartype principal_name: str 11675 :ivar security_event_sql_injection_additional_properties: The sql injection additional 11676 properties, populated only if the type of the security event is sql injection. 11677 :vartype security_event_sql_injection_additional_properties: 11678 ~azure.mgmt.sql.models.SecurityEventSqlInjectionAdditionalProperties 11679 """ 11680 11681 _validation = { 11682 'id': {'readonly': True}, 11683 'name': {'readonly': True}, 11684 'type': {'readonly': True}, 11685 'event_time': {'readonly': True}, 11686 'security_event_type': {'readonly': True}, 11687 'subscription': {'readonly': True}, 11688 'server': {'readonly': True}, 11689 'database': {'readonly': True}, 11690 'client_ip': {'readonly': True}, 11691 'application_name': {'readonly': True}, 11692 'principal_name': {'readonly': True}, 11693 'security_event_sql_injection_additional_properties': {'readonly': True}, 11694 } 11695 11696 _attribute_map = { 11697 'id': {'key': 'id', 'type': 'str'}, 11698 'name': {'key': 'name', 'type': 'str'}, 11699 'type': {'key': 'type', 'type': 'str'}, 11700 'event_time': {'key': 'properties.eventTime', 'type': 'iso-8601'}, 11701 'security_event_type': {'key': 'properties.securityEventType', 'type': 'str'}, 11702 'subscription': {'key': 'properties.subscription', 'type': 'str'}, 11703 'server': {'key': 'properties.server', 'type': 'str'}, 11704 'database': {'key': 'properties.database', 'type': 'str'}, 11705 'client_ip': {'key': 'properties.clientIp', 'type': 'str'}, 11706 'application_name': {'key': 'properties.applicationName', 'type': 'str'}, 11707 'principal_name': {'key': 'properties.principalName', 'type': 'str'}, 11708 'security_event_sql_injection_additional_properties': {'key': 'properties.securityEventSqlInjectionAdditionalProperties', 'type': 'SecurityEventSqlInjectionAdditionalProperties'}, 11709 } 11710 11711 def __init__( 11712 self, 11713 **kwargs 11714 ): 11715 super(SecurityEvent, self).__init__(**kwargs) 11716 self.event_time = None 11717 self.security_event_type = None 11718 self.subscription = None 11719 self.server = None 11720 self.database = None 11721 self.client_ip = None 11722 self.application_name = None 11723 self.principal_name = None 11724 self.security_event_sql_injection_additional_properties = None 11725 11726 11727class SecurityEventCollection(msrest.serialization.Model): 11728 """A list of security events. 11729 11730 Variables are only populated by the server, and will be ignored when sending a request. 11731 11732 :ivar value: Array of results. 11733 :vartype value: list[~azure.mgmt.sql.models.SecurityEvent] 11734 :ivar next_link: Link to retrieve next page of results. 11735 :vartype next_link: str 11736 """ 11737 11738 _validation = { 11739 'value': {'readonly': True}, 11740 'next_link': {'readonly': True}, 11741 } 11742 11743 _attribute_map = { 11744 'value': {'key': 'value', 'type': '[SecurityEvent]'}, 11745 'next_link': {'key': 'nextLink', 'type': 'str'}, 11746 } 11747 11748 def __init__( 11749 self, 11750 **kwargs 11751 ): 11752 super(SecurityEventCollection, self).__init__(**kwargs) 11753 self.value = None 11754 self.next_link = None 11755 11756 11757class SecurityEventsFilterParameters(msrest.serialization.Model): 11758 """The properties that are supported in the $filter operation. 11759 11760 :param event_time: Filter on the event time. 11761 :type event_time: ~datetime.datetime 11762 :param show_server_records: Whether to show server records or not. 11763 :type show_server_records: bool 11764 """ 11765 11766 _attribute_map = { 11767 'event_time': {'key': 'eventTime', 'type': 'iso-8601'}, 11768 'show_server_records': {'key': 'showServerRecords', 'type': 'bool'}, 11769 } 11770 11771 def __init__( 11772 self, 11773 **kwargs 11774 ): 11775 super(SecurityEventsFilterParameters, self).__init__(**kwargs) 11776 self.event_time = kwargs.get('event_time', None) 11777 self.show_server_records = kwargs.get('show_server_records', None) 11778 11779 11780class SecurityEventSqlInjectionAdditionalProperties(msrest.serialization.Model): 11781 """The properties of a security event sql injection additional properties. 11782 11783 Variables are only populated by the server, and will be ignored when sending a request. 11784 11785 :ivar threat_id: The threat ID. 11786 :vartype threat_id: str 11787 :ivar statement: The statement. 11788 :vartype statement: str 11789 :ivar statement_highlight_offset: The statement highlight offset. 11790 :vartype statement_highlight_offset: int 11791 :ivar statement_highlight_length: The statement highlight length. 11792 :vartype statement_highlight_length: int 11793 :ivar error_code: The sql error code. 11794 :vartype error_code: int 11795 :ivar error_severity: The sql error severity. 11796 :vartype error_severity: int 11797 :ivar error_message: The sql error message. 11798 :vartype error_message: str 11799 """ 11800 11801 _validation = { 11802 'threat_id': {'readonly': True}, 11803 'statement': {'readonly': True}, 11804 'statement_highlight_offset': {'readonly': True}, 11805 'statement_highlight_length': {'readonly': True}, 11806 'error_code': {'readonly': True}, 11807 'error_severity': {'readonly': True}, 11808 'error_message': {'readonly': True}, 11809 } 11810 11811 _attribute_map = { 11812 'threat_id': {'key': 'threatId', 'type': 'str'}, 11813 'statement': {'key': 'statement', 'type': 'str'}, 11814 'statement_highlight_offset': {'key': 'statementHighlightOffset', 'type': 'int'}, 11815 'statement_highlight_length': {'key': 'statementHighlightLength', 'type': 'int'}, 11816 'error_code': {'key': 'errorCode', 'type': 'int'}, 11817 'error_severity': {'key': 'errorSeverity', 'type': 'int'}, 11818 'error_message': {'key': 'errorMessage', 'type': 'str'}, 11819 } 11820 11821 def __init__( 11822 self, 11823 **kwargs 11824 ): 11825 super(SecurityEventSqlInjectionAdditionalProperties, self).__init__(**kwargs) 11826 self.threat_id = None 11827 self.statement = None 11828 self.statement_highlight_offset = None 11829 self.statement_highlight_length = None 11830 self.error_code = None 11831 self.error_severity = None 11832 self.error_message = None 11833 11834 11835class SensitivityLabel(ProxyResource): 11836 """A sensitivity label. 11837 11838 Variables are only populated by the server, and will be ignored when sending a request. 11839 11840 :ivar id: Resource ID. 11841 :vartype id: str 11842 :ivar name: Resource name. 11843 :vartype name: str 11844 :ivar type: Resource type. 11845 :vartype type: str 11846 :ivar managed_by: Resource that manages the sensitivity label. 11847 :vartype managed_by: str 11848 :ivar schema_name: The schema name. 11849 :vartype schema_name: str 11850 :ivar table_name: The table name. 11851 :vartype table_name: str 11852 :ivar column_name: The column name. 11853 :vartype column_name: str 11854 :param label_name: The label name. 11855 :type label_name: str 11856 :param label_id: The label ID. 11857 :type label_id: str 11858 :param information_type: The information type. 11859 :type information_type: str 11860 :param information_type_id: The information type ID. 11861 :type information_type_id: str 11862 :ivar is_disabled: Is sensitivity recommendation disabled. Applicable for recommended 11863 sensitivity label only. Specifies whether the sensitivity recommendation on this column is 11864 disabled (dismissed) or not. 11865 :vartype is_disabled: bool 11866 :param rank: Possible values include: "None", "Low", "Medium", "High", "Critical". 11867 :type rank: str or ~azure.mgmt.sql.models.SensitivityLabelRank 11868 """ 11869 11870 _validation = { 11871 'id': {'readonly': True}, 11872 'name': {'readonly': True}, 11873 'type': {'readonly': True}, 11874 'managed_by': {'readonly': True}, 11875 'schema_name': {'readonly': True}, 11876 'table_name': {'readonly': True}, 11877 'column_name': {'readonly': True}, 11878 'is_disabled': {'readonly': True}, 11879 } 11880 11881 _attribute_map = { 11882 'id': {'key': 'id', 'type': 'str'}, 11883 'name': {'key': 'name', 'type': 'str'}, 11884 'type': {'key': 'type', 'type': 'str'}, 11885 'managed_by': {'key': 'managedBy', 'type': 'str'}, 11886 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, 11887 'table_name': {'key': 'properties.tableName', 'type': 'str'}, 11888 'column_name': {'key': 'properties.columnName', 'type': 'str'}, 11889 'label_name': {'key': 'properties.labelName', 'type': 'str'}, 11890 'label_id': {'key': 'properties.labelId', 'type': 'str'}, 11891 'information_type': {'key': 'properties.informationType', 'type': 'str'}, 11892 'information_type_id': {'key': 'properties.informationTypeId', 'type': 'str'}, 11893 'is_disabled': {'key': 'properties.isDisabled', 'type': 'bool'}, 11894 'rank': {'key': 'properties.rank', 'type': 'str'}, 11895 } 11896 11897 def __init__( 11898 self, 11899 **kwargs 11900 ): 11901 super(SensitivityLabel, self).__init__(**kwargs) 11902 self.managed_by = None 11903 self.schema_name = None 11904 self.table_name = None 11905 self.column_name = None 11906 self.label_name = kwargs.get('label_name', None) 11907 self.label_id = kwargs.get('label_id', None) 11908 self.information_type = kwargs.get('information_type', None) 11909 self.information_type_id = kwargs.get('information_type_id', None) 11910 self.is_disabled = None 11911 self.rank = kwargs.get('rank', None) 11912 11913 11914class SensitivityLabelListResult(msrest.serialization.Model): 11915 """A list of sensitivity labels. 11916 11917 Variables are only populated by the server, and will be ignored when sending a request. 11918 11919 :ivar value: Array of results. 11920 :vartype value: list[~azure.mgmt.sql.models.SensitivityLabel] 11921 :ivar next_link: Link to retrieve next page of results. 11922 :vartype next_link: str 11923 """ 11924 11925 _validation = { 11926 'value': {'readonly': True}, 11927 'next_link': {'readonly': True}, 11928 } 11929 11930 _attribute_map = { 11931 'value': {'key': 'value', 'type': '[SensitivityLabel]'}, 11932 'next_link': {'key': 'nextLink', 'type': 'str'}, 11933 } 11934 11935 def __init__( 11936 self, 11937 **kwargs 11938 ): 11939 super(SensitivityLabelListResult, self).__init__(**kwargs) 11940 self.value = None 11941 self.next_link = None 11942 11943 11944class SensitivityLabelUpdate(ProxyResource): 11945 """A sensitivity label update operation. 11946 11947 Variables are only populated by the server, and will be ignored when sending a request. 11948 11949 :ivar id: Resource ID. 11950 :vartype id: str 11951 :ivar name: Resource name. 11952 :vartype name: str 11953 :ivar type: Resource type. 11954 :vartype type: str 11955 :param op: Possible values include: "set", "remove". 11956 :type op: str or ~azure.mgmt.sql.models.SensitivityLabelUpdateKind 11957 :param schema: Schema name of the column to update. 11958 :type schema: str 11959 :param table: Table name of the column to update. 11960 :type table: str 11961 :param column: Column name to update. 11962 :type column: str 11963 :param sensitivity_label: The sensitivity label information to apply on a column. 11964 :type sensitivity_label: ~azure.mgmt.sql.models.SensitivityLabel 11965 """ 11966 11967 _validation = { 11968 'id': {'readonly': True}, 11969 'name': {'readonly': True}, 11970 'type': {'readonly': True}, 11971 } 11972 11973 _attribute_map = { 11974 'id': {'key': 'id', 'type': 'str'}, 11975 'name': {'key': 'name', 'type': 'str'}, 11976 'type': {'key': 'type', 'type': 'str'}, 11977 'op': {'key': 'properties.op', 'type': 'str'}, 11978 'schema': {'key': 'properties.schema', 'type': 'str'}, 11979 'table': {'key': 'properties.table', 'type': 'str'}, 11980 'column': {'key': 'properties.column', 'type': 'str'}, 11981 'sensitivity_label': {'key': 'properties.sensitivityLabel', 'type': 'SensitivityLabel'}, 11982 } 11983 11984 def __init__( 11985 self, 11986 **kwargs 11987 ): 11988 super(SensitivityLabelUpdate, self).__init__(**kwargs) 11989 self.op = kwargs.get('op', None) 11990 self.schema = kwargs.get('schema', None) 11991 self.table = kwargs.get('table', None) 11992 self.column = kwargs.get('column', None) 11993 self.sensitivity_label = kwargs.get('sensitivity_label', None) 11994 11995 11996class SensitivityLabelUpdateList(msrest.serialization.Model): 11997 """A list of sensitivity label update operations. 11998 11999 :param operations: 12000 :type operations: list[~azure.mgmt.sql.models.SensitivityLabelUpdate] 12001 """ 12002 12003 _attribute_map = { 12004 'operations': {'key': 'operations', 'type': '[SensitivityLabelUpdate]'}, 12005 } 12006 12007 def __init__( 12008 self, 12009 **kwargs 12010 ): 12011 super(SensitivityLabelUpdateList, self).__init__(**kwargs) 12012 self.operations = kwargs.get('operations', None) 12013 12014 12015class Server(TrackedResource): 12016 """An Azure SQL Database server. 12017 12018 Variables are only populated by the server, and will be ignored when sending a request. 12019 12020 All required parameters must be populated in order to send to Azure. 12021 12022 :ivar id: Resource ID. 12023 :vartype id: str 12024 :ivar name: Resource name. 12025 :vartype name: str 12026 :ivar type: Resource type. 12027 :vartype type: str 12028 :param location: Required. Resource location. 12029 :type location: str 12030 :param tags: A set of tags. Resource tags. 12031 :type tags: dict[str, str] 12032 :param identity: The Azure Active Directory identity of the server. 12033 :type identity: ~azure.mgmt.sql.models.ResourceIdentity 12034 :ivar kind: Kind of sql server. This is metadata used for the Azure portal experience. 12035 :vartype kind: str 12036 :param administrator_login: Administrator username for the server. Once created it cannot be 12037 changed. 12038 :type administrator_login: str 12039 :param administrator_login_password: The administrator login password (required for server 12040 creation). 12041 :type administrator_login_password: str 12042 :param version: The version of the server. 12043 :type version: str 12044 :ivar state: The state of the server. 12045 :vartype state: str 12046 :ivar fully_qualified_domain_name: The fully qualified domain name of the server. 12047 :vartype fully_qualified_domain_name: str 12048 :ivar private_endpoint_connections: List of private endpoint connections on a server. 12049 :vartype private_endpoint_connections: 12050 list[~azure.mgmt.sql.models.ServerPrivateEndpointConnection] 12051 :param minimal_tls_version: Minimal TLS version. Allowed values: '1.0', '1.1', '1.2'. 12052 :type minimal_tls_version: str 12053 :param public_network_access: Whether or not public endpoint access is allowed for this server. 12054 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 12055 "Enabled", "Disabled". 12056 :type public_network_access: str or ~azure.mgmt.sql.models.ServerNetworkAccessFlag 12057 :ivar workspace_feature: Whether or not existing server has a workspace created and if it 12058 allows connection from workspace. Possible values include: "Connected", "Disconnected". 12059 :vartype workspace_feature: str or ~azure.mgmt.sql.models.ServerWorkspaceFeature 12060 :param primary_user_assigned_identity_id: The resource id of a user assigned identity to be 12061 used by default. 12062 :type primary_user_assigned_identity_id: str 12063 :param federated_client_id: The Client id used for cross tenant CMK scenario. 12064 :type federated_client_id: str 12065 :param key_id: A CMK URI of the key to use for encryption. 12066 :type key_id: str 12067 :param administrators: The Azure Active Directory identity of the server. 12068 :type administrators: ~azure.mgmt.sql.models.ServerExternalAdministrator 12069 :param restrict_outbound_network_access: Whether or not to restrict outbound network access for 12070 this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible 12071 values include: "Enabled", "Disabled". 12072 :type restrict_outbound_network_access: str or ~azure.mgmt.sql.models.ServerNetworkAccessFlag 12073 """ 12074 12075 _validation = { 12076 'id': {'readonly': True}, 12077 'name': {'readonly': True}, 12078 'type': {'readonly': True}, 12079 'location': {'required': True}, 12080 'kind': {'readonly': True}, 12081 'state': {'readonly': True}, 12082 'fully_qualified_domain_name': {'readonly': True}, 12083 'private_endpoint_connections': {'readonly': True}, 12084 'workspace_feature': {'readonly': True}, 12085 } 12086 12087 _attribute_map = { 12088 'id': {'key': 'id', 'type': 'str'}, 12089 'name': {'key': 'name', 'type': 'str'}, 12090 'type': {'key': 'type', 'type': 'str'}, 12091 'location': {'key': 'location', 'type': 'str'}, 12092 'tags': {'key': 'tags', 'type': '{str}'}, 12093 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 12094 'kind': {'key': 'kind', 'type': 'str'}, 12095 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, 12096 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, 12097 'version': {'key': 'properties.version', 'type': 'str'}, 12098 'state': {'key': 'properties.state', 'type': 'str'}, 12099 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 12100 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[ServerPrivateEndpointConnection]'}, 12101 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 12102 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 12103 'workspace_feature': {'key': 'properties.workspaceFeature', 'type': 'str'}, 12104 'primary_user_assigned_identity_id': {'key': 'properties.primaryUserAssignedIdentityId', 'type': 'str'}, 12105 'federated_client_id': {'key': 'properties.federatedClientId', 'type': 'str'}, 12106 'key_id': {'key': 'properties.keyId', 'type': 'str'}, 12107 'administrators': {'key': 'properties.administrators', 'type': 'ServerExternalAdministrator'}, 12108 'restrict_outbound_network_access': {'key': 'properties.restrictOutboundNetworkAccess', 'type': 'str'}, 12109 } 12110 12111 def __init__( 12112 self, 12113 **kwargs 12114 ): 12115 super(Server, self).__init__(**kwargs) 12116 self.identity = kwargs.get('identity', None) 12117 self.kind = None 12118 self.administrator_login = kwargs.get('administrator_login', None) 12119 self.administrator_login_password = kwargs.get('administrator_login_password', None) 12120 self.version = kwargs.get('version', None) 12121 self.state = None 12122 self.fully_qualified_domain_name = None 12123 self.private_endpoint_connections = None 12124 self.minimal_tls_version = kwargs.get('minimal_tls_version', None) 12125 self.public_network_access = kwargs.get('public_network_access', None) 12126 self.workspace_feature = None 12127 self.primary_user_assigned_identity_id = kwargs.get('primary_user_assigned_identity_id', None) 12128 self.federated_client_id = kwargs.get('federated_client_id', None) 12129 self.key_id = kwargs.get('key_id', None) 12130 self.administrators = kwargs.get('administrators', None) 12131 self.restrict_outbound_network_access = kwargs.get('restrict_outbound_network_access', None) 12132 12133 12134class ServerAutomaticTuning(ProxyResource): 12135 """Server-level Automatic Tuning. 12136 12137 Variables are only populated by the server, and will be ignored when sending a request. 12138 12139 :ivar id: Resource ID. 12140 :vartype id: str 12141 :ivar name: Resource name. 12142 :vartype name: str 12143 :ivar type: Resource type. 12144 :vartype type: str 12145 :param desired_state: Automatic tuning desired state. Possible values include: "Custom", 12146 "Auto", "Unspecified". 12147 :type desired_state: str or ~azure.mgmt.sql.models.AutomaticTuningServerMode 12148 :ivar actual_state: Automatic tuning actual state. Possible values include: "Custom", "Auto", 12149 "Unspecified". 12150 :vartype actual_state: str or ~azure.mgmt.sql.models.AutomaticTuningServerMode 12151 :param options: Automatic tuning options definition. 12152 :type options: dict[str, ~azure.mgmt.sql.models.AutomaticTuningServerOptions] 12153 """ 12154 12155 _validation = { 12156 'id': {'readonly': True}, 12157 'name': {'readonly': True}, 12158 'type': {'readonly': True}, 12159 'actual_state': {'readonly': True}, 12160 } 12161 12162 _attribute_map = { 12163 'id': {'key': 'id', 'type': 'str'}, 12164 'name': {'key': 'name', 'type': 'str'}, 12165 'type': {'key': 'type', 'type': 'str'}, 12166 'desired_state': {'key': 'properties.desiredState', 'type': 'str'}, 12167 'actual_state': {'key': 'properties.actualState', 'type': 'str'}, 12168 'options': {'key': 'properties.options', 'type': '{AutomaticTuningServerOptions}'}, 12169 } 12170 12171 def __init__( 12172 self, 12173 **kwargs 12174 ): 12175 super(ServerAutomaticTuning, self).__init__(**kwargs) 12176 self.desired_state = kwargs.get('desired_state', None) 12177 self.actual_state = None 12178 self.options = kwargs.get('options', None) 12179 12180 12181class ServerAzureADAdministrator(ProxyResource): 12182 """Azure Active Directory administrator. 12183 12184 Variables are only populated by the server, and will be ignored when sending a request. 12185 12186 :ivar id: Resource ID. 12187 :vartype id: str 12188 :ivar name: Resource name. 12189 :vartype name: str 12190 :ivar type: Resource type. 12191 :vartype type: str 12192 :param administrator_type: Type of the sever administrator. Possible values include: 12193 "ActiveDirectory". 12194 :type administrator_type: str or ~azure.mgmt.sql.models.AdministratorType 12195 :param login: Login name of the server administrator. 12196 :type login: str 12197 :param sid: SID (object ID) of the server administrator. 12198 :type sid: str 12199 :param tenant_id: Tenant ID of the administrator. 12200 :type tenant_id: str 12201 :ivar azure_ad_only_authentication: Azure Active Directory only Authentication enabled. 12202 :vartype azure_ad_only_authentication: bool 12203 """ 12204 12205 _validation = { 12206 'id': {'readonly': True}, 12207 'name': {'readonly': True}, 12208 'type': {'readonly': True}, 12209 'azure_ad_only_authentication': {'readonly': True}, 12210 } 12211 12212 _attribute_map = { 12213 'id': {'key': 'id', 'type': 'str'}, 12214 'name': {'key': 'name', 'type': 'str'}, 12215 'type': {'key': 'type', 'type': 'str'}, 12216 'administrator_type': {'key': 'properties.administratorType', 'type': 'str'}, 12217 'login': {'key': 'properties.login', 'type': 'str'}, 12218 'sid': {'key': 'properties.sid', 'type': 'str'}, 12219 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, 12220 'azure_ad_only_authentication': {'key': 'properties.azureADOnlyAuthentication', 'type': 'bool'}, 12221 } 12222 12223 def __init__( 12224 self, 12225 **kwargs 12226 ): 12227 super(ServerAzureADAdministrator, self).__init__(**kwargs) 12228 self.administrator_type = kwargs.get('administrator_type', None) 12229 self.login = kwargs.get('login', None) 12230 self.sid = kwargs.get('sid', None) 12231 self.tenant_id = kwargs.get('tenant_id', None) 12232 self.azure_ad_only_authentication = None 12233 12234 12235class ServerAzureADOnlyAuthentication(ProxyResource): 12236 """Azure Active Directory only authentication. 12237 12238 Variables are only populated by the server, and will be ignored when sending a request. 12239 12240 :ivar id: Resource ID. 12241 :vartype id: str 12242 :ivar name: Resource name. 12243 :vartype name: str 12244 :ivar type: Resource type. 12245 :vartype type: str 12246 :param azure_ad_only_authentication: Azure Active Directory only Authentication enabled. 12247 :type azure_ad_only_authentication: bool 12248 """ 12249 12250 _validation = { 12251 'id': {'readonly': True}, 12252 'name': {'readonly': True}, 12253 'type': {'readonly': True}, 12254 } 12255 12256 _attribute_map = { 12257 'id': {'key': 'id', 'type': 'str'}, 12258 'name': {'key': 'name', 'type': 'str'}, 12259 'type': {'key': 'type', 'type': 'str'}, 12260 'azure_ad_only_authentication': {'key': 'properties.azureADOnlyAuthentication', 'type': 'bool'}, 12261 } 12262 12263 def __init__( 12264 self, 12265 **kwargs 12266 ): 12267 super(ServerAzureADOnlyAuthentication, self).__init__(**kwargs) 12268 self.azure_ad_only_authentication = kwargs.get('azure_ad_only_authentication', None) 12269 12270 12271class ServerBlobAuditingPolicy(ProxyResource): 12272 """A server blob auditing policy. 12273 12274 Variables are only populated by the server, and will be ignored when sending a request. 12275 12276 :ivar id: Resource ID. 12277 :vartype id: str 12278 :ivar name: Resource name. 12279 :vartype name: str 12280 :ivar type: Resource type. 12281 :vartype type: str 12282 :param is_devops_audit_enabled: Specifies the state of devops audit. If state is Enabled, 12283 devops logs will be sent to Azure Monitor. 12284 In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 12285 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true 12286 12287 When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' 12288 diagnostic logs category on the master database should also be created. 12289 12290 Diagnostic Settings URI format: 12291 PUT 12292 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 12293 12294 For more information, see `Diagnostic Settings REST API 12295 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 12296 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 12297 :type is_devops_audit_enabled: bool 12298 :param retention_days: Specifies the number of days to keep in the audit logs in the storage 12299 account. 12300 :type retention_days: int 12301 :param audit_actions_and_groups: Specifies the Actions-Groups and Actions to audit. 12302 12303 The recommended set of action groups to use is the following combination - this will audit all 12304 the queries and stored procedures executed against the database, as well as successful and 12305 failed logins: 12306 12307 BATCH_COMPLETED_GROUP, 12308 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 12309 FAILED_DATABASE_AUTHENTICATION_GROUP. 12310 12311 This above combination is also the set that is configured by default when enabling auditing 12312 from the Azure portal. 12313 12314 The supported action groups to audit are (note: choose only specific groups that cover your 12315 auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 12316 12317 APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 12318 BACKUP_RESTORE_GROUP 12319 DATABASE_LOGOUT_GROUP 12320 DATABASE_OBJECT_CHANGE_GROUP 12321 DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 12322 DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 12323 DATABASE_OPERATION_GROUP 12324 DATABASE_PERMISSION_CHANGE_GROUP 12325 DATABASE_PRINCIPAL_CHANGE_GROUP 12326 DATABASE_PRINCIPAL_IMPERSONATION_GROUP 12327 DATABASE_ROLE_MEMBER_CHANGE_GROUP 12328 FAILED_DATABASE_AUTHENTICATION_GROUP 12329 SCHEMA_OBJECT_ACCESS_GROUP 12330 SCHEMA_OBJECT_CHANGE_GROUP 12331 SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 12332 SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 12333 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 12334 USER_CHANGE_PASSWORD_GROUP 12335 BATCH_STARTED_GROUP 12336 BATCH_COMPLETED_GROUP 12337 12338 These are groups that cover all sql statements and stored procedures executed against the 12339 database, and should not be used in combination with other groups as this will result in 12340 duplicate audit logs. 12341 12342 For more information, see `Database-Level Audit Action Groups 12343 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups>`_. 12344 12345 For Database auditing policy, specific Actions can also be specified (note that Actions cannot 12346 be specified for Server auditing policy). The supported actions to audit are: 12347 SELECT 12348 UPDATE 12349 INSERT 12350 DELETE 12351 EXECUTE 12352 RECEIVE 12353 REFERENCES 12354 12355 The general form for defining an action to be audited is: 12356 {action} ON {object} BY {principal} 12357 12358 Note that :code:`<object>` in the above format can refer to an object like a table, view, or 12359 stored procedure, or an entire database or schema. For the latter cases, the forms 12360 DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 12361 12362 For example: 12363 SELECT on dbo.myTable by public 12364 SELECT on DATABASE::myDatabase by public 12365 SELECT on SCHEMA::mySchema by public 12366 12367 For more information, see `Database-Level Audit Actions 12368 <https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions>`_. 12369 :type audit_actions_and_groups: list[str] 12370 :param is_storage_secondary_key_in_use: Specifies whether storageAccountAccessKey value is the 12371 storage's secondary key. 12372 :type is_storage_secondary_key_in_use: bool 12373 :param is_azure_monitor_target_enabled: Specifies whether audit events are sent to Azure 12374 Monitor. 12375 In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 12376 'IsAzureMonitorTargetEnabled' as true. 12377 12378 When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' 12379 diagnostic logs category on the database should be also created. 12380 Note that for server level audit you should use the 'master' database as {databaseName}. 12381 12382 Diagnostic Settings URI format: 12383 PUT 12384 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 12385 12386 For more information, see `Diagnostic Settings REST API 12387 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 12388 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 12389 :type is_azure_monitor_target_enabled: bool 12390 :param queue_delay_ms: Specifies the amount of time in milliseconds that can elapse before 12391 audit actions are forced to be processed. 12392 The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 12393 :type queue_delay_ms: int 12394 :param state: Specifies the state of the audit. If state is Enabled, storageEndpoint or 12395 isAzureMonitorTargetEnabled are required. Possible values include: "Enabled", "Disabled". 12396 :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState 12397 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 12398 https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or 12399 isAzureMonitorTargetEnabled is required. 12400 :type storage_endpoint: str 12401 :param storage_account_access_key: Specifies the identifier key of the auditing storage 12402 account. 12403 If state is Enabled and storageEndpoint is specified, not specifying the 12404 storageAccountAccessKey will use SQL server system-assigned managed identity to access the 12405 storage. 12406 Prerequisites for using managed identity authentication: 12407 12408 12409 #. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 12410 #. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data 12411 Contributor' RBAC role to the server identity. 12412 For more information, see `Auditing to storage using Managed Identity authentication 12413 <https://go.microsoft.com/fwlink/?linkid=2114355>`_. 12414 :type storage_account_access_key: str 12415 :param storage_account_subscription_id: Specifies the blob storage subscription Id. 12416 :type storage_account_subscription_id: str 12417 """ 12418 12419 _validation = { 12420 'id': {'readonly': True}, 12421 'name': {'readonly': True}, 12422 'type': {'readonly': True}, 12423 } 12424 12425 _attribute_map = { 12426 'id': {'key': 'id', 'type': 'str'}, 12427 'name': {'key': 'name', 'type': 'str'}, 12428 'type': {'key': 'type', 'type': 'str'}, 12429 'is_devops_audit_enabled': {'key': 'properties.isDevopsAuditEnabled', 'type': 'bool'}, 12430 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 12431 'audit_actions_and_groups': {'key': 'properties.auditActionsAndGroups', 'type': '[str]'}, 12432 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, 12433 'is_azure_monitor_target_enabled': {'key': 'properties.isAzureMonitorTargetEnabled', 'type': 'bool'}, 12434 'queue_delay_ms': {'key': 'properties.queueDelayMs', 'type': 'int'}, 12435 'state': {'key': 'properties.state', 'type': 'str'}, 12436 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 12437 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 12438 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, 12439 } 12440 12441 def __init__( 12442 self, 12443 **kwargs 12444 ): 12445 super(ServerBlobAuditingPolicy, self).__init__(**kwargs) 12446 self.is_devops_audit_enabled = kwargs.get('is_devops_audit_enabled', None) 12447 self.retention_days = kwargs.get('retention_days', None) 12448 self.audit_actions_and_groups = kwargs.get('audit_actions_and_groups', None) 12449 self.is_storage_secondary_key_in_use = kwargs.get('is_storage_secondary_key_in_use', None) 12450 self.is_azure_monitor_target_enabled = kwargs.get('is_azure_monitor_target_enabled', None) 12451 self.queue_delay_ms = kwargs.get('queue_delay_ms', None) 12452 self.state = kwargs.get('state', None) 12453 self.storage_endpoint = kwargs.get('storage_endpoint', None) 12454 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 12455 self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) 12456 12457 12458class ServerBlobAuditingPolicyListResult(msrest.serialization.Model): 12459 """A list of server auditing settings. 12460 12461 Variables are only populated by the server, and will be ignored when sending a request. 12462 12463 :ivar value: Array of results. 12464 :vartype value: list[~azure.mgmt.sql.models.ServerBlobAuditingPolicy] 12465 :ivar next_link: Link to retrieve next page of results. 12466 :vartype next_link: str 12467 """ 12468 12469 _validation = { 12470 'value': {'readonly': True}, 12471 'next_link': {'readonly': True}, 12472 } 12473 12474 _attribute_map = { 12475 'value': {'key': 'value', 'type': '[ServerBlobAuditingPolicy]'}, 12476 'next_link': {'key': 'nextLink', 'type': 'str'}, 12477 } 12478 12479 def __init__( 12480 self, 12481 **kwargs 12482 ): 12483 super(ServerBlobAuditingPolicyListResult, self).__init__(**kwargs) 12484 self.value = None 12485 self.next_link = None 12486 12487 12488class ServerCommunicationLink(ProxyResource): 12489 """Server communication link. 12490 12491 Variables are only populated by the server, and will be ignored when sending a request. 12492 12493 :ivar id: Resource ID. 12494 :vartype id: str 12495 :ivar name: Resource name. 12496 :vartype name: str 12497 :ivar type: Resource type. 12498 :vartype type: str 12499 :ivar location: Communication link location. 12500 :vartype location: str 12501 :ivar kind: Communication link kind. This property is used for Azure Portal metadata. 12502 :vartype kind: str 12503 :ivar state: The state. 12504 :vartype state: str 12505 :param partner_server: The name of the partner server. 12506 :type partner_server: str 12507 """ 12508 12509 _validation = { 12510 'id': {'readonly': True}, 12511 'name': {'readonly': True}, 12512 'type': {'readonly': True}, 12513 'location': {'readonly': True}, 12514 'kind': {'readonly': True}, 12515 'state': {'readonly': True}, 12516 } 12517 12518 _attribute_map = { 12519 'id': {'key': 'id', 'type': 'str'}, 12520 'name': {'key': 'name', 'type': 'str'}, 12521 'type': {'key': 'type', 'type': 'str'}, 12522 'location': {'key': 'location', 'type': 'str'}, 12523 'kind': {'key': 'kind', 'type': 'str'}, 12524 'state': {'key': 'properties.state', 'type': 'str'}, 12525 'partner_server': {'key': 'properties.partnerServer', 'type': 'str'}, 12526 } 12527 12528 def __init__( 12529 self, 12530 **kwargs 12531 ): 12532 super(ServerCommunicationLink, self).__init__(**kwargs) 12533 self.location = None 12534 self.kind = None 12535 self.state = None 12536 self.partner_server = kwargs.get('partner_server', None) 12537 12538 12539class ServerCommunicationLinkListResult(msrest.serialization.Model): 12540 """A list of server communication links. 12541 12542 :param value: The list of server communication links. 12543 :type value: list[~azure.mgmt.sql.models.ServerCommunicationLink] 12544 """ 12545 12546 _attribute_map = { 12547 'value': {'key': 'value', 'type': '[ServerCommunicationLink]'}, 12548 } 12549 12550 def __init__( 12551 self, 12552 **kwargs 12553 ): 12554 super(ServerCommunicationLinkListResult, self).__init__(**kwargs) 12555 self.value = kwargs.get('value', None) 12556 12557 12558class ServerConnectionPolicy(ProxyResource): 12559 """A server secure connection policy. 12560 12561 Variables are only populated by the server, and will be ignored when sending a request. 12562 12563 :ivar id: Resource ID. 12564 :vartype id: str 12565 :ivar name: Resource name. 12566 :vartype name: str 12567 :ivar type: Resource type. 12568 :vartype type: str 12569 :ivar kind: Metadata used for the Azure portal experience. 12570 :vartype kind: str 12571 :ivar location: Resource location. 12572 :vartype location: str 12573 :param connection_type: The server connection type. Possible values include: "Default", 12574 "Proxy", "Redirect". 12575 :type connection_type: str or ~azure.mgmt.sql.models.ServerConnectionType 12576 """ 12577 12578 _validation = { 12579 'id': {'readonly': True}, 12580 'name': {'readonly': True}, 12581 'type': {'readonly': True}, 12582 'kind': {'readonly': True}, 12583 'location': {'readonly': True}, 12584 } 12585 12586 _attribute_map = { 12587 'id': {'key': 'id', 'type': 'str'}, 12588 'name': {'key': 'name', 'type': 'str'}, 12589 'type': {'key': 'type', 'type': 'str'}, 12590 'kind': {'key': 'kind', 'type': 'str'}, 12591 'location': {'key': 'location', 'type': 'str'}, 12592 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 12593 } 12594 12595 def __init__( 12596 self, 12597 **kwargs 12598 ): 12599 super(ServerConnectionPolicy, self).__init__(**kwargs) 12600 self.kind = None 12601 self.location = None 12602 self.connection_type = kwargs.get('connection_type', None) 12603 12604 12605class ServerDevOpsAuditingSettings(ProxyResource): 12606 """A server DevOps auditing settings. 12607 12608 Variables are only populated by the server, and will be ignored when sending a request. 12609 12610 :ivar id: Resource ID. 12611 :vartype id: str 12612 :ivar name: Resource name. 12613 :vartype name: str 12614 :ivar type: Resource type. 12615 :vartype type: str 12616 :ivar system_data: SystemData of ServerDevOpsAuditSettingsResource. 12617 :vartype system_data: ~azure.mgmt.sql.models.SystemData 12618 :param is_azure_monitor_target_enabled: Specifies whether DevOps audit events are sent to Azure 12619 Monitor. 12620 In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 12621 'IsAzureMonitorTargetEnabled' as true. 12622 12623 When using REST API to configure DevOps audit, Diagnostic Settings with 12624 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created. 12625 12626 Diagnostic Settings URI format: 12627 PUT 12628 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 12629 12630 For more information, see `Diagnostic Settings REST API 12631 <https://go.microsoft.com/fwlink/?linkid=2033207>`_ 12632 or `Diagnostic Settings PowerShell <https://go.microsoft.com/fwlink/?linkid=2033043>`_. 12633 :type is_azure_monitor_target_enabled: bool 12634 :param state: Specifies the state of the audit. If state is Enabled, storageEndpoint or 12635 isAzureMonitorTargetEnabled are required. Possible values include: "Enabled", "Disabled". 12636 :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState 12637 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 12638 https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or 12639 isAzureMonitorTargetEnabled is required. 12640 :type storage_endpoint: str 12641 :param storage_account_access_key: Specifies the identifier key of the auditing storage 12642 account. 12643 If state is Enabled and storageEndpoint is specified, not specifying the 12644 storageAccountAccessKey will use SQL server system-assigned managed identity to access the 12645 storage. 12646 Prerequisites for using managed identity authentication: 12647 12648 12649 #. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 12650 #. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data 12651 Contributor' RBAC role to the server identity. 12652 For more information, see `Auditing to storage using Managed Identity authentication 12653 <https://go.microsoft.com/fwlink/?linkid=2114355>`_. 12654 :type storage_account_access_key: str 12655 :param storage_account_subscription_id: Specifies the blob storage subscription Id. 12656 :type storage_account_subscription_id: str 12657 """ 12658 12659 _validation = { 12660 'id': {'readonly': True}, 12661 'name': {'readonly': True}, 12662 'type': {'readonly': True}, 12663 'system_data': {'readonly': True}, 12664 } 12665 12666 _attribute_map = { 12667 'id': {'key': 'id', 'type': 'str'}, 12668 'name': {'key': 'name', 'type': 'str'}, 12669 'type': {'key': 'type', 'type': 'str'}, 12670 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 12671 'is_azure_monitor_target_enabled': {'key': 'properties.isAzureMonitorTargetEnabled', 'type': 'bool'}, 12672 'state': {'key': 'properties.state', 'type': 'str'}, 12673 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 12674 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 12675 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, 12676 } 12677 12678 def __init__( 12679 self, 12680 **kwargs 12681 ): 12682 super(ServerDevOpsAuditingSettings, self).__init__(**kwargs) 12683 self.system_data = None 12684 self.is_azure_monitor_target_enabled = kwargs.get('is_azure_monitor_target_enabled', None) 12685 self.state = kwargs.get('state', None) 12686 self.storage_endpoint = kwargs.get('storage_endpoint', None) 12687 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 12688 self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) 12689 12690 12691class ServerDevOpsAuditSettingsListResult(msrest.serialization.Model): 12692 """A list of server DevOps audit settings. 12693 12694 Variables are only populated by the server, and will be ignored when sending a request. 12695 12696 :ivar value: Array of results. 12697 :vartype value: list[~azure.mgmt.sql.models.ServerDevOpsAuditingSettings] 12698 :ivar next_link: Link to retrieve next page of results. 12699 :vartype next_link: str 12700 """ 12701 12702 _validation = { 12703 'value': {'readonly': True}, 12704 'next_link': {'readonly': True}, 12705 } 12706 12707 _attribute_map = { 12708 'value': {'key': 'value', 'type': '[ServerDevOpsAuditingSettings]'}, 12709 'next_link': {'key': 'nextLink', 'type': 'str'}, 12710 } 12711 12712 def __init__( 12713 self, 12714 **kwargs 12715 ): 12716 super(ServerDevOpsAuditSettingsListResult, self).__init__(**kwargs) 12717 self.value = None 12718 self.next_link = None 12719 12720 12721class ServerDnsAlias(ProxyResource): 12722 """A server DNS alias. 12723 12724 Variables are only populated by the server, and will be ignored when sending a request. 12725 12726 :ivar id: Resource ID. 12727 :vartype id: str 12728 :ivar name: Resource name. 12729 :vartype name: str 12730 :ivar type: Resource type. 12731 :vartype type: str 12732 :ivar azure_dns_record: The fully qualified DNS record for alias. 12733 :vartype azure_dns_record: str 12734 """ 12735 12736 _validation = { 12737 'id': {'readonly': True}, 12738 'name': {'readonly': True}, 12739 'type': {'readonly': True}, 12740 'azure_dns_record': {'readonly': True}, 12741 } 12742 12743 _attribute_map = { 12744 'id': {'key': 'id', 'type': 'str'}, 12745 'name': {'key': 'name', 'type': 'str'}, 12746 'type': {'key': 'type', 'type': 'str'}, 12747 'azure_dns_record': {'key': 'properties.azureDnsRecord', 'type': 'str'}, 12748 } 12749 12750 def __init__( 12751 self, 12752 **kwargs 12753 ): 12754 super(ServerDnsAlias, self).__init__(**kwargs) 12755 self.azure_dns_record = None 12756 12757 12758class ServerDnsAliasAcquisition(msrest.serialization.Model): 12759 """A server dns alias acquisition request. 12760 12761 All required parameters must be populated in order to send to Azure. 12762 12763 :param old_server_dns_alias_id: Required. The id of the server alias that will be acquired to 12764 point to this server instead. 12765 :type old_server_dns_alias_id: str 12766 """ 12767 12768 _validation = { 12769 'old_server_dns_alias_id': {'required': True}, 12770 } 12771 12772 _attribute_map = { 12773 'old_server_dns_alias_id': {'key': 'oldServerDnsAliasId', 'type': 'str'}, 12774 } 12775 12776 def __init__( 12777 self, 12778 **kwargs 12779 ): 12780 super(ServerDnsAliasAcquisition, self).__init__(**kwargs) 12781 self.old_server_dns_alias_id = kwargs['old_server_dns_alias_id'] 12782 12783 12784class ServerDnsAliasListResult(msrest.serialization.Model): 12785 """A list of server DNS aliases. 12786 12787 Variables are only populated by the server, and will be ignored when sending a request. 12788 12789 :ivar value: Array of results. 12790 :vartype value: list[~azure.mgmt.sql.models.ServerDnsAlias] 12791 :ivar next_link: Link to retrieve next page of results. 12792 :vartype next_link: str 12793 """ 12794 12795 _validation = { 12796 'value': {'readonly': True}, 12797 'next_link': {'readonly': True}, 12798 } 12799 12800 _attribute_map = { 12801 'value': {'key': 'value', 'type': '[ServerDnsAlias]'}, 12802 'next_link': {'key': 'nextLink', 'type': 'str'}, 12803 } 12804 12805 def __init__( 12806 self, 12807 **kwargs 12808 ): 12809 super(ServerDnsAliasListResult, self).__init__(**kwargs) 12810 self.value = None 12811 self.next_link = None 12812 12813 12814class ServerExternalAdministrator(msrest.serialization.Model): 12815 """Properties of a active directory administrator. 12816 12817 :param administrator_type: Type of the sever administrator. Possible values include: 12818 "ActiveDirectory". 12819 :type administrator_type: str or ~azure.mgmt.sql.models.AdministratorType 12820 :param principal_type: Principal Type of the sever administrator. Possible values include: 12821 "User", "Group", "Application". 12822 :type principal_type: str or ~azure.mgmt.sql.models.PrincipalType 12823 :param login: Login name of the server administrator. 12824 :type login: str 12825 :param sid: SID (object ID) of the server administrator. 12826 :type sid: str 12827 :param tenant_id: Tenant ID of the administrator. 12828 :type tenant_id: str 12829 :param azure_ad_only_authentication: Azure Active Directory only Authentication enabled. 12830 :type azure_ad_only_authentication: bool 12831 """ 12832 12833 _attribute_map = { 12834 'administrator_type': {'key': 'administratorType', 'type': 'str'}, 12835 'principal_type': {'key': 'principalType', 'type': 'str'}, 12836 'login': {'key': 'login', 'type': 'str'}, 12837 'sid': {'key': 'sid', 'type': 'str'}, 12838 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 12839 'azure_ad_only_authentication': {'key': 'azureADOnlyAuthentication', 'type': 'bool'}, 12840 } 12841 12842 def __init__( 12843 self, 12844 **kwargs 12845 ): 12846 super(ServerExternalAdministrator, self).__init__(**kwargs) 12847 self.administrator_type = kwargs.get('administrator_type', None) 12848 self.principal_type = kwargs.get('principal_type', None) 12849 self.login = kwargs.get('login', None) 12850 self.sid = kwargs.get('sid', None) 12851 self.tenant_id = kwargs.get('tenant_id', None) 12852 self.azure_ad_only_authentication = kwargs.get('azure_ad_only_authentication', None) 12853 12854 12855class ServerInfo(msrest.serialization.Model): 12856 """Server info for the server trust group. 12857 12858 All required parameters must be populated in order to send to Azure. 12859 12860 :param server_id: Required. Server Id. 12861 :type server_id: str 12862 """ 12863 12864 _validation = { 12865 'server_id': {'required': True}, 12866 } 12867 12868 _attribute_map = { 12869 'server_id': {'key': 'serverId', 'type': 'str'}, 12870 } 12871 12872 def __init__( 12873 self, 12874 **kwargs 12875 ): 12876 super(ServerInfo, self).__init__(**kwargs) 12877 self.server_id = kwargs['server_id'] 12878 12879 12880class ServerKey(ProxyResource): 12881 """A server key. 12882 12883 Variables are only populated by the server, and will be ignored when sending a request. 12884 12885 :ivar id: Resource ID. 12886 :vartype id: str 12887 :ivar name: Resource name. 12888 :vartype name: str 12889 :ivar type: Resource type. 12890 :vartype type: str 12891 :ivar kind: Kind of encryption protector. This is metadata used for the Azure portal 12892 experience. 12893 :vartype kind: str 12894 :ivar location: Resource location. 12895 :vartype location: str 12896 :ivar subregion: Subregion of the server key. 12897 :vartype subregion: str 12898 :param server_key_type: The server key type like 'ServiceManaged', 'AzureKeyVault'. Possible 12899 values include: "ServiceManaged", "AzureKeyVault". 12900 :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType 12901 :param uri: The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is 12902 required. 12903 :type uri: str 12904 :ivar thumbprint: Thumbprint of the server key. 12905 :vartype thumbprint: str 12906 :ivar creation_date: The server key creation date. 12907 :vartype creation_date: ~datetime.datetime 12908 :ivar auto_rotation_enabled: Key auto rotation opt-in flag. Either true or false. 12909 :vartype auto_rotation_enabled: bool 12910 """ 12911 12912 _validation = { 12913 'id': {'readonly': True}, 12914 'name': {'readonly': True}, 12915 'type': {'readonly': True}, 12916 'kind': {'readonly': True}, 12917 'location': {'readonly': True}, 12918 'subregion': {'readonly': True}, 12919 'thumbprint': {'readonly': True}, 12920 'creation_date': {'readonly': True}, 12921 'auto_rotation_enabled': {'readonly': True}, 12922 } 12923 12924 _attribute_map = { 12925 'id': {'key': 'id', 'type': 'str'}, 12926 'name': {'key': 'name', 'type': 'str'}, 12927 'type': {'key': 'type', 'type': 'str'}, 12928 'kind': {'key': 'kind', 'type': 'str'}, 12929 'location': {'key': 'location', 'type': 'str'}, 12930 'subregion': {'key': 'properties.subregion', 'type': 'str'}, 12931 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, 12932 'uri': {'key': 'properties.uri', 'type': 'str'}, 12933 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 12934 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 12935 'auto_rotation_enabled': {'key': 'properties.autoRotationEnabled', 'type': 'bool'}, 12936 } 12937 12938 def __init__( 12939 self, 12940 **kwargs 12941 ): 12942 super(ServerKey, self).__init__(**kwargs) 12943 self.kind = None 12944 self.location = None 12945 self.subregion = None 12946 self.server_key_type = kwargs.get('server_key_type', None) 12947 self.uri = kwargs.get('uri', None) 12948 self.thumbprint = None 12949 self.creation_date = None 12950 self.auto_rotation_enabled = None 12951 12952 12953class ServerKeyListResult(msrest.serialization.Model): 12954 """A list of server keys. 12955 12956 Variables are only populated by the server, and will be ignored when sending a request. 12957 12958 :ivar value: Array of results. 12959 :vartype value: list[~azure.mgmt.sql.models.ServerKey] 12960 :ivar next_link: Link to retrieve next page of results. 12961 :vartype next_link: str 12962 """ 12963 12964 _validation = { 12965 'value': {'readonly': True}, 12966 'next_link': {'readonly': True}, 12967 } 12968 12969 _attribute_map = { 12970 'value': {'key': 'value', 'type': '[ServerKey]'}, 12971 'next_link': {'key': 'nextLink', 'type': 'str'}, 12972 } 12973 12974 def __init__( 12975 self, 12976 **kwargs 12977 ): 12978 super(ServerKeyListResult, self).__init__(**kwargs) 12979 self.value = None 12980 self.next_link = None 12981 12982 12983class ServerListResult(msrest.serialization.Model): 12984 """A list of servers. 12985 12986 Variables are only populated by the server, and will be ignored when sending a request. 12987 12988 :ivar value: Array of results. 12989 :vartype value: list[~azure.mgmt.sql.models.Server] 12990 :ivar next_link: Link to retrieve next page of results. 12991 :vartype next_link: str 12992 """ 12993 12994 _validation = { 12995 'value': {'readonly': True}, 12996 'next_link': {'readonly': True}, 12997 } 12998 12999 _attribute_map = { 13000 'value': {'key': 'value', 'type': '[Server]'}, 13001 'next_link': {'key': 'nextLink', 'type': 'str'}, 13002 } 13003 13004 def __init__( 13005 self, 13006 **kwargs 13007 ): 13008 super(ServerListResult, self).__init__(**kwargs) 13009 self.value = None 13010 self.next_link = None 13011 13012 13013class ServerOperation(ProxyResource): 13014 """A server operation. 13015 13016 Variables are only populated by the server, and will be ignored when sending a request. 13017 13018 :ivar id: Resource ID. 13019 :vartype id: str 13020 :ivar name: Resource name. 13021 :vartype name: str 13022 :ivar type: Resource type. 13023 :vartype type: str 13024 :ivar operation: The name of operation. 13025 :vartype operation: str 13026 :ivar operation_friendly_name: The friendly name of operation. 13027 :vartype operation_friendly_name: str 13028 :ivar percent_complete: The percentage of the operation completed. 13029 :vartype percent_complete: int 13030 :ivar server_name: The name of the server. 13031 :vartype server_name: str 13032 :ivar start_time: The operation start time. 13033 :vartype start_time: ~datetime.datetime 13034 :ivar state: The operation state. Possible values include: "Pending", "InProgress", 13035 "Succeeded", "Failed", "CancelInProgress", "Cancelled". 13036 :vartype state: str or ~azure.mgmt.sql.models.ManagementOperationState 13037 :ivar error_code: The operation error code. 13038 :vartype error_code: int 13039 :ivar error_description: The operation error description. 13040 :vartype error_description: str 13041 :ivar error_severity: The operation error severity. 13042 :vartype error_severity: int 13043 :ivar is_user_error: Whether or not the error is a user error. 13044 :vartype is_user_error: bool 13045 :ivar estimated_completion_time: The estimated completion time of the operation. 13046 :vartype estimated_completion_time: ~datetime.datetime 13047 :ivar description: The operation description. 13048 :vartype description: str 13049 :ivar is_cancellable: Whether the operation can be cancelled. 13050 :vartype is_cancellable: bool 13051 """ 13052 13053 _validation = { 13054 'id': {'readonly': True}, 13055 'name': {'readonly': True}, 13056 'type': {'readonly': True}, 13057 'operation': {'readonly': True}, 13058 'operation_friendly_name': {'readonly': True}, 13059 'percent_complete': {'readonly': True}, 13060 'server_name': {'readonly': True}, 13061 'start_time': {'readonly': True}, 13062 'state': {'readonly': True}, 13063 'error_code': {'readonly': True}, 13064 'error_description': {'readonly': True}, 13065 'error_severity': {'readonly': True}, 13066 'is_user_error': {'readonly': True}, 13067 'estimated_completion_time': {'readonly': True}, 13068 'description': {'readonly': True}, 13069 'is_cancellable': {'readonly': True}, 13070 } 13071 13072 _attribute_map = { 13073 'id': {'key': 'id', 'type': 'str'}, 13074 'name': {'key': 'name', 'type': 'str'}, 13075 'type': {'key': 'type', 'type': 'str'}, 13076 'operation': {'key': 'properties.operation', 'type': 'str'}, 13077 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, 13078 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, 13079 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 13080 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 13081 'state': {'key': 'properties.state', 'type': 'str'}, 13082 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, 13083 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, 13084 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, 13085 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, 13086 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, 13087 'description': {'key': 'properties.description', 'type': 'str'}, 13088 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 13089 } 13090 13091 def __init__( 13092 self, 13093 **kwargs 13094 ): 13095 super(ServerOperation, self).__init__(**kwargs) 13096 self.operation = None 13097 self.operation_friendly_name = None 13098 self.percent_complete = None 13099 self.server_name = None 13100 self.start_time = None 13101 self.state = None 13102 self.error_code = None 13103 self.error_description = None 13104 self.error_severity = None 13105 self.is_user_error = None 13106 self.estimated_completion_time = None 13107 self.description = None 13108 self.is_cancellable = None 13109 13110 13111class ServerOperationListResult(msrest.serialization.Model): 13112 """The response to a list server operations request. 13113 13114 Variables are only populated by the server, and will be ignored when sending a request. 13115 13116 :ivar value: Array of results. 13117 :vartype value: list[~azure.mgmt.sql.models.ServerOperation] 13118 :ivar next_link: Link to retrieve next page of results. 13119 :vartype next_link: str 13120 """ 13121 13122 _validation = { 13123 'value': {'readonly': True}, 13124 'next_link': {'readonly': True}, 13125 } 13126 13127 _attribute_map = { 13128 'value': {'key': 'value', 'type': '[ServerOperation]'}, 13129 'next_link': {'key': 'nextLink', 'type': 'str'}, 13130 } 13131 13132 def __init__( 13133 self, 13134 **kwargs 13135 ): 13136 super(ServerOperationListResult, self).__init__(**kwargs) 13137 self.value = None 13138 self.next_link = None 13139 13140 13141class ServerPrivateEndpointConnection(msrest.serialization.Model): 13142 """A private endpoint connection under a server. 13143 13144 Variables are only populated by the server, and will be ignored when sending a request. 13145 13146 :ivar id: Resource ID. 13147 :vartype id: str 13148 :ivar properties: Private endpoint connection properties. 13149 :vartype properties: ~azure.mgmt.sql.models.PrivateEndpointConnectionProperties 13150 """ 13151 13152 _validation = { 13153 'id': {'readonly': True}, 13154 'properties': {'readonly': True}, 13155 } 13156 13157 _attribute_map = { 13158 'id': {'key': 'id', 'type': 'str'}, 13159 'properties': {'key': 'properties', 'type': 'PrivateEndpointConnectionProperties'}, 13160 } 13161 13162 def __init__( 13163 self, 13164 **kwargs 13165 ): 13166 super(ServerPrivateEndpointConnection, self).__init__(**kwargs) 13167 self.id = None 13168 self.properties = None 13169 13170 13171class ServerSecurityAlertPolicy(ProxyResource): 13172 """A server security alert policy. 13173 13174 Variables are only populated by the server, and will be ignored when sending a request. 13175 13176 :ivar id: Resource ID. 13177 :vartype id: str 13178 :ivar name: Resource name. 13179 :vartype name: str 13180 :ivar type: Resource type. 13181 :vartype type: str 13182 :ivar system_data: SystemData of SecurityAlertPolicyResource. 13183 :vartype system_data: ~azure.mgmt.sql.models.SystemData 13184 :param state: Specifies the state of the policy, whether it is enabled or disabled or a policy 13185 has not been applied yet on the specific database. Possible values include: "Enabled", 13186 "Disabled". 13187 :type state: str or ~azure.mgmt.sql.models.SecurityAlertsPolicyState 13188 :param disabled_alerts: Specifies an array of alerts that are disabled. Allowed values are: 13189 Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, 13190 Brute_Force. 13191 :type disabled_alerts: list[str] 13192 :param email_addresses: Specifies an array of e-mail addresses to which the alert is sent. 13193 :type email_addresses: list[str] 13194 :param email_account_admins: Specifies that the alert is sent to the account administrators. 13195 :type email_account_admins: bool 13196 :param storage_endpoint: Specifies the blob storage endpoint (e.g. 13197 https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection 13198 audit logs. 13199 :type storage_endpoint: str 13200 :param storage_account_access_key: Specifies the identifier key of the Threat Detection audit 13201 storage account. 13202 :type storage_account_access_key: str 13203 :param retention_days: Specifies the number of days to keep in the Threat Detection audit logs. 13204 :type retention_days: int 13205 :ivar creation_time: Specifies the UTC creation time of the policy. 13206 :vartype creation_time: ~datetime.datetime 13207 """ 13208 13209 _validation = { 13210 'id': {'readonly': True}, 13211 'name': {'readonly': True}, 13212 'type': {'readonly': True}, 13213 'system_data': {'readonly': True}, 13214 'creation_time': {'readonly': True}, 13215 } 13216 13217 _attribute_map = { 13218 'id': {'key': 'id', 'type': 'str'}, 13219 'name': {'key': 'name', 'type': 'str'}, 13220 'type': {'key': 'type', 'type': 'str'}, 13221 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 13222 'state': {'key': 'properties.state', 'type': 'str'}, 13223 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': '[str]'}, 13224 'email_addresses': {'key': 'properties.emailAddresses', 'type': '[str]'}, 13225 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'bool'}, 13226 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, 13227 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 13228 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, 13229 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 13230 } 13231 13232 def __init__( 13233 self, 13234 **kwargs 13235 ): 13236 super(ServerSecurityAlertPolicy, self).__init__(**kwargs) 13237 self.system_data = None 13238 self.state = kwargs.get('state', None) 13239 self.disabled_alerts = kwargs.get('disabled_alerts', None) 13240 self.email_addresses = kwargs.get('email_addresses', None) 13241 self.email_account_admins = kwargs.get('email_account_admins', None) 13242 self.storage_endpoint = kwargs.get('storage_endpoint', None) 13243 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 13244 self.retention_days = kwargs.get('retention_days', None) 13245 self.creation_time = None 13246 13247 13248class ServerTrustGroup(ProxyResource): 13249 """A server trust group. 13250 13251 Variables are only populated by the server, and will be ignored when sending a request. 13252 13253 :ivar id: Resource ID. 13254 :vartype id: str 13255 :ivar name: Resource name. 13256 :vartype name: str 13257 :ivar type: Resource type. 13258 :vartype type: str 13259 :param group_members: Group members information for the server trust group. 13260 :type group_members: list[~azure.mgmt.sql.models.ServerInfo] 13261 :param trust_scopes: Trust scope of the server trust group. 13262 :type trust_scopes: list[str or 13263 ~azure.mgmt.sql.models.ServerTrustGroupPropertiesTrustScopesItem] 13264 """ 13265 13266 _validation = { 13267 'id': {'readonly': True}, 13268 'name': {'readonly': True}, 13269 'type': {'readonly': True}, 13270 } 13271 13272 _attribute_map = { 13273 'id': {'key': 'id', 'type': 'str'}, 13274 'name': {'key': 'name', 'type': 'str'}, 13275 'type': {'key': 'type', 'type': 'str'}, 13276 'group_members': {'key': 'properties.groupMembers', 'type': '[ServerInfo]'}, 13277 'trust_scopes': {'key': 'properties.trustScopes', 'type': '[str]'}, 13278 } 13279 13280 def __init__( 13281 self, 13282 **kwargs 13283 ): 13284 super(ServerTrustGroup, self).__init__(**kwargs) 13285 self.group_members = kwargs.get('group_members', None) 13286 self.trust_scopes = kwargs.get('trust_scopes', None) 13287 13288 13289class ServerTrustGroupListResult(msrest.serialization.Model): 13290 """A list of server trust groups. 13291 13292 Variables are only populated by the server, and will be ignored when sending a request. 13293 13294 :ivar value: Array of results. 13295 :vartype value: list[~azure.mgmt.sql.models.ServerTrustGroup] 13296 :ivar next_link: Link to retrieve next page of results. 13297 :vartype next_link: str 13298 """ 13299 13300 _validation = { 13301 'value': {'readonly': True}, 13302 'next_link': {'readonly': True}, 13303 } 13304 13305 _attribute_map = { 13306 'value': {'key': 'value', 'type': '[ServerTrustGroup]'}, 13307 'next_link': {'key': 'nextLink', 'type': 'str'}, 13308 } 13309 13310 def __init__( 13311 self, 13312 **kwargs 13313 ): 13314 super(ServerTrustGroupListResult, self).__init__(**kwargs) 13315 self.value = None 13316 self.next_link = None 13317 13318 13319class ServerUpdate(msrest.serialization.Model): 13320 """An update request for an Azure SQL Database server. 13321 13322 Variables are only populated by the server, and will be ignored when sending a request. 13323 13324 :param identity: Server identity. 13325 :type identity: ~azure.mgmt.sql.models.ResourceIdentity 13326 :param tags: A set of tags. Resource tags. 13327 :type tags: dict[str, str] 13328 :param administrator_login: Administrator username for the server. Once created it cannot be 13329 changed. 13330 :type administrator_login: str 13331 :param administrator_login_password: The administrator login password (required for server 13332 creation). 13333 :type administrator_login_password: str 13334 :param version: The version of the server. 13335 :type version: str 13336 :ivar state: The state of the server. 13337 :vartype state: str 13338 :ivar fully_qualified_domain_name: The fully qualified domain name of the server. 13339 :vartype fully_qualified_domain_name: str 13340 :ivar private_endpoint_connections: List of private endpoint connections on a server. 13341 :vartype private_endpoint_connections: 13342 list[~azure.mgmt.sql.models.ServerPrivateEndpointConnection] 13343 :param minimal_tls_version: Minimal TLS version. Allowed values: '1.0', '1.1', '1.2'. 13344 :type minimal_tls_version: str 13345 :param public_network_access: Whether or not public endpoint access is allowed for this server. 13346 Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: 13347 "Enabled", "Disabled". 13348 :type public_network_access: str or ~azure.mgmt.sql.models.ServerNetworkAccessFlag 13349 :ivar workspace_feature: Whether or not existing server has a workspace created and if it 13350 allows connection from workspace. Possible values include: "Connected", "Disconnected". 13351 :vartype workspace_feature: str or ~azure.mgmt.sql.models.ServerWorkspaceFeature 13352 :param primary_user_assigned_identity_id: The resource id of a user assigned identity to be 13353 used by default. 13354 :type primary_user_assigned_identity_id: str 13355 :param federated_client_id: The Client id used for cross tenant CMK scenario. 13356 :type federated_client_id: str 13357 :param key_id: A CMK URI of the key to use for encryption. 13358 :type key_id: str 13359 :param administrators: The Azure Active Directory identity of the server. 13360 :type administrators: ~azure.mgmt.sql.models.ServerExternalAdministrator 13361 :param restrict_outbound_network_access: Whether or not to restrict outbound network access for 13362 this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible 13363 values include: "Enabled", "Disabled". 13364 :type restrict_outbound_network_access: str or ~azure.mgmt.sql.models.ServerNetworkAccessFlag 13365 """ 13366 13367 _validation = { 13368 'state': {'readonly': True}, 13369 'fully_qualified_domain_name': {'readonly': True}, 13370 'private_endpoint_connections': {'readonly': True}, 13371 'workspace_feature': {'readonly': True}, 13372 } 13373 13374 _attribute_map = { 13375 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, 13376 'tags': {'key': 'tags', 'type': '{str}'}, 13377 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, 13378 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, 13379 'version': {'key': 'properties.version', 'type': 'str'}, 13380 'state': {'key': 'properties.state', 'type': 'str'}, 13381 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, 13382 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[ServerPrivateEndpointConnection]'}, 13383 'minimal_tls_version': {'key': 'properties.minimalTlsVersion', 'type': 'str'}, 13384 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 13385 'workspace_feature': {'key': 'properties.workspaceFeature', 'type': 'str'}, 13386 'primary_user_assigned_identity_id': {'key': 'properties.primaryUserAssignedIdentityId', 'type': 'str'}, 13387 'federated_client_id': {'key': 'properties.federatedClientId', 'type': 'str'}, 13388 'key_id': {'key': 'properties.keyId', 'type': 'str'}, 13389 'administrators': {'key': 'properties.administrators', 'type': 'ServerExternalAdministrator'}, 13390 'restrict_outbound_network_access': {'key': 'properties.restrictOutboundNetworkAccess', 'type': 'str'}, 13391 } 13392 13393 def __init__( 13394 self, 13395 **kwargs 13396 ): 13397 super(ServerUpdate, self).__init__(**kwargs) 13398 self.identity = kwargs.get('identity', None) 13399 self.tags = kwargs.get('tags', None) 13400 self.administrator_login = kwargs.get('administrator_login', None) 13401 self.administrator_login_password = kwargs.get('administrator_login_password', None) 13402 self.version = kwargs.get('version', None) 13403 self.state = None 13404 self.fully_qualified_domain_name = None 13405 self.private_endpoint_connections = None 13406 self.minimal_tls_version = kwargs.get('minimal_tls_version', None) 13407 self.public_network_access = kwargs.get('public_network_access', None) 13408 self.workspace_feature = None 13409 self.primary_user_assigned_identity_id = kwargs.get('primary_user_assigned_identity_id', None) 13410 self.federated_client_id = kwargs.get('federated_client_id', None) 13411 self.key_id = kwargs.get('key_id', None) 13412 self.administrators = kwargs.get('administrators', None) 13413 self.restrict_outbound_network_access = kwargs.get('restrict_outbound_network_access', None) 13414 13415 13416class ServerUsage(msrest.serialization.Model): 13417 """Represents server metrics. 13418 13419 Variables are only populated by the server, and will be ignored when sending a request. 13420 13421 :ivar name: Name of the server usage metric. 13422 :vartype name: str 13423 :ivar resource_name: The name of the resource. 13424 :vartype resource_name: str 13425 :ivar display_name: The metric display name. 13426 :vartype display_name: str 13427 :ivar current_value: The current value of the metric. 13428 :vartype current_value: float 13429 :ivar limit: The current limit of the metric. 13430 :vartype limit: float 13431 :ivar unit: The units of the metric. 13432 :vartype unit: str 13433 :ivar next_reset_time: The next reset time for the metric (ISO8601 format). 13434 :vartype next_reset_time: ~datetime.datetime 13435 """ 13436 13437 _validation = { 13438 'name': {'readonly': True}, 13439 'resource_name': {'readonly': True}, 13440 'display_name': {'readonly': True}, 13441 'current_value': {'readonly': True}, 13442 'limit': {'readonly': True}, 13443 'unit': {'readonly': True}, 13444 'next_reset_time': {'readonly': True}, 13445 } 13446 13447 _attribute_map = { 13448 'name': {'key': 'name', 'type': 'str'}, 13449 'resource_name': {'key': 'resourceName', 'type': 'str'}, 13450 'display_name': {'key': 'displayName', 'type': 'str'}, 13451 'current_value': {'key': 'currentValue', 'type': 'float'}, 13452 'limit': {'key': 'limit', 'type': 'float'}, 13453 'unit': {'key': 'unit', 'type': 'str'}, 13454 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, 13455 } 13456 13457 def __init__( 13458 self, 13459 **kwargs 13460 ): 13461 super(ServerUsage, self).__init__(**kwargs) 13462 self.name = None 13463 self.resource_name = None 13464 self.display_name = None 13465 self.current_value = None 13466 self.limit = None 13467 self.unit = None 13468 self.next_reset_time = None 13469 13470 13471class ServerUsageListResult(msrest.serialization.Model): 13472 """Represents the response to a list server metrics request. 13473 13474 All required parameters must be populated in order to send to Azure. 13475 13476 :param value: Required. The list of server metrics for the server. 13477 :type value: list[~azure.mgmt.sql.models.ServerUsage] 13478 """ 13479 13480 _validation = { 13481 'value': {'required': True}, 13482 } 13483 13484 _attribute_map = { 13485 'value': {'key': 'value', 'type': '[ServerUsage]'}, 13486 } 13487 13488 def __init__( 13489 self, 13490 **kwargs 13491 ): 13492 super(ServerUsageListResult, self).__init__(**kwargs) 13493 self.value = kwargs['value'] 13494 13495 13496class ServerVersionCapability(msrest.serialization.Model): 13497 """The server capability. 13498 13499 Variables are only populated by the server, and will be ignored when sending a request. 13500 13501 :ivar name: The server version name. 13502 :vartype name: str 13503 :ivar supported_editions: The list of supported database editions. 13504 :vartype supported_editions: list[~azure.mgmt.sql.models.EditionCapability] 13505 :ivar supported_elastic_pool_editions: The list of supported elastic pool editions. 13506 :vartype supported_elastic_pool_editions: 13507 list[~azure.mgmt.sql.models.ElasticPoolEditionCapability] 13508 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 13509 "Default", "Disabled". 13510 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 13511 :param reason: The reason for the capability not being available. 13512 :type reason: str 13513 """ 13514 13515 _validation = { 13516 'name': {'readonly': True}, 13517 'supported_editions': {'readonly': True}, 13518 'supported_elastic_pool_editions': {'readonly': True}, 13519 'status': {'readonly': True}, 13520 } 13521 13522 _attribute_map = { 13523 'name': {'key': 'name', 'type': 'str'}, 13524 'supported_editions': {'key': 'supportedEditions', 'type': '[EditionCapability]'}, 13525 'supported_elastic_pool_editions': {'key': 'supportedElasticPoolEditions', 'type': '[ElasticPoolEditionCapability]'}, 13526 'status': {'key': 'status', 'type': 'str'}, 13527 'reason': {'key': 'reason', 'type': 'str'}, 13528 } 13529 13530 def __init__( 13531 self, 13532 **kwargs 13533 ): 13534 super(ServerVersionCapability, self).__init__(**kwargs) 13535 self.name = None 13536 self.supported_editions = None 13537 self.supported_elastic_pool_editions = None 13538 self.status = None 13539 self.reason = kwargs.get('reason', None) 13540 13541 13542class ServerVulnerabilityAssessment(ProxyResource): 13543 """A server vulnerability assessment. 13544 13545 Variables are only populated by the server, and will be ignored when sending a request. 13546 13547 :ivar id: Resource ID. 13548 :vartype id: str 13549 :ivar name: Resource name. 13550 :vartype name: str 13551 :ivar type: Resource type. 13552 :vartype type: str 13553 :param storage_container_path: A blob storage container path to hold the scan results (e.g. 13554 https://myStorage.blob.core.windows.net/VaScans/). 13555 :type storage_container_path: str 13556 :param storage_container_sas_key: A shared access signature (SAS Key) that has write access to 13557 the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' 13558 isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not 13559 behind a Vnet or a firewall. 13560 :type storage_container_sas_key: str 13561 :param storage_account_access_key: Specifies the identifier key of the storage account for 13562 vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, 13563 storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet 13564 or a firewall. 13565 :type storage_account_access_key: str 13566 :param recurring_scans: The recurring scans settings. 13567 :type recurring_scans: ~azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties 13568 """ 13569 13570 _validation = { 13571 'id': {'readonly': True}, 13572 'name': {'readonly': True}, 13573 'type': {'readonly': True}, 13574 } 13575 13576 _attribute_map = { 13577 'id': {'key': 'id', 'type': 'str'}, 13578 'name': {'key': 'name', 'type': 'str'}, 13579 'type': {'key': 'type', 'type': 'str'}, 13580 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, 13581 'storage_container_sas_key': {'key': 'properties.storageContainerSasKey', 'type': 'str'}, 13582 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, 13583 'recurring_scans': {'key': 'properties.recurringScans', 'type': 'VulnerabilityAssessmentRecurringScansProperties'}, 13584 } 13585 13586 def __init__( 13587 self, 13588 **kwargs 13589 ): 13590 super(ServerVulnerabilityAssessment, self).__init__(**kwargs) 13591 self.storage_container_path = kwargs.get('storage_container_path', None) 13592 self.storage_container_sas_key = kwargs.get('storage_container_sas_key', None) 13593 self.storage_account_access_key = kwargs.get('storage_account_access_key', None) 13594 self.recurring_scans = kwargs.get('recurring_scans', None) 13595 13596 13597class ServerVulnerabilityAssessmentListResult(msrest.serialization.Model): 13598 """A list of the server's vulnerability assessments. 13599 13600 Variables are only populated by the server, and will be ignored when sending a request. 13601 13602 :ivar value: Array of results. 13603 :vartype value: list[~azure.mgmt.sql.models.ServerVulnerabilityAssessment] 13604 :ivar next_link: Link to retrieve next page of results. 13605 :vartype next_link: str 13606 """ 13607 13608 _validation = { 13609 'value': {'readonly': True}, 13610 'next_link': {'readonly': True}, 13611 } 13612 13613 _attribute_map = { 13614 'value': {'key': 'value', 'type': '[ServerVulnerabilityAssessment]'}, 13615 'next_link': {'key': 'nextLink', 'type': 'str'}, 13616 } 13617 13618 def __init__( 13619 self, 13620 **kwargs 13621 ): 13622 super(ServerVulnerabilityAssessmentListResult, self).__init__(**kwargs) 13623 self.value = None 13624 self.next_link = None 13625 13626 13627class ServiceObjective(ProxyResource): 13628 """Represents a database service objective. 13629 13630 Variables are only populated by the server, and will be ignored when sending a request. 13631 13632 :ivar id: Resource ID. 13633 :vartype id: str 13634 :ivar name: Resource name. 13635 :vartype name: str 13636 :ivar type: Resource type. 13637 :vartype type: str 13638 :ivar service_objective_name: The name for the service objective. 13639 :vartype service_objective_name: str 13640 :ivar is_default: Gets whether the service level objective is the default service objective. 13641 :vartype is_default: bool 13642 :ivar is_system: Gets whether the service level objective is a system service objective. 13643 :vartype is_system: bool 13644 :ivar description: The description for the service level objective. 13645 :vartype description: str 13646 :ivar enabled: Gets whether the service level objective is enabled. 13647 :vartype enabled: bool 13648 """ 13649 13650 _validation = { 13651 'id': {'readonly': True}, 13652 'name': {'readonly': True}, 13653 'type': {'readonly': True}, 13654 'service_objective_name': {'readonly': True}, 13655 'is_default': {'readonly': True}, 13656 'is_system': {'readonly': True}, 13657 'description': {'readonly': True}, 13658 'enabled': {'readonly': True}, 13659 } 13660 13661 _attribute_map = { 13662 'id': {'key': 'id', 'type': 'str'}, 13663 'name': {'key': 'name', 'type': 'str'}, 13664 'type': {'key': 'type', 'type': 'str'}, 13665 'service_objective_name': {'key': 'properties.serviceObjectiveName', 'type': 'str'}, 13666 'is_default': {'key': 'properties.isDefault', 'type': 'bool'}, 13667 'is_system': {'key': 'properties.isSystem', 'type': 'bool'}, 13668 'description': {'key': 'properties.description', 'type': 'str'}, 13669 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 13670 } 13671 13672 def __init__( 13673 self, 13674 **kwargs 13675 ): 13676 super(ServiceObjective, self).__init__(**kwargs) 13677 self.service_objective_name = None 13678 self.is_default = None 13679 self.is_system = None 13680 self.description = None 13681 self.enabled = None 13682 13683 13684class ServiceObjectiveCapability(msrest.serialization.Model): 13685 """The service objectives capability. 13686 13687 Variables are only populated by the server, and will be ignored when sending a request. 13688 13689 :ivar id: The unique ID of the service objective. 13690 :vartype id: str 13691 :ivar name: The service objective name. 13692 :vartype name: str 13693 :ivar supported_max_sizes: The list of supported maximum database sizes. 13694 :vartype supported_max_sizes: list[~azure.mgmt.sql.models.MaxSizeRangeCapability] 13695 :ivar performance_level: The performance level. 13696 :vartype performance_level: ~azure.mgmt.sql.models.PerformanceLevelCapability 13697 :ivar sku: The sku. 13698 :vartype sku: ~azure.mgmt.sql.models.Sku 13699 :ivar supported_license_types: List of supported license types. 13700 :vartype supported_license_types: list[~azure.mgmt.sql.models.LicenseTypeCapability] 13701 :ivar included_max_size: The included (free) max size. 13702 :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability 13703 :ivar zone_redundant: Whether or not zone redundancy is supported for the service objective. 13704 :vartype zone_redundant: bool 13705 :ivar supported_auto_pause_delay: Supported time range for auto pause delay. 13706 :vartype supported_auto_pause_delay: ~azure.mgmt.sql.models.AutoPauseDelayTimeRange 13707 :ivar supported_min_capacities: List of supported min capacities. 13708 :vartype supported_min_capacities: list[~azure.mgmt.sql.models.MinCapacityCapability] 13709 :ivar compute_model: The compute model. 13710 :vartype compute_model: str 13711 :ivar supported_maintenance_configurations: List of supported maintenance configurations. 13712 :vartype supported_maintenance_configurations: 13713 list[~azure.mgmt.sql.models.MaintenanceConfigurationCapability] 13714 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 13715 "Default", "Disabled". 13716 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 13717 :param reason: The reason for the capability not being available. 13718 :type reason: str 13719 """ 13720 13721 _validation = { 13722 'id': {'readonly': True}, 13723 'name': {'readonly': True}, 13724 'supported_max_sizes': {'readonly': True}, 13725 'performance_level': {'readonly': True}, 13726 'sku': {'readonly': True}, 13727 'supported_license_types': {'readonly': True}, 13728 'included_max_size': {'readonly': True}, 13729 'zone_redundant': {'readonly': True}, 13730 'supported_auto_pause_delay': {'readonly': True}, 13731 'supported_min_capacities': {'readonly': True}, 13732 'compute_model': {'readonly': True}, 13733 'supported_maintenance_configurations': {'readonly': True}, 13734 'status': {'readonly': True}, 13735 } 13736 13737 _attribute_map = { 13738 'id': {'key': 'id', 'type': 'str'}, 13739 'name': {'key': 'name', 'type': 'str'}, 13740 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, 13741 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, 13742 'sku': {'key': 'sku', 'type': 'Sku'}, 13743 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, 13744 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, 13745 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, 13746 'supported_auto_pause_delay': {'key': 'supportedAutoPauseDelay', 'type': 'AutoPauseDelayTimeRange'}, 13747 'supported_min_capacities': {'key': 'supportedMinCapacities', 'type': '[MinCapacityCapability]'}, 13748 'compute_model': {'key': 'computeModel', 'type': 'str'}, 13749 'supported_maintenance_configurations': {'key': 'supportedMaintenanceConfigurations', 'type': '[MaintenanceConfigurationCapability]'}, 13750 'status': {'key': 'status', 'type': 'str'}, 13751 'reason': {'key': 'reason', 'type': 'str'}, 13752 } 13753 13754 def __init__( 13755 self, 13756 **kwargs 13757 ): 13758 super(ServiceObjectiveCapability, self).__init__(**kwargs) 13759 self.id = None 13760 self.name = None 13761 self.supported_max_sizes = None 13762 self.performance_level = None 13763 self.sku = None 13764 self.supported_license_types = None 13765 self.included_max_size = None 13766 self.zone_redundant = None 13767 self.supported_auto_pause_delay = None 13768 self.supported_min_capacities = None 13769 self.compute_model = None 13770 self.supported_maintenance_configurations = None 13771 self.status = None 13772 self.reason = kwargs.get('reason', None) 13773 13774 13775class ServiceObjectiveListResult(msrest.serialization.Model): 13776 """Represents the response to a get database service objectives request. 13777 13778 All required parameters must be populated in order to send to Azure. 13779 13780 :param value: Required. The list of database service objectives. 13781 :type value: list[~azure.mgmt.sql.models.ServiceObjective] 13782 """ 13783 13784 _validation = { 13785 'value': {'required': True}, 13786 } 13787 13788 _attribute_map = { 13789 'value': {'key': 'value', 'type': '[ServiceObjective]'}, 13790 } 13791 13792 def __init__( 13793 self, 13794 **kwargs 13795 ): 13796 super(ServiceObjectiveListResult, self).__init__(**kwargs) 13797 self.value = kwargs['value'] 13798 13799 13800class Sku(msrest.serialization.Model): 13801 """An ARM Resource SKU. 13802 13803 All required parameters must be populated in order to send to Azure. 13804 13805 :param name: Required. The name of the SKU, typically, a letter + Number code, e.g. P3. 13806 :type name: str 13807 :param tier: The tier or edition of the particular SKU, e.g. Basic, Premium. 13808 :type tier: str 13809 :param size: Size of the particular SKU. 13810 :type size: str 13811 :param family: If the service has different generations of hardware, for the same SKU, then 13812 that can be captured here. 13813 :type family: str 13814 :param capacity: Capacity of the particular SKU. 13815 :type capacity: int 13816 """ 13817 13818 _validation = { 13819 'name': {'required': True}, 13820 } 13821 13822 _attribute_map = { 13823 'name': {'key': 'name', 'type': 'str'}, 13824 'tier': {'key': 'tier', 'type': 'str'}, 13825 'size': {'key': 'size', 'type': 'str'}, 13826 'family': {'key': 'family', 'type': 'str'}, 13827 'capacity': {'key': 'capacity', 'type': 'int'}, 13828 } 13829 13830 def __init__( 13831 self, 13832 **kwargs 13833 ): 13834 super(Sku, self).__init__(**kwargs) 13835 self.name = kwargs['name'] 13836 self.tier = kwargs.get('tier', None) 13837 self.size = kwargs.get('size', None) 13838 self.family = kwargs.get('family', None) 13839 self.capacity = kwargs.get('capacity', None) 13840 13841 13842class SloUsageMetric(msrest.serialization.Model): 13843 """A Slo Usage Metric. 13844 13845 Variables are only populated by the server, and will be ignored when sending a request. 13846 13847 :ivar service_level_objective: The serviceLevelObjective for SLO usage metric. Possible values 13848 include: "System", "System0", "System1", "System2", "System3", "System4", "System2L", 13849 "System3L", "System4L", "Free", "Basic", "S0", "S1", "S2", "S3", "S4", "S6", "S7", "S9", "S12", 13850 "P1", "P2", "P3", "P4", "P6", "P11", "P15", "PRS1", "PRS2", "PRS4", "PRS6", "DW100", "DW200", 13851 "DW300", "DW400", "DW500", "DW600", "DW1000", "DW1200", "DW1000c", "DW1500", "DW1500c", 13852 "DW2000", "DW2000c", "DW3000", "DW2500c", "DW3000c", "DW6000", "DW5000c", "DW6000c", "DW7500c", 13853 "DW10000c", "DW15000c", "DW30000c", "DS100", "DS200", "DS300", "DS400", "DS500", "DS600", 13854 "DS1000", "DS1200", "DS1500", "DS2000", "ElasticPool". 13855 :vartype service_level_objective: str or ~azure.mgmt.sql.models.ServiceObjectiveName 13856 :ivar service_level_objective_id: The serviceLevelObjectiveId for SLO usage metric. 13857 :vartype service_level_objective_id: str 13858 :ivar in_range_time_ratio: Gets or sets inRangeTimeRatio for SLO usage metric. 13859 :vartype in_range_time_ratio: float 13860 """ 13861 13862 _validation = { 13863 'service_level_objective': {'readonly': True}, 13864 'service_level_objective_id': {'readonly': True}, 13865 'in_range_time_ratio': {'readonly': True}, 13866 } 13867 13868 _attribute_map = { 13869 'service_level_objective': {'key': 'serviceLevelObjective', 'type': 'str'}, 13870 'service_level_objective_id': {'key': 'serviceLevelObjectiveId', 'type': 'str'}, 13871 'in_range_time_ratio': {'key': 'inRangeTimeRatio', 'type': 'float'}, 13872 } 13873 13874 def __init__( 13875 self, 13876 **kwargs 13877 ): 13878 super(SloUsageMetric, self).__init__(**kwargs) 13879 self.service_level_objective = None 13880 self.service_level_objective_id = None 13881 self.in_range_time_ratio = None 13882 13883 13884class SqlAgentConfiguration(ProxyResource): 13885 """A recoverable managed database resource. 13886 13887 Variables are only populated by the server, and will be ignored when sending a request. 13888 13889 :ivar id: Resource ID. 13890 :vartype id: str 13891 :ivar name: Resource name. 13892 :vartype name: str 13893 :ivar type: Resource type. 13894 :vartype type: str 13895 :param state: The state of Sql Agent. Possible values include: "Enabled", "Disabled". 13896 :type state: str or ~azure.mgmt.sql.models.SqlAgentConfigurationPropertiesState 13897 """ 13898 13899 _validation = { 13900 'id': {'readonly': True}, 13901 'name': {'readonly': True}, 13902 'type': {'readonly': True}, 13903 } 13904 13905 _attribute_map = { 13906 'id': {'key': 'id', 'type': 'str'}, 13907 'name': {'key': 'name', 'type': 'str'}, 13908 'type': {'key': 'type', 'type': 'str'}, 13909 'state': {'key': 'properties.state', 'type': 'str'}, 13910 } 13911 13912 def __init__( 13913 self, 13914 **kwargs 13915 ): 13916 super(SqlAgentConfiguration, self).__init__(**kwargs) 13917 self.state = kwargs.get('state', None) 13918 13919 13920class StorageCapability(msrest.serialization.Model): 13921 """The storage account type capability. 13922 13923 Variables are only populated by the server, and will be ignored when sending a request. 13924 13925 :ivar storage_account_type: The storage account type for the database's backups. Possible 13926 values include: "GRS", "LRS", "ZRS". 13927 :vartype storage_account_type: str or 13928 ~azure.mgmt.sql.models.StorageCapabilityStorageAccountType 13929 :ivar status: The status of the capability. Possible values include: "Visible", "Available", 13930 "Default", "Disabled". 13931 :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus 13932 :param reason: The reason for the capability not being available. 13933 :type reason: str 13934 """ 13935 13936 _validation = { 13937 'storage_account_type': {'readonly': True}, 13938 'status': {'readonly': True}, 13939 } 13940 13941 _attribute_map = { 13942 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 13943 'status': {'key': 'status', 'type': 'str'}, 13944 'reason': {'key': 'reason', 'type': 'str'}, 13945 } 13946 13947 def __init__( 13948 self, 13949 **kwargs 13950 ): 13951 super(StorageCapability, self).__init__(**kwargs) 13952 self.storage_account_type = None 13953 self.status = None 13954 self.reason = kwargs.get('reason', None) 13955 13956 13957class SubscriptionUsage(ProxyResource): 13958 """Usage Metric of a Subscription in a Location. 13959 13960 Variables are only populated by the server, and will be ignored when sending a request. 13961 13962 :ivar id: Resource ID. 13963 :vartype id: str 13964 :ivar name: Resource name. 13965 :vartype name: str 13966 :ivar type: Resource type. 13967 :vartype type: str 13968 :ivar display_name: User-readable name of the metric. 13969 :vartype display_name: str 13970 :ivar current_value: Current value of the metric. 13971 :vartype current_value: float 13972 :ivar limit: Boundary value of the metric. 13973 :vartype limit: float 13974 :ivar unit: Unit of the metric. 13975 :vartype unit: str 13976 """ 13977 13978 _validation = { 13979 'id': {'readonly': True}, 13980 'name': {'readonly': True}, 13981 'type': {'readonly': True}, 13982 'display_name': {'readonly': True}, 13983 'current_value': {'readonly': True}, 13984 'limit': {'readonly': True}, 13985 'unit': {'readonly': True}, 13986 } 13987 13988 _attribute_map = { 13989 'id': {'key': 'id', 'type': 'str'}, 13990 'name': {'key': 'name', 'type': 'str'}, 13991 'type': {'key': 'type', 'type': 'str'}, 13992 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 13993 'current_value': {'key': 'properties.currentValue', 'type': 'float'}, 13994 'limit': {'key': 'properties.limit', 'type': 'float'}, 13995 'unit': {'key': 'properties.unit', 'type': 'str'}, 13996 } 13997 13998 def __init__( 13999 self, 14000 **kwargs 14001 ): 14002 super(SubscriptionUsage, self).__init__(**kwargs) 14003 self.display_name = None 14004 self.current_value = None 14005 self.limit = None 14006 self.unit = None 14007 14008 14009class SubscriptionUsageListResult(msrest.serialization.Model): 14010 """A list of subscription usage metrics in a location. 14011 14012 Variables are only populated by the server, and will be ignored when sending a request. 14013 14014 :ivar value: Array of results. 14015 :vartype value: list[~azure.mgmt.sql.models.SubscriptionUsage] 14016 :ivar next_link: Link to retrieve next page of results. 14017 :vartype next_link: str 14018 """ 14019 14020 _validation = { 14021 'value': {'readonly': True}, 14022 'next_link': {'readonly': True}, 14023 } 14024 14025 _attribute_map = { 14026 'value': {'key': 'value', 'type': '[SubscriptionUsage]'}, 14027 'next_link': {'key': 'nextLink', 'type': 'str'}, 14028 } 14029 14030 def __init__( 14031 self, 14032 **kwargs 14033 ): 14034 super(SubscriptionUsageListResult, self).__init__(**kwargs) 14035 self.value = None 14036 self.next_link = None 14037 14038 14039class SyncAgent(ProxyResource): 14040 """An Azure SQL Database sync agent. 14041 14042 Variables are only populated by the server, and will be ignored when sending a request. 14043 14044 :ivar id: Resource ID. 14045 :vartype id: str 14046 :ivar name: Resource name. 14047 :vartype name: str 14048 :ivar type: Resource type. 14049 :vartype type: str 14050 :ivar name_properties_name: Name of the sync agent. 14051 :vartype name_properties_name: str 14052 :param sync_database_id: ARM resource id of the sync database in the sync agent. 14053 :type sync_database_id: str 14054 :ivar last_alive_time: Last alive time of the sync agent. 14055 :vartype last_alive_time: ~datetime.datetime 14056 :ivar state: State of the sync agent. Possible values include: "Online", "Offline", 14057 "NeverConnected". 14058 :vartype state: str or ~azure.mgmt.sql.models.SyncAgentState 14059 :ivar is_up_to_date: If the sync agent version is up to date. 14060 :vartype is_up_to_date: bool 14061 :ivar expiry_time: Expiration time of the sync agent version. 14062 :vartype expiry_time: ~datetime.datetime 14063 :ivar version: Version of the sync agent. 14064 :vartype version: str 14065 """ 14066 14067 _validation = { 14068 'id': {'readonly': True}, 14069 'name': {'readonly': True}, 14070 'type': {'readonly': True}, 14071 'name_properties_name': {'readonly': True}, 14072 'last_alive_time': {'readonly': True}, 14073 'state': {'readonly': True}, 14074 'is_up_to_date': {'readonly': True}, 14075 'expiry_time': {'readonly': True}, 14076 'version': {'readonly': True}, 14077 } 14078 14079 _attribute_map = { 14080 'id': {'key': 'id', 'type': 'str'}, 14081 'name': {'key': 'name', 'type': 'str'}, 14082 'type': {'key': 'type', 'type': 'str'}, 14083 'name_properties_name': {'key': 'properties.name', 'type': 'str'}, 14084 'sync_database_id': {'key': 'properties.syncDatabaseId', 'type': 'str'}, 14085 'last_alive_time': {'key': 'properties.lastAliveTime', 'type': 'iso-8601'}, 14086 'state': {'key': 'properties.state', 'type': 'str'}, 14087 'is_up_to_date': {'key': 'properties.isUpToDate', 'type': 'bool'}, 14088 'expiry_time': {'key': 'properties.expiryTime', 'type': 'iso-8601'}, 14089 'version': {'key': 'properties.version', 'type': 'str'}, 14090 } 14091 14092 def __init__( 14093 self, 14094 **kwargs 14095 ): 14096 super(SyncAgent, self).__init__(**kwargs) 14097 self.name_properties_name = None 14098 self.sync_database_id = kwargs.get('sync_database_id', None) 14099 self.last_alive_time = None 14100 self.state = None 14101 self.is_up_to_date = None 14102 self.expiry_time = None 14103 self.version = None 14104 14105 14106class SyncAgentKeyProperties(msrest.serialization.Model): 14107 """Properties of an Azure SQL Database sync agent key. 14108 14109 Variables are only populated by the server, and will be ignored when sending a request. 14110 14111 :ivar sync_agent_key: Key of sync agent. 14112 :vartype sync_agent_key: str 14113 """ 14114 14115 _validation = { 14116 'sync_agent_key': {'readonly': True}, 14117 } 14118 14119 _attribute_map = { 14120 'sync_agent_key': {'key': 'syncAgentKey', 'type': 'str'}, 14121 } 14122 14123 def __init__( 14124 self, 14125 **kwargs 14126 ): 14127 super(SyncAgentKeyProperties, self).__init__(**kwargs) 14128 self.sync_agent_key = None 14129 14130 14131class SyncAgentLinkedDatabase(ProxyResource): 14132 """An Azure SQL Database sync agent linked database. 14133 14134 Variables are only populated by the server, and will be ignored when sending a request. 14135 14136 :ivar id: Resource ID. 14137 :vartype id: str 14138 :ivar name: Resource name. 14139 :vartype name: str 14140 :ivar type: Resource type. 14141 :vartype type: str 14142 :ivar database_type: Type of the sync agent linked database. Possible values include: 14143 "AzureSqlDatabase", "SqlServerDatabase". 14144 :vartype database_type: str or ~azure.mgmt.sql.models.SyncMemberDbType 14145 :ivar database_id: Id of the sync agent linked database. 14146 :vartype database_id: str 14147 :ivar description: Description of the sync agent linked database. 14148 :vartype description: str 14149 :ivar server_name: Server name of the sync agent linked database. 14150 :vartype server_name: str 14151 :ivar database_name: Database name of the sync agent linked database. 14152 :vartype database_name: str 14153 :ivar user_name: User name of the sync agent linked database. 14154 :vartype user_name: str 14155 """ 14156 14157 _validation = { 14158 'id': {'readonly': True}, 14159 'name': {'readonly': True}, 14160 'type': {'readonly': True}, 14161 'database_type': {'readonly': True}, 14162 'database_id': {'readonly': True}, 14163 'description': {'readonly': True}, 14164 'server_name': {'readonly': True}, 14165 'database_name': {'readonly': True}, 14166 'user_name': {'readonly': True}, 14167 } 14168 14169 _attribute_map = { 14170 'id': {'key': 'id', 'type': 'str'}, 14171 'name': {'key': 'name', 'type': 'str'}, 14172 'type': {'key': 'type', 'type': 'str'}, 14173 'database_type': {'key': 'properties.databaseType', 'type': 'str'}, 14174 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, 14175 'description': {'key': 'properties.description', 'type': 'str'}, 14176 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 14177 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 14178 'user_name': {'key': 'properties.userName', 'type': 'str'}, 14179 } 14180 14181 def __init__( 14182 self, 14183 **kwargs 14184 ): 14185 super(SyncAgentLinkedDatabase, self).__init__(**kwargs) 14186 self.database_type = None 14187 self.database_id = None 14188 self.description = None 14189 self.server_name = None 14190 self.database_name = None 14191 self.user_name = None 14192 14193 14194class SyncAgentLinkedDatabaseListResult(msrest.serialization.Model): 14195 """A list of sync agent linked databases. 14196 14197 Variables are only populated by the server, and will be ignored when sending a request. 14198 14199 :ivar value: Array of results. 14200 :vartype value: list[~azure.mgmt.sql.models.SyncAgentLinkedDatabase] 14201 :ivar next_link: Link to retrieve next page of results. 14202 :vartype next_link: str 14203 """ 14204 14205 _validation = { 14206 'value': {'readonly': True}, 14207 'next_link': {'readonly': True}, 14208 } 14209 14210 _attribute_map = { 14211 'value': {'key': 'value', 'type': '[SyncAgentLinkedDatabase]'}, 14212 'next_link': {'key': 'nextLink', 'type': 'str'}, 14213 } 14214 14215 def __init__( 14216 self, 14217 **kwargs 14218 ): 14219 super(SyncAgentLinkedDatabaseListResult, self).__init__(**kwargs) 14220 self.value = None 14221 self.next_link = None 14222 14223 14224class SyncAgentListResult(msrest.serialization.Model): 14225 """A list of sync agents. 14226 14227 Variables are only populated by the server, and will be ignored when sending a request. 14228 14229 :ivar value: Array of results. 14230 :vartype value: list[~azure.mgmt.sql.models.SyncAgent] 14231 :ivar next_link: Link to retrieve next page of results. 14232 :vartype next_link: str 14233 """ 14234 14235 _validation = { 14236 'value': {'readonly': True}, 14237 'next_link': {'readonly': True}, 14238 } 14239 14240 _attribute_map = { 14241 'value': {'key': 'value', 'type': '[SyncAgent]'}, 14242 'next_link': {'key': 'nextLink', 'type': 'str'}, 14243 } 14244 14245 def __init__( 14246 self, 14247 **kwargs 14248 ): 14249 super(SyncAgentListResult, self).__init__(**kwargs) 14250 self.value = None 14251 self.next_link = None 14252 14253 14254class SyncDatabaseIdListResult(msrest.serialization.Model): 14255 """A list of sync database ID properties. 14256 14257 Variables are only populated by the server, and will be ignored when sending a request. 14258 14259 :ivar value: Array of results. 14260 :vartype value: list[~azure.mgmt.sql.models.SyncDatabaseIdProperties] 14261 :ivar next_link: Link to retrieve next page of results. 14262 :vartype next_link: str 14263 """ 14264 14265 _validation = { 14266 'value': {'readonly': True}, 14267 'next_link': {'readonly': True}, 14268 } 14269 14270 _attribute_map = { 14271 'value': {'key': 'value', 'type': '[SyncDatabaseIdProperties]'}, 14272 'next_link': {'key': 'nextLink', 'type': 'str'}, 14273 } 14274 14275 def __init__( 14276 self, 14277 **kwargs 14278 ): 14279 super(SyncDatabaseIdListResult, self).__init__(**kwargs) 14280 self.value = None 14281 self.next_link = None 14282 14283 14284class SyncDatabaseIdProperties(msrest.serialization.Model): 14285 """Properties of the sync database id. 14286 14287 Variables are only populated by the server, and will be ignored when sending a request. 14288 14289 :ivar id: ARM resource id of sync database. 14290 :vartype id: str 14291 """ 14292 14293 _validation = { 14294 'id': {'readonly': True}, 14295 } 14296 14297 _attribute_map = { 14298 'id': {'key': 'id', 'type': 'str'}, 14299 } 14300 14301 def __init__( 14302 self, 14303 **kwargs 14304 ): 14305 super(SyncDatabaseIdProperties, self).__init__(**kwargs) 14306 self.id = None 14307 14308 14309class SyncFullSchemaProperties(msrest.serialization.Model): 14310 """Properties of the database full schema. 14311 14312 Variables are only populated by the server, and will be ignored when sending a request. 14313 14314 :ivar tables: List of tables in the database full schema. 14315 :vartype tables: list[~azure.mgmt.sql.models.SyncFullSchemaTable] 14316 :ivar last_update_time: Last update time of the database schema. 14317 :vartype last_update_time: ~datetime.datetime 14318 """ 14319 14320 _validation = { 14321 'tables': {'readonly': True}, 14322 'last_update_time': {'readonly': True}, 14323 } 14324 14325 _attribute_map = { 14326 'tables': {'key': 'tables', 'type': '[SyncFullSchemaTable]'}, 14327 'last_update_time': {'key': 'lastUpdateTime', 'type': 'iso-8601'}, 14328 } 14329 14330 def __init__( 14331 self, 14332 **kwargs 14333 ): 14334 super(SyncFullSchemaProperties, self).__init__(**kwargs) 14335 self.tables = None 14336 self.last_update_time = None 14337 14338 14339class SyncFullSchemaPropertiesListResult(msrest.serialization.Model): 14340 """A list of sync schema properties. 14341 14342 Variables are only populated by the server, and will be ignored when sending a request. 14343 14344 :ivar value: Array of results. 14345 :vartype value: list[~azure.mgmt.sql.models.SyncFullSchemaProperties] 14346 :ivar next_link: Link to retrieve next page of results. 14347 :vartype next_link: str 14348 """ 14349 14350 _validation = { 14351 'value': {'readonly': True}, 14352 'next_link': {'readonly': True}, 14353 } 14354 14355 _attribute_map = { 14356 'value': {'key': 'value', 'type': '[SyncFullSchemaProperties]'}, 14357 'next_link': {'key': 'nextLink', 'type': 'str'}, 14358 } 14359 14360 def __init__( 14361 self, 14362 **kwargs 14363 ): 14364 super(SyncFullSchemaPropertiesListResult, self).__init__(**kwargs) 14365 self.value = None 14366 self.next_link = None 14367 14368 14369class SyncFullSchemaTable(msrest.serialization.Model): 14370 """Properties of the table in the database full schema. 14371 14372 Variables are only populated by the server, and will be ignored when sending a request. 14373 14374 :ivar columns: List of columns in the table of database full schema. 14375 :vartype columns: list[~azure.mgmt.sql.models.SyncFullSchemaTableColumn] 14376 :ivar error_id: Error id of the table. 14377 :vartype error_id: str 14378 :ivar has_error: If there is error in the table. 14379 :vartype has_error: bool 14380 :ivar name: Name of the table. 14381 :vartype name: str 14382 :ivar quoted_name: Quoted name of the table. 14383 :vartype quoted_name: str 14384 """ 14385 14386 _validation = { 14387 'columns': {'readonly': True}, 14388 'error_id': {'readonly': True}, 14389 'has_error': {'readonly': True}, 14390 'name': {'readonly': True}, 14391 'quoted_name': {'readonly': True}, 14392 } 14393 14394 _attribute_map = { 14395 'columns': {'key': 'columns', 'type': '[SyncFullSchemaTableColumn]'}, 14396 'error_id': {'key': 'errorId', 'type': 'str'}, 14397 'has_error': {'key': 'hasError', 'type': 'bool'}, 14398 'name': {'key': 'name', 'type': 'str'}, 14399 'quoted_name': {'key': 'quotedName', 'type': 'str'}, 14400 } 14401 14402 def __init__( 14403 self, 14404 **kwargs 14405 ): 14406 super(SyncFullSchemaTable, self).__init__(**kwargs) 14407 self.columns = None 14408 self.error_id = None 14409 self.has_error = None 14410 self.name = None 14411 self.quoted_name = None 14412 14413 14414class SyncFullSchemaTableColumn(msrest.serialization.Model): 14415 """Properties of the column in the table of database full schema. 14416 14417 Variables are only populated by the server, and will be ignored when sending a request. 14418 14419 :ivar data_size: Data size of the column. 14420 :vartype data_size: str 14421 :ivar data_type: Data type of the column. 14422 :vartype data_type: str 14423 :ivar error_id: Error id of the column. 14424 :vartype error_id: str 14425 :ivar has_error: If there is error in the table. 14426 :vartype has_error: bool 14427 :ivar is_primary_key: If it is the primary key of the table. 14428 :vartype is_primary_key: bool 14429 :ivar name: Name of the column. 14430 :vartype name: str 14431 :ivar quoted_name: Quoted name of the column. 14432 :vartype quoted_name: str 14433 """ 14434 14435 _validation = { 14436 'data_size': {'readonly': True}, 14437 'data_type': {'readonly': True}, 14438 'error_id': {'readonly': True}, 14439 'has_error': {'readonly': True}, 14440 'is_primary_key': {'readonly': True}, 14441 'name': {'readonly': True}, 14442 'quoted_name': {'readonly': True}, 14443 } 14444 14445 _attribute_map = { 14446 'data_size': {'key': 'dataSize', 'type': 'str'}, 14447 'data_type': {'key': 'dataType', 'type': 'str'}, 14448 'error_id': {'key': 'errorId', 'type': 'str'}, 14449 'has_error': {'key': 'hasError', 'type': 'bool'}, 14450 'is_primary_key': {'key': 'isPrimaryKey', 'type': 'bool'}, 14451 'name': {'key': 'name', 'type': 'str'}, 14452 'quoted_name': {'key': 'quotedName', 'type': 'str'}, 14453 } 14454 14455 def __init__( 14456 self, 14457 **kwargs 14458 ): 14459 super(SyncFullSchemaTableColumn, self).__init__(**kwargs) 14460 self.data_size = None 14461 self.data_type = None 14462 self.error_id = None 14463 self.has_error = None 14464 self.is_primary_key = None 14465 self.name = None 14466 self.quoted_name = None 14467 14468 14469class SyncGroup(ProxyResource): 14470 """An Azure SQL Database sync group. 14471 14472 Variables are only populated by the server, and will be ignored when sending a request. 14473 14474 :ivar id: Resource ID. 14475 :vartype id: str 14476 :ivar name: Resource name. 14477 :vartype name: str 14478 :ivar type: Resource type. 14479 :vartype type: str 14480 :param sku: The name and capacity of the SKU. 14481 :type sku: ~azure.mgmt.sql.models.Sku 14482 :param interval: Sync interval of the sync group. 14483 :type interval: int 14484 :ivar last_sync_time: Last sync time of the sync group. 14485 :vartype last_sync_time: ~datetime.datetime 14486 :param conflict_resolution_policy: Conflict resolution policy of the sync group. Possible 14487 values include: "HubWin", "MemberWin". 14488 :type conflict_resolution_policy: str or ~azure.mgmt.sql.models.SyncConflictResolutionPolicy 14489 :param sync_database_id: ARM resource id of the sync database in the sync group. 14490 :type sync_database_id: str 14491 :param hub_database_user_name: User name for the sync group hub database credential. 14492 :type hub_database_user_name: str 14493 :param hub_database_password: Password for the sync group hub database credential. 14494 :type hub_database_password: str 14495 :ivar sync_state: Sync state of the sync group. Possible values include: "NotReady", "Error", 14496 "Warning", "Progressing", "Good". 14497 :vartype sync_state: str or ~azure.mgmt.sql.models.SyncGroupState 14498 :param schema: Sync schema of the sync group. 14499 :type schema: ~azure.mgmt.sql.models.SyncGroupSchema 14500 :param enable_conflict_logging: If conflict logging is enabled. 14501 :type enable_conflict_logging: bool 14502 :param conflict_logging_retention_in_days: Conflict logging retention period. 14503 :type conflict_logging_retention_in_days: int 14504 :param use_private_link_connection: If use private link connection is enabled. 14505 :type use_private_link_connection: bool 14506 :ivar private_endpoint_name: Private endpoint name of the sync group if use private link 14507 connection is enabled. 14508 :vartype private_endpoint_name: str 14509 """ 14510 14511 _validation = { 14512 'id': {'readonly': True}, 14513 'name': {'readonly': True}, 14514 'type': {'readonly': True}, 14515 'last_sync_time': {'readonly': True}, 14516 'sync_state': {'readonly': True}, 14517 'private_endpoint_name': {'readonly': True}, 14518 } 14519 14520 _attribute_map = { 14521 'id': {'key': 'id', 'type': 'str'}, 14522 'name': {'key': 'name', 'type': 'str'}, 14523 'type': {'key': 'type', 'type': 'str'}, 14524 'sku': {'key': 'sku', 'type': 'Sku'}, 14525 'interval': {'key': 'properties.interval', 'type': 'int'}, 14526 'last_sync_time': {'key': 'properties.lastSyncTime', 'type': 'iso-8601'}, 14527 'conflict_resolution_policy': {'key': 'properties.conflictResolutionPolicy', 'type': 'str'}, 14528 'sync_database_id': {'key': 'properties.syncDatabaseId', 'type': 'str'}, 14529 'hub_database_user_name': {'key': 'properties.hubDatabaseUserName', 'type': 'str'}, 14530 'hub_database_password': {'key': 'properties.hubDatabasePassword', 'type': 'str'}, 14531 'sync_state': {'key': 'properties.syncState', 'type': 'str'}, 14532 'schema': {'key': 'properties.schema', 'type': 'SyncGroupSchema'}, 14533 'enable_conflict_logging': {'key': 'properties.enableConflictLogging', 'type': 'bool'}, 14534 'conflict_logging_retention_in_days': {'key': 'properties.conflictLoggingRetentionInDays', 'type': 'int'}, 14535 'use_private_link_connection': {'key': 'properties.usePrivateLinkConnection', 'type': 'bool'}, 14536 'private_endpoint_name': {'key': 'properties.privateEndpointName', 'type': 'str'}, 14537 } 14538 14539 def __init__( 14540 self, 14541 **kwargs 14542 ): 14543 super(SyncGroup, self).__init__(**kwargs) 14544 self.sku = kwargs.get('sku', None) 14545 self.interval = kwargs.get('interval', None) 14546 self.last_sync_time = None 14547 self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) 14548 self.sync_database_id = kwargs.get('sync_database_id', None) 14549 self.hub_database_user_name = kwargs.get('hub_database_user_name', None) 14550 self.hub_database_password = kwargs.get('hub_database_password', None) 14551 self.sync_state = None 14552 self.schema = kwargs.get('schema', None) 14553 self.enable_conflict_logging = kwargs.get('enable_conflict_logging', None) 14554 self.conflict_logging_retention_in_days = kwargs.get('conflict_logging_retention_in_days', None) 14555 self.use_private_link_connection = kwargs.get('use_private_link_connection', None) 14556 self.private_endpoint_name = None 14557 14558 14559class SyncGroupListResult(msrest.serialization.Model): 14560 """A list of sync groups. 14561 14562 Variables are only populated by the server, and will be ignored when sending a request. 14563 14564 :ivar value: Array of results. 14565 :vartype value: list[~azure.mgmt.sql.models.SyncGroup] 14566 :ivar next_link: Link to retrieve next page of results. 14567 :vartype next_link: str 14568 """ 14569 14570 _validation = { 14571 'value': {'readonly': True}, 14572 'next_link': {'readonly': True}, 14573 } 14574 14575 _attribute_map = { 14576 'value': {'key': 'value', 'type': '[SyncGroup]'}, 14577 'next_link': {'key': 'nextLink', 'type': 'str'}, 14578 } 14579 14580 def __init__( 14581 self, 14582 **kwargs 14583 ): 14584 super(SyncGroupListResult, self).__init__(**kwargs) 14585 self.value = None 14586 self.next_link = None 14587 14588 14589class SyncGroupLogListResult(msrest.serialization.Model): 14590 """A list of sync group log properties. 14591 14592 Variables are only populated by the server, and will be ignored when sending a request. 14593 14594 :ivar value: Array of results. 14595 :vartype value: list[~azure.mgmt.sql.models.SyncGroupLogProperties] 14596 :ivar next_link: Link to retrieve next page of results. 14597 :vartype next_link: str 14598 """ 14599 14600 _validation = { 14601 'value': {'readonly': True}, 14602 'next_link': {'readonly': True}, 14603 } 14604 14605 _attribute_map = { 14606 'value': {'key': 'value', 'type': '[SyncGroupLogProperties]'}, 14607 'next_link': {'key': 'nextLink', 'type': 'str'}, 14608 } 14609 14610 def __init__( 14611 self, 14612 **kwargs 14613 ): 14614 super(SyncGroupLogListResult, self).__init__(**kwargs) 14615 self.value = None 14616 self.next_link = None 14617 14618 14619class SyncGroupLogProperties(msrest.serialization.Model): 14620 """Properties of an Azure SQL Database sync group log. 14621 14622 Variables are only populated by the server, and will be ignored when sending a request. 14623 14624 :ivar timestamp: Timestamp of the sync group log. 14625 :vartype timestamp: ~datetime.datetime 14626 :ivar type: Type of the sync group log. Possible values include: "All", "Error", "Warning", 14627 "Success". 14628 :vartype type: str or ~azure.mgmt.sql.models.SyncGroupLogType 14629 :ivar source: Source of the sync group log. 14630 :vartype source: str 14631 :ivar details: Details of the sync group log. 14632 :vartype details: str 14633 :ivar tracing_id: TracingId of the sync group log. 14634 :vartype tracing_id: str 14635 :ivar operation_status: OperationStatus of the sync group log. 14636 :vartype operation_status: str 14637 """ 14638 14639 _validation = { 14640 'timestamp': {'readonly': True}, 14641 'type': {'readonly': True}, 14642 'source': {'readonly': True}, 14643 'details': {'readonly': True}, 14644 'tracing_id': {'readonly': True}, 14645 'operation_status': {'readonly': True}, 14646 } 14647 14648 _attribute_map = { 14649 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 14650 'type': {'key': 'type', 'type': 'str'}, 14651 'source': {'key': 'source', 'type': 'str'}, 14652 'details': {'key': 'details', 'type': 'str'}, 14653 'tracing_id': {'key': 'tracingId', 'type': 'str'}, 14654 'operation_status': {'key': 'operationStatus', 'type': 'str'}, 14655 } 14656 14657 def __init__( 14658 self, 14659 **kwargs 14660 ): 14661 super(SyncGroupLogProperties, self).__init__(**kwargs) 14662 self.timestamp = None 14663 self.type = None 14664 self.source = None 14665 self.details = None 14666 self.tracing_id = None 14667 self.operation_status = None 14668 14669 14670class SyncGroupSchema(msrest.serialization.Model): 14671 """Properties of sync group schema. 14672 14673 :param tables: List of tables in sync group schema. 14674 :type tables: list[~azure.mgmt.sql.models.SyncGroupSchemaTable] 14675 :param master_sync_member_name: Name of master sync member where the schema is from. 14676 :type master_sync_member_name: str 14677 """ 14678 14679 _attribute_map = { 14680 'tables': {'key': 'tables', 'type': '[SyncGroupSchemaTable]'}, 14681 'master_sync_member_name': {'key': 'masterSyncMemberName', 'type': 'str'}, 14682 } 14683 14684 def __init__( 14685 self, 14686 **kwargs 14687 ): 14688 super(SyncGroupSchema, self).__init__(**kwargs) 14689 self.tables = kwargs.get('tables', None) 14690 self.master_sync_member_name = kwargs.get('master_sync_member_name', None) 14691 14692 14693class SyncGroupSchemaTable(msrest.serialization.Model): 14694 """Properties of table in sync group schema. 14695 14696 :param columns: List of columns in sync group schema. 14697 :type columns: list[~azure.mgmt.sql.models.SyncGroupSchemaTableColumn] 14698 :param quoted_name: Quoted name of sync group schema table. 14699 :type quoted_name: str 14700 """ 14701 14702 _attribute_map = { 14703 'columns': {'key': 'columns', 'type': '[SyncGroupSchemaTableColumn]'}, 14704 'quoted_name': {'key': 'quotedName', 'type': 'str'}, 14705 } 14706 14707 def __init__( 14708 self, 14709 **kwargs 14710 ): 14711 super(SyncGroupSchemaTable, self).__init__(**kwargs) 14712 self.columns = kwargs.get('columns', None) 14713 self.quoted_name = kwargs.get('quoted_name', None) 14714 14715 14716class SyncGroupSchemaTableColumn(msrest.serialization.Model): 14717 """Properties of column in sync group table. 14718 14719 :param quoted_name: Quoted name of sync group table column. 14720 :type quoted_name: str 14721 :param data_size: Data size of the column. 14722 :type data_size: str 14723 :param data_type: Data type of the column. 14724 :type data_type: str 14725 """ 14726 14727 _attribute_map = { 14728 'quoted_name': {'key': 'quotedName', 'type': 'str'}, 14729 'data_size': {'key': 'dataSize', 'type': 'str'}, 14730 'data_type': {'key': 'dataType', 'type': 'str'}, 14731 } 14732 14733 def __init__( 14734 self, 14735 **kwargs 14736 ): 14737 super(SyncGroupSchemaTableColumn, self).__init__(**kwargs) 14738 self.quoted_name = kwargs.get('quoted_name', None) 14739 self.data_size = kwargs.get('data_size', None) 14740 self.data_type = kwargs.get('data_type', None) 14741 14742 14743class SyncMember(ProxyResource): 14744 """An Azure SQL Database sync member. 14745 14746 Variables are only populated by the server, and will be ignored when sending a request. 14747 14748 :ivar id: Resource ID. 14749 :vartype id: str 14750 :ivar name: Resource name. 14751 :vartype name: str 14752 :ivar type: Resource type. 14753 :vartype type: str 14754 :param database_type: Database type of the sync member. Possible values include: 14755 "AzureSqlDatabase", "SqlServerDatabase". 14756 :type database_type: str or ~azure.mgmt.sql.models.SyncMemberDbType 14757 :param sync_agent_id: ARM resource id of the sync agent in the sync member. 14758 :type sync_agent_id: str 14759 :param sql_server_database_id: SQL Server database id of the sync member. 14760 :type sql_server_database_id: str 14761 :param sync_member_azure_database_resource_id: ARM resource id of the sync member logical 14762 database, for sync members in Azure. 14763 :type sync_member_azure_database_resource_id: str 14764 :param use_private_link_connection: Whether to use private link connection. 14765 :type use_private_link_connection: bool 14766 :ivar private_endpoint_name: Private endpoint name of the sync member if use private link 14767 connection is enabled, for sync members in Azure. 14768 :vartype private_endpoint_name: str 14769 :param server_name: Server name of the member database in the sync member. 14770 :type server_name: str 14771 :param database_name: Database name of the member database in the sync member. 14772 :type database_name: str 14773 :param user_name: User name of the member database in the sync member. 14774 :type user_name: str 14775 :param password: Password of the member database in the sync member. 14776 :type password: str 14777 :param sync_direction: Sync direction of the sync member. Possible values include: 14778 "Bidirectional", "OneWayMemberToHub", "OneWayHubToMember". 14779 :type sync_direction: str or ~azure.mgmt.sql.models.SyncDirection 14780 :ivar sync_state: Sync state of the sync member. Possible values include: "SyncInProgress", 14781 "SyncSucceeded", "SyncFailed", "DisabledTombstoneCleanup", "DisabledBackupRestore", 14782 "SyncSucceededWithWarnings", "SyncCancelling", "SyncCancelled", "UnProvisioned", 14783 "Provisioning", "Provisioned", "ProvisionFailed", "DeProvisioning", "DeProvisioned", 14784 "DeProvisionFailed", "Reprovisioning", "ReprovisionFailed", "UnReprovisioned". 14785 :vartype sync_state: str or ~azure.mgmt.sql.models.SyncMemberState 14786 """ 14787 14788 _validation = { 14789 'id': {'readonly': True}, 14790 'name': {'readonly': True}, 14791 'type': {'readonly': True}, 14792 'private_endpoint_name': {'readonly': True}, 14793 'sync_state': {'readonly': True}, 14794 } 14795 14796 _attribute_map = { 14797 'id': {'key': 'id', 'type': 'str'}, 14798 'name': {'key': 'name', 'type': 'str'}, 14799 'type': {'key': 'type', 'type': 'str'}, 14800 'database_type': {'key': 'properties.databaseType', 'type': 'str'}, 14801 'sync_agent_id': {'key': 'properties.syncAgentId', 'type': 'str'}, 14802 'sql_server_database_id': {'key': 'properties.sqlServerDatabaseId', 'type': 'str'}, 14803 'sync_member_azure_database_resource_id': {'key': 'properties.syncMemberAzureDatabaseResourceId', 'type': 'str'}, 14804 'use_private_link_connection': {'key': 'properties.usePrivateLinkConnection', 'type': 'bool'}, 14805 'private_endpoint_name': {'key': 'properties.privateEndpointName', 'type': 'str'}, 14806 'server_name': {'key': 'properties.serverName', 'type': 'str'}, 14807 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, 14808 'user_name': {'key': 'properties.userName', 'type': 'str'}, 14809 'password': {'key': 'properties.password', 'type': 'str'}, 14810 'sync_direction': {'key': 'properties.syncDirection', 'type': 'str'}, 14811 'sync_state': {'key': 'properties.syncState', 'type': 'str'}, 14812 } 14813 14814 def __init__( 14815 self, 14816 **kwargs 14817 ): 14818 super(SyncMember, self).__init__(**kwargs) 14819 self.database_type = kwargs.get('database_type', None) 14820 self.sync_agent_id = kwargs.get('sync_agent_id', None) 14821 self.sql_server_database_id = kwargs.get('sql_server_database_id', None) 14822 self.sync_member_azure_database_resource_id = kwargs.get('sync_member_azure_database_resource_id', None) 14823 self.use_private_link_connection = kwargs.get('use_private_link_connection', None) 14824 self.private_endpoint_name = None 14825 self.server_name = kwargs.get('server_name', None) 14826 self.database_name = kwargs.get('database_name', None) 14827 self.user_name = kwargs.get('user_name', None) 14828 self.password = kwargs.get('password', None) 14829 self.sync_direction = kwargs.get('sync_direction', None) 14830 self.sync_state = None 14831 14832 14833class SyncMemberListResult(msrest.serialization.Model): 14834 """A list of Azure SQL Database sync members. 14835 14836 Variables are only populated by the server, and will be ignored when sending a request. 14837 14838 :ivar value: Array of results. 14839 :vartype value: list[~azure.mgmt.sql.models.SyncMember] 14840 :ivar next_link: Link to retrieve next page of results. 14841 :vartype next_link: str 14842 """ 14843 14844 _validation = { 14845 'value': {'readonly': True}, 14846 'next_link': {'readonly': True}, 14847 } 14848 14849 _attribute_map = { 14850 'value': {'key': 'value', 'type': '[SyncMember]'}, 14851 'next_link': {'key': 'nextLink', 'type': 'str'}, 14852 } 14853 14854 def __init__( 14855 self, 14856 **kwargs 14857 ): 14858 super(SyncMemberListResult, self).__init__(**kwargs) 14859 self.value = None 14860 self.next_link = None 14861 14862 14863class SystemData(msrest.serialization.Model): 14864 """Metadata pertaining to creation and last modification of the resource. 14865 14866 :param created_by: The identity that created the resource. 14867 :type created_by: str 14868 :param created_by_type: The type of identity that created the resource. Possible values 14869 include: "User", "Application", "ManagedIdentity", "Key". 14870 :type created_by_type: str or ~azure.mgmt.sql.models.CreatedByType 14871 :param created_at: The timestamp of resource creation (UTC). 14872 :type created_at: ~datetime.datetime 14873 :param last_modified_by: The identity that last modified the resource. 14874 :type last_modified_by: str 14875 :param last_modified_by_type: The type of identity that last modified the resource. Possible 14876 values include: "User", "Application", "ManagedIdentity", "Key". 14877 :type last_modified_by_type: str or ~azure.mgmt.sql.models.CreatedByType 14878 :param last_modified_at: The timestamp of resource last modification (UTC). 14879 :type last_modified_at: ~datetime.datetime 14880 """ 14881 14882 _attribute_map = { 14883 'created_by': {'key': 'createdBy', 'type': 'str'}, 14884 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 14885 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 14886 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 14887 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 14888 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 14889 } 14890 14891 def __init__( 14892 self, 14893 **kwargs 14894 ): 14895 super(SystemData, self).__init__(**kwargs) 14896 self.created_by = kwargs.get('created_by', None) 14897 self.created_by_type = kwargs.get('created_by_type', None) 14898 self.created_at = kwargs.get('created_at', None) 14899 self.last_modified_by = kwargs.get('last_modified_by', None) 14900 self.last_modified_by_type = kwargs.get('last_modified_by_type', None) 14901 self.last_modified_at = kwargs.get('last_modified_at', None) 14902 14903 14904class TdeCertificate(ProxyResource): 14905 """A TDE certificate that can be uploaded into a server. 14906 14907 Variables are only populated by the server, and will be ignored when sending a request. 14908 14909 :ivar id: Resource ID. 14910 :vartype id: str 14911 :ivar name: Resource name. 14912 :vartype name: str 14913 :ivar type: Resource type. 14914 :vartype type: str 14915 :param private_blob: The base64 encoded certificate private blob. 14916 :type private_blob: str 14917 :param cert_password: The certificate password. 14918 :type cert_password: str 14919 """ 14920 14921 _validation = { 14922 'id': {'readonly': True}, 14923 'name': {'readonly': True}, 14924 'type': {'readonly': True}, 14925 } 14926 14927 _attribute_map = { 14928 'id': {'key': 'id', 'type': 'str'}, 14929 'name': {'key': 'name', 'type': 'str'}, 14930 'type': {'key': 'type', 'type': 'str'}, 14931 'private_blob': {'key': 'properties.privateBlob', 'type': 'str'}, 14932 'cert_password': {'key': 'properties.certPassword', 'type': 'str'}, 14933 } 14934 14935 def __init__( 14936 self, 14937 **kwargs 14938 ): 14939 super(TdeCertificate, self).__init__(**kwargs) 14940 self.private_blob = kwargs.get('private_blob', None) 14941 self.cert_password = kwargs.get('cert_password', None) 14942 14943 14944class TimeZone(ProxyResource): 14945 """Time Zone. 14946 14947 Variables are only populated by the server, and will be ignored when sending a request. 14948 14949 :ivar id: Resource ID. 14950 :vartype id: str 14951 :ivar name: Resource name. 14952 :vartype name: str 14953 :ivar type: Resource type. 14954 :vartype type: str 14955 :ivar time_zone_id: The time zone id. 14956 :vartype time_zone_id: str 14957 :ivar display_name: The time zone display name. 14958 :vartype display_name: str 14959 """ 14960 14961 _validation = { 14962 'id': {'readonly': True}, 14963 'name': {'readonly': True}, 14964 'type': {'readonly': True}, 14965 'time_zone_id': {'readonly': True}, 14966 'display_name': {'readonly': True}, 14967 } 14968 14969 _attribute_map = { 14970 'id': {'key': 'id', 'type': 'str'}, 14971 'name': {'key': 'name', 'type': 'str'}, 14972 'type': {'key': 'type', 'type': 'str'}, 14973 'time_zone_id': {'key': 'properties.timeZoneId', 'type': 'str'}, 14974 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 14975 } 14976 14977 def __init__( 14978 self, 14979 **kwargs 14980 ): 14981 super(TimeZone, self).__init__(**kwargs) 14982 self.time_zone_id = None 14983 self.display_name = None 14984 14985 14986class TimeZoneListResult(msrest.serialization.Model): 14987 """A list of time zones. 14988 14989 Variables are only populated by the server, and will be ignored when sending a request. 14990 14991 :ivar value: Array of results. 14992 :vartype value: list[~azure.mgmt.sql.models.TimeZone] 14993 :ivar next_link: Link to retrieve next page of results. 14994 :vartype next_link: str 14995 """ 14996 14997 _validation = { 14998 'value': {'readonly': True}, 14999 'next_link': {'readonly': True}, 15000 } 15001 15002 _attribute_map = { 15003 'value': {'key': 'value', 'type': '[TimeZone]'}, 15004 'next_link': {'key': 'nextLink', 'type': 'str'}, 15005 } 15006 15007 def __init__( 15008 self, 15009 **kwargs 15010 ): 15011 super(TimeZoneListResult, self).__init__(**kwargs) 15012 self.value = None 15013 self.next_link = None 15014 15015 15016class TopQueries(msrest.serialization.Model): 15017 """TopQueries. 15018 15019 Variables are only populated by the server, and will be ignored when sending a request. 15020 15021 :ivar number_of_queries: Requested number of top queries. 15022 :vartype number_of_queries: int 15023 :ivar aggregation_function: Aggregation function used to calculate query metrics. 15024 :vartype aggregation_function: str 15025 :ivar observation_metric: Metric used to rank queries. 15026 :vartype observation_metric: str 15027 :ivar interval_type: Interval type (length). Possible values include: "PT1H", "P1D". 15028 :vartype interval_type: str or ~azure.mgmt.sql.models.QueryTimeGrainType 15029 :ivar start_time: The start time for the metric (ISO-8601 format). 15030 :vartype start_time: str 15031 :ivar end_time: The end time for the metric (ISO-8601 format). 15032 :vartype end_time: str 15033 :param queries: List of top resource consuming queries with appropriate metric data. 15034 :type queries: list[~azure.mgmt.sql.models.QueryStatisticsProperties] 15035 """ 15036 15037 _validation = { 15038 'number_of_queries': {'readonly': True}, 15039 'aggregation_function': {'readonly': True}, 15040 'observation_metric': {'readonly': True}, 15041 'interval_type': {'readonly': True}, 15042 'start_time': {'readonly': True}, 15043 'end_time': {'readonly': True}, 15044 } 15045 15046 _attribute_map = { 15047 'number_of_queries': {'key': 'numberOfQueries', 'type': 'int'}, 15048 'aggregation_function': {'key': 'aggregationFunction', 'type': 'str'}, 15049 'observation_metric': {'key': 'observationMetric', 'type': 'str'}, 15050 'interval_type': {'key': 'intervalType', 'type': 'str'}, 15051 'start_time': {'key': 'startTime', 'type': 'str'}, 15052 'end_time': {'key': 'endTime', 'type': 'str'}, 15053 'queries': {'key': 'queries', 'type': '[QueryStatisticsProperties]'}, 15054 } 15055 15056 def __init__( 15057 self, 15058 **kwargs 15059 ): 15060 super(TopQueries, self).__init__(**kwargs) 15061 self.number_of_queries = None 15062 self.aggregation_function = None 15063 self.observation_metric = None 15064 self.interval_type = None 15065 self.start_time = None 15066 self.end_time = None 15067 self.queries = kwargs.get('queries', None) 15068 15069 15070class TopQueriesListResult(msrest.serialization.Model): 15071 """A list of top resource consuming queries on managed instance. 15072 15073 Variables are only populated by the server, and will be ignored when sending a request. 15074 15075 :ivar value: Array of results. 15076 :vartype value: list[~azure.mgmt.sql.models.TopQueries] 15077 :ivar next_link: Link to retrieve next page of results. 15078 :vartype next_link: str 15079 """ 15080 15081 _validation = { 15082 'value': {'readonly': True}, 15083 'next_link': {'readonly': True}, 15084 } 15085 15086 _attribute_map = { 15087 'value': {'key': 'value', 'type': '[TopQueries]'}, 15088 'next_link': {'key': 'nextLink', 'type': 'str'}, 15089 } 15090 15091 def __init__( 15092 self, 15093 **kwargs 15094 ): 15095 super(TopQueriesListResult, self).__init__(**kwargs) 15096 self.value = None 15097 self.next_link = None 15098 15099 15100class TransparentDataEncryption(ProxyResource): 15101 """Represents a database transparent data encryption configuration. 15102 15103 Variables are only populated by the server, and will be ignored when sending a request. 15104 15105 :ivar id: Resource ID. 15106 :vartype id: str 15107 :ivar name: Resource name. 15108 :vartype name: str 15109 :ivar type: Resource type. 15110 :vartype type: str 15111 :ivar location: Resource location. 15112 :vartype location: str 15113 :param status: The status of the database transparent data encryption. Possible values include: 15114 "Enabled", "Disabled". 15115 :type status: str or ~azure.mgmt.sql.models.TransparentDataEncryptionStatus 15116 """ 15117 15118 _validation = { 15119 'id': {'readonly': True}, 15120 'name': {'readonly': True}, 15121 'type': {'readonly': True}, 15122 'location': {'readonly': True}, 15123 } 15124 15125 _attribute_map = { 15126 'id': {'key': 'id', 'type': 'str'}, 15127 'name': {'key': 'name', 'type': 'str'}, 15128 'type': {'key': 'type', 'type': 'str'}, 15129 'location': {'key': 'location', 'type': 'str'}, 15130 'status': {'key': 'properties.status', 'type': 'str'}, 15131 } 15132 15133 def __init__( 15134 self, 15135 **kwargs 15136 ): 15137 super(TransparentDataEncryption, self).__init__(**kwargs) 15138 self.location = None 15139 self.status = kwargs.get('status', None) 15140 15141 15142class TransparentDataEncryptionActivity(ProxyResource): 15143 """Represents a database transparent data encryption Scan. 15144 15145 Variables are only populated by the server, and will be ignored when sending a request. 15146 15147 :ivar id: Resource ID. 15148 :vartype id: str 15149 :ivar name: Resource name. 15150 :vartype name: str 15151 :ivar type: Resource type. 15152 :vartype type: str 15153 :ivar location: Resource location. 15154 :vartype location: str 15155 :ivar status: The status of the database. Possible values include: "Encrypting", "Decrypting". 15156 :vartype status: str or ~azure.mgmt.sql.models.TransparentDataEncryptionActivityStatus 15157 :ivar percent_complete: The percent complete of the transparent data encryption scan for a 15158 database. 15159 :vartype percent_complete: float 15160 """ 15161 15162 _validation = { 15163 'id': {'readonly': True}, 15164 'name': {'readonly': True}, 15165 'type': {'readonly': True}, 15166 'location': {'readonly': True}, 15167 'status': {'readonly': True}, 15168 'percent_complete': {'readonly': True}, 15169 } 15170 15171 _attribute_map = { 15172 'id': {'key': 'id', 'type': 'str'}, 15173 'name': {'key': 'name', 'type': 'str'}, 15174 'type': {'key': 'type', 'type': 'str'}, 15175 'location': {'key': 'location', 'type': 'str'}, 15176 'status': {'key': 'properties.status', 'type': 'str'}, 15177 'percent_complete': {'key': 'properties.percentComplete', 'type': 'float'}, 15178 } 15179 15180 def __init__( 15181 self, 15182 **kwargs 15183 ): 15184 super(TransparentDataEncryptionActivity, self).__init__(**kwargs) 15185 self.location = None 15186 self.status = None 15187 self.percent_complete = None 15188 15189 15190class TransparentDataEncryptionActivityListResult(msrest.serialization.Model): 15191 """Represents the response to a list database transparent data encryption activity request. 15192 15193 All required parameters must be populated in order to send to Azure. 15194 15195 :param value: Required. The list of database transparent data encryption activities. 15196 :type value: list[~azure.mgmt.sql.models.TransparentDataEncryptionActivity] 15197 """ 15198 15199 _validation = { 15200 'value': {'required': True}, 15201 } 15202 15203 _attribute_map = { 15204 'value': {'key': 'value', 'type': '[TransparentDataEncryptionActivity]'}, 15205 } 15206 15207 def __init__( 15208 self, 15209 **kwargs 15210 ): 15211 super(TransparentDataEncryptionActivityListResult, self).__init__(**kwargs) 15212 self.value = kwargs['value'] 15213 15214 15215class UnlinkParameters(msrest.serialization.Model): 15216 """Represents the parameters for Unlink Replication Link request. 15217 15218 :param forced_termination: Determines whether link will be terminated in a forced or a friendly 15219 way. 15220 :type forced_termination: bool 15221 """ 15222 15223 _attribute_map = { 15224 'forced_termination': {'key': 'forcedTermination', 'type': 'bool'}, 15225 } 15226 15227 def __init__( 15228 self, 15229 **kwargs 15230 ): 15231 super(UnlinkParameters, self).__init__(**kwargs) 15232 self.forced_termination = kwargs.get('forced_termination', None) 15233 15234 15235class UpdateLongTermRetentionBackupParameters(msrest.serialization.Model): 15236 """Contains the information necessary to perform long term retention backup update operation. 15237 15238 :param requested_backup_storage_redundancy: The storage redundancy type of the copied backup. 15239 Possible values include: "Geo", "Local", "Zone". 15240 :type requested_backup_storage_redundancy: str or 15241 ~azure.mgmt.sql.models.RequestedBackupStorageRedundancy 15242 """ 15243 15244 _attribute_map = { 15245 'requested_backup_storage_redundancy': {'key': 'properties.requestedBackupStorageRedundancy', 'type': 'str'}, 15246 } 15247 15248 def __init__( 15249 self, 15250 **kwargs 15251 ): 15252 super(UpdateLongTermRetentionBackupParameters, self).__init__(**kwargs) 15253 self.requested_backup_storage_redundancy = kwargs.get('requested_backup_storage_redundancy', None) 15254 15255 15256class UpdateManagedInstanceDnsServersOperation(ProxyResource): 15257 """A recoverable managed database resource. 15258 15259 Variables are only populated by the server, and will be ignored when sending a request. 15260 15261 :ivar id: Resource ID. 15262 :vartype id: str 15263 :ivar name: Resource name. 15264 :vartype name: str 15265 :ivar type: Resource type. 15266 :vartype type: str 15267 :ivar status: The status of the DNS refresh operation. Possible values include: "Succeeded", 15268 "Failed". 15269 :vartype status: str or ~azure.mgmt.sql.models.DnsRefreshConfigurationPropertiesStatus 15270 """ 15271 15272 _validation = { 15273 'id': {'readonly': True}, 15274 'name': {'readonly': True}, 15275 'type': {'readonly': True}, 15276 'status': {'readonly': True}, 15277 } 15278 15279 _attribute_map = { 15280 'id': {'key': 'id', 'type': 'str'}, 15281 'name': {'key': 'name', 'type': 'str'}, 15282 'type': {'key': 'type', 'type': 'str'}, 15283 'status': {'key': 'properties.status', 'type': 'str'}, 15284 } 15285 15286 def __init__( 15287 self, 15288 **kwargs 15289 ): 15290 super(UpdateManagedInstanceDnsServersOperation, self).__init__(**kwargs) 15291 self.status = None 15292 15293 15294class UpsertManagedServerOperationParameters(msrest.serialization.Model): 15295 """UpsertManagedServerOperationParameters. 15296 15297 :param family: 15298 :type family: str 15299 :param tier: 15300 :type tier: str 15301 :param v_cores: 15302 :type v_cores: int 15303 :param storage_size_in_gb: 15304 :type storage_size_in_gb: int 15305 """ 15306 15307 _attribute_map = { 15308 'family': {'key': 'family', 'type': 'str'}, 15309 'tier': {'key': 'tier', 'type': 'str'}, 15310 'v_cores': {'key': 'vCores', 'type': 'int'}, 15311 'storage_size_in_gb': {'key': 'storageSizeInGB', 'type': 'int'}, 15312 } 15313 15314 def __init__( 15315 self, 15316 **kwargs 15317 ): 15318 super(UpsertManagedServerOperationParameters, self).__init__(**kwargs) 15319 self.family = kwargs.get('family', None) 15320 self.tier = kwargs.get('tier', None) 15321 self.v_cores = kwargs.get('v_cores', None) 15322 self.storage_size_in_gb = kwargs.get('storage_size_in_gb', None) 15323 15324 15325class UpsertManagedServerOperationStep(msrest.serialization.Model): 15326 """UpsertManagedServerOperationStep. 15327 15328 :param order: 15329 :type order: int 15330 :param name: 15331 :type name: str 15332 :param status: Possible values include: "NotStarted", "InProgress", "SlowedDown", "Completed", 15333 "Failed", "Canceled". 15334 :type status: str or ~azure.mgmt.sql.models.UpsertManagedServerOperationStepStatus 15335 """ 15336 15337 _attribute_map = { 15338 'order': {'key': 'order', 'type': 'int'}, 15339 'name': {'key': 'name', 'type': 'str'}, 15340 'status': {'key': 'status', 'type': 'str'}, 15341 } 15342 15343 def __init__( 15344 self, 15345 **kwargs 15346 ): 15347 super(UpsertManagedServerOperationStep, self).__init__(**kwargs) 15348 self.order = kwargs.get('order', None) 15349 self.name = kwargs.get('name', None) 15350 self.status = kwargs.get('status', None) 15351 15352 15353class Usage(msrest.serialization.Model): 15354 """ARM usage. 15355 15356 Variables are only populated by the server, and will be ignored when sending a request. 15357 15358 :ivar id: Resource ID. 15359 :vartype id: str 15360 :ivar name: Resource name. 15361 :vartype name: ~azure.mgmt.sql.models.Name 15362 :ivar type: Resource type. 15363 :vartype type: str 15364 :ivar unit: Usage unit. 15365 :vartype unit: str 15366 :ivar current_value: Usage current value. 15367 :vartype current_value: int 15368 :ivar limit: Usage limit. 15369 :vartype limit: int 15370 :ivar requested_limit: Usage requested limit. 15371 :vartype requested_limit: int 15372 """ 15373 15374 _validation = { 15375 'id': {'readonly': True}, 15376 'name': {'readonly': True}, 15377 'type': {'readonly': True}, 15378 'unit': {'readonly': True}, 15379 'current_value': {'readonly': True}, 15380 'limit': {'readonly': True}, 15381 'requested_limit': {'readonly': True}, 15382 } 15383 15384 _attribute_map = { 15385 'id': {'key': 'id', 'type': 'str'}, 15386 'name': {'key': 'name', 'type': 'Name'}, 15387 'type': {'key': 'type', 'type': 'str'}, 15388 'unit': {'key': 'unit', 'type': 'str'}, 15389 'current_value': {'key': 'currentValue', 'type': 'int'}, 15390 'limit': {'key': 'limit', 'type': 'int'}, 15391 'requested_limit': {'key': 'requestedLimit', 'type': 'int'}, 15392 } 15393 15394 def __init__( 15395 self, 15396 **kwargs 15397 ): 15398 super(Usage, self).__init__(**kwargs) 15399 self.id = None 15400 self.name = None 15401 self.type = None 15402 self.unit = None 15403 self.current_value = None 15404 self.limit = None 15405 self.requested_limit = None 15406 15407 15408class UsageListResult(msrest.serialization.Model): 15409 """A list of usages. 15410 15411 Variables are only populated by the server, and will be ignored when sending a request. 15412 15413 :ivar value: Array of results. 15414 :vartype value: list[~azure.mgmt.sql.models.Usage] 15415 :ivar next_link: Link to retrieve next page of results. 15416 :vartype next_link: str 15417 """ 15418 15419 _validation = { 15420 'value': {'readonly': True}, 15421 'next_link': {'readonly': True}, 15422 } 15423 15424 _attribute_map = { 15425 'value': {'key': 'value', 'type': '[Usage]'}, 15426 'next_link': {'key': 'nextLink', 'type': 'str'}, 15427 } 15428 15429 def __init__( 15430 self, 15431 **kwargs 15432 ): 15433 super(UsageListResult, self).__init__(**kwargs) 15434 self.value = None 15435 self.next_link = None 15436 15437 15438class UserIdentity(msrest.serialization.Model): 15439 """Azure Active Directory identity configuration for a resource. 15440 15441 Variables are only populated by the server, and will be ignored when sending a request. 15442 15443 :ivar principal_id: The Azure Active Directory principal id. 15444 :vartype principal_id: str 15445 :ivar client_id: The Azure Active Directory client id. 15446 :vartype client_id: str 15447 """ 15448 15449 _validation = { 15450 'principal_id': {'readonly': True}, 15451 'client_id': {'readonly': True}, 15452 } 15453 15454 _attribute_map = { 15455 'principal_id': {'key': 'principalId', 'type': 'str'}, 15456 'client_id': {'key': 'clientId', 'type': 'str'}, 15457 } 15458 15459 def __init__( 15460 self, 15461 **kwargs 15462 ): 15463 super(UserIdentity, self).__init__(**kwargs) 15464 self.principal_id = None 15465 self.client_id = None 15466 15467 15468class VirtualCluster(TrackedResource): 15469 """An Azure SQL virtual cluster. 15470 15471 Variables are only populated by the server, and will be ignored when sending a request. 15472 15473 All required parameters must be populated in order to send to Azure. 15474 15475 :ivar id: Resource ID. 15476 :vartype id: str 15477 :ivar name: Resource name. 15478 :vartype name: str 15479 :ivar type: Resource type. 15480 :vartype type: str 15481 :param location: Required. Resource location. 15482 :type location: str 15483 :param tags: A set of tags. Resource tags. 15484 :type tags: dict[str, str] 15485 :ivar subnet_id: Subnet resource ID for the virtual cluster. 15486 :vartype subnet_id: str 15487 :param family: If the service has different generations of hardware, for the same SKU, then 15488 that can be captured here. 15489 :type family: str 15490 :ivar child_resources: List of resources in this virtual cluster. 15491 :vartype child_resources: list[str] 15492 :param maintenance_configuration_id: Specifies maintenance configuration id to apply to this 15493 virtual cluster. 15494 :type maintenance_configuration_id: str 15495 """ 15496 15497 _validation = { 15498 'id': {'readonly': True}, 15499 'name': {'readonly': True}, 15500 'type': {'readonly': True}, 15501 'location': {'required': True}, 15502 'subnet_id': {'readonly': True}, 15503 'child_resources': {'readonly': True}, 15504 } 15505 15506 _attribute_map = { 15507 'id': {'key': 'id', 'type': 'str'}, 15508 'name': {'key': 'name', 'type': 'str'}, 15509 'type': {'key': 'type', 'type': 'str'}, 15510 'location': {'key': 'location', 'type': 'str'}, 15511 'tags': {'key': 'tags', 'type': '{str}'}, 15512 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, 15513 'family': {'key': 'properties.family', 'type': 'str'}, 15514 'child_resources': {'key': 'properties.childResources', 'type': '[str]'}, 15515 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 15516 } 15517 15518 def __init__( 15519 self, 15520 **kwargs 15521 ): 15522 super(VirtualCluster, self).__init__(**kwargs) 15523 self.subnet_id = None 15524 self.family = kwargs.get('family', None) 15525 self.child_resources = None 15526 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 15527 15528 15529class VirtualClusterListResult(msrest.serialization.Model): 15530 """A list of virtual clusters. 15531 15532 Variables are only populated by the server, and will be ignored when sending a request. 15533 15534 :ivar value: Array of results. 15535 :vartype value: list[~azure.mgmt.sql.models.VirtualCluster] 15536 :ivar next_link: Link to retrieve next page of results. 15537 :vartype next_link: str 15538 """ 15539 15540 _validation = { 15541 'value': {'readonly': True}, 15542 'next_link': {'readonly': True}, 15543 } 15544 15545 _attribute_map = { 15546 'value': {'key': 'value', 'type': '[VirtualCluster]'}, 15547 'next_link': {'key': 'nextLink', 'type': 'str'}, 15548 } 15549 15550 def __init__( 15551 self, 15552 **kwargs 15553 ): 15554 super(VirtualClusterListResult, self).__init__(**kwargs) 15555 self.value = None 15556 self.next_link = None 15557 15558 15559class VirtualClusterUpdate(msrest.serialization.Model): 15560 """An update request for an Azure SQL Database virtual cluster. 15561 15562 Variables are only populated by the server, and will be ignored when sending a request. 15563 15564 :param tags: A set of tags. Resource tags. 15565 :type tags: dict[str, str] 15566 :ivar subnet_id: Subnet resource ID for the virtual cluster. 15567 :vartype subnet_id: str 15568 :param family: If the service has different generations of hardware, for the same SKU, then 15569 that can be captured here. 15570 :type family: str 15571 :ivar child_resources: List of resources in this virtual cluster. 15572 :vartype child_resources: list[str] 15573 :param maintenance_configuration_id: Specifies maintenance configuration id to apply to this 15574 virtual cluster. 15575 :type maintenance_configuration_id: str 15576 """ 15577 15578 _validation = { 15579 'subnet_id': {'readonly': True}, 15580 'child_resources': {'readonly': True}, 15581 } 15582 15583 _attribute_map = { 15584 'tags': {'key': 'tags', 'type': '{str}'}, 15585 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, 15586 'family': {'key': 'properties.family', 'type': 'str'}, 15587 'child_resources': {'key': 'properties.childResources', 'type': '[str]'}, 15588 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 15589 } 15590 15591 def __init__( 15592 self, 15593 **kwargs 15594 ): 15595 super(VirtualClusterUpdate, self).__init__(**kwargs) 15596 self.tags = kwargs.get('tags', None) 15597 self.subnet_id = None 15598 self.family = kwargs.get('family', None) 15599 self.child_resources = None 15600 self.maintenance_configuration_id = kwargs.get('maintenance_configuration_id', None) 15601 15602 15603class VirtualNetworkRule(ProxyResource): 15604 """A virtual network rule. 15605 15606 Variables are only populated by the server, and will be ignored when sending a request. 15607 15608 :ivar id: Resource ID. 15609 :vartype id: str 15610 :ivar name: Resource name. 15611 :vartype name: str 15612 :ivar type: Resource type. 15613 :vartype type: str 15614 :param virtual_network_subnet_id: The ARM resource id of the virtual network subnet. 15615 :type virtual_network_subnet_id: str 15616 :param ignore_missing_vnet_service_endpoint: Create firewall rule before the virtual network 15617 has vnet service endpoint enabled. 15618 :type ignore_missing_vnet_service_endpoint: bool 15619 :ivar state: Virtual Network Rule State. Possible values include: "Initializing", "InProgress", 15620 "Ready", "Failed", "Deleting", "Unknown". 15621 :vartype state: str or ~azure.mgmt.sql.models.VirtualNetworkRuleState 15622 """ 15623 15624 _validation = { 15625 'id': {'readonly': True}, 15626 'name': {'readonly': True}, 15627 'type': {'readonly': True}, 15628 'state': {'readonly': True}, 15629 } 15630 15631 _attribute_map = { 15632 'id': {'key': 'id', 'type': 'str'}, 15633 'name': {'key': 'name', 'type': 'str'}, 15634 'type': {'key': 'type', 'type': 'str'}, 15635 'virtual_network_subnet_id': {'key': 'properties.virtualNetworkSubnetId', 'type': 'str'}, 15636 'ignore_missing_vnet_service_endpoint': {'key': 'properties.ignoreMissingVnetServiceEndpoint', 'type': 'bool'}, 15637 'state': {'key': 'properties.state', 'type': 'str'}, 15638 } 15639 15640 def __init__( 15641 self, 15642 **kwargs 15643 ): 15644 super(VirtualNetworkRule, self).__init__(**kwargs) 15645 self.virtual_network_subnet_id = kwargs.get('virtual_network_subnet_id', None) 15646 self.ignore_missing_vnet_service_endpoint = kwargs.get('ignore_missing_vnet_service_endpoint', None) 15647 self.state = None 15648 15649 15650class VirtualNetworkRuleListResult(msrest.serialization.Model): 15651 """A list of virtual network rules. 15652 15653 Variables are only populated by the server, and will be ignored when sending a request. 15654 15655 :ivar value: Array of results. 15656 :vartype value: list[~azure.mgmt.sql.models.VirtualNetworkRule] 15657 :ivar next_link: Link to retrieve next page of results. 15658 :vartype next_link: str 15659 """ 15660 15661 _validation = { 15662 'value': {'readonly': True}, 15663 'next_link': {'readonly': True}, 15664 } 15665 15666 _attribute_map = { 15667 'value': {'key': 'value', 'type': '[VirtualNetworkRule]'}, 15668 'next_link': {'key': 'nextLink', 'type': 'str'}, 15669 } 15670 15671 def __init__( 15672 self, 15673 **kwargs 15674 ): 15675 super(VirtualNetworkRuleListResult, self).__init__(**kwargs) 15676 self.value = None 15677 self.next_link = None 15678 15679 15680class VulnerabilityAssessmentRecurringScansProperties(msrest.serialization.Model): 15681 """Properties of a Vulnerability Assessment recurring scans. 15682 15683 :param is_enabled: Recurring scans state. 15684 :type is_enabled: bool 15685 :param email_subscription_admins: Specifies that the schedule scan notification will be is sent 15686 to the subscription administrators. 15687 :type email_subscription_admins: bool 15688 :param emails: Specifies an array of e-mail addresses to which the scan notification is sent. 15689 :type emails: list[str] 15690 """ 15691 15692 _attribute_map = { 15693 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, 15694 'email_subscription_admins': {'key': 'emailSubscriptionAdmins', 'type': 'bool'}, 15695 'emails': {'key': 'emails', 'type': '[str]'}, 15696 } 15697 15698 def __init__( 15699 self, 15700 **kwargs 15701 ): 15702 super(VulnerabilityAssessmentRecurringScansProperties, self).__init__(**kwargs) 15703 self.is_enabled = kwargs.get('is_enabled', None) 15704 self.email_subscription_admins = kwargs.get('email_subscription_admins', True) 15705 self.emails = kwargs.get('emails', None) 15706 15707 15708class VulnerabilityAssessmentScanError(msrest.serialization.Model): 15709 """Properties of a vulnerability assessment scan error. 15710 15711 Variables are only populated by the server, and will be ignored when sending a request. 15712 15713 :ivar code: The error code. 15714 :vartype code: str 15715 :ivar message: The error message. 15716 :vartype message: str 15717 """ 15718 15719 _validation = { 15720 'code': {'readonly': True}, 15721 'message': {'readonly': True}, 15722 } 15723 15724 _attribute_map = { 15725 'code': {'key': 'code', 'type': 'str'}, 15726 'message': {'key': 'message', 'type': 'str'}, 15727 } 15728 15729 def __init__( 15730 self, 15731 **kwargs 15732 ): 15733 super(VulnerabilityAssessmentScanError, self).__init__(**kwargs) 15734 self.code = None 15735 self.message = None 15736 15737 15738class VulnerabilityAssessmentScanRecord(ProxyResource): 15739 """A vulnerability assessment scan record. 15740 15741 Variables are only populated by the server, and will be ignored when sending a request. 15742 15743 :ivar id: Resource ID. 15744 :vartype id: str 15745 :ivar name: Resource name. 15746 :vartype name: str 15747 :ivar type: Resource type. 15748 :vartype type: str 15749 :ivar scan_id: The scan ID. 15750 :vartype scan_id: str 15751 :ivar trigger_type: The scan trigger type. Possible values include: "OnDemand", "Recurring". 15752 :vartype trigger_type: str or ~azure.mgmt.sql.models.VulnerabilityAssessmentScanTriggerType 15753 :ivar state: The scan status. Possible values include: "Passed", "Failed", "FailedToRun", 15754 "InProgress". 15755 :vartype state: str or ~azure.mgmt.sql.models.VulnerabilityAssessmentScanState 15756 :ivar start_time: The scan start time (UTC). 15757 :vartype start_time: ~datetime.datetime 15758 :ivar end_time: The scan end time (UTC). 15759 :vartype end_time: ~datetime.datetime 15760 :ivar errors: The scan errors. 15761 :vartype errors: list[~azure.mgmt.sql.models.VulnerabilityAssessmentScanError] 15762 :ivar storage_container_path: The scan results storage container path. 15763 :vartype storage_container_path: str 15764 :ivar number_of_failed_security_checks: The number of failed security checks. 15765 :vartype number_of_failed_security_checks: int 15766 """ 15767 15768 _validation = { 15769 'id': {'readonly': True}, 15770 'name': {'readonly': True}, 15771 'type': {'readonly': True}, 15772 'scan_id': {'readonly': True}, 15773 'trigger_type': {'readonly': True}, 15774 'state': {'readonly': True}, 15775 'start_time': {'readonly': True}, 15776 'end_time': {'readonly': True}, 15777 'errors': {'readonly': True}, 15778 'storage_container_path': {'readonly': True}, 15779 'number_of_failed_security_checks': {'readonly': True}, 15780 } 15781 15782 _attribute_map = { 15783 'id': {'key': 'id', 'type': 'str'}, 15784 'name': {'key': 'name', 'type': 'str'}, 15785 'type': {'key': 'type', 'type': 'str'}, 15786 'scan_id': {'key': 'properties.scanId', 'type': 'str'}, 15787 'trigger_type': {'key': 'properties.triggerType', 'type': 'str'}, 15788 'state': {'key': 'properties.state', 'type': 'str'}, 15789 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 15790 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, 15791 'errors': {'key': 'properties.errors', 'type': '[VulnerabilityAssessmentScanError]'}, 15792 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, 15793 'number_of_failed_security_checks': {'key': 'properties.numberOfFailedSecurityChecks', 'type': 'int'}, 15794 } 15795 15796 def __init__( 15797 self, 15798 **kwargs 15799 ): 15800 super(VulnerabilityAssessmentScanRecord, self).__init__(**kwargs) 15801 self.scan_id = None 15802 self.trigger_type = None 15803 self.state = None 15804 self.start_time = None 15805 self.end_time = None 15806 self.errors = None 15807 self.storage_container_path = None 15808 self.number_of_failed_security_checks = None 15809 15810 15811class VulnerabilityAssessmentScanRecordListResult(msrest.serialization.Model): 15812 """A list of vulnerability assessment scan records. 15813 15814 Variables are only populated by the server, and will be ignored when sending a request. 15815 15816 :ivar value: Array of results. 15817 :vartype value: list[~azure.mgmt.sql.models.VulnerabilityAssessmentScanRecord] 15818 :ivar next_link: Link to retrieve next page of results. 15819 :vartype next_link: str 15820 """ 15821 15822 _validation = { 15823 'value': {'readonly': True}, 15824 'next_link': {'readonly': True}, 15825 } 15826 15827 _attribute_map = { 15828 'value': {'key': 'value', 'type': '[VulnerabilityAssessmentScanRecord]'}, 15829 'next_link': {'key': 'nextLink', 'type': 'str'}, 15830 } 15831 15832 def __init__( 15833 self, 15834 **kwargs 15835 ): 15836 super(VulnerabilityAssessmentScanRecordListResult, self).__init__(**kwargs) 15837 self.value = None 15838 self.next_link = None 15839 15840 15841class WorkloadClassifier(ProxyResource): 15842 """Workload classifier operations for a data warehouse. 15843 15844 Variables are only populated by the server, and will be ignored when sending a request. 15845 15846 :ivar id: Resource ID. 15847 :vartype id: str 15848 :ivar name: Resource name. 15849 :vartype name: str 15850 :ivar type: Resource type. 15851 :vartype type: str 15852 :param member_name: The workload classifier member name. 15853 :type member_name: str 15854 :param label: The workload classifier label. 15855 :type label: str 15856 :param context: The workload classifier context. 15857 :type context: str 15858 :param start_time: The workload classifier start time for classification. 15859 :type start_time: str 15860 :param end_time: The workload classifier end time for classification. 15861 :type end_time: str 15862 :param importance: The workload classifier importance. 15863 :type importance: str 15864 """ 15865 15866 _validation = { 15867 'id': {'readonly': True}, 15868 'name': {'readonly': True}, 15869 'type': {'readonly': True}, 15870 } 15871 15872 _attribute_map = { 15873 'id': {'key': 'id', 'type': 'str'}, 15874 'name': {'key': 'name', 'type': 'str'}, 15875 'type': {'key': 'type', 'type': 'str'}, 15876 'member_name': {'key': 'properties.memberName', 'type': 'str'}, 15877 'label': {'key': 'properties.label', 'type': 'str'}, 15878 'context': {'key': 'properties.context', 'type': 'str'}, 15879 'start_time': {'key': 'properties.startTime', 'type': 'str'}, 15880 'end_time': {'key': 'properties.endTime', 'type': 'str'}, 15881 'importance': {'key': 'properties.importance', 'type': 'str'}, 15882 } 15883 15884 def __init__( 15885 self, 15886 **kwargs 15887 ): 15888 super(WorkloadClassifier, self).__init__(**kwargs) 15889 self.member_name = kwargs.get('member_name', None) 15890 self.label = kwargs.get('label', None) 15891 self.context = kwargs.get('context', None) 15892 self.start_time = kwargs.get('start_time', None) 15893 self.end_time = kwargs.get('end_time', None) 15894 self.importance = kwargs.get('importance', None) 15895 15896 15897class WorkloadClassifierListResult(msrest.serialization.Model): 15898 """A list of workload classifiers for a workload group. 15899 15900 Variables are only populated by the server, and will be ignored when sending a request. 15901 15902 :ivar value: Array of results. 15903 :vartype value: list[~azure.mgmt.sql.models.WorkloadClassifier] 15904 :ivar next_link: Link to retrieve next page of results. 15905 :vartype next_link: str 15906 """ 15907 15908 _validation = { 15909 'value': {'readonly': True}, 15910 'next_link': {'readonly': True}, 15911 } 15912 15913 _attribute_map = { 15914 'value': {'key': 'value', 'type': '[WorkloadClassifier]'}, 15915 'next_link': {'key': 'nextLink', 'type': 'str'}, 15916 } 15917 15918 def __init__( 15919 self, 15920 **kwargs 15921 ): 15922 super(WorkloadClassifierListResult, self).__init__(**kwargs) 15923 self.value = None 15924 self.next_link = None 15925 15926 15927class WorkloadGroup(ProxyResource): 15928 """Workload group operations for a data warehouse. 15929 15930 Variables are only populated by the server, and will be ignored when sending a request. 15931 15932 :ivar id: Resource ID. 15933 :vartype id: str 15934 :ivar name: Resource name. 15935 :vartype name: str 15936 :ivar type: Resource type. 15937 :vartype type: str 15938 :param min_resource_percent: The workload group minimum percentage resource. 15939 :type min_resource_percent: int 15940 :param max_resource_percent: The workload group cap percentage resource. 15941 :type max_resource_percent: int 15942 :param min_resource_percent_per_request: The workload group request minimum grant percentage. 15943 :type min_resource_percent_per_request: float 15944 :param max_resource_percent_per_request: The workload group request maximum grant percentage. 15945 :type max_resource_percent_per_request: float 15946 :param importance: The workload group importance level. 15947 :type importance: str 15948 :param query_execution_timeout: The workload group query execution timeout. 15949 :type query_execution_timeout: int 15950 """ 15951 15952 _validation = { 15953 'id': {'readonly': True}, 15954 'name': {'readonly': True}, 15955 'type': {'readonly': True}, 15956 } 15957 15958 _attribute_map = { 15959 'id': {'key': 'id', 'type': 'str'}, 15960 'name': {'key': 'name', 'type': 'str'}, 15961 'type': {'key': 'type', 'type': 'str'}, 15962 'min_resource_percent': {'key': 'properties.minResourcePercent', 'type': 'int'}, 15963 'max_resource_percent': {'key': 'properties.maxResourcePercent', 'type': 'int'}, 15964 'min_resource_percent_per_request': {'key': 'properties.minResourcePercentPerRequest', 'type': 'float'}, 15965 'max_resource_percent_per_request': {'key': 'properties.maxResourcePercentPerRequest', 'type': 'float'}, 15966 'importance': {'key': 'properties.importance', 'type': 'str'}, 15967 'query_execution_timeout': {'key': 'properties.queryExecutionTimeout', 'type': 'int'}, 15968 } 15969 15970 def __init__( 15971 self, 15972 **kwargs 15973 ): 15974 super(WorkloadGroup, self).__init__(**kwargs) 15975 self.min_resource_percent = kwargs.get('min_resource_percent', None) 15976 self.max_resource_percent = kwargs.get('max_resource_percent', None) 15977 self.min_resource_percent_per_request = kwargs.get('min_resource_percent_per_request', None) 15978 self.max_resource_percent_per_request = kwargs.get('max_resource_percent_per_request', None) 15979 self.importance = kwargs.get('importance', None) 15980 self.query_execution_timeout = kwargs.get('query_execution_timeout', None) 15981 15982 15983class WorkloadGroupListResult(msrest.serialization.Model): 15984 """A list of workload groups. 15985 15986 Variables are only populated by the server, and will be ignored when sending a request. 15987 15988 :ivar value: Array of results. 15989 :vartype value: list[~azure.mgmt.sql.models.WorkloadGroup] 15990 :ivar next_link: Link to retrieve next page of results. 15991 :vartype next_link: str 15992 """ 15993 15994 _validation = { 15995 'value': {'readonly': True}, 15996 'next_link': {'readonly': True}, 15997 } 15998 15999 _attribute_map = { 16000 'value': {'key': 'value', 'type': '[WorkloadGroup]'}, 16001 'next_link': {'key': 'nextLink', 'type': 'str'}, 16002 } 16003 16004 def __init__( 16005 self, 16006 **kwargs 16007 ): 16008 super(WorkloadGroupListResult, self).__init__(**kwargs) 16009 self.value = None 16010 self.next_link = None 16011