diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py b/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py index 44a5e54b9f8a..1643e6e9dcec 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py @@ -9,124 +9,301 @@ # regenerated. # -------------------------------------------------------------------------- -from .resource import Resource -from .proxy_resource import ProxyResource -from .backup_long_term_retention_policy import BackupLongTermRetentionPolicy -from .backup_long_term_retention_vault import BackupLongTermRetentionVault -from .tracked_resource import TrackedResource -from .recoverable_database import RecoverableDatabase -from .restorable_dropped_database import RestorableDroppedDatabase -from .max_size_capability import MaxSizeCapability -from .service_objective_capability import ServiceObjectiveCapability -from .edition_capability import EditionCapability -from .elastic_pool_per_database_min_dtu_capability import ElasticPoolPerDatabaseMinDtuCapability -from .elastic_pool_per_database_max_dtu_capability import ElasticPoolPerDatabaseMaxDtuCapability -from .elastic_pool_dtu_capability import ElasticPoolDtuCapability -from .elastic_pool_edition_capability import ElasticPoolEditionCapability -from .server_version_capability import ServerVersionCapability -from .location_capabilities import LocationCapabilities -from .check_name_availability_request import CheckNameAvailabilityRequest -from .check_name_availability_response import CheckNameAvailabilityResponse -from .server_connection_policy import ServerConnectionPolicy -from .slo_usage_metric import SloUsageMetric -from .service_tier_advisor import ServiceTierAdvisor -from .transparent_data_encryption import TransparentDataEncryption -from .operation_impact import OperationImpact -from .recommended_index import RecommendedIndex -from .database import Database -from .database_update import DatabaseUpdate -from .transparent_data_encryption_activity import TransparentDataEncryptionActivity -from .elastic_pool_database_activity import ElasticPoolDatabaseActivity -from .elastic_pool_activity import ElasticPoolActivity -from .recommended_elastic_pool_metric import RecommendedElasticPoolMetric -from .recommended_elastic_pool import RecommendedElasticPool -from .database_security_alert_policy import DatabaseSecurityAlertPolicy -from .data_masking_policy import DataMaskingPolicy -from .data_masking_rule import DataMaskingRule -from .elastic_pool import ElasticPool -from .elastic_pool_update import ElasticPoolUpdate -from .firewall_rule import FirewallRule -from .geo_backup_policy import GeoBackupPolicy -from .import_extension_request import ImportExtensionRequest -from .import_export_response import ImportExportResponse -from .import_request import ImportRequest -from .export_request import ExportRequest -from .metric_value import MetricValue -from .metric_name import MetricName -from .metric import Metric -from .metric_availability import MetricAvailability -from .metric_definition import MetricDefinition -from .replication_link import ReplicationLink -from .server_azure_ad_administrator import ServerAzureADAdministrator -from .server_communication_link import ServerCommunicationLink -from .service_objective import ServiceObjective -from .server_usage import ServerUsage -from .database_usage import DatabaseUsage -from .database_blob_auditing_policy import DatabaseBlobAuditingPolicy -from .automatic_tuning_options import AutomaticTuningOptions -from .database_automatic_tuning import DatabaseAutomaticTuning -from .encryption_protector import EncryptionProtector -from .failover_group_read_write_endpoint import FailoverGroupReadWriteEndpoint -from .failover_group_read_only_endpoint import FailoverGroupReadOnlyEndpoint -from .partner_info import PartnerInfo -from .failover_group import FailoverGroup -from .failover_group_update import FailoverGroupUpdate -from .operation_display import OperationDisplay -from .operation import Operation -from .server_key import ServerKey -from .resource_identity import ResourceIdentity -from .server import Server -from .server_update import ServerUpdate -from .sync_agent import SyncAgent -from .sync_agent_key_properties import SyncAgentKeyProperties -from .sync_agent_linked_database import SyncAgentLinkedDatabase -from .sync_database_id_properties import SyncDatabaseIdProperties -from .sync_full_schema_table_column import SyncFullSchemaTableColumn -from .sync_full_schema_table import SyncFullSchemaTable -from .sync_full_schema_properties import SyncFullSchemaProperties -from .sync_group_log_properties import SyncGroupLogProperties -from .sync_group_schema_table_column import SyncGroupSchemaTableColumn -from .sync_group_schema_table import SyncGroupSchemaTable -from .sync_group_schema import SyncGroupSchema -from .sync_group import SyncGroup -from .sync_member import SyncMember -from .subscription_usage import SubscriptionUsage -from .virtual_network_rule import VirtualNetworkRule -from .resource_move_definition import ResourceMoveDefinition -from .automatic_tuning_server_options import AutomaticTuningServerOptions -from .server_automatic_tuning import ServerAutomaticTuning -from .server_dns_alias import ServerDnsAlias -from .server_dns_alias_acquisition import ServerDnsAliasAcquisition -from .restore_point import RestorePoint -from .create_database_restore_point_definition import CreateDatabaseRestorePointDefinition -from .database_operation import DatabaseOperation -from .elastic_pool_operation import ElasticPoolOperation -from .backup_long_term_retention_policy_paged import BackupLongTermRetentionPolicyPaged -from .backup_long_term_retention_vault_paged import BackupLongTermRetentionVaultPaged +try: + from .resource_py3 import Resource + from .tracked_resource_py3 import TrackedResource + from .proxy_resource_py3 import ProxyResource + from .recoverable_database_py3 import RecoverableDatabase + from .restorable_dropped_database_py3 import RestorableDroppedDatabase + from .check_name_availability_request_py3 import CheckNameAvailabilityRequest + from .check_name_availability_response_py3 import CheckNameAvailabilityResponse + from .server_connection_policy_py3 import ServerConnectionPolicy + from .database_security_alert_policy_py3 import DatabaseSecurityAlertPolicy + from .data_masking_policy_py3 import DataMaskingPolicy + from .data_masking_rule_py3 import DataMaskingRule + from .firewall_rule_py3 import FirewallRule + from .geo_backup_policy_py3 import GeoBackupPolicy + from .import_extension_request_py3 import ImportExtensionRequest + from .import_export_response_py3 import ImportExportResponse + from .import_request_py3 import ImportRequest + from .export_request_py3 import ExportRequest + from .metric_value_py3 import MetricValue + from .metric_name_py3 import MetricName + from .metric_py3 import Metric + from .metric_availability_py3 import MetricAvailability + from .metric_definition_py3 import MetricDefinition + from .recommended_elastic_pool_metric_py3 import RecommendedElasticPoolMetric + from .recommended_elastic_pool_py3 import RecommendedElasticPool + from .replication_link_py3 import ReplicationLink + from .server_azure_ad_administrator_py3 import ServerAzureADAdministrator + from .server_communication_link_py3 import ServerCommunicationLink + from .service_objective_py3 import ServiceObjective + from .elastic_pool_activity_py3 import ElasticPoolActivity + from .elastic_pool_database_activity_py3 import ElasticPoolDatabaseActivity + from .operation_impact_py3 import OperationImpact + from .recommended_index_py3 import RecommendedIndex + from .transparent_data_encryption_py3 import TransparentDataEncryption + from .slo_usage_metric_py3 import SloUsageMetric + from .service_tier_advisor_py3 import ServiceTierAdvisor + from .transparent_data_encryption_activity_py3 import TransparentDataEncryptionActivity + from .server_usage_py3 import ServerUsage + from .database_usage_py3 import DatabaseUsage + from .database_blob_auditing_policy_py3 import DatabaseBlobAuditingPolicy + from .automatic_tuning_options_py3 import AutomaticTuningOptions + from .database_automatic_tuning_py3 import DatabaseAutomaticTuning + from .encryption_protector_py3 import EncryptionProtector + from .failover_group_read_write_endpoint_py3 import FailoverGroupReadWriteEndpoint + from .failover_group_read_only_endpoint_py3 import FailoverGroupReadOnlyEndpoint + from .partner_info_py3 import PartnerInfo + from .failover_group_py3 import FailoverGroup + from .failover_group_update_py3 import FailoverGroupUpdate + from .resource_identity_py3 import ResourceIdentity + from .sku_py3 import Sku + from .managed_instance_py3 import ManagedInstance + from .managed_instance_update_py3 import ManagedInstanceUpdate + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation + from .server_key_py3 import ServerKey + from .server_py3 import Server + from .server_update_py3 import ServerUpdate + from .sync_agent_py3 import SyncAgent + from .sync_agent_key_properties_py3 import SyncAgentKeyProperties + from .sync_agent_linked_database_py3 import SyncAgentLinkedDatabase + from .sync_database_id_properties_py3 import SyncDatabaseIdProperties + from .sync_full_schema_table_column_py3 import SyncFullSchemaTableColumn + from .sync_full_schema_table_py3 import SyncFullSchemaTable + from .sync_full_schema_properties_py3 import SyncFullSchemaProperties + from .sync_group_log_properties_py3 import SyncGroupLogProperties + from .sync_group_schema_table_column_py3 import SyncGroupSchemaTableColumn + from .sync_group_schema_table_py3 import SyncGroupSchemaTable + from .sync_group_schema_py3 import SyncGroupSchema + from .sync_group_py3 import SyncGroup + from .sync_member_py3 import SyncMember + from .subscription_usage_py3 import SubscriptionUsage + from .virtual_network_rule_py3 import VirtualNetworkRule + from .database_vulnerability_assessment_rule_baseline_item_py3 import DatabaseVulnerabilityAssessmentRuleBaselineItem + from .database_vulnerability_assessment_rule_baseline_py3 import DatabaseVulnerabilityAssessmentRuleBaseline + from .vulnerability_assessment_recurring_scans_properties_py3 import VulnerabilityAssessmentRecurringScansProperties + from .database_vulnerability_assessment_py3 import DatabaseVulnerabilityAssessment + from .job_agent_py3 import JobAgent + from .job_agent_update_py3 import JobAgentUpdate + from .job_credential_py3 import JobCredential + from .job_execution_target_py3 import JobExecutionTarget + from .job_execution_py3 import JobExecution + from .job_schedule_py3 import JobSchedule + from .job_py3 import Job + from .job_step_action_py3 import JobStepAction + from .job_step_output_py3 import JobStepOutput + from .job_step_execution_options_py3 import JobStepExecutionOptions + from .job_step_py3 import JobStep + from .job_target_py3 import JobTarget + from .job_target_group_py3 import JobTargetGroup + from .job_version_py3 import JobVersion + from .long_term_retention_backup_py3 import LongTermRetentionBackup + from .backup_long_term_retention_policy_py3 import BackupLongTermRetentionPolicy + from .complete_database_restore_definition_py3 import CompleteDatabaseRestoreDefinition + from .managed_database_py3 import ManagedDatabase + from .managed_database_update_py3 import ManagedDatabaseUpdate + from .automatic_tuning_server_options_py3 import AutomaticTuningServerOptions + from .server_automatic_tuning_py3 import ServerAutomaticTuning + from .server_dns_alias_py3 import ServerDnsAlias + from .server_dns_alias_acquisition_py3 import ServerDnsAliasAcquisition + from .restore_point_py3 import RestorePoint + from .create_database_restore_point_definition_py3 import CreateDatabaseRestorePointDefinition + from .database_operation_py3 import DatabaseOperation + from .elastic_pool_operation_py3 import ElasticPoolOperation + from .max_size_capability_py3 import MaxSizeCapability + from .log_size_capability_py3 import LogSizeCapability + from .max_size_range_capability_py3 import MaxSizeRangeCapability + from .performance_level_capability_py3 import PerformanceLevelCapability + from .license_type_capability_py3 import LicenseTypeCapability + from .service_objective_capability_py3 import ServiceObjectiveCapability + from .edition_capability_py3 import EditionCapability + from .elastic_pool_per_database_min_performance_level_capability_py3 import ElasticPoolPerDatabaseMinPerformanceLevelCapability + from .elastic_pool_per_database_max_performance_level_capability_py3 import ElasticPoolPerDatabaseMaxPerformanceLevelCapability + from .elastic_pool_performance_level_capability_py3 import ElasticPoolPerformanceLevelCapability + from .elastic_pool_edition_capability_py3 import ElasticPoolEditionCapability + from .server_version_capability_py3 import ServerVersionCapability + from .managed_instance_vcores_capability_py3 import ManagedInstanceVcoresCapability + from .managed_instance_family_capability_py3 import ManagedInstanceFamilyCapability + from .managed_instance_edition_capability_py3 import ManagedInstanceEditionCapability + from .managed_instance_version_capability_py3 import ManagedInstanceVersionCapability + from .location_capabilities_py3 import LocationCapabilities + from .database_py3 import Database + from .database_update_py3 import DatabaseUpdate + from .resource_move_definition_py3 import ResourceMoveDefinition + from .elastic_pool_per_database_settings_py3 import ElasticPoolPerDatabaseSettings + from .elastic_pool_py3 import ElasticPool + from .elastic_pool_update_py3 import ElasticPoolUpdate + from .vulnerability_assessment_scan_error_py3 import VulnerabilityAssessmentScanError + from .vulnerability_assessment_scan_record_py3 import VulnerabilityAssessmentScanRecord + from .database_vulnerability_assessment_scans_export_py3 import DatabaseVulnerabilityAssessmentScansExport + from .instance_failover_group_read_write_endpoint_py3 import InstanceFailoverGroupReadWriteEndpoint + from .instance_failover_group_read_only_endpoint_py3 import InstanceFailoverGroupReadOnlyEndpoint + from .partner_region_info_py3 import PartnerRegionInfo + from .managed_instance_pair_info_py3 import ManagedInstancePairInfo + from .instance_failover_group_py3 import InstanceFailoverGroup + from .backup_short_term_retention_policy_py3 import BackupShortTermRetentionPolicy +except (SyntaxError, ImportError): + from .resource import Resource + from .tracked_resource import TrackedResource + from .proxy_resource import ProxyResource + from .recoverable_database import RecoverableDatabase + from .restorable_dropped_database import RestorableDroppedDatabase + from .check_name_availability_request import CheckNameAvailabilityRequest + from .check_name_availability_response import CheckNameAvailabilityResponse + from .server_connection_policy import ServerConnectionPolicy + from .database_security_alert_policy import DatabaseSecurityAlertPolicy + from .data_masking_policy import DataMaskingPolicy + from .data_masking_rule import DataMaskingRule + from .firewall_rule import FirewallRule + from .geo_backup_policy import GeoBackupPolicy + from .import_extension_request import ImportExtensionRequest + from .import_export_response import ImportExportResponse + from .import_request import ImportRequest + from .export_request import ExportRequest + from .metric_value import MetricValue + from .metric_name import MetricName + from .metric import Metric + from .metric_availability import MetricAvailability + from .metric_definition import MetricDefinition + from .recommended_elastic_pool_metric import RecommendedElasticPoolMetric + from .recommended_elastic_pool import RecommendedElasticPool + from .replication_link import ReplicationLink + from .server_azure_ad_administrator import ServerAzureADAdministrator + from .server_communication_link import ServerCommunicationLink + from .service_objective import ServiceObjective + from .elastic_pool_activity import ElasticPoolActivity + from .elastic_pool_database_activity import ElasticPoolDatabaseActivity + from .operation_impact import OperationImpact + from .recommended_index import RecommendedIndex + from .transparent_data_encryption import TransparentDataEncryption + from .slo_usage_metric import SloUsageMetric + from .service_tier_advisor import ServiceTierAdvisor + from .transparent_data_encryption_activity import TransparentDataEncryptionActivity + from .server_usage import ServerUsage + from .database_usage import DatabaseUsage + from .database_blob_auditing_policy import DatabaseBlobAuditingPolicy + from .automatic_tuning_options import AutomaticTuningOptions + from .database_automatic_tuning import DatabaseAutomaticTuning + from .encryption_protector import EncryptionProtector + from .failover_group_read_write_endpoint import FailoverGroupReadWriteEndpoint + from .failover_group_read_only_endpoint import FailoverGroupReadOnlyEndpoint + from .partner_info import PartnerInfo + from .failover_group import FailoverGroup + from .failover_group_update import FailoverGroupUpdate + from .resource_identity import ResourceIdentity + from .sku import Sku + from .managed_instance import ManagedInstance + from .managed_instance_update import ManagedInstanceUpdate + from .operation_display import OperationDisplay + from .operation import Operation + from .server_key import ServerKey + from .server import Server + from .server_update import ServerUpdate + from .sync_agent import SyncAgent + from .sync_agent_key_properties import SyncAgentKeyProperties + from .sync_agent_linked_database import SyncAgentLinkedDatabase + from .sync_database_id_properties import SyncDatabaseIdProperties + from .sync_full_schema_table_column import SyncFullSchemaTableColumn + from .sync_full_schema_table import SyncFullSchemaTable + from .sync_full_schema_properties import SyncFullSchemaProperties + from .sync_group_log_properties import SyncGroupLogProperties + from .sync_group_schema_table_column import SyncGroupSchemaTableColumn + from .sync_group_schema_table import SyncGroupSchemaTable + from .sync_group_schema import SyncGroupSchema + from .sync_group import SyncGroup + from .sync_member import SyncMember + from .subscription_usage import SubscriptionUsage + from .virtual_network_rule import VirtualNetworkRule + from .database_vulnerability_assessment_rule_baseline_item import DatabaseVulnerabilityAssessmentRuleBaselineItem + from .database_vulnerability_assessment_rule_baseline import DatabaseVulnerabilityAssessmentRuleBaseline + from .vulnerability_assessment_recurring_scans_properties import VulnerabilityAssessmentRecurringScansProperties + from .database_vulnerability_assessment import DatabaseVulnerabilityAssessment + from .job_agent import JobAgent + from .job_agent_update import JobAgentUpdate + from .job_credential import JobCredential + from .job_execution_target import JobExecutionTarget + from .job_execution import JobExecution + from .job_schedule import JobSchedule + from .job import Job + from .job_step_action import JobStepAction + from .job_step_output import JobStepOutput + from .job_step_execution_options import JobStepExecutionOptions + from .job_step import JobStep + from .job_target import JobTarget + from .job_target_group import JobTargetGroup + from .job_version import JobVersion + from .long_term_retention_backup import LongTermRetentionBackup + from .backup_long_term_retention_policy import BackupLongTermRetentionPolicy + from .complete_database_restore_definition import CompleteDatabaseRestoreDefinition + from .managed_database import ManagedDatabase + from .managed_database_update import ManagedDatabaseUpdate + from .automatic_tuning_server_options import AutomaticTuningServerOptions + from .server_automatic_tuning import ServerAutomaticTuning + from .server_dns_alias import ServerDnsAlias + from .server_dns_alias_acquisition import ServerDnsAliasAcquisition + from .restore_point import RestorePoint + from .create_database_restore_point_definition import CreateDatabaseRestorePointDefinition + from .database_operation import DatabaseOperation + from .elastic_pool_operation import ElasticPoolOperation + from .max_size_capability import MaxSizeCapability + from .log_size_capability import LogSizeCapability + from .max_size_range_capability import MaxSizeRangeCapability + from .performance_level_capability import PerformanceLevelCapability + from .license_type_capability import LicenseTypeCapability + from .service_objective_capability import ServiceObjectiveCapability + from .edition_capability import EditionCapability + from .elastic_pool_per_database_min_performance_level_capability import ElasticPoolPerDatabaseMinPerformanceLevelCapability + from .elastic_pool_per_database_max_performance_level_capability import ElasticPoolPerDatabaseMaxPerformanceLevelCapability + from .elastic_pool_performance_level_capability import ElasticPoolPerformanceLevelCapability + from .elastic_pool_edition_capability import ElasticPoolEditionCapability + from .server_version_capability import ServerVersionCapability + from .managed_instance_vcores_capability import ManagedInstanceVcoresCapability + from .managed_instance_family_capability import ManagedInstanceFamilyCapability + from .managed_instance_edition_capability import ManagedInstanceEditionCapability + from .managed_instance_version_capability import ManagedInstanceVersionCapability + from .location_capabilities import LocationCapabilities + from .database import Database + from .database_update import DatabaseUpdate + from .resource_move_definition import ResourceMoveDefinition + from .elastic_pool_per_database_settings import ElasticPoolPerDatabaseSettings + from .elastic_pool import ElasticPool + from .elastic_pool_update import ElasticPoolUpdate + from .vulnerability_assessment_scan_error import VulnerabilityAssessmentScanError + from .vulnerability_assessment_scan_record import VulnerabilityAssessmentScanRecord + from .database_vulnerability_assessment_scans_export import DatabaseVulnerabilityAssessmentScansExport + from .instance_failover_group_read_write_endpoint import InstanceFailoverGroupReadWriteEndpoint + from .instance_failover_group_read_only_endpoint import InstanceFailoverGroupReadOnlyEndpoint + from .partner_region_info import PartnerRegionInfo + from .managed_instance_pair_info import ManagedInstancePairInfo + from .instance_failover_group import InstanceFailoverGroup + from .backup_short_term_retention_policy import BackupShortTermRetentionPolicy from .recoverable_database_paged import RecoverableDatabasePaged from .restorable_dropped_database_paged import RestorableDroppedDatabasePaged from .server_paged import ServerPaged -from .database_paged import DatabasePaged -from .metric_paged import MetricPaged -from .metric_definition_paged import MetricDefinitionPaged from .data_masking_rule_paged import DataMaskingRulePaged -from .elastic_pool_paged import ElasticPoolPaged from .firewall_rule_paged import FirewallRulePaged from .geo_backup_policy_paged import GeoBackupPolicyPaged +from .metric_paged import MetricPaged +from .metric_definition_paged import MetricDefinitionPaged +from .database_paged import DatabasePaged +from .elastic_pool_paged import ElasticPoolPaged +from .recommended_elastic_pool_paged import RecommendedElasticPoolPaged +from .recommended_elastic_pool_metric_paged import RecommendedElasticPoolMetricPaged from .replication_link_paged import ReplicationLinkPaged from .server_azure_ad_administrator_paged import ServerAzureADAdministratorPaged from .server_communication_link_paged import ServerCommunicationLinkPaged from .service_objective_paged import ServiceObjectivePaged from .elastic_pool_activity_paged import ElasticPoolActivityPaged from .elastic_pool_database_activity_paged import ElasticPoolDatabaseActivityPaged -from .recommended_elastic_pool_paged import RecommendedElasticPoolPaged -from .recommended_elastic_pool_metric_paged import RecommendedElasticPoolMetricPaged from .service_tier_advisor_paged import ServiceTierAdvisorPaged from .transparent_data_encryption_activity_paged import TransparentDataEncryptionActivityPaged from .server_usage_paged import ServerUsagePaged from .database_usage_paged import DatabaseUsagePaged from .encryption_protector_paged import EncryptionProtectorPaged from .failover_group_paged import FailoverGroupPaged +from .managed_instance_paged import ManagedInstancePaged from .operation_paged import OperationPaged from .server_key_paged import ServerKeyPaged from .sync_agent_paged import SyncAgentPaged @@ -138,43 +315,46 @@ from .sync_member_paged import SyncMemberPaged from .subscription_usage_paged import SubscriptionUsagePaged from .virtual_network_rule_paged import VirtualNetworkRulePaged +from .job_agent_paged import JobAgentPaged +from .job_credential_paged import JobCredentialPaged +from .job_execution_paged import JobExecutionPaged +from .job_paged import JobPaged +from .job_step_paged import JobStepPaged +from .job_target_group_paged import JobTargetGroupPaged +from .job_version_paged import JobVersionPaged +from .long_term_retention_backup_paged import LongTermRetentionBackupPaged +from .managed_database_paged import ManagedDatabasePaged from .server_dns_alias_paged import ServerDnsAliasPaged from .restore_point_paged import RestorePointPaged from .database_operation_paged import DatabaseOperationPaged from .elastic_pool_operation_paged import ElasticPoolOperationPaged +from .vulnerability_assessment_scan_record_paged import VulnerabilityAssessmentScanRecordPaged +from .instance_failover_group_paged import InstanceFailoverGroupPaged from .sql_management_client_enums import ( - BackupLongTermRetentionPolicyState, - CapabilityStatus, - MaxSizeUnits, - PerformanceLevelUnit, CheckNameAvailabilityReason, ServerConnectionType, - CreateMode, - DatabaseEdition, - ServiceObjectiveName, - TransparentDataEncryptionStatus, - RecommendedIndexAction, - RecommendedIndexState, - RecommendedIndexType, - ReadScale, - SampleName, - TransparentDataEncryptionActivityStatus, - ElasticPoolEdition, SecurityAlertPolicyState, SecurityAlertPolicyEmailAccountAdmins, SecurityAlertPolicyUseServerDefault, DataMaskingState, DataMaskingRuleState, DataMaskingFunction, - ElasticPoolState, GeoBackupPolicyState, + DatabaseEdition, + ServiceObjectiveName, StorageKeyType, AuthenticationType, UnitType, PrimaryAggregationType, UnitDefinitionType, + ElasticPoolEdition, ReplicationRole, ReplicationState, + RecommendedIndexAction, + RecommendedIndexState, + RecommendedIndexType, + TransparentDataEncryptionStatus, + TransparentDataEncryptionActivityStatus, BlobAuditingPolicyState, AutomaticTuningMode, AutomaticTuningOptionModeDesired, @@ -184,8 +364,8 @@ ReadWriteEndpointFailoverPolicy, ReadOnlyEndpointFailoverPolicy, FailoverGroupReplicationRole, - OperationOrigin, IdentityType, + OperationOrigin, SyncAgentState, SyncMemberDbType, SyncGroupLogType, @@ -194,49 +374,52 @@ SyncDirection, SyncMemberState, VirtualNetworkRuleState, + JobAgentState, + JobExecutionLifecycle, + ProvisioningState, + JobTargetType, + JobScheduleType, + JobStepActionType, + JobStepActionSource, + JobStepOutputType, + JobTargetGroupMembershipType, + ManagedDatabaseStatus, + CatalogCollationType, + ManagedDatabaseCreateMode, AutomaticTuningServerMode, AutomaticTuningServerReason, RestorePointType, ManagementOperationState, + MaxSizeUnit, + LogSizeUnit, + CapabilityStatus, + PerformanceLevelUnit, + CreateMode, + SampleName, + DatabaseStatus, + DatabaseLicenseType, + DatabaseReadScale, + ElasticPoolState, + ElasticPoolLicenseType, + VulnerabilityAssessmentScanTriggerType, + VulnerabilityAssessmentScanState, + InstanceFailoverGroupReplicationRole, + LongTermRetentionDatabaseState, + CapabilityGroup, ) __all__ = [ 'Resource', - 'ProxyResource', - 'BackupLongTermRetentionPolicy', - 'BackupLongTermRetentionVault', 'TrackedResource', + 'ProxyResource', 'RecoverableDatabase', 'RestorableDroppedDatabase', - 'MaxSizeCapability', - 'ServiceObjectiveCapability', - 'EditionCapability', - 'ElasticPoolPerDatabaseMinDtuCapability', - 'ElasticPoolPerDatabaseMaxDtuCapability', - 'ElasticPoolDtuCapability', - 'ElasticPoolEditionCapability', - 'ServerVersionCapability', - 'LocationCapabilities', 'CheckNameAvailabilityRequest', 'CheckNameAvailabilityResponse', 'ServerConnectionPolicy', - 'SloUsageMetric', - 'ServiceTierAdvisor', - 'TransparentDataEncryption', - 'OperationImpact', - 'RecommendedIndex', - 'Database', - 'DatabaseUpdate', - 'TransparentDataEncryptionActivity', - 'ElasticPoolDatabaseActivity', - 'ElasticPoolActivity', - 'RecommendedElasticPoolMetric', - 'RecommendedElasticPool', 'DatabaseSecurityAlertPolicy', 'DataMaskingPolicy', 'DataMaskingRule', - 'ElasticPool', - 'ElasticPoolUpdate', 'FirewallRule', 'GeoBackupPolicy', 'ImportExtensionRequest', @@ -248,10 +431,20 @@ 'Metric', 'MetricAvailability', 'MetricDefinition', + 'RecommendedElasticPoolMetric', + 'RecommendedElasticPool', 'ReplicationLink', 'ServerAzureADAdministrator', 'ServerCommunicationLink', 'ServiceObjective', + 'ElasticPoolActivity', + 'ElasticPoolDatabaseActivity', + 'OperationImpact', + 'RecommendedIndex', + 'TransparentDataEncryption', + 'SloUsageMetric', + 'ServiceTierAdvisor', + 'TransparentDataEncryptionActivity', 'ServerUsage', 'DatabaseUsage', 'DatabaseBlobAuditingPolicy', @@ -263,10 +456,13 @@ 'PartnerInfo', 'FailoverGroup', 'FailoverGroupUpdate', + 'ResourceIdentity', + 'Sku', + 'ManagedInstance', + 'ManagedInstanceUpdate', 'OperationDisplay', 'Operation', 'ServerKey', - 'ResourceIdentity', 'Server', 'ServerUpdate', 'SyncAgent', @@ -284,7 +480,29 @@ 'SyncMember', 'SubscriptionUsage', 'VirtualNetworkRule', - 'ResourceMoveDefinition', + 'DatabaseVulnerabilityAssessmentRuleBaselineItem', + 'DatabaseVulnerabilityAssessmentRuleBaseline', + 'VulnerabilityAssessmentRecurringScansProperties', + 'DatabaseVulnerabilityAssessment', + 'JobAgent', + 'JobAgentUpdate', + 'JobCredential', + 'JobExecutionTarget', + 'JobExecution', + 'JobSchedule', + 'Job', + 'JobStepAction', + 'JobStepOutput', + 'JobStepExecutionOptions', + 'JobStep', + 'JobTarget', + 'JobTargetGroup', + 'JobVersion', + 'LongTermRetentionBackup', + 'BackupLongTermRetentionPolicy', + 'CompleteDatabaseRestoreDefinition', + 'ManagedDatabase', + 'ManagedDatabaseUpdate', 'AutomaticTuningServerOptions', 'ServerAutomaticTuning', 'ServerDnsAlias', @@ -293,32 +511,63 @@ 'CreateDatabaseRestorePointDefinition', 'DatabaseOperation', 'ElasticPoolOperation', - 'BackupLongTermRetentionPolicyPaged', - 'BackupLongTermRetentionVaultPaged', + 'MaxSizeCapability', + 'LogSizeCapability', + 'MaxSizeRangeCapability', + 'PerformanceLevelCapability', + 'LicenseTypeCapability', + 'ServiceObjectiveCapability', + 'EditionCapability', + 'ElasticPoolPerDatabaseMinPerformanceLevelCapability', + 'ElasticPoolPerDatabaseMaxPerformanceLevelCapability', + 'ElasticPoolPerformanceLevelCapability', + 'ElasticPoolEditionCapability', + 'ServerVersionCapability', + 'ManagedInstanceVcoresCapability', + 'ManagedInstanceFamilyCapability', + 'ManagedInstanceEditionCapability', + 'ManagedInstanceVersionCapability', + 'LocationCapabilities', + 'Database', + 'DatabaseUpdate', + 'ResourceMoveDefinition', + 'ElasticPoolPerDatabaseSettings', + 'ElasticPool', + 'ElasticPoolUpdate', + 'VulnerabilityAssessmentScanError', + 'VulnerabilityAssessmentScanRecord', + 'DatabaseVulnerabilityAssessmentScansExport', + 'InstanceFailoverGroupReadWriteEndpoint', + 'InstanceFailoverGroupReadOnlyEndpoint', + 'PartnerRegionInfo', + 'ManagedInstancePairInfo', + 'InstanceFailoverGroup', + 'BackupShortTermRetentionPolicy', 'RecoverableDatabasePaged', 'RestorableDroppedDatabasePaged', 'ServerPaged', - 'DatabasePaged', - 'MetricPaged', - 'MetricDefinitionPaged', 'DataMaskingRulePaged', - 'ElasticPoolPaged', 'FirewallRulePaged', 'GeoBackupPolicyPaged', + 'MetricPaged', + 'MetricDefinitionPaged', + 'DatabasePaged', + 'ElasticPoolPaged', + 'RecommendedElasticPoolPaged', + 'RecommendedElasticPoolMetricPaged', 'ReplicationLinkPaged', 'ServerAzureADAdministratorPaged', 'ServerCommunicationLinkPaged', 'ServiceObjectivePaged', 'ElasticPoolActivityPaged', 'ElasticPoolDatabaseActivityPaged', - 'RecommendedElasticPoolPaged', - 'RecommendedElasticPoolMetricPaged', 'ServiceTierAdvisorPaged', 'TransparentDataEncryptionActivityPaged', 'ServerUsagePaged', 'DatabaseUsagePaged', 'EncryptionProtectorPaged', 'FailoverGroupPaged', + 'ManagedInstancePaged', 'OperationPaged', 'ServerKeyPaged', 'SyncAgentPaged', @@ -330,42 +579,45 @@ 'SyncMemberPaged', 'SubscriptionUsagePaged', 'VirtualNetworkRulePaged', + 'JobAgentPaged', + 'JobCredentialPaged', + 'JobExecutionPaged', + 'JobPaged', + 'JobStepPaged', + 'JobTargetGroupPaged', + 'JobVersionPaged', + 'LongTermRetentionBackupPaged', + 'ManagedDatabasePaged', 'ServerDnsAliasPaged', 'RestorePointPaged', 'DatabaseOperationPaged', 'ElasticPoolOperationPaged', - 'BackupLongTermRetentionPolicyState', - 'CapabilityStatus', - 'MaxSizeUnits', - 'PerformanceLevelUnit', + 'VulnerabilityAssessmentScanRecordPaged', + 'InstanceFailoverGroupPaged', 'CheckNameAvailabilityReason', 'ServerConnectionType', - 'CreateMode', - 'DatabaseEdition', - 'ServiceObjectiveName', - 'TransparentDataEncryptionStatus', - 'RecommendedIndexAction', - 'RecommendedIndexState', - 'RecommendedIndexType', - 'ReadScale', - 'SampleName', - 'TransparentDataEncryptionActivityStatus', - 'ElasticPoolEdition', 'SecurityAlertPolicyState', 'SecurityAlertPolicyEmailAccountAdmins', 'SecurityAlertPolicyUseServerDefault', 'DataMaskingState', 'DataMaskingRuleState', 'DataMaskingFunction', - 'ElasticPoolState', 'GeoBackupPolicyState', + 'DatabaseEdition', + 'ServiceObjectiveName', 'StorageKeyType', 'AuthenticationType', 'UnitType', 'PrimaryAggregationType', 'UnitDefinitionType', + 'ElasticPoolEdition', 'ReplicationRole', 'ReplicationState', + 'RecommendedIndexAction', + 'RecommendedIndexState', + 'RecommendedIndexType', + 'TransparentDataEncryptionStatus', + 'TransparentDataEncryptionActivityStatus', 'BlobAuditingPolicyState', 'AutomaticTuningMode', 'AutomaticTuningOptionModeDesired', @@ -375,8 +627,8 @@ 'ReadWriteEndpointFailoverPolicy', 'ReadOnlyEndpointFailoverPolicy', 'FailoverGroupReplicationRole', - 'OperationOrigin', 'IdentityType', + 'OperationOrigin', 'SyncAgentState', 'SyncMemberDbType', 'SyncGroupLogType', @@ -385,8 +637,36 @@ 'SyncDirection', 'SyncMemberState', 'VirtualNetworkRuleState', + 'JobAgentState', + 'JobExecutionLifecycle', + 'ProvisioningState', + 'JobTargetType', + 'JobScheduleType', + 'JobStepActionType', + 'JobStepActionSource', + 'JobStepOutputType', + 'JobTargetGroupMembershipType', + 'ManagedDatabaseStatus', + 'CatalogCollationType', + 'ManagedDatabaseCreateMode', 'AutomaticTuningServerMode', 'AutomaticTuningServerReason', 'RestorePointType', 'ManagementOperationState', + 'MaxSizeUnit', + 'LogSizeUnit', + 'CapabilityStatus', + 'PerformanceLevelUnit', + 'CreateMode', + 'SampleName', + 'DatabaseStatus', + 'DatabaseLicenseType', + 'DatabaseReadScale', + 'ElasticPoolState', + 'ElasticPoolLicenseType', + 'VulnerabilityAssessmentScanTriggerType', + 'VulnerabilityAssessmentScanState', + 'InstanceFailoverGroupReplicationRole', + 'LongTermRetentionDatabaseState', + 'CapabilityGroup', ] diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options.py b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options.py index d51528905ca8..42c5aa7ac8a1 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options.py @@ -49,9 +49,9 @@ class AutomaticTuningOptions(Model): 'reason_desc': {'key': 'reasonDesc', 'type': 'AutomaticTuningDisabledReason'}, } - def __init__(self, desired_state=None): - super(AutomaticTuningOptions, self).__init__() - self.desired_state = desired_state + def __init__(self, **kwargs): + super(AutomaticTuningOptions, self).__init__(**kwargs) + self.desired_state = kwargs.get('desired_state', None) self.actual_state = None self.reason_code = None self.reason_desc = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options_py3.py new file mode 100644 index 000000000000..b55fd35d8157 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_options_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AutomaticTuningOptions(Model): + """Automatic tuning properties for individual advisors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param desired_state: Automatic tuning option desired state. Possible + values include: 'Off', 'On', 'Default' + :type desired_state: str or + ~azure.mgmt.sql.models.AutomaticTuningOptionModeDesired + :ivar actual_state: Automatic tuning option actual state. Possible values + include: 'Off', 'On' + :vartype actual_state: str or + ~azure.mgmt.sql.models.AutomaticTuningOptionModeActual + :ivar reason_code: Reason code if desired and actual state are different. + :vartype reason_code: int + :ivar reason_desc: Reason description if desired and actual state are + different. Possible values include: 'Default', 'Disabled', + 'AutoConfigured', 'InheritedFromServer', 'QueryStoreOff', + 'QueryStoreReadOnly', 'NotSupported' + :vartype reason_desc: str or + ~azure.mgmt.sql.models.AutomaticTuningDisabledReason + """ + + _validation = { + 'actual_state': {'readonly': True}, + 'reason_code': {'readonly': True}, + 'reason_desc': {'readonly': True}, + } + + _attribute_map = { + 'desired_state': {'key': 'desiredState', 'type': 'AutomaticTuningOptionModeDesired'}, + 'actual_state': {'key': 'actualState', 'type': 'AutomaticTuningOptionModeActual'}, + 'reason_code': {'key': 'reasonCode', 'type': 'int'}, + 'reason_desc': {'key': 'reasonDesc', 'type': 'AutomaticTuningDisabledReason'}, + } + + def __init__(self, *, desired_state=None, **kwargs) -> None: + super(AutomaticTuningOptions, self).__init__(**kwargs) + self.desired_state = desired_state + self.actual_state = None + self.reason_code = None + self.reason_desc = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options.py b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options.py index 163fa8125cf1..ef7fbcc75e4b 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options.py @@ -48,9 +48,9 @@ class AutomaticTuningServerOptions(Model): 'reason_desc': {'key': 'reasonDesc', 'type': 'AutomaticTuningServerReason'}, } - def __init__(self, desired_state=None): - super(AutomaticTuningServerOptions, self).__init__() - self.desired_state = desired_state + def __init__(self, **kwargs): + super(AutomaticTuningServerOptions, self).__init__(**kwargs) + self.desired_state = kwargs.get('desired_state', None) self.actual_state = None self.reason_code = None self.reason_desc = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options_py3.py new file mode 100644 index 000000000000..28e5fc0873ad --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/automatic_tuning_server_options_py3.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AutomaticTuningServerOptions(Model): + """Automatic tuning properties for individual advisors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param desired_state: Automatic tuning option desired state. Possible + values include: 'Off', 'On', 'Default' + :type desired_state: str or + ~azure.mgmt.sql.models.AutomaticTuningOptionModeDesired + :ivar actual_state: Automatic tuning option actual state. Possible values + include: 'Off', 'On' + :vartype actual_state: str or + ~azure.mgmt.sql.models.AutomaticTuningOptionModeActual + :ivar reason_code: Reason code if desired and actual state are different. + :vartype reason_code: int + :ivar reason_desc: Reason description if desired and actual state are + different. Possible values include: 'Default', 'Disabled', + 'AutoConfigured' + :vartype reason_desc: str or + ~azure.mgmt.sql.models.AutomaticTuningServerReason + """ + + _validation = { + 'actual_state': {'readonly': True}, + 'reason_code': {'readonly': True}, + 'reason_desc': {'readonly': True}, + } + + _attribute_map = { + 'desired_state': {'key': 'desiredState', 'type': 'AutomaticTuningOptionModeDesired'}, + 'actual_state': {'key': 'actualState', 'type': 'AutomaticTuningOptionModeActual'}, + 'reason_code': {'key': 'reasonCode', 'type': 'int'}, + 'reason_desc': {'key': 'reasonDesc', 'type': 'AutomaticTuningServerReason'}, + } + + def __init__(self, *, desired_state=None, **kwargs) -> None: + super(AutomaticTuningServerOptions, self).__init__(**kwargs) + self.desired_state = desired_state + self.actual_state = None + self.reason_code = None + self.reason_desc = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy.py index 482093d96833..ac17e33a15ec 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy.py @@ -13,7 +13,7 @@ class BackupLongTermRetentionPolicy(ProxyResource): - """A backup long term retention policy. + """A long term retention policy. Variables are only populated by the server, and will be ignored when sending a request. @@ -24,37 +24,39 @@ class BackupLongTermRetentionPolicy(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str - :ivar location: The geo-location where the resource lives - :vartype location: str - :param state: The status of the backup long term retention policy. - Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.sql.models.BackupLongTermRetentionPolicyState - :param recovery_services_backup_policy_resource_id: The azure recovery - services backup protection policy resource id - :type recovery_services_backup_policy_resource_id: str + :param weekly_retention: The weekly retention policy for an LTR backup in + an ISO 8601 format. + :type weekly_retention: str + :param monthly_retention: The montly retention policy for an LTR backup in + an ISO 8601 format. + :type monthly_retention: str + :param yearly_retention: The yearly retention policy for an LTR backup in + an ISO 8601 format. + :type yearly_retention: str + :param week_of_year: The week of year to take the yearly backup in an ISO + 8601 format. + :type week_of_year: int """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'readonly': True}, - 'state': {'required': True}, - 'recovery_services_backup_policy_resource_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'BackupLongTermRetentionPolicyState'}, - 'recovery_services_backup_policy_resource_id': {'key': 'properties.recoveryServicesBackupPolicyResourceId', 'type': 'str'}, + 'weekly_retention': {'key': 'properties.weeklyRetention', 'type': 'str'}, + 'monthly_retention': {'key': 'properties.monthlyRetention', 'type': 'str'}, + 'yearly_retention': {'key': 'properties.yearlyRetention', 'type': 'str'}, + 'week_of_year': {'key': 'properties.weekOfYear', 'type': 'int'}, } - def __init__(self, state, recovery_services_backup_policy_resource_id): - super(BackupLongTermRetentionPolicy, self).__init__() - self.location = None - self.state = state - self.recovery_services_backup_policy_resource_id = recovery_services_backup_policy_resource_id + def __init__(self, **kwargs): + super(BackupLongTermRetentionPolicy, self).__init__(**kwargs) + self.weekly_retention = kwargs.get('weekly_retention', None) + self.monthly_retention = kwargs.get('monthly_retention', None) + self.yearly_retention = kwargs.get('yearly_retention', None) + self.week_of_year = kwargs.get('week_of_year', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_py3.py new file mode 100644 index 000000000000..b075dac8562d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_py3.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class BackupLongTermRetentionPolicy(ProxyResource): + """A long term retention policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param weekly_retention: The weekly retention policy for an LTR backup in + an ISO 8601 format. + :type weekly_retention: str + :param monthly_retention: The montly retention policy for an LTR backup in + an ISO 8601 format. + :type monthly_retention: str + :param yearly_retention: The yearly retention policy for an LTR backup in + an ISO 8601 format. + :type yearly_retention: str + :param week_of_year: The week of year to take the yearly backup in an ISO + 8601 format. + :type week_of_year: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'weekly_retention': {'key': 'properties.weeklyRetention', 'type': 'str'}, + 'monthly_retention': {'key': 'properties.monthlyRetention', 'type': 'str'}, + 'yearly_retention': {'key': 'properties.yearlyRetention', 'type': 'str'}, + 'week_of_year': {'key': 'properties.weekOfYear', 'type': 'int'}, + } + + def __init__(self, *, weekly_retention: str=None, monthly_retention: str=None, yearly_retention: str=None, week_of_year: int=None, **kwargs) -> None: + super(BackupLongTermRetentionPolicy, self).__init__(**kwargs) + self.weekly_retention = weekly_retention + self.monthly_retention = monthly_retention + self.yearly_retention = yearly_retention + self.week_of_year = week_of_year diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy.py new file mode 100644 index 000000000000..1d4fba2cfff4 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class BackupShortTermRetentionPolicy(ProxyResource): + """A short term retention policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param retention_days: The backup retention period in days. This is how + many days Point-in-Time Restore will be supported. + :type retention_days: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(BackupShortTermRetentionPolicy, self).__init__(**kwargs) + self.retention_days = kwargs.get('retention_days', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy_py3.py new file mode 100644 index 000000000000..9df25577baf3 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/backup_short_term_retention_policy_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class BackupShortTermRetentionPolicy(ProxyResource): + """A short term retention policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param retention_days: The backup retention period in days. This is how + many days Point-in-Time Restore will be supported. + :type retention_days: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, + } + + def __init__(self, *, retention_days: int=None, **kwargs) -> None: + super(BackupShortTermRetentionPolicy, self).__init__(**kwargs) + self.retention_days = retention_days diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request.py b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request.py index ed1c66db0108..345059f6dd49 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request.py @@ -18,10 +18,12 @@ class CheckNameAvailabilityRequest(Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: The name whose availability is to be checked. + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name whose availability is to be checked. :type name: str - :ivar type: The type of resource that is used as the scope of the - availability check. Default value: "Microsoft.Sql/servers" . + :ivar type: Required. The type of resource that is used as the scope of + the availability check. Default value: "Microsoft.Sql/servers" . :vartype type: str """ @@ -37,6 +39,6 @@ class CheckNameAvailabilityRequest(Model): type = "Microsoft.Sql/servers" - def __init__(self, name): - super(CheckNameAvailabilityRequest, self).__init__() - self.name = name + def __init__(self, **kwargs): + super(CheckNameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request_py3.py new file mode 100644 index 000000000000..5399ec3a7ffb --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_request_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CheckNameAvailabilityRequest(Model): + """A request to check whether the specified name for a resource is available. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name whose availability is to be checked. + :type name: str + :ivar type: Required. The type of resource that is used as the scope of + the availability check. Default value: "Microsoft.Sql/servers" . + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Sql/servers" + + def __init__(self, *, name: str, **kwargs) -> None: + super(CheckNameAvailabilityRequest, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response.py b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response.py index 26c98631887a..40f429db82da 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response.py @@ -46,8 +46,8 @@ class CheckNameAvailabilityResponse(Model): 'reason': {'key': 'reason', 'type': 'CheckNameAvailabilityReason'}, } - def __init__(self): - super(CheckNameAvailabilityResponse, self).__init__() + def __init__(self, **kwargs): + super(CheckNameAvailabilityResponse, self).__init__(**kwargs) self.available = None self.message = None self.name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response_py3.py new file mode 100644 index 000000000000..613c8fd41661 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/check_name_availability_response_py3.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CheckNameAvailabilityResponse(Model): + """A response indicating whether the specified name for a resource is + available. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar available: True if the name is available, otherwise false. + :vartype available: bool + :ivar message: A message explaining why the name is unavailable. Will be + null if the name is available. + :vartype message: str + :ivar name: The name whose availability was checked. + :vartype name: str + :ivar reason: The reason code explaining why the name is unavailable. Will + be null if the name is available. Possible values include: 'Invalid', + 'AlreadyExists' + :vartype reason: str or ~azure.mgmt.sql.models.CheckNameAvailabilityReason + """ + + _validation = { + 'available': {'readonly': True}, + 'message': {'readonly': True}, + 'name': {'readonly': True}, + 'reason': {'readonly': True}, + } + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'CheckNameAvailabilityReason'}, + } + + def __init__(self, **kwargs) -> None: + super(CheckNameAvailabilityResponse, self).__init__(**kwargs) + self.available = None + self.message = None + self.name = None + self.reason = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition.py b/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition.py new file mode 100644 index 000000000000..926012a21f09 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CompleteDatabaseRestoreDefinition(Model): + """Contains the information necessary to perform a complete database restore + operation. + + All required parameters must be populated in order to send to Azure. + + :param last_backup_name: Required. The last backup name to apply + :type last_backup_name: str + """ + + _validation = { + 'last_backup_name': {'required': True}, + } + + _attribute_map = { + 'last_backup_name': {'key': 'lastBackupName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CompleteDatabaseRestoreDefinition, self).__init__(**kwargs) + self.last_backup_name = kwargs.get('last_backup_name', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition_py3.py new file mode 100644 index 000000000000..8b3c7f3da1f8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/complete_database_restore_definition_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CompleteDatabaseRestoreDefinition(Model): + """Contains the information necessary to perform a complete database restore + operation. + + All required parameters must be populated in order to send to Azure. + + :param last_backup_name: Required. The last backup name to apply + :type last_backup_name: str + """ + + _validation = { + 'last_backup_name': {'required': True}, + } + + _attribute_map = { + 'last_backup_name': {'key': 'lastBackupName', 'type': 'str'}, + } + + def __init__(self, *, last_backup_name: str, **kwargs) -> None: + super(CompleteDatabaseRestoreDefinition, self).__init__(**kwargs) + self.last_backup_name = last_backup_name diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition.py b/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition.py index 14c582c5fd37..34ae6626306e 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition.py @@ -16,7 +16,9 @@ class CreateDatabaseRestorePointDefinition(Model): """Contains the information necessary to perform a create database restore point operation. - :param restore_point_label: The restore point label to apply + All required parameters must be populated in order to send to Azure. + + :param restore_point_label: Required. The restore point label to apply :type restore_point_label: str """ @@ -28,6 +30,6 @@ class CreateDatabaseRestorePointDefinition(Model): 'restore_point_label': {'key': 'restorePointLabel', 'type': 'str'}, } - def __init__(self, restore_point_label): - super(CreateDatabaseRestorePointDefinition, self).__init__() - self.restore_point_label = restore_point_label + def __init__(self, **kwargs): + super(CreateDatabaseRestorePointDefinition, self).__init__(**kwargs) + self.restore_point_label = kwargs.get('restore_point_label', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition_py3.py new file mode 100644 index 000000000000..7200fc8c236a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/create_database_restore_point_definition_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class CreateDatabaseRestorePointDefinition(Model): + """Contains the information necessary to perform a create database restore + point operation. + + All required parameters must be populated in order to send to Azure. + + :param restore_point_label: Required. The restore point label to apply + :type restore_point_label: str + """ + + _validation = { + 'restore_point_label': {'required': True}, + } + + _attribute_map = { + 'restore_point_label': {'key': 'restorePointLabel', 'type': 'str'}, + } + + def __init__(self, *, restore_point_label: str, **kwargs) -> None: + super(CreateDatabaseRestorePointDefinition, self).__init__(**kwargs) + self.restore_point_label = restore_point_label diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy.py index 883e4f9ae804..a872d3af9676 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy.py @@ -18,14 +18,16 @@ class DataMaskingPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param data_masking_state: The state of the data masking policy. Possible - values include: 'Disabled', 'Enabled' + :param data_masking_state: Required. The state of the data masking policy. + Possible values include: 'Disabled', 'Enabled' :type data_masking_state: str or ~azure.mgmt.sql.models.DataMaskingState :param exempt_principals: The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking @@ -68,10 +70,10 @@ class DataMaskingPolicy(ProxyResource): 'kind': {'key': 'kind', 'type': 'str'}, } - def __init__(self, data_masking_state, exempt_principals=None): - super(DataMaskingPolicy, self).__init__() - self.data_masking_state = data_masking_state - self.exempt_principals = exempt_principals + def __init__(self, **kwargs): + super(DataMaskingPolicy, self).__init__(**kwargs) + self.data_masking_state = kwargs.get('data_masking_state', None) + self.exempt_principals = kwargs.get('exempt_principals', None) self.application_principals = None self.masking_level = None self.location = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy_py3.py new file mode 100644 index 000000000000..c2227aeb60da --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_policy_py3.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DataMaskingPolicy(ProxyResource): + """Represents a database data masking policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param data_masking_state: Required. The state of the data masking policy. + Possible values include: 'Disabled', 'Enabled' + :type data_masking_state: str or ~azure.mgmt.sql.models.DataMaskingState + :param exempt_principals: The list of the exempt principals. Specifies the + semicolon-separated list of database users for which the data masking + policy does not apply. The specified users receive data results without + masking for all of the database queries. + :type exempt_principals: str + :ivar application_principals: The list of the application principals. This + is a legacy parameter and is no longer used. + :vartype application_principals: str + :ivar masking_level: The masking level. This is a legacy parameter and is + no longer used. + :vartype masking_level: str + :ivar location: The location of the data masking policy. + :vartype location: str + :ivar kind: The kind of data masking policy. Metadata, used for Azure + portal. + :vartype kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_masking_state': {'required': True}, + 'application_principals': {'readonly': True}, + 'masking_level': {'readonly': True}, + 'location': {'readonly': True}, + 'kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_masking_state': {'key': 'properties.dataMaskingState', 'type': 'DataMaskingState'}, + 'exempt_principals': {'key': 'properties.exemptPrincipals', 'type': 'str'}, + 'application_principals': {'key': 'properties.applicationPrincipals', 'type': 'str'}, + 'masking_level': {'key': 'properties.maskingLevel', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, data_masking_state, exempt_principals: str=None, **kwargs) -> None: + super(DataMaskingPolicy, self).__init__(**kwargs) + self.data_masking_state = data_masking_state + self.exempt_principals = exempt_principals + self.application_principals = None + self.masking_level = None + self.location = None + self.kind = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule.py b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule.py index bd43eb8a294d..9c31fca591b6 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule.py @@ -18,6 +18,8 @@ class DataMaskingRule(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -36,17 +38,17 @@ class DataMaskingRule(ProxyResource): enabled, regardless of the provided value of ruleState. Possible values include: 'Disabled', 'Enabled' :type rule_state: str or ~azure.mgmt.sql.models.DataMaskingRuleState - :param schema_name: The schema name on which the data masking rule is - applied. + :param schema_name: Required. The schema name on which the data masking + rule is applied. :type schema_name: str - :param table_name: The table name on which the data masking rule is - applied. + :param table_name: Required. The table name on which the data masking rule + is applied. :type table_name: str - :param column_name: The column name on which the data masking rule is - applied. + :param column_name: Required. The column name on which the data masking + rule is applied. :type column_name: str - :param masking_function: The masking function that is used for the data - masking rule. Possible values include: 'Default', 'CCN', 'Email', + :param masking_function: Required. The masking function that is used for + the data masking rule. Possible values include: 'Default', 'CCN', 'Email', 'Number', 'SSN', 'Text' :type masking_function: str or ~azure.mgmt.sql.models.DataMaskingFunction :param number_from: The numberFrom property of the masking rule. Required @@ -109,19 +111,19 @@ class DataMaskingRule(ProxyResource): 'kind': {'key': 'kind', 'type': 'str'}, } - def __init__(self, schema_name, table_name, column_name, masking_function, alias_name=None, rule_state=None, number_from=None, number_to=None, prefix_size=None, suffix_size=None, replacement_string=None): - super(DataMaskingRule, self).__init__() + def __init__(self, **kwargs): + super(DataMaskingRule, self).__init__(**kwargs) self.data_masking_rule_id = None - self.alias_name = alias_name - self.rule_state = rule_state - self.schema_name = schema_name - self.table_name = table_name - self.column_name = column_name - self.masking_function = masking_function - self.number_from = number_from - self.number_to = number_to - self.prefix_size = prefix_size - self.suffix_size = suffix_size - self.replacement_string = replacement_string + self.alias_name = kwargs.get('alias_name', None) + self.rule_state = kwargs.get('rule_state', None) + self.schema_name = kwargs.get('schema_name', None) + self.table_name = kwargs.get('table_name', None) + self.column_name = kwargs.get('column_name', None) + self.masking_function = kwargs.get('masking_function', None) + self.number_from = kwargs.get('number_from', None) + self.number_to = kwargs.get('number_to', None) + self.prefix_size = kwargs.get('prefix_size', None) + self.suffix_size = kwargs.get('suffix_size', None) + self.replacement_string = kwargs.get('replacement_string', None) self.location = None self.kind = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule_py3.py new file mode 100644 index 000000000000..775fd78a2d6b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/data_masking_rule_py3.py @@ -0,0 +1,129 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DataMaskingRule(ProxyResource): + """Represents a database data masking rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar data_masking_rule_id: The rule Id. + :vartype data_masking_rule_id: str + :param alias_name: The alias name. This is a legacy parameter and is no + longer used. + :type alias_name: str + :param rule_state: The rule state. Used to delete a rule. To delete an + existing rule, specify the schemaName, tableName, columnName, + maskingFunction, and specify ruleState as disabled. However, if the rule + doesn't already exist, the rule will be created with ruleState set to + enabled, regardless of the provided value of ruleState. Possible values + include: 'Disabled', 'Enabled' + :type rule_state: str or ~azure.mgmt.sql.models.DataMaskingRuleState + :param schema_name: Required. The schema name on which the data masking + rule is applied. + :type schema_name: str + :param table_name: Required. The table name on which the data masking rule + is applied. + :type table_name: str + :param column_name: Required. The column name on which the data masking + rule is applied. + :type column_name: str + :param masking_function: Required. The masking function that is used for + the data masking rule. Possible values include: 'Default', 'CCN', 'Email', + 'Number', 'SSN', 'Text' + :type masking_function: str or ~azure.mgmt.sql.models.DataMaskingFunction + :param number_from: The numberFrom property of the masking rule. Required + if maskingFunction is set to Number, otherwise this parameter will be + ignored. + :type number_from: str + :param number_to: The numberTo property of the data masking rule. Required + if maskingFunction is set to Number, otherwise this parameter will be + ignored. + :type number_to: str + :param prefix_size: If maskingFunction is set to Text, the number of + characters to show unmasked in the beginning of the string. Otherwise, + this parameter will be ignored. + :type prefix_size: str + :param suffix_size: If maskingFunction is set to Text, the number of + characters to show unmasked at the end of the string. Otherwise, this + parameter will be ignored. + :type suffix_size: str + :param replacement_string: If maskingFunction is set to Text, the + character to use for masking the unexposed part of the string. Otherwise, + this parameter will be ignored. + :type replacement_string: str + :ivar location: The location of the data masking rule. + :vartype location: str + :ivar kind: The kind of Data Masking Rule. Metadata, used for Azure + portal. + :vartype kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'data_masking_rule_id': {'readonly': True}, + 'schema_name': {'required': True}, + 'table_name': {'required': True}, + 'column_name': {'required': True}, + 'masking_function': {'required': True}, + 'location': {'readonly': True}, + 'kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_masking_rule_id': {'key': 'properties.id', 'type': 'str'}, + 'alias_name': {'key': 'properties.aliasName', 'type': 'str'}, + 'rule_state': {'key': 'properties.ruleState', 'type': 'DataMaskingRuleState'}, + 'schema_name': {'key': 'properties.schemaName', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + 'column_name': {'key': 'properties.columnName', 'type': 'str'}, + 'masking_function': {'key': 'properties.maskingFunction', 'type': 'DataMaskingFunction'}, + 'number_from': {'key': 'properties.numberFrom', 'type': 'str'}, + 'number_to': {'key': 'properties.numberTo', 'type': 'str'}, + 'prefix_size': {'key': 'properties.prefixSize', 'type': 'str'}, + 'suffix_size': {'key': 'properties.suffixSize', 'type': 'str'}, + 'replacement_string': {'key': 'properties.replacementString', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, schema_name: str, table_name: str, column_name: str, masking_function, alias_name: str=None, rule_state=None, number_from: str=None, number_to: str=None, prefix_size: str=None, suffix_size: str=None, replacement_string: str=None, **kwargs) -> None: + super(DataMaskingRule, self).__init__(**kwargs) + self.data_masking_rule_id = None + self.alias_name = alias_name + self.rule_state = rule_state + self.schema_name = schema_name + self.table_name = table_name + self.column_name = column_name + self.masking_function = masking_function + self.number_from = number_from + self.number_to = number_to + self.prefix_size = prefix_size + self.suffix_size = suffix_size + self.replacement_string = replacement_string + self.location = None + self.kind = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database.py b/azure-mgmt-sql/azure/mgmt/sql/models/database.py index d1e3be1b7d5d..01a91639b523 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database.py @@ -13,11 +13,13 @@ class Database(TrackedResource): - """Represents a database. + """A database resource. Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,35 +28,23 @@ class Database(TrackedResource): :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: Resource location. + :param location: Required. Resource location. :type location: str - :ivar kind: Kind of database. This is metadata used for the Azure portal + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku + :ivar kind: Kind of database. This is metadata used for the Azure portal experience. :vartype kind: str - :param collation: The collation of the database. If createMode is not - Default, this value is ignored. - :type collation: str - :ivar creation_date: The creation date of the database (ISO8601 format). - :vartype creation_date: datetime - :ivar containment_state: The containment state of the database. - :vartype containment_state: long - :ivar current_service_objective_id: The current service level objective ID - of the database. This is the ID of the service level objective that is - currently active. - :vartype current_service_objective_id: str - :ivar database_id: The ID of the database. - :vartype database_id: str - :ivar earliest_restore_date: This records the earliest start date and time - that restore is available for this database (ISO8601 format). - :vartype earliest_restore_date: datetime + :ivar managed_by: Resource that manages the database. + :vartype managed_by: str :param create_mode: Specifies the mode of database creation. Default: regular database creation. Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. - OnlineSecondary/NonReadableSecondary: creates a database as a (readable or - nonreadable) secondary replica of an existing database. sourceDatabaseId - must be specified as the resource ID of the existing primary database. + Secondary: creates a database as a secondary replica of an existing + database. sourceDatabaseId must be specified as the resource ID of the + existing primary database. PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be @@ -71,134 +61,91 @@ class Database(TrackedResource): RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. - Copy, NonReadableSecondary, OnlineSecondary and - RestoreLongTermRetentionBackup are not supported for DataWarehouse - edition. Possible values include: 'Copy', 'Default', - 'NonReadableSecondary', 'OnlineSecondary', 'PointInTimeRestore', - 'Recovery', 'Restore', 'RestoreLongTermRetentionBackup' + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for + DataWarehouse edition. Possible values include: 'Default', 'Copy', + 'Secondary', 'PointInTimeRestore', 'Restore', 'Recovery', + 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', + 'RestoreLongTermRetentionBackup', 'OnlineSecondary' :type create_mode: str or ~azure.mgmt.sql.models.CreateMode - :param source_database_id: Conditional. If createMode is Copy, - NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery, or - Restore, then this value is required. Specifies the resource ID of the - source database. If createMode is NonReadableSecondary or OnlineSecondary, - the name of the source database must be the same as the new database being - created. + :param collation: The collation of the database. + :type collation: str + :param max_size_bytes: The max size of the database expressed in bytes. + :type max_size_bytes: long + :param sample_name: The name of the sample schema to apply when creating + this database. Possible values include: 'AdventureWorksLT', + 'WideWorldImportersStd', 'WideWorldImportersFull' + :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param elastic_pool_id: The resource identifier of the elastic pool + containing this database. + :type elastic_pool_id: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. :type source_database_id: str - :param source_database_deletion_date: Conditional. If createMode is - Restore and sourceDatabaseId is the deleted database's original resource - id when it existed (as opposed to its current restorable dropped database - id), then this value is required. Specifies the time that the database was - deleted. - :type source_database_deletion_date: datetime - :param restore_point_in_time: Conditional. If createMode is - PointInTimeRestore, this value is required. If createMode is Restore, this - value is optional. Specifies the point in time (ISO8601 format) of the - source database that will be restored to create the new database. Must be - greater than or equal to the source database's earliestRestoreDate value. - :type restore_point_in_time: datetime - :param recovery_services_recovery_point_resource_id: Conditional. If - createMode is RestoreLongTermRetentionBackup, then this value is required. - Specifies the resource ID of the recovery point to restore from. - :type recovery_services_recovery_point_resource_id: str - :param edition: The edition of the database. The DatabaseEditions - enumeration contains all the valid editions. If createMode is - NonReadableSecondary or OnlineSecondary, this value is ignored. To see - possible values, query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions -l westus --query [].name`. - Possible values include: 'Web', 'Business', 'Basic', 'Standard', - 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', - 'System2' - :type edition: str or ~azure.mgmt.sql.models.DatabaseEdition - :param max_size_bytes: The max size of the database expressed in bytes. If - createMode is not Default, this value is ignored. To see possible values, - query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." - :type max_size_bytes: str - :param requested_service_objective_id: The configured service level - objective ID of the database. This is the service level objective that is - in the process of being applied to the database. Once successfully - updated, it will match the value of currentServiceObjectiveId property. If - requestedServiceObjectiveId and requestedServiceObjectiveName are both - updated, the value of requestedServiceObjectiveId overrides the value of - requestedServiceObjectiveName. To see possible values, query the - capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions --location --query - [].supportedServiceLevelObjectives[].name` . - :type requested_service_objective_id: str - :param requested_service_objective_name: The name of the configured - service level objective of the database. This is the service level - objective that is in the process of being applied to the database. Once - successfully updated, it will match the value of serviceLevelObjective - property. To see possible values, query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions --location --query - [].supportedServiceLevelObjectives[].name`. Possible values include: - 'System', 'System0', 'System1', 'System2', 'System3', 'System4', - 'System2L', 'System3L', 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', - 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', - 'P15', 'PRS1', 'PRS2', 'PRS4', 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', - 'DW500', 'DW600', 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', - 'DW2000', 'DW2000c', 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', - 'DW6000c', 'DW7500c', 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', - 'DS200', 'DS300', 'DS400', 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', - 'DS2000', 'ElasticPool' - :type requested_service_objective_name: str or - ~azure.mgmt.sql.models.ServiceObjectiveName - :ivar service_level_objective: The current service level objective of the - database. Possible values include: 'System', 'System0', 'System1', - 'System2', 'System3', 'System4', 'System2L', 'System3L', 'System4L', - 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', - 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', - 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', - 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', - 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', - 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', - 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' - :vartype service_level_objective: str or - ~azure.mgmt.sql.models.ServiceObjectiveName - :ivar status: The status of the database. - :vartype status: str - :param elastic_pool_name: The name of the elastic pool the database is in. - If elasticPoolName and requestedServiceObjectiveName are both updated, the - value of requestedServiceObjectiveName is ignored. Not supported for - DataWarehouse edition. - :type elastic_pool_name: str + :ivar status: The status of the database. Possible values include: + 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', + 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', + 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', + 'Paused', 'Resuming', 'Scaling' + :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus + :ivar database_id: The ID of the database. + :vartype database_id: str + :ivar creation_date: The creation date of the database (ISO8601 format). + :vartype creation_date: datetime + :ivar current_service_objective_name: The current service level objective + name of the database. + :vartype current_service_objective_name: str + :ivar requested_service_objective_name: The requested service level + objective name of the database. + :vartype requested_service_objective_name: str :ivar default_secondary_location: The default secondary region for this database. :vartype default_secondary_location: str - :ivar service_tier_advisors: The list of service tier advisors for this - database. Expanded property - :vartype service_tier_advisors: - list[~azure.mgmt.sql.models.ServiceTierAdvisor] - :ivar transparent_data_encryption: The transparent data encryption info - for this database. - :vartype transparent_data_encryption: - list[~azure.mgmt.sql.models.TransparentDataEncryption] - :ivar recommended_index: The recommended indices for this database. - :vartype recommended_index: list[~azure.mgmt.sql.models.RecommendedIndex] - :ivar failover_group_id: The resource identifier of the failover group - containing this database. + :ivar failover_group_id: Failover Group resource identifier that this + database belongs to. :vartype failover_group_id: str - :param read_scale: Conditional. If the database is a geo-secondary, - readScale indicates whether read-only connections are allowed to this - database or not. Not supported for DataWarehouse edition. Possible values - include: 'Enabled', 'Disabled' - :type read_scale: str or ~azure.mgmt.sql.models.ReadScale - :param sample_name: Indicates the name of the sample schema to apply when - creating this database. If createMode is not Default, this value is - ignored. Not supported for DataWarehouse edition. Possible values include: - 'AdventureWorksLT' - :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param restore_point_in_time: Specifies the point in time (ISO8601 format) + of the source database that will be restored to create the new database. + :type restore_point_in_time: datetime + :param source_database_deletion_date: Specifies the time that the database + was deleted. + :type source_database_deletion_date: datetime + :param recovery_services_recovery_point_id: The resource identifier of the + recovery point associated with create operation of this database. + :type recovery_services_recovery_point_id: str + :param long_term_retention_backup_resource_id: The resource identifier of + the long term retention backup associated with create operation of this + database. + :type long_term_retention_backup_resource_id: str + :param recoverable_database_id: The resource identifier of the recoverable + database associated with create operation of this database. + :type recoverable_database_id: str + :param restorable_dropped_database_id: The resource identifier of the + restorable dropped database associated with create operation of this + database. + :type restorable_dropped_database_id: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType :param zone_redundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. :type zone_redundant: bool + :param license_type: The license type to apply for this database. Possible + values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType + :ivar max_log_size_bytes: The max log size for this database. + :vartype max_log_size_bytes: long + :ivar earliest_restore_date: This records the earliest start date and time + that restore is available for this database (ISO8601 format). + :vartype earliest_restore_date: datetime + :param read_scale: The state of read-only routing. If enabled, connections + that have application intent set to readonly in their connection string + may be routed to a readonly secondary replica in the same region. Possible + values include: 'Enabled', 'Disabled' + :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale + :ivar current_sku: The name and tier of the SKU. + :vartype current_sku: ~azure.mgmt.sql.models.Sku """ _validation = { @@ -207,18 +154,17 @@ class Database(TrackedResource): 'type': {'readonly': True}, 'location': {'required': True}, 'kind': {'readonly': True}, - 'creation_date': {'readonly': True}, - 'containment_state': {'readonly': True}, - 'current_service_objective_id': {'readonly': True}, - 'database_id': {'readonly': True}, - 'earliest_restore_date': {'readonly': True}, - 'service_level_objective': {'readonly': True}, + 'managed_by': {'readonly': True}, 'status': {'readonly': True}, + 'database_id': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'current_service_objective_name': {'readonly': True}, + 'requested_service_objective_name': {'readonly': True}, 'default_secondary_location': {'readonly': True}, - 'service_tier_advisors': {'readonly': True}, - 'transparent_data_encryption': {'readonly': True}, - 'recommended_index': {'readonly': True}, 'failover_group_id': {'readonly': True}, + 'max_log_size_bytes': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'current_sku': {'readonly': True}, } _attribute_map = { @@ -227,61 +173,65 @@ class Database(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, 'kind': {'key': 'kind', 'type': 'str'}, - 'collation': {'key': 'properties.collation', 'type': 'str'}, - 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, - 'containment_state': {'key': 'properties.containmentState', 'type': 'long'}, - 'current_service_objective_id': {'key': 'properties.currentServiceObjectiveId', 'type': 'str'}, - 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, - 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, - 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, - 'recovery_services_recovery_point_resource_id': {'key': 'properties.recoveryServicesRecoveryPointResourceId', 'type': 'str'}, - 'edition': {'key': 'properties.edition', 'type': 'str'}, - 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'str'}, - 'requested_service_objective_id': {'key': 'properties.requestedServiceObjectiveId', 'type': 'str'}, - 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, - 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, - 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, + 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, - 'service_tier_advisors': {'key': 'properties.serviceTierAdvisors', 'type': '[ServiceTierAdvisor]'}, - 'transparent_data_encryption': {'key': 'properties.transparentDataEncryption', 'type': '[TransparentDataEncryption]'}, - 'recommended_index': {'key': 'properties.recommendedIndex', 'type': '[RecommendedIndex]'}, 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, - 'read_scale': {'key': 'properties.readScale', 'type': 'ReadScale'}, - 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, + 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, + 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, + 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, + 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, + 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, } - def __init__(self, location, tags=None, collation=None, create_mode=None, source_database_id=None, source_database_deletion_date=None, restore_point_in_time=None, recovery_services_recovery_point_resource_id=None, edition=None, max_size_bytes=None, requested_service_objective_id=None, requested_service_objective_name=None, elastic_pool_name=None, read_scale=None, sample_name=None, zone_redundant=None): - super(Database, self).__init__(tags=tags, location=location) + def __init__(self, **kwargs): + super(Database, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) self.kind = None - self.collation = collation - self.creation_date = None - self.containment_state = None - self.current_service_objective_id = None - self.database_id = None - self.earliest_restore_date = None - self.create_mode = create_mode - self.source_database_id = source_database_id - self.source_database_deletion_date = source_database_deletion_date - self.restore_point_in_time = restore_point_in_time - self.recovery_services_recovery_point_resource_id = recovery_services_recovery_point_resource_id - self.edition = edition - self.max_size_bytes = max_size_bytes - self.requested_service_objective_id = requested_service_objective_id - self.requested_service_objective_name = requested_service_objective_name - self.service_level_objective = None + self.managed_by = None + self.create_mode = kwargs.get('create_mode', None) + self.collation = kwargs.get('collation', None) + self.max_size_bytes = kwargs.get('max_size_bytes', None) + self.sample_name = kwargs.get('sample_name', None) + self.elastic_pool_id = kwargs.get('elastic_pool_id', None) + self.source_database_id = kwargs.get('source_database_id', None) self.status = None - self.elastic_pool_name = elastic_pool_name + self.database_id = None + self.creation_date = None + self.current_service_objective_name = None + self.requested_service_objective_name = None self.default_secondary_location = None - self.service_tier_advisors = None - self.transparent_data_encryption = None - self.recommended_index = None self.failover_group_id = None - self.read_scale = read_scale - self.sample_name = sample_name - self.zone_redundant = zone_redundant + self.restore_point_in_time = kwargs.get('restore_point_in_time', None) + self.source_database_deletion_date = kwargs.get('source_database_deletion_date', None) + self.recovery_services_recovery_point_id = kwargs.get('recovery_services_recovery_point_id', None) + self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) + self.recoverable_database_id = kwargs.get('recoverable_database_id', None) + self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) + self.catalog_collation = kwargs.get('catalog_collation', None) + self.zone_redundant = kwargs.get('zone_redundant', None) + self.license_type = kwargs.get('license_type', None) + self.max_log_size_bytes = None + self.earliest_restore_date = None + self.read_scale = kwargs.get('read_scale', None) + self.current_sku = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning.py index 2bee39c6b0e6..eca56cffda2c 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning.py @@ -50,8 +50,8 @@ class DatabaseAutomaticTuning(ProxyResource): 'options': {'key': 'properties.options', 'type': '{AutomaticTuningOptions}'}, } - def __init__(self, desired_state=None, options=None): - super(DatabaseAutomaticTuning, self).__init__() - self.desired_state = desired_state + def __init__(self, **kwargs): + super(DatabaseAutomaticTuning, self).__init__(**kwargs) + self.desired_state = kwargs.get('desired_state', None) self.actual_state = None - self.options = options + self.options = kwargs.get('options', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning_py3.py new file mode 100644 index 000000000000..86bb068ce54f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_automatic_tuning_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseAutomaticTuning(ProxyResource): + """Database-level Automatic Tuning. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param desired_state: Automatic tuning desired state. Possible values + include: 'Inherit', 'Custom', 'Auto', 'Unspecified' + :type desired_state: str or ~azure.mgmt.sql.models.AutomaticTuningMode + :ivar actual_state: Automatic tuning actual state. Possible values + include: 'Inherit', 'Custom', 'Auto', 'Unspecified' + :vartype actual_state: str or ~azure.mgmt.sql.models.AutomaticTuningMode + :param options: Automatic tuning options definition. + :type options: dict[str, ~azure.mgmt.sql.models.AutomaticTuningOptions] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'actual_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'desired_state': {'key': 'properties.desiredState', 'type': 'AutomaticTuningMode'}, + 'actual_state': {'key': 'properties.actualState', 'type': 'AutomaticTuningMode'}, + 'options': {'key': 'properties.options', 'type': '{AutomaticTuningOptions}'}, + } + + def __init__(self, *, desired_state=None, options=None, **kwargs) -> None: + super(DatabaseAutomaticTuning, self).__init__(**kwargs) + self.desired_state = desired_state + self.actual_state = None + self.options = options diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy.py index ad44a1de6df5..407713325e7d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy.py @@ -18,6 +18,8 @@ class DatabaseBlobAuditingPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,9 +28,9 @@ class DatabaseBlobAuditingPolicy(ProxyResource): :vartype type: str :ivar kind: Resource kind. :vartype kind: str - :param state: Specifies the state of the policy. If state is Enabled, - storageEndpoint and storageAccountAccessKey are required. Possible values - include: 'Enabled', 'Disabled' + :param state: Required. Specifies the state of the policy. If state is + Enabled, storageEndpoint and storageAccountAccessKey are required. + Possible values include: 'Enabled', 'Disabled' :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState :param storage_endpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, @@ -74,13 +76,13 @@ class DatabaseBlobAuditingPolicy(ProxyResource): 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, } - def __init__(self, state, storage_endpoint=None, storage_account_access_key=None, retention_days=None, audit_actions_and_groups=None, storage_account_subscription_id=None, is_storage_secondary_key_in_use=None): - super(DatabaseBlobAuditingPolicy, self).__init__() + def __init__(self, **kwargs): + super(DatabaseBlobAuditingPolicy, self).__init__(**kwargs) self.kind = None - self.state = state - self.storage_endpoint = storage_endpoint - self.storage_account_access_key = storage_account_access_key - self.retention_days = retention_days - self.audit_actions_and_groups = audit_actions_and_groups - self.storage_account_subscription_id = storage_account_subscription_id - self.is_storage_secondary_key_in_use = is_storage_secondary_key_in_use + self.state = kwargs.get('state', None) + self.storage_endpoint = kwargs.get('storage_endpoint', None) + self.storage_account_access_key = kwargs.get('storage_account_access_key', None) + self.retention_days = kwargs.get('retention_days', None) + self.audit_actions_and_groups = kwargs.get('audit_actions_and_groups', None) + self.storage_account_subscription_id = kwargs.get('storage_account_subscription_id', None) + self.is_storage_secondary_key_in_use = kwargs.get('is_storage_secondary_key_in_use', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy_py3.py new file mode 100644 index 000000000000..bfc95370f0fc --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_blob_auditing_policy_py3.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseBlobAuditingPolicy(ProxyResource): + """A database blob auditing policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar kind: Resource kind. + :vartype kind: str + :param state: Required. Specifies the state of the policy. If state is + Enabled, storageEndpoint and storageAccountAccessKey are required. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~azure.mgmt.sql.models.BlobAuditingPolicyState + :param storage_endpoint: Specifies the blob storage endpoint (e.g. + https://MyAccount.blob.core.windows.net). If state is Enabled, + storageEndpoint is required. + :type storage_endpoint: str + :param storage_account_access_key: Specifies the identifier key of the + auditing storage account. If state is Enabled, storageAccountAccessKey is + required. + :type storage_account_access_key: str + :param retention_days: Specifies the number of days to keep in the audit + logs. + :type retention_days: int + :param audit_actions_and_groups: Specifies the Actions and Actions-Groups + to audit. + :type audit_actions_and_groups: list[str] + :param storage_account_subscription_id: Specifies the blob storage + subscription Id. + :type storage_account_subscription_id: str + :param is_storage_secondary_key_in_use: Specifies whether + storageAccountAccessKey value is the storage’s secondary key. + :type is_storage_secondary_key_in_use: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'readonly': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'BlobAuditingPolicyState'}, + 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, + 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, + 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, + 'audit_actions_and_groups': {'key': 'properties.auditActionsAndGroups', 'type': '[str]'}, + 'storage_account_subscription_id': {'key': 'properties.storageAccountSubscriptionId', 'type': 'str'}, + 'is_storage_secondary_key_in_use': {'key': 'properties.isStorageSecondaryKeyInUse', 'type': 'bool'}, + } + + def __init__(self, *, state, storage_endpoint: str=None, storage_account_access_key: str=None, retention_days: int=None, audit_actions_and_groups=None, storage_account_subscription_id: str=None, is_storage_secondary_key_in_use: bool=None, **kwargs) -> None: + super(DatabaseBlobAuditingPolicy, self).__init__(**kwargs) + self.kind = None + self.state = state + self.storage_endpoint = storage_endpoint + self.storage_account_access_key = storage_account_access_key + self.retention_days = retention_days + self.audit_actions_and_groups = audit_actions_and_groups + self.storage_account_subscription_id = storage_account_subscription_id + self.is_storage_secondary_key_in_use = is_storage_secondary_key_in_use diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_operation.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_operation.py index e33ba1c29bcc..fec6e0e19b64 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_operation.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_operation.py @@ -97,8 +97,8 @@ class DatabaseOperation(ProxyResource): 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, } - def __init__(self): - super(DatabaseOperation, self).__init__() + def __init__(self, **kwargs): + super(DatabaseOperation, self).__init__(**kwargs) self.database_name = None self.operation = None self.operation_friendly_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_operation_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_operation_py3.py new file mode 100644 index 000000000000..66fb0bb0c602 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_operation_py3.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseOperation(ProxyResource): + """A database operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar database_name: The name of the database the operation is being + performed on. + :vartype database_name: str + :ivar operation: The name of operation. + :vartype operation: str + :ivar operation_friendly_name: The friendly name of operation. + :vartype operation_friendly_name: str + :ivar percent_complete: The percentage of the operation completed. + :vartype percent_complete: int + :ivar server_name: The name of the server. + :vartype server_name: str + :ivar start_time: The operation start time. + :vartype start_time: datetime + :ivar state: The operation state. Possible values include: 'Pending', + 'InProgress', 'Succeeded', 'Failed', 'CancelInProgress', 'Cancelled' + :vartype state: str or ~azure.mgmt.sql.models.ManagementOperationState + :ivar error_code: The operation error code. + :vartype error_code: int + :ivar error_description: The operation error description. + :vartype error_description: str + :ivar error_severity: The operation error severity. + :vartype error_severity: int + :ivar is_user_error: Whether or not the error is a user error. + :vartype is_user_error: bool + :ivar estimated_completion_time: The estimated completion time of the + operation. + :vartype estimated_completion_time: datetime + :ivar description: The operation description. + :vartype description: str + :ivar is_cancellable: Whether the operation can be cancelled. + :vartype is_cancellable: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'database_name': {'readonly': True}, + 'operation': {'readonly': True}, + 'operation_friendly_name': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'server_name': {'readonly': True}, + 'start_time': {'readonly': True}, + 'state': {'readonly': True}, + 'error_code': {'readonly': True}, + 'error_description': {'readonly': True}, + 'error_severity': {'readonly': True}, + 'is_user_error': {'readonly': True}, + 'estimated_completion_time': {'readonly': True}, + 'description': {'readonly': True}, + 'is_cancellable': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, + 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, + 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, + 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, + 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, + } + + def __init__(self, **kwargs) -> None: + super(DatabaseOperation, self).__init__(**kwargs) + self.database_name = None + self.operation = None + self.operation_friendly_name = None + self.percent_complete = None + self.server_name = None + self.start_time = None + self.state = None + self.error_code = None + self.error_description = None + self.error_severity = None + self.is_user_error = None + self.estimated_completion_time = None + self.description = None + self.is_cancellable = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_py3.py new file mode 100644 index 000000000000..d8292104953f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_py3.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class Database(TrackedResource): + """A database resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku + :ivar kind: Kind of database. This is metadata used for the Azure portal + experience. + :vartype kind: str + :ivar managed_by: Resource that manages the database. + :vartype managed_by: str + :param create_mode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. + sourceDatabaseId must be specified as the resource ID of the source + database. + Secondary: creates a database as a secondary replica of an existing + database. sourceDatabaseId must be specified as the resource ID of the + existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup + of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing database, and restorePointInTime must be + specified. + Recovery: Creates a database by restoring a geo-replicated backup. + sourceDatabaseId must be specified as the recoverable database resource ID + to restore. + Restore: Creates a database by restoring a backup of a deleted database. + sourceDatabaseId must be specified. If sourceDatabaseId is the database's + original resource ID, then sourceDatabaseDeletionDate must be specified. + Otherwise sourceDatabaseId must be the restorable dropped database + resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime + may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a + long term retention vault. recoveryServicesRecoveryPointResourceId must be + specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for + DataWarehouse edition. Possible values include: 'Default', 'Copy', + 'Secondary', 'PointInTimeRestore', 'Restore', 'Recovery', + 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', + 'RestoreLongTermRetentionBackup', 'OnlineSecondary' + :type create_mode: str or ~azure.mgmt.sql.models.CreateMode + :param collation: The collation of the database. + :type collation: str + :param max_size_bytes: The max size of the database expressed in bytes. + :type max_size_bytes: long + :param sample_name: The name of the sample schema to apply when creating + this database. Possible values include: 'AdventureWorksLT', + 'WideWorldImportersStd', 'WideWorldImportersFull' + :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param elastic_pool_id: The resource identifier of the elastic pool + containing this database. + :type elastic_pool_id: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :ivar status: The status of the database. Possible values include: + 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', + 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', + 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', + 'Paused', 'Resuming', 'Scaling' + :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus + :ivar database_id: The ID of the database. + :vartype database_id: str + :ivar creation_date: The creation date of the database (ISO8601 format). + :vartype creation_date: datetime + :ivar current_service_objective_name: The current service level objective + name of the database. + :vartype current_service_objective_name: str + :ivar requested_service_objective_name: The requested service level + objective name of the database. + :vartype requested_service_objective_name: str + :ivar default_secondary_location: The default secondary region for this + database. + :vartype default_secondary_location: str + :ivar failover_group_id: Failover Group resource identifier that this + database belongs to. + :vartype failover_group_id: str + :param restore_point_in_time: Specifies the point in time (ISO8601 format) + of the source database that will be restored to create the new database. + :type restore_point_in_time: datetime + :param source_database_deletion_date: Specifies the time that the database + was deleted. + :type source_database_deletion_date: datetime + :param recovery_services_recovery_point_id: The resource identifier of the + recovery point associated with create operation of this database. + :type recovery_services_recovery_point_id: str + :param long_term_retention_backup_resource_id: The resource identifier of + the long term retention backup associated with create operation of this + database. + :type long_term_retention_backup_resource_id: str + :param recoverable_database_id: The resource identifier of the recoverable + database associated with create operation of this database. + :type recoverable_database_id: str + :param restorable_dropped_database_id: The resource identifier of the + restorable dropped database associated with create operation of this + database. + :type restorable_dropped_database_id: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param zone_redundant: Whether or not this database is zone redundant, + which means the replicas of this database will be spread across multiple + availability zones. + :type zone_redundant: bool + :param license_type: The license type to apply for this database. Possible + values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType + :ivar max_log_size_bytes: The max log size for this database. + :vartype max_log_size_bytes: long + :ivar earliest_restore_date: This records the earliest start date and time + that restore is available for this database (ISO8601 format). + :vartype earliest_restore_date: datetime + :param read_scale: The state of read-only routing. If enabled, connections + that have application intent set to readonly in their connection string + may be routed to a readonly secondary replica in the same region. Possible + values include: 'Enabled', 'Disabled' + :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale + :ivar current_sku: The name and tier of the SKU. + :vartype current_sku: ~azure.mgmt.sql.models.Sku + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'readonly': True}, + 'managed_by': {'readonly': True}, + 'status': {'readonly': True}, + 'database_id': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'current_service_objective_name': {'readonly': True}, + 'requested_service_objective_name': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + 'max_log_size_bytes': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'current_sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, + 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, + 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, + 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, + 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, + 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, + 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, + } + + def __init__(self, *, location: str, tags=None, sku=None, create_mode=None, collation: str=None, max_size_bytes: int=None, sample_name=None, elastic_pool_id: str=None, source_database_id: str=None, restore_point_in_time=None, source_database_deletion_date=None, recovery_services_recovery_point_id: str=None, long_term_retention_backup_resource_id: str=None, recoverable_database_id: str=None, restorable_dropped_database_id: str=None, catalog_collation=None, zone_redundant: bool=None, license_type=None, read_scale=None, **kwargs) -> None: + super(Database, self).__init__(tags=tags, location=location, **kwargs) + self.sku = sku + self.kind = None + self.managed_by = None + self.create_mode = create_mode + self.collation = collation + self.max_size_bytes = max_size_bytes + self.sample_name = sample_name + self.elastic_pool_id = elastic_pool_id + self.source_database_id = source_database_id + self.status = None + self.database_id = None + self.creation_date = None + self.current_service_objective_name = None + self.requested_service_objective_name = None + self.default_secondary_location = None + self.failover_group_id = None + self.restore_point_in_time = restore_point_in_time + self.source_database_deletion_date = source_database_deletion_date + self.recovery_services_recovery_point_id = recovery_services_recovery_point_id + self.long_term_retention_backup_resource_id = long_term_retention_backup_resource_id + self.recoverable_database_id = recoverable_database_id + self.restorable_dropped_database_id = restorable_dropped_database_id + self.catalog_collation = catalog_collation + self.zone_redundant = zone_redundant + self.license_type = license_type + self.max_log_size_bytes = None + self.earliest_restore_date = None + self.read_scale = read_scale + self.current_sku = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy.py index 120fb9a3a56d..ce511c006b99 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy.py @@ -18,6 +18,8 @@ class DatabaseSecurityAlertPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -28,9 +30,9 @@ class DatabaseSecurityAlertPolicy(ProxyResource): :type location: str :ivar kind: Resource kind. :vartype kind: str - :param state: Specifies the state of the policy. If state is Enabled, - storageEndpoint and storageAccountAccessKey are required. Possible values - include: 'New', 'Enabled', 'Disabled' + :param state: Required. Specifies the state of the policy. If state is + Enabled, storageEndpoint and storageAccountAccessKey are required. + Possible values include: 'New', 'Enabled', 'Disabled' :type state: str or ~azure.mgmt.sql.models.SecurityAlertPolicyState :param disabled_alerts: Specifies the semicolon-separated list of alerts that are disabled, or empty string to disable no alerts. Possible values: @@ -85,15 +87,15 @@ class DatabaseSecurityAlertPolicy(ProxyResource): 'use_server_default': {'key': 'properties.useServerDefault', 'type': 'SecurityAlertPolicyUseServerDefault'}, } - def __init__(self, state, location=None, disabled_alerts=None, email_addresses=None, email_account_admins=None, storage_endpoint=None, storage_account_access_key=None, retention_days=None, use_server_default=None): - super(DatabaseSecurityAlertPolicy, self).__init__() - self.location = location + def __init__(self, **kwargs): + super(DatabaseSecurityAlertPolicy, self).__init__(**kwargs) + self.location = kwargs.get('location', None) self.kind = None - self.state = state - self.disabled_alerts = disabled_alerts - self.email_addresses = email_addresses - self.email_account_admins = email_account_admins - self.storage_endpoint = storage_endpoint - self.storage_account_access_key = storage_account_access_key - self.retention_days = retention_days - self.use_server_default = use_server_default + self.state = kwargs.get('state', None) + self.disabled_alerts = kwargs.get('disabled_alerts', None) + self.email_addresses = kwargs.get('email_addresses', None) + self.email_account_admins = kwargs.get('email_account_admins', None) + self.storage_endpoint = kwargs.get('storage_endpoint', None) + self.storage_account_access_key = kwargs.get('storage_account_access_key', None) + self.retention_days = kwargs.get('retention_days', None) + self.use_server_default = kwargs.get('use_server_default', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy_py3.py new file mode 100644 index 000000000000..8967d6a6e0f1 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_security_alert_policy_py3.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseSecurityAlertPolicy(ProxyResource): + """Contains information about a database Threat Detection policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: The geo-location where the resource lives + :type location: str + :ivar kind: Resource kind. + :vartype kind: str + :param state: Required. Specifies the state of the policy. If state is + Enabled, storageEndpoint and storageAccountAccessKey are required. + Possible values include: 'New', 'Enabled', 'Disabled' + :type state: str or ~azure.mgmt.sql.models.SecurityAlertPolicyState + :param disabled_alerts: Specifies the semicolon-separated list of alerts + that are disabled, or empty string to disable no alerts. Possible values: + Sql_Injection; Sql_Injection_Vulnerability; Access_Anomaly; Usage_Anomaly. + :type disabled_alerts: str + :param email_addresses: Specifies the semicolon-separated list of e-mail + addresses to which the alert is sent. + :type email_addresses: str + :param email_account_admins: Specifies that the alert is sent to the + account administrators. Possible values include: 'Enabled', 'Disabled' + :type email_account_admins: str or + ~azure.mgmt.sql.models.SecurityAlertPolicyEmailAccountAdmins + :param storage_endpoint: Specifies the blob storage endpoint (e.g. + https://MyAccount.blob.core.windows.net). This blob storage will hold all + Threat Detection audit logs. If state is Enabled, storageEndpoint is + required. + :type storage_endpoint: str + :param storage_account_access_key: Specifies the identifier key of the + Threat Detection audit storage account. If state is Enabled, + storageAccountAccessKey is required. + :type storage_account_access_key: str + :param retention_days: Specifies the number of days to keep in the Threat + Detection audit logs. + :type retention_days: int + :param use_server_default: Specifies whether to use the default server + policy. Possible values include: 'Enabled', 'Disabled' + :type use_server_default: str or + ~azure.mgmt.sql.models.SecurityAlertPolicyUseServerDefault + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'readonly': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'SecurityAlertPolicyState'}, + 'disabled_alerts': {'key': 'properties.disabledAlerts', 'type': 'str'}, + 'email_addresses': {'key': 'properties.emailAddresses', 'type': 'str'}, + 'email_account_admins': {'key': 'properties.emailAccountAdmins', 'type': 'SecurityAlertPolicyEmailAccountAdmins'}, + 'storage_endpoint': {'key': 'properties.storageEndpoint', 'type': 'str'}, + 'storage_account_access_key': {'key': 'properties.storageAccountAccessKey', 'type': 'str'}, + 'retention_days': {'key': 'properties.retentionDays', 'type': 'int'}, + 'use_server_default': {'key': 'properties.useServerDefault', 'type': 'SecurityAlertPolicyUseServerDefault'}, + } + + def __init__(self, *, state, location: str=None, disabled_alerts: str=None, email_addresses: str=None, email_account_admins=None, storage_endpoint: str=None, storage_account_access_key: str=None, retention_days: int=None, use_server_default=None, **kwargs) -> None: + super(DatabaseSecurityAlertPolicy, self).__init__(**kwargs) + self.location = location + self.kind = None + self.state = state + self.disabled_alerts = disabled_alerts + self.email_addresses = email_addresses + self.email_account_admins = email_account_admins + self.storage_endpoint = storage_endpoint + self.storage_account_access_key = storage_account_access_key + self.retention_days = retention_days + self.use_server_default = use_server_default diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_update.py index 004219b09443..d4d4cbdf4270 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_update.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_update.py @@ -9,47 +9,25 @@ # regenerated. # -------------------------------------------------------------------------- -from .resource import Resource +from msrest.serialization import Model -class DatabaseUpdate(Resource): - """Represents a database update. +class DatabaseUpdate(Model): + """A database resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param collation: The collation of the database. If createMode is not - Default, this value is ignored. - :type collation: str - :ivar creation_date: The creation date of the database (ISO8601 format). - :vartype creation_date: datetime - :ivar containment_state: The containment state of the database. - :vartype containment_state: long - :ivar current_service_objective_id: The current service level objective ID - of the database. This is the ID of the service level objective that is - currently active. - :vartype current_service_objective_id: str - :ivar database_id: The ID of the database. - :vartype database_id: str - :ivar earliest_restore_date: This records the earliest start date and time - that restore is available for this database (ISO8601 format). - :vartype earliest_restore_date: datetime + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku :param create_mode: Specifies the mode of database creation. Default: regular database creation. Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. - OnlineSecondary/NonReadableSecondary: creates a database as a (readable or - nonreadable) secondary replica of an existing database. sourceDatabaseId - must be specified as the resource ID of the existing primary database. + Secondary: creates a database as a secondary replica of an existing + database. sourceDatabaseId must be specified as the resource ID of the + existing primary database. PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be @@ -66,213 +44,166 @@ class DatabaseUpdate(Resource): RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. - Copy, NonReadableSecondary, OnlineSecondary and - RestoreLongTermRetentionBackup are not supported for DataWarehouse - edition. Possible values include: 'Copy', 'Default', - 'NonReadableSecondary', 'OnlineSecondary', 'PointInTimeRestore', - 'Recovery', 'Restore', 'RestoreLongTermRetentionBackup' + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for + DataWarehouse edition. Possible values include: 'Default', 'Copy', + 'Secondary', 'PointInTimeRestore', 'Restore', 'Recovery', + 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', + 'RestoreLongTermRetentionBackup', 'OnlineSecondary' :type create_mode: str or ~azure.mgmt.sql.models.CreateMode - :param source_database_id: Conditional. If createMode is Copy, - NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery, or - Restore, then this value is required. Specifies the resource ID of the - source database. If createMode is NonReadableSecondary or OnlineSecondary, - the name of the source database must be the same as the new database being - created. + :param collation: The collation of the database. + :type collation: str + :param max_size_bytes: The max size of the database expressed in bytes. + :type max_size_bytes: long + :param sample_name: The name of the sample schema to apply when creating + this database. Possible values include: 'AdventureWorksLT', + 'WideWorldImportersStd', 'WideWorldImportersFull' + :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param elastic_pool_id: The resource identifier of the elastic pool + containing this database. + :type elastic_pool_id: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. :type source_database_id: str - :param source_database_deletion_date: Conditional. If createMode is - Restore and sourceDatabaseId is the deleted database's original resource - id when it existed (as opposed to its current restorable dropped database - id), then this value is required. Specifies the time that the database was - deleted. - :type source_database_deletion_date: datetime - :param restore_point_in_time: Conditional. If createMode is - PointInTimeRestore, this value is required. If createMode is Restore, this - value is optional. Specifies the point in time (ISO8601 format) of the - source database that will be restored to create the new database. Must be - greater than or equal to the source database's earliestRestoreDate value. - :type restore_point_in_time: datetime - :param recovery_services_recovery_point_resource_id: Conditional. If - createMode is RestoreLongTermRetentionBackup, then this value is required. - Specifies the resource ID of the recovery point to restore from. - :type recovery_services_recovery_point_resource_id: str - :param edition: The edition of the database. The DatabaseEditions - enumeration contains all the valid editions. If createMode is - NonReadableSecondary or OnlineSecondary, this value is ignored. To see - possible values, query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions -l westus --query [].name`. - Possible values include: 'Web', 'Business', 'Basic', 'Standard', - 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', - 'System2' - :type edition: str or ~azure.mgmt.sql.models.DatabaseEdition - :param max_size_bytes: The max size of the database expressed in bytes. If - createMode is not Default, this value is ignored. To see possible values, - query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." - :type max_size_bytes: str - :param requested_service_objective_id: The configured service level - objective ID of the database. This is the service level objective that is - in the process of being applied to the database. Once successfully - updated, it will match the value of currentServiceObjectiveId property. If - requestedServiceObjectiveId and requestedServiceObjectiveName are both - updated, the value of requestedServiceObjectiveId overrides the value of - requestedServiceObjectiveName. To see possible values, query the - capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions --location --query - [].supportedServiceLevelObjectives[].name` . - :type requested_service_objective_id: str - :param requested_service_objective_name: The name of the configured - service level objective of the database. This is the service level - objective that is in the process of being applied to the database. Once - successfully updated, it will match the value of serviceLevelObjective - property. To see possible values, query the capabilities API - (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) - referred to by operationId: "Capabilities_ListByLocation." or use the - Azure CLI command `az sql db list-editions --location --query - [].supportedServiceLevelObjectives[].name`. Possible values include: - 'System', 'System0', 'System1', 'System2', 'System3', 'System4', - 'System2L', 'System3L', 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', - 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', - 'P15', 'PRS1', 'PRS2', 'PRS4', 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', - 'DW500', 'DW600', 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', - 'DW2000', 'DW2000c', 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', - 'DW6000c', 'DW7500c', 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', - 'DS200', 'DS300', 'DS400', 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', - 'DS2000', 'ElasticPool' - :type requested_service_objective_name: str or - ~azure.mgmt.sql.models.ServiceObjectiveName - :ivar service_level_objective: The current service level objective of the - database. Possible values include: 'System', 'System0', 'System1', - 'System2', 'System3', 'System4', 'System2L', 'System3L', 'System4L', - 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', - 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', - 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', - 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', - 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', - 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', - 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' - :vartype service_level_objective: str or - ~azure.mgmt.sql.models.ServiceObjectiveName - :ivar status: The status of the database. - :vartype status: str - :param elastic_pool_name: The name of the elastic pool the database is in. - If elasticPoolName and requestedServiceObjectiveName are both updated, the - value of requestedServiceObjectiveName is ignored. Not supported for - DataWarehouse edition. - :type elastic_pool_name: str + :ivar status: The status of the database. Possible values include: + 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', + 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', + 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', + 'Paused', 'Resuming', 'Scaling' + :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus + :ivar database_id: The ID of the database. + :vartype database_id: str + :ivar creation_date: The creation date of the database (ISO8601 format). + :vartype creation_date: datetime + :ivar current_service_objective_name: The current service level objective + name of the database. + :vartype current_service_objective_name: str + :ivar requested_service_objective_name: The requested service level + objective name of the database. + :vartype requested_service_objective_name: str :ivar default_secondary_location: The default secondary region for this database. :vartype default_secondary_location: str - :ivar service_tier_advisors: The list of service tier advisors for this - database. Expanded property - :vartype service_tier_advisors: - list[~azure.mgmt.sql.models.ServiceTierAdvisor] - :ivar transparent_data_encryption: The transparent data encryption info - for this database. - :vartype transparent_data_encryption: - list[~azure.mgmt.sql.models.TransparentDataEncryption] - :ivar recommended_index: The recommended indices for this database. - :vartype recommended_index: list[~azure.mgmt.sql.models.RecommendedIndex] - :ivar failover_group_id: The resource identifier of the failover group - containing this database. + :ivar failover_group_id: Failover Group resource identifier that this + database belongs to. :vartype failover_group_id: str - :param read_scale: Conditional. If the database is a geo-secondary, - readScale indicates whether read-only connections are allowed to this - database or not. Not supported for DataWarehouse edition. Possible values - include: 'Enabled', 'Disabled' - :type read_scale: str or ~azure.mgmt.sql.models.ReadScale - :param sample_name: Indicates the name of the sample schema to apply when - creating this database. If createMode is not Default, this value is - ignored. Not supported for DataWarehouse edition. Possible values include: - 'AdventureWorksLT' - :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param restore_point_in_time: Specifies the point in time (ISO8601 format) + of the source database that will be restored to create the new database. + :type restore_point_in_time: datetime + :param source_database_deletion_date: Specifies the time that the database + was deleted. + :type source_database_deletion_date: datetime + :param recovery_services_recovery_point_id: The resource identifier of the + recovery point associated with create operation of this database. + :type recovery_services_recovery_point_id: str + :param long_term_retention_backup_resource_id: The resource identifier of + the long term retention backup associated with create operation of this + database. + :type long_term_retention_backup_resource_id: str + :param recoverable_database_id: The resource identifier of the recoverable + database associated with create operation of this database. + :type recoverable_database_id: str + :param restorable_dropped_database_id: The resource identifier of the + restorable dropped database associated with create operation of this + database. + :type restorable_dropped_database_id: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType :param zone_redundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. :type zone_redundant: bool + :param license_type: The license type to apply for this database. Possible + values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType + :ivar max_log_size_bytes: The max log size for this database. + :vartype max_log_size_bytes: long + :ivar earliest_restore_date: This records the earliest start date and time + that restore is available for this database (ISO8601 format). + :vartype earliest_restore_date: datetime + :param read_scale: The state of read-only routing. If enabled, connections + that have application intent set to readonly in their connection string + may be routed to a readonly secondary replica in the same region. Possible + values include: 'Enabled', 'Disabled' + :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale + :ivar current_sku: The name and tier of the SKU. + :vartype current_sku: ~azure.mgmt.sql.models.Sku + :param tags: Resource tags. + :type tags: dict[str, str] """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'creation_date': {'readonly': True}, - 'containment_state': {'readonly': True}, - 'current_service_objective_id': {'readonly': True}, - 'database_id': {'readonly': True}, - 'earliest_restore_date': {'readonly': True}, - 'service_level_objective': {'readonly': True}, 'status': {'readonly': True}, + 'database_id': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'current_service_objective_name': {'readonly': True}, + 'requested_service_objective_name': {'readonly': True}, 'default_secondary_location': {'readonly': True}, - 'service_tier_advisors': {'readonly': True}, - 'transparent_data_encryption': {'readonly': True}, - 'recommended_index': {'readonly': True}, 'failover_group_id': {'readonly': True}, + 'max_log_size_bytes': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'current_sku': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'collation': {'key': 'properties.collation', 'type': 'str'}, - 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, - 'containment_state': {'key': 'properties.containmentState', 'type': 'long'}, - 'current_service_objective_id': {'key': 'properties.currentServiceObjectiveId', 'type': 'str'}, - 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, - 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, - 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, - 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, - 'recovery_services_recovery_point_resource_id': {'key': 'properties.recoveryServicesRecoveryPointResourceId', 'type': 'str'}, - 'edition': {'key': 'properties.edition', 'type': 'str'}, - 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'str'}, - 'requested_service_objective_id': {'key': 'properties.requestedServiceObjectiveId', 'type': 'str'}, - 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, - 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, - 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, + 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, - 'service_tier_advisors': {'key': 'properties.serviceTierAdvisors', 'type': '[ServiceTierAdvisor]'}, - 'transparent_data_encryption': {'key': 'properties.transparentDataEncryption', 'type': '[TransparentDataEncryption]'}, - 'recommended_index': {'key': 'properties.recommendedIndex', 'type': '[RecommendedIndex]'}, 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, - 'read_scale': {'key': 'properties.readScale', 'type': 'ReadScale'}, - 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, + 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, + 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, + 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, + 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, + 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, tags=None, collation=None, create_mode=None, source_database_id=None, source_database_deletion_date=None, restore_point_in_time=None, recovery_services_recovery_point_resource_id=None, edition=None, max_size_bytes=None, requested_service_objective_id=None, requested_service_objective_name=None, elastic_pool_name=None, read_scale=None, sample_name=None, zone_redundant=None): - super(DatabaseUpdate, self).__init__() - self.tags = tags - self.collation = collation - self.creation_date = None - self.containment_state = None - self.current_service_objective_id = None - self.database_id = None - self.earliest_restore_date = None - self.create_mode = create_mode - self.source_database_id = source_database_id - self.source_database_deletion_date = source_database_deletion_date - self.restore_point_in_time = restore_point_in_time - self.recovery_services_recovery_point_resource_id = recovery_services_recovery_point_resource_id - self.edition = edition - self.max_size_bytes = max_size_bytes - self.requested_service_objective_id = requested_service_objective_id - self.requested_service_objective_name = requested_service_objective_name - self.service_level_objective = None + def __init__(self, **kwargs): + super(DatabaseUpdate, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.create_mode = kwargs.get('create_mode', None) + self.collation = kwargs.get('collation', None) + self.max_size_bytes = kwargs.get('max_size_bytes', None) + self.sample_name = kwargs.get('sample_name', None) + self.elastic_pool_id = kwargs.get('elastic_pool_id', None) + self.source_database_id = kwargs.get('source_database_id', None) self.status = None - self.elastic_pool_name = elastic_pool_name + self.database_id = None + self.creation_date = None + self.current_service_objective_name = None + self.requested_service_objective_name = None self.default_secondary_location = None - self.service_tier_advisors = None - self.transparent_data_encryption = None - self.recommended_index = None self.failover_group_id = None - self.read_scale = read_scale - self.sample_name = sample_name - self.zone_redundant = zone_redundant + self.restore_point_in_time = kwargs.get('restore_point_in_time', None) + self.source_database_deletion_date = kwargs.get('source_database_deletion_date', None) + self.recovery_services_recovery_point_id = kwargs.get('recovery_services_recovery_point_id', None) + self.long_term_retention_backup_resource_id = kwargs.get('long_term_retention_backup_resource_id', None) + self.recoverable_database_id = kwargs.get('recoverable_database_id', None) + self.restorable_dropped_database_id = kwargs.get('restorable_dropped_database_id', None) + self.catalog_collation = kwargs.get('catalog_collation', None) + self.zone_redundant = kwargs.get('zone_redundant', None) + self.license_type = kwargs.get('license_type', None) + self.max_log_size_bytes = None + self.earliest_restore_date = None + self.read_scale = kwargs.get('read_scale', None) + self.current_sku = None + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_update_py3.py new file mode 100644 index 000000000000..5a9a6f3b742d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_update_py3.py @@ -0,0 +1,209 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseUpdate(Model): + """A database resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku + :param create_mode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. + sourceDatabaseId must be specified as the resource ID of the source + database. + Secondary: creates a database as a secondary replica of an existing + database. sourceDatabaseId must be specified as the resource ID of the + existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup + of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing database, and restorePointInTime must be + specified. + Recovery: Creates a database by restoring a geo-replicated backup. + sourceDatabaseId must be specified as the recoverable database resource ID + to restore. + Restore: Creates a database by restoring a backup of a deleted database. + sourceDatabaseId must be specified. If sourceDatabaseId is the database's + original resource ID, then sourceDatabaseDeletionDate must be specified. + Otherwise sourceDatabaseId must be the restorable dropped database + resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime + may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a + long term retention vault. recoveryServicesRecoveryPointResourceId must be + specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for + DataWarehouse edition. Possible values include: 'Default', 'Copy', + 'Secondary', 'PointInTimeRestore', 'Restore', 'Recovery', + 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', + 'RestoreLongTermRetentionBackup', 'OnlineSecondary' + :type create_mode: str or ~azure.mgmt.sql.models.CreateMode + :param collation: The collation of the database. + :type collation: str + :param max_size_bytes: The max size of the database expressed in bytes. + :type max_size_bytes: long + :param sample_name: The name of the sample schema to apply when creating + this database. Possible values include: 'AdventureWorksLT', + 'WideWorldImportersStd', 'WideWorldImportersFull' + :type sample_name: str or ~azure.mgmt.sql.models.SampleName + :param elastic_pool_id: The resource identifier of the elastic pool + containing this database. + :type elastic_pool_id: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :ivar status: The status of the database. Possible values include: + 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', + 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', + 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', + 'Paused', 'Resuming', 'Scaling' + :vartype status: str or ~azure.mgmt.sql.models.DatabaseStatus + :ivar database_id: The ID of the database. + :vartype database_id: str + :ivar creation_date: The creation date of the database (ISO8601 format). + :vartype creation_date: datetime + :ivar current_service_objective_name: The current service level objective + name of the database. + :vartype current_service_objective_name: str + :ivar requested_service_objective_name: The requested service level + objective name of the database. + :vartype requested_service_objective_name: str + :ivar default_secondary_location: The default secondary region for this + database. + :vartype default_secondary_location: str + :ivar failover_group_id: Failover Group resource identifier that this + database belongs to. + :vartype failover_group_id: str + :param restore_point_in_time: Specifies the point in time (ISO8601 format) + of the source database that will be restored to create the new database. + :type restore_point_in_time: datetime + :param source_database_deletion_date: Specifies the time that the database + was deleted. + :type source_database_deletion_date: datetime + :param recovery_services_recovery_point_id: The resource identifier of the + recovery point associated with create operation of this database. + :type recovery_services_recovery_point_id: str + :param long_term_retention_backup_resource_id: The resource identifier of + the long term retention backup associated with create operation of this + database. + :type long_term_retention_backup_resource_id: str + :param recoverable_database_id: The resource identifier of the recoverable + database associated with create operation of this database. + :type recoverable_database_id: str + :param restorable_dropped_database_id: The resource identifier of the + restorable dropped database associated with create operation of this + database. + :type restorable_dropped_database_id: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param zone_redundant: Whether or not this database is zone redundant, + which means the replicas of this database will be spread across multiple + availability zones. + :type zone_redundant: bool + :param license_type: The license type to apply for this database. Possible + values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.DatabaseLicenseType + :ivar max_log_size_bytes: The max log size for this database. + :vartype max_log_size_bytes: long + :ivar earliest_restore_date: This records the earliest start date and time + that restore is available for this database (ISO8601 format). + :vartype earliest_restore_date: datetime + :param read_scale: The state of read-only routing. If enabled, connections + that have application intent set to readonly in their connection string + may be routed to a readonly secondary replica in the same region. Possible + values include: 'Enabled', 'Disabled' + :type read_scale: str or ~azure.mgmt.sql.models.DatabaseReadScale + :ivar current_sku: The name and tier of the SKU. + :vartype current_sku: ~azure.mgmt.sql.models.Sku + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'status': {'readonly': True}, + 'database_id': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'current_service_objective_name': {'readonly': True}, + 'requested_service_objective_name': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + 'max_log_size_bytes': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'current_sku': {'readonly': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'sample_name': {'key': 'properties.sampleName', 'type': 'str'}, + 'elastic_pool_id': {'key': 'properties.elasticPoolId', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'current_service_objective_name': {'key': 'properties.currentServiceObjectiveName', 'type': 'str'}, + 'requested_service_objective_name': {'key': 'properties.requestedServiceObjectiveName', 'type': 'str'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'source_database_deletion_date': {'key': 'properties.sourceDatabaseDeletionDate', 'type': 'iso-8601'}, + 'recovery_services_recovery_point_id': {'key': 'properties.recoveryServicesRecoveryPointId', 'type': 'str'}, + 'long_term_retention_backup_resource_id': {'key': 'properties.longTermRetentionBackupResourceId', 'type': 'str'}, + 'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'}, + 'restorable_dropped_database_id': {'key': 'properties.restorableDroppedDatabaseId', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'max_log_size_bytes': {'key': 'properties.maxLogSizeBytes', 'type': 'long'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'read_scale': {'key': 'properties.readScale', 'type': 'str'}, + 'current_sku': {'key': 'properties.currentSku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, sku=None, create_mode=None, collation: str=None, max_size_bytes: int=None, sample_name=None, elastic_pool_id: str=None, source_database_id: str=None, restore_point_in_time=None, source_database_deletion_date=None, recovery_services_recovery_point_id: str=None, long_term_retention_backup_resource_id: str=None, recoverable_database_id: str=None, restorable_dropped_database_id: str=None, catalog_collation=None, zone_redundant: bool=None, license_type=None, read_scale=None, tags=None, **kwargs) -> None: + super(DatabaseUpdate, self).__init__(**kwargs) + self.sku = sku + self.create_mode = create_mode + self.collation = collation + self.max_size_bytes = max_size_bytes + self.sample_name = sample_name + self.elastic_pool_id = elastic_pool_id + self.source_database_id = source_database_id + self.status = None + self.database_id = None + self.creation_date = None + self.current_service_objective_name = None + self.requested_service_objective_name = None + self.default_secondary_location = None + self.failover_group_id = None + self.restore_point_in_time = restore_point_in_time + self.source_database_deletion_date = source_database_deletion_date + self.recovery_services_recovery_point_id = recovery_services_recovery_point_id + self.long_term_retention_backup_resource_id = long_term_retention_backup_resource_id + self.recoverable_database_id = recoverable_database_id + self.restorable_dropped_database_id = restorable_dropped_database_id + self.catalog_collation = catalog_collation + self.zone_redundant = zone_redundant + self.license_type = license_type + self.max_log_size_bytes = None + self.earliest_restore_date = None + self.read_scale = read_scale + self.current_sku = None + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_usage.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_usage.py index e48c7413dd9a..948942f56124 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/database_usage.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_usage.py @@ -55,8 +55,8 @@ class DatabaseUsage(Model): 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, } - def __init__(self): - super(DatabaseUsage, self).__init__() + def __init__(self, **kwargs): + super(DatabaseUsage, self).__init__(**kwargs) self.name = None self.resource_name = None self.display_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_usage_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_usage_py3.py new file mode 100644 index 000000000000..46a0f5ca4ba9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_usage_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseUsage(Model): + """The database usages. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the usage metric. + :vartype name: str + :ivar resource_name: The name of the resource. + :vartype resource_name: str + :ivar display_name: The usage metric display name. + :vartype display_name: str + :ivar current_value: The current value of the usage metric. + :vartype current_value: float + :ivar limit: The current limit of the usage metric. + :vartype limit: float + :ivar unit: The units of the usage metric. + :vartype unit: str + :ivar next_reset_time: The next reset time for the usage metric (ISO8601 + format). + :vartype next_reset_time: datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(DatabaseUsage, self).__init__(**kwargs) + self.name = None + self.resource_name = None + self.display_name = None + self.current_value = None + self.limit = None + self.unit = None + self.next_reset_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment.py new file mode 100644 index 000000000000..3462d09994da --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class DatabaseVulnerabilityAssessment(ProxyResource): + """A database vulnerability assessment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param storage_container_path: A blob storage container path to hold the + scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). + :type storage_container_path: str + :param storage_container_sas_key: A shared access signature (SAS Key) that + has write access to the blob container specified in 'storageContainerPath' + parameter. + :type storage_container_sas_key: str + :param recurring_scans: The recurring scans settings + :type recurring_scans: + ~azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, + 'storage_container_sas_key': {'key': 'properties.storageContainerSasKey', 'type': 'str'}, + 'recurring_scans': {'key': 'properties.recurringScans', 'type': 'VulnerabilityAssessmentRecurringScansProperties'}, + } + + def __init__(self, **kwargs): + super(DatabaseVulnerabilityAssessment, self).__init__(**kwargs) + self.storage_container_path = kwargs.get('storage_container_path', None) + self.storage_container_sas_key = kwargs.get('storage_container_sas_key', None) + self.recurring_scans = kwargs.get('recurring_scans', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_py3.py new file mode 100644 index 000000000000..f2a5aa3de1d3 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseVulnerabilityAssessment(ProxyResource): + """A database vulnerability assessment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param storage_container_path: A blob storage container path to hold the + scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). + :type storage_container_path: str + :param storage_container_sas_key: A shared access signature (SAS Key) that + has write access to the blob container specified in 'storageContainerPath' + parameter. + :type storage_container_sas_key: str + :param recurring_scans: The recurring scans settings + :type recurring_scans: + ~azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, + 'storage_container_sas_key': {'key': 'properties.storageContainerSasKey', 'type': 'str'}, + 'recurring_scans': {'key': 'properties.recurringScans', 'type': 'VulnerabilityAssessmentRecurringScansProperties'}, + } + + def __init__(self, *, storage_container_path: str=None, storage_container_sas_key: str=None, recurring_scans=None, **kwargs) -> None: + super(DatabaseVulnerabilityAssessment, self).__init__(**kwargs) + self.storage_container_path = storage_container_path + self.storage_container_sas_key = storage_container_sas_key + self.recurring_scans = recurring_scans diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline.py new file mode 100644 index 000000000000..66881dfb9b5c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class DatabaseVulnerabilityAssessmentRuleBaseline(ProxyResource): + """A database vulnerability assessment rule baseline. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param baseline_results: Required. The rule baseline result + :type baseline_results: + list[~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineItem] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'baseline_results': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'baseline_results': {'key': 'properties.baselineResults', 'type': '[DatabaseVulnerabilityAssessmentRuleBaselineItem]'}, + } + + def __init__(self, **kwargs): + super(DatabaseVulnerabilityAssessmentRuleBaseline, self).__init__(**kwargs) + self.baseline_results = kwargs.get('baseline_results', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item.py new file mode 100644 index 000000000000..4bd7d0e16f52 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseVulnerabilityAssessmentRuleBaselineItem(Model): + """Properties for an Azure SQL Database Vulnerability Assessment rule + baseline's result. + + All required parameters must be populated in order to send to Azure. + + :param result: Required. The rule baseline result + :type result: list[str] + """ + + _validation = { + 'result': {'required': True}, + } + + _attribute_map = { + 'result': {'key': 'result', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DatabaseVulnerabilityAssessmentRuleBaselineItem, self).__init__(**kwargs) + self.result = kwargs.get('result', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item_py3.py new file mode 100644 index 000000000000..9378a89cc0f0 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_item_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DatabaseVulnerabilityAssessmentRuleBaselineItem(Model): + """Properties for an Azure SQL Database Vulnerability Assessment rule + baseline's result. + + All required parameters must be populated in order to send to Azure. + + :param result: Required. The rule baseline result + :type result: list[str] + """ + + _validation = { + 'result': {'required': True}, + } + + _attribute_map = { + 'result': {'key': 'result', 'type': '[str]'}, + } + + def __init__(self, *, result, **kwargs) -> None: + super(DatabaseVulnerabilityAssessmentRuleBaselineItem, self).__init__(**kwargs) + self.result = result diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_py3.py new file mode 100644 index 000000000000..4997c258c475 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_rule_baseline_py3.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseVulnerabilityAssessmentRuleBaseline(ProxyResource): + """A database vulnerability assessment rule baseline. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param baseline_results: Required. The rule baseline result + :type baseline_results: + list[~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineItem] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'baseline_results': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'baseline_results': {'key': 'properties.baselineResults', 'type': '[DatabaseVulnerabilityAssessmentRuleBaselineItem]'}, + } + + def __init__(self, *, baseline_results, **kwargs) -> None: + super(DatabaseVulnerabilityAssessmentRuleBaseline, self).__init__(**kwargs) + self.baseline_results = baseline_results diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export.py new file mode 100644 index 000000000000..4d088fd265c0 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class DatabaseVulnerabilityAssessmentScansExport(ProxyResource): + """A database Vulnerability Assessment scan export resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar exported_report_location: Location of the exported report (e.g. + https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). + :vartype exported_report_location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'exported_report_location': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'exported_report_location': {'key': 'properties.exportedReportLocation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DatabaseVulnerabilityAssessmentScansExport, self).__init__(**kwargs) + self.exported_report_location = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export_py3.py new file mode 100644 index 000000000000..7e925fb428ce --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/database_vulnerability_assessment_scans_export_py3.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class DatabaseVulnerabilityAssessmentScansExport(ProxyResource): + """A database Vulnerability Assessment scan export resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar exported_report_location: Location of the exported report (e.g. + https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). + :vartype exported_report_location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'exported_report_location': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'exported_report_location': {'key': 'properties.exportedReportLocation', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DatabaseVulnerabilityAssessmentScansExport, self).__init__(**kwargs) + self.exported_report_location = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability.py index ed7231f28a3a..e2b212e365b0 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability.py @@ -13,16 +13,13 @@ class EditionCapability(Model): - """The database edition capabilities. + """The edition capability. Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: The edition name. + :ivar name: The database edition name. :vartype name: str - :ivar status: The status of the edition. Possible values include: - 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus :ivar supported_service_level_objectives: The list of supported service objectives for the edition. :vartype supported_service_level_objectives: @@ -30,25 +27,32 @@ class EditionCapability(Model): :ivar zone_redundant: Whether or not zone redundancy is supported for the edition. :vartype zone_redundant: bool + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { 'name': {'readonly': True}, - 'status': {'readonly': True}, 'supported_service_level_objectives': {'readonly': True}, 'zone_redundant': {'readonly': True}, + 'status': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, 'supported_service_level_objectives': {'key': 'supportedServiceLevelObjectives', 'type': '[ServiceObjectiveCapability]'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(EditionCapability, self).__init__() + def __init__(self, **kwargs): + super(EditionCapability, self).__init__(**kwargs) self.name = None - self.status = None self.supported_service_level_objectives = None self.zone_redundant = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability_py3.py new file mode 100644 index 000000000000..e2eaad22c5d5 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/edition_capability_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class EditionCapability(Model): + """The edition capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The database edition name. + :vartype name: str + :ivar supported_service_level_objectives: The list of supported service + objectives for the edition. + :vartype supported_service_level_objectives: + list[~azure.mgmt.sql.models.ServiceObjectiveCapability] + :ivar zone_redundant: Whether or not zone redundancy is supported for the + edition. + :vartype zone_redundant: bool + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_service_level_objectives': {'readonly': True}, + 'zone_redundant': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_service_level_objectives': {'key': 'supportedServiceLevelObjectives', 'type': '[ServiceObjectiveCapability]'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(EditionCapability, self).__init__(**kwargs) + self.name = None + self.supported_service_level_objectives = None + self.zone_redundant = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool.py index c480d851f9f9..fa076856c7de 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool.py @@ -13,11 +13,13 @@ class ElasticPool(TrackedResource): - """Represents a database elastic pool. + """An elastic pool. Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,32 +28,33 @@ class ElasticPool(TrackedResource): :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: Resource location. + :param location: Required. Resource location. :type location: str - :ivar creation_date: The creation date of the elastic pool (ISO8601 - format). - :vartype creation_date: datetime + :param sku: + :type sku: ~azure.mgmt.sql.models.Sku + :ivar kind: Kind of elastic pool. This is metadata used for the Azure + portal experience. + :vartype kind: str :ivar state: The state of the elastic pool. Possible values include: 'Creating', 'Ready', 'Disabled' :vartype state: str or ~azure.mgmt.sql.models.ElasticPoolState - :param edition: The edition of the elastic pool. Possible values include: - 'Basic', 'Standard', 'Premium' - :type edition: str or ~azure.mgmt.sql.models.ElasticPoolEdition - :param dtu: The total shared DTU for the database elastic pool. - :type dtu: int - :param database_dtu_max: The maximum DTU any one database can consume. - :type database_dtu_max: int - :param database_dtu_min: The minimum DTU all databases are guaranteed. - :type database_dtu_min: int - :param storage_mb: Gets storage limit for the database elastic pool in MB. - :type storage_mb: int - :param zone_redundant: Whether or not this database elastic pool is zone - redundant, which means the replicas of this database will be spread across + :ivar creation_date: The creation date of the elastic pool (ISO8601 + format). + :vartype creation_date: datetime + :param max_size_bytes: The storage limit for the database elastic pool in + bytes. + :type max_size_bytes: long + :param per_database_settings: The per database settings for the elastic + pool. + :type per_database_settings: + ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings + :param zone_redundant: Whether or not this elastic pool is zone redundant, + which means the replicas of this elastic pool will be spread across multiple availability zones. :type zone_redundant: bool - :ivar kind: Kind of elastic pool. This is metadata used for the Azure - portal experience. - :vartype kind: str + :param license_type: The license type to apply for this elastic pool. + Possible values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType """ _validation = { @@ -59,9 +62,9 @@ class ElasticPool(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, - 'creation_date': {'readonly': True}, - 'state': {'readonly': True}, 'kind': {'readonly': True}, + 'state': {'readonly': True}, + 'creation_date': {'readonly': True}, } _attribute_map = { @@ -70,25 +73,23 @@ class ElasticPool(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, - 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, 'state': {'key': 'properties.state', 'type': 'str'}, - 'edition': {'key': 'properties.edition', 'type': 'str'}, - 'dtu': {'key': 'properties.dtu', 'type': 'int'}, - 'database_dtu_max': {'key': 'properties.databaseDtuMax', 'type': 'int'}, - 'database_dtu_min': {'key': 'properties.databaseDtuMin', 'type': 'int'}, - 'storage_mb': {'key': 'properties.storageMB', 'type': 'int'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, - 'kind': {'key': 'kind', 'type': 'str'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, } - def __init__(self, location, tags=None, edition=None, dtu=None, database_dtu_max=None, database_dtu_min=None, storage_mb=None, zone_redundant=None): - super(ElasticPool, self).__init__(tags=tags, location=location) - self.creation_date = None - self.state = None - self.edition = edition - self.dtu = dtu - self.database_dtu_max = database_dtu_max - self.database_dtu_min = database_dtu_min - self.storage_mb = storage_mb - self.zone_redundant = zone_redundant + def __init__(self, **kwargs): + super(ElasticPool, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) self.kind = None + self.state = None + self.creation_date = None + self.max_size_bytes = kwargs.get('max_size_bytes', None) + self.per_database_settings = kwargs.get('per_database_settings', None) + self.zone_redundant = kwargs.get('zone_redundant', None) + self.license_type = kwargs.get('license_type', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity.py index 2d27147425db..30c56a11077d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity.py @@ -126,9 +126,9 @@ class ElasticPoolActivity(ProxyResource): 'requested_dtu_guarantee': {'key': 'properties.requestedDtuGuarantee', 'type': 'int'}, } - def __init__(self, location=None): - super(ElasticPoolActivity, self).__init__() - self.location = location + def __init__(self, **kwargs): + super(ElasticPoolActivity, self).__init__(**kwargs) + self.location = kwargs.get('location', None) self.end_time = None self.error_code = None self.error_message = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity_py3.py new file mode 100644 index 000000000000..5d8d4f61727a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_activity_py3.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ElasticPoolActivity(ProxyResource): + """Represents the activity on an elastic pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: The geo-location where the resource lives + :type location: str + :ivar end_time: The time the operation finished (ISO8601 format). + :vartype end_time: datetime + :ivar error_code: The error code if available. + :vartype error_code: int + :ivar error_message: The error message if available. + :vartype error_message: str + :ivar error_severity: The error severity if available. + :vartype error_severity: int + :ivar operation: The operation name. + :vartype operation: str + :ivar operation_id: The unique operation ID. + :vartype operation_id: str + :ivar percent_complete: The percentage complete if available. + :vartype percent_complete: int + :ivar requested_database_dtu_max: The requested max DTU per database if + available. + :vartype requested_database_dtu_max: int + :ivar requested_database_dtu_min: The requested min DTU per database if + available. + :vartype requested_database_dtu_min: int + :ivar requested_dtu: The requested DTU for the pool if available. + :vartype requested_dtu: int + :ivar requested_elastic_pool_name: The requested name for the elastic pool + if available. + :vartype requested_elastic_pool_name: str + :ivar requested_storage_limit_in_gb: The requested storage limit for the + pool in GB if available. + :vartype requested_storage_limit_in_gb: long + :ivar elastic_pool_name: The name of the elastic pool. + :vartype elastic_pool_name: str + :ivar server_name: The name of the server the elastic pool is in. + :vartype server_name: str + :ivar start_time: The time the operation started (ISO8601 format). + :vartype start_time: datetime + :ivar state: The current state of the operation. + :vartype state: str + :ivar requested_storage_limit_in_mb: The requested storage limit in MB. + :vartype requested_storage_limit_in_mb: int + :ivar requested_database_dtu_guarantee: The requested per database DTU + guarantee. + :vartype requested_database_dtu_guarantee: int + :ivar requested_database_dtu_cap: The requested per database DTU cap. + :vartype requested_database_dtu_cap: int + :ivar requested_dtu_guarantee: The requested DTU guarantee. + :vartype requested_dtu_guarantee: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error_code': {'readonly': True}, + 'error_message': {'readonly': True}, + 'error_severity': {'readonly': True}, + 'operation': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'requested_database_dtu_max': {'readonly': True}, + 'requested_database_dtu_min': {'readonly': True}, + 'requested_dtu': {'readonly': True}, + 'requested_elastic_pool_name': {'readonly': True}, + 'requested_storage_limit_in_gb': {'readonly': True}, + 'elastic_pool_name': {'readonly': True}, + 'server_name': {'readonly': True}, + 'start_time': {'readonly': True}, + 'state': {'readonly': True}, + 'requested_storage_limit_in_mb': {'readonly': True}, + 'requested_database_dtu_guarantee': {'readonly': True}, + 'requested_database_dtu_cap': {'readonly': True}, + 'requested_dtu_guarantee': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'requested_database_dtu_max': {'key': 'properties.requestedDatabaseDtuMax', 'type': 'int'}, + 'requested_database_dtu_min': {'key': 'properties.requestedDatabaseDtuMin', 'type': 'int'}, + 'requested_dtu': {'key': 'properties.requestedDtu', 'type': 'int'}, + 'requested_elastic_pool_name': {'key': 'properties.requestedElasticPoolName', 'type': 'str'}, + 'requested_storage_limit_in_gb': {'key': 'properties.requestedStorageLimitInGB', 'type': 'long'}, + 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'requested_storage_limit_in_mb': {'key': 'properties.requestedStorageLimitInMB', 'type': 'int'}, + 'requested_database_dtu_guarantee': {'key': 'properties.requestedDatabaseDtuGuarantee', 'type': 'int'}, + 'requested_database_dtu_cap': {'key': 'properties.requestedDatabaseDtuCap', 'type': 'int'}, + 'requested_dtu_guarantee': {'key': 'properties.requestedDtuGuarantee', 'type': 'int'}, + } + + def __init__(self, *, location: str=None, **kwargs) -> None: + super(ElasticPoolActivity, self).__init__(**kwargs) + self.location = location + self.end_time = None + self.error_code = None + self.error_message = None + self.error_severity = None + self.operation = None + self.operation_id = None + self.percent_complete = None + self.requested_database_dtu_max = None + self.requested_database_dtu_min = None + self.requested_dtu = None + self.requested_elastic_pool_name = None + self.requested_storage_limit_in_gb = None + self.elastic_pool_name = None + self.server_name = None + self.start_time = None + self.state = None + self.requested_storage_limit_in_mb = None + self.requested_database_dtu_guarantee = None + self.requested_database_dtu_cap = None + self.requested_dtu_guarantee = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity.py index ffadc3beb351..9427b6973ff9 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity.py @@ -105,9 +105,9 @@ class ElasticPoolDatabaseActivity(ProxyResource): 'state': {'key': 'properties.state', 'type': 'str'}, } - def __init__(self, location=None): - super(ElasticPoolDatabaseActivity, self).__init__() - self.location = location + def __init__(self, **kwargs): + super(ElasticPoolDatabaseActivity, self).__init__(**kwargs) + self.location = kwargs.get('location', None) self.database_name = None self.end_time = None self.error_code = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity_py3.py new file mode 100644 index 000000000000..2e2818eee69a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_database_activity_py3.py @@ -0,0 +1,125 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ElasticPoolDatabaseActivity(ProxyResource): + """Represents the activity on an elastic pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: The geo-location where the resource lives + :type location: str + :ivar database_name: The database name. + :vartype database_name: str + :ivar end_time: The time the operation finished (ISO8601 format). + :vartype end_time: datetime + :ivar error_code: The error code if available. + :vartype error_code: int + :ivar error_message: The error message if available. + :vartype error_message: str + :ivar error_severity: The error severity if available. + :vartype error_severity: int + :ivar operation: The operation name. + :vartype operation: str + :ivar operation_id: The unique operation ID. + :vartype operation_id: str + :ivar percent_complete: The percentage complete if available. + :vartype percent_complete: int + :ivar requested_elastic_pool_name: The name for the elastic pool the + database is moving into if available. + :vartype requested_elastic_pool_name: str + :ivar current_elastic_pool_name: The name of the current elastic pool the + database is in if available. + :vartype current_elastic_pool_name: str + :ivar current_service_objective: The name of the current service objective + if available. + :vartype current_service_objective: str + :ivar requested_service_objective: The name of the requested service + objective if available. + :vartype requested_service_objective: str + :ivar server_name: The name of the server the elastic pool is in. + :vartype server_name: str + :ivar start_time: The time the operation started (ISO8601 format). + :vartype start_time: datetime + :ivar state: The current state of the operation. + :vartype state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'database_name': {'readonly': True}, + 'end_time': {'readonly': True}, + 'error_code': {'readonly': True}, + 'error_message': {'readonly': True}, + 'error_severity': {'readonly': True}, + 'operation': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'requested_elastic_pool_name': {'readonly': True}, + 'current_elastic_pool_name': {'readonly': True}, + 'current_service_objective': {'readonly': True}, + 'requested_service_objective': {'readonly': True}, + 'server_name': {'readonly': True}, + 'start_time': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'requested_elastic_pool_name': {'key': 'properties.requestedElasticPoolName', 'type': 'str'}, + 'current_elastic_pool_name': {'key': 'properties.currentElasticPoolName', 'type': 'str'}, + 'current_service_objective': {'key': 'properties.currentServiceObjective', 'type': 'str'}, + 'requested_service_objective': {'key': 'properties.requestedServiceObjective', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, **kwargs) -> None: + super(ElasticPoolDatabaseActivity, self).__init__(**kwargs) + self.location = location + self.database_name = None + self.end_time = None + self.error_code = None + self.error_message = None + self.error_severity = None + self.operation = None + self.operation_id = None + self.percent_complete = None + self.requested_elastic_pool_name = None + self.current_elastic_pool_name = None + self.current_service_objective = None + self.requested_service_objective = None + self.server_name = None + self.start_time = None + self.state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_dtu_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_dtu_capability.py deleted file mode 100644 index e3ed2ab9b0bc..000000000000 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_dtu_capability.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ElasticPoolDtuCapability(Model): - """The Elastic Pool DTU capability. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar limit: The maximum size of the database (see 'unit' for the units). - :vartype limit: long - :ivar max_database_count: The maximum number of databases supported. - :vartype max_database_count: long - :ivar status: The status of the capability. Possible values include: - 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus - :ivar supported_max_sizes: The list of supported max sizes. - :vartype supported_max_sizes: - list[~azure.mgmt.sql.models.MaxSizeCapability] - :ivar included_max_size: The included (free) max size for this service - level objective. - :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability - :ivar supported_per_database_max_sizes: The list of supported max database - sizes. - :vartype supported_per_database_max_sizes: - list[~azure.mgmt.sql.models.MaxSizeCapability] - :ivar supported_per_database_max_dtus: The list of supported max database - DTUs. - :vartype supported_per_database_max_dtus: - list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMaxDtuCapability] - """ - - _validation = { - 'limit': {'readonly': True}, - 'max_database_count': {'readonly': True}, - 'status': {'readonly': True}, - 'supported_max_sizes': {'readonly': True}, - 'included_max_size': {'readonly': True}, - 'supported_per_database_max_sizes': {'readonly': True}, - 'supported_per_database_max_dtus': {'readonly': True}, - } - - _attribute_map = { - 'limit': {'key': 'limit', 'type': 'long'}, - 'max_database_count': {'key': 'maxDatabaseCount', 'type': 'long'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, - 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeCapability]'}, - 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, - 'supported_per_database_max_sizes': {'key': 'supportedPerDatabaseMaxSizes', 'type': '[MaxSizeCapability]'}, - 'supported_per_database_max_dtus': {'key': 'supportedPerDatabaseMaxDtus', 'type': '[ElasticPoolPerDatabaseMaxDtuCapability]'}, - } - - def __init__(self): - super(ElasticPoolDtuCapability, self).__init__() - self.limit = None - self.max_database_count = None - self.status = None - self.supported_max_sizes = None - self.included_max_size = None - self.supported_per_database_max_sizes = None - self.supported_per_database_max_dtus = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability.py index 747107147039..f870c33b6143 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability.py @@ -13,42 +13,46 @@ class ElasticPoolEditionCapability(Model): - """The elastic pool edition capabilities. + """The elastic pool edition capability. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The elastic pool edition name. :vartype name: str - :ivar status: The status of the elastic pool edition. Possible values - include: 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus - :ivar supported_elastic_pool_dtus: The list of supported elastic pool DTU - levels for the edition. - :vartype supported_elastic_pool_dtus: - list[~azure.mgmt.sql.models.ElasticPoolDtuCapability] + :ivar supported_elastic_pool_performance_levels: The list of supported + elastic pool DTU levels for the edition. + :vartype supported_elastic_pool_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerformanceLevelCapability] :ivar zone_redundant: Whether or not zone redundancy is supported for the edition. :vartype zone_redundant: bool + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { 'name': {'readonly': True}, - 'status': {'readonly': True}, - 'supported_elastic_pool_dtus': {'readonly': True}, + 'supported_elastic_pool_performance_levels': {'readonly': True}, 'zone_redundant': {'readonly': True}, + 'status': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, - 'supported_elastic_pool_dtus': {'key': 'supportedElasticPoolDtus', 'type': '[ElasticPoolDtuCapability]'}, + 'supported_elastic_pool_performance_levels': {'key': 'supportedElasticPoolPerformanceLevels', 'type': '[ElasticPoolPerformanceLevelCapability]'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(ElasticPoolEditionCapability, self).__init__() + def __init__(self, **kwargs): + super(ElasticPoolEditionCapability, self).__init__(**kwargs) self.name = None - self.status = None - self.supported_elastic_pool_dtus = None + self.supported_elastic_pool_performance_levels = None self.zone_redundant = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability_py3.py new file mode 100644 index 000000000000..54af1f63906f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_edition_capability_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolEditionCapability(Model): + """The elastic pool edition capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The elastic pool edition name. + :vartype name: str + :ivar supported_elastic_pool_performance_levels: The list of supported + elastic pool DTU levels for the edition. + :vartype supported_elastic_pool_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerformanceLevelCapability] + :ivar zone_redundant: Whether or not zone redundancy is supported for the + edition. + :vartype zone_redundant: bool + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_elastic_pool_performance_levels': {'readonly': True}, + 'zone_redundant': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_elastic_pool_performance_levels': {'key': 'supportedElasticPoolPerformanceLevels', 'type': '[ElasticPoolPerformanceLevelCapability]'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ElasticPoolEditionCapability, self).__init__(**kwargs) + self.name = None + self.supported_elastic_pool_performance_levels = None + self.zone_redundant = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation.py index 85bcf3262bee..7f01bbf3f1af 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation.py @@ -96,8 +96,8 @@ class ElasticPoolOperation(ProxyResource): 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, } - def __init__(self): - super(ElasticPoolOperation, self).__init__() + def __init__(self, **kwargs): + super(ElasticPoolOperation, self).__init__(**kwargs) self.elastic_pool_name = None self.operation = None self.operation_friendly_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation_py3.py new file mode 100644 index 000000000000..c214b66532a5 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_operation_py3.py @@ -0,0 +1,114 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ElasticPoolOperation(ProxyResource): + """A elastic pool operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar elastic_pool_name: The name of the elastic pool the operation is + being performed on. + :vartype elastic_pool_name: str + :ivar operation: The name of operation. + :vartype operation: str + :ivar operation_friendly_name: The friendly name of operation. + :vartype operation_friendly_name: str + :ivar percent_complete: The percentage of the operation completed. + :vartype percent_complete: int + :ivar server_name: The name of the server. + :vartype server_name: str + :ivar start_time: The operation start time. + :vartype start_time: datetime + :ivar state: The operation state. + :vartype state: str + :ivar error_code: The operation error code. + :vartype error_code: int + :ivar error_description: The operation error description. + :vartype error_description: str + :ivar error_severity: The operation error severity. + :vartype error_severity: int + :ivar is_user_error: Whether or not the error is a user error. + :vartype is_user_error: bool + :ivar estimated_completion_time: The estimated completion time of the + operation. + :vartype estimated_completion_time: datetime + :ivar description: The operation description. + :vartype description: str + :ivar is_cancellable: Whether the operation can be cancelled. + :vartype is_cancellable: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'elastic_pool_name': {'readonly': True}, + 'operation': {'readonly': True}, + 'operation_friendly_name': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'server_name': {'readonly': True}, + 'start_time': {'readonly': True}, + 'state': {'readonly': True}, + 'error_code': {'readonly': True}, + 'error_description': {'readonly': True}, + 'error_severity': {'readonly': True}, + 'is_user_error': {'readonly': True}, + 'estimated_completion_time': {'readonly': True}, + 'description': {'readonly': True}, + 'is_cancellable': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'operation': {'key': 'properties.operation', 'type': 'str'}, + 'operation_friendly_name': {'key': 'properties.operationFriendlyName', 'type': 'str'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'error_code': {'key': 'properties.errorCode', 'type': 'int'}, + 'error_description': {'key': 'properties.errorDescription', 'type': 'str'}, + 'error_severity': {'key': 'properties.errorSeverity', 'type': 'int'}, + 'is_user_error': {'key': 'properties.isUserError', 'type': 'bool'}, + 'estimated_completion_time': {'key': 'properties.estimatedCompletionTime', 'type': 'iso-8601'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, + } + + def __init__(self, **kwargs) -> None: + super(ElasticPoolOperation, self).__init__(**kwargs) + self.elastic_pool_name = None + self.operation = None + self.operation_friendly_name = None + self.percent_complete = None + self.server_name = None + self.start_time = None + self.state = None + self.error_code = None + self.error_description = None + self.error_severity = None + self.is_user_error = None + self.estimated_completion_time = None + self.description = None + self.is_cancellable = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability.py new file mode 100644 index 000000000000..1f99b527f962 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerDatabaseMaxPerformanceLevelCapability(Model): + """The max per-database performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The maximum performance level per database. + :vartype limit: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit + :ivar supported_per_database_min_performance_levels: The list of supported + min database performance levels. + :vartype supported_per_database_min_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMinPerformanceLevelCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + 'supported_per_database_min_performance_levels': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'supported_per_database_min_performance_levels': {'key': 'supportedPerDatabaseMinPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMinPerformanceLevelCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ElasticPoolPerDatabaseMaxPerformanceLevelCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None + self.supported_per_database_min_performance_levels = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability_py3.py new file mode 100644 index 000000000000..7e80c9d6cd5e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_performance_level_capability_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerDatabaseMaxPerformanceLevelCapability(Model): + """The max per-database performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The maximum performance level per database. + :vartype limit: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit + :ivar supported_per_database_min_performance_levels: The list of supported + min database performance levels. + :vartype supported_per_database_min_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMinPerformanceLevelCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + 'supported_per_database_min_performance_levels': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'supported_per_database_min_performance_levels': {'key': 'supportedPerDatabaseMinPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMinPerformanceLevelCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ElasticPoolPerDatabaseMaxPerformanceLevelCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None + self.supported_per_database_min_performance_levels = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_dtu_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability.py similarity index 54% rename from azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_dtu_capability.py rename to azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability.py index 16f42b748d9e..52306e685c47 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_max_dtu_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability.py @@ -12,37 +12,40 @@ from msrest.serialization import Model -class ElasticPoolPerDatabaseMaxDtuCapability(Model): - """The max per-database DTU capability. +class ElasticPoolPerDatabaseMinPerformanceLevelCapability(Model): + """The minimum per-database performance level capability. Variables are only populated by the server, and will be ignored when sending a request. - :ivar limit: The maximum DTUs per database. - :vartype limit: long + :ivar limit: The minimum performance level per database. + :vartype limit: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit :ivar status: The status of the capability. Possible values include: 'Visible', 'Available', 'Default', 'Disabled' :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus - :ivar supported_per_database_min_dtus: The list of supported min database - DTUs. - :vartype supported_per_database_min_dtus: - list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMinDtuCapability] + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { 'limit': {'readonly': True}, + 'unit': {'readonly': True}, 'status': {'readonly': True}, - 'supported_per_database_min_dtus': {'readonly': True}, } _attribute_map = { - 'limit': {'key': 'limit', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, 'status': {'key': 'status', 'type': 'CapabilityStatus'}, - 'supported_per_database_min_dtus': {'key': 'supportedPerDatabaseMinDtus', 'type': '[ElasticPoolPerDatabaseMinDtuCapability]'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(ElasticPoolPerDatabaseMaxDtuCapability, self).__init__() + def __init__(self, **kwargs): + super(ElasticPoolPerDatabaseMinPerformanceLevelCapability, self).__init__(**kwargs) self.limit = None + self.unit = None self.status = None - self.supported_per_database_min_dtus = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability_py3.py new file mode 100644 index 000000000000..d1dceda281f6 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_performance_level_capability_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerDatabaseMinPerformanceLevelCapability(Model): + """The minimum per-database performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The minimum performance level per database. + :vartype limit: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ElasticPoolPerDatabaseMinPerformanceLevelCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings.py new file mode 100644 index 000000000000..5c7951cd9c4b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerDatabaseSettings(Model): + """Per database settings of an elastic pool. + + :param min_capacity: The minimum capacity all databases are guaranteed. + :type min_capacity: float + :param max_capacity: The maximum capacity any one database can consume. + :type max_capacity: float + """ + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'float'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(ElasticPoolPerDatabaseSettings, self).__init__(**kwargs) + self.min_capacity = kwargs.get('min_capacity', None) + self.max_capacity = kwargs.get('max_capacity', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings_py3.py new file mode 100644 index 000000000000..64ab19c4217d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_settings_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerDatabaseSettings(Model): + """Per database settings of an elastic pool. + + :param min_capacity: The minimum capacity all databases are guaranteed. + :type min_capacity: float + :param max_capacity: The maximum capacity any one database can consume. + :type max_capacity: float + """ + + _attribute_map = { + 'min_capacity': {'key': 'minCapacity', 'type': 'float'}, + 'max_capacity': {'key': 'maxCapacity', 'type': 'float'}, + } + + def __init__(self, *, min_capacity: float=None, max_capacity: float=None, **kwargs) -> None: + super(ElasticPoolPerDatabaseSettings, self).__init__(**kwargs) + self.min_capacity = min_capacity + self.max_capacity = max_capacity diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability.py new file mode 100644 index 000000000000..8d5de8c9e0db --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerformanceLevelCapability(Model): + """The Elastic Pool performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar performance_level: The performance level for the pool. + :vartype performance_level: + ~azure.mgmt.sql.models.PerformanceLevelCapability + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.sql.models.Sku + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar max_database_count: The maximum number of databases supported. + :vartype max_database_count: int + :ivar included_max_size: The included (free) max size for this performance + level. + :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar supported_max_sizes: The list of supported max sizes. + :vartype supported_max_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar supported_per_database_max_sizes: The list of supported per database + max sizes. + :vartype supported_per_database_max_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar supported_per_database_max_performance_levels: The list of supported + per database max performance levels. + :vartype supported_per_database_max_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMaxPerformanceLevelCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'performance_level': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, + 'max_database_count': {'readonly': True}, + 'included_max_size': {'readonly': True}, + 'supported_max_sizes': {'readonly': True}, + 'supported_per_database_max_sizes': {'readonly': True}, + 'supported_per_database_max_performance_levels': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, + 'max_database_count': {'key': 'maxDatabaseCount', 'type': 'int'}, + 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'supported_per_database_max_sizes': {'key': 'supportedPerDatabaseMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'supported_per_database_max_performance_levels': {'key': 'supportedPerDatabaseMaxPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMaxPerformanceLevelCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ElasticPoolPerformanceLevelCapability, self).__init__(**kwargs) + self.performance_level = None + self.sku = None + self.supported_license_types = None + self.max_database_count = None + self.included_max_size = None + self.supported_max_sizes = None + self.supported_per_database_max_sizes = None + self.supported_per_database_max_performance_levels = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability_py3.py new file mode 100644 index 000000000000..6842c7fed8b8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_performance_level_capability_py3.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolPerformanceLevelCapability(Model): + """The Elastic Pool performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar performance_level: The performance level for the pool. + :vartype performance_level: + ~azure.mgmt.sql.models.PerformanceLevelCapability + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.sql.models.Sku + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar max_database_count: The maximum number of databases supported. + :vartype max_database_count: int + :ivar included_max_size: The included (free) max size for this performance + level. + :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar supported_max_sizes: The list of supported max sizes. + :vartype supported_max_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar supported_per_database_max_sizes: The list of supported per database + max sizes. + :vartype supported_per_database_max_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar supported_per_database_max_performance_levels: The list of supported + per database max performance levels. + :vartype supported_per_database_max_performance_levels: + list[~azure.mgmt.sql.models.ElasticPoolPerDatabaseMaxPerformanceLevelCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'performance_level': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, + 'max_database_count': {'readonly': True}, + 'included_max_size': {'readonly': True}, + 'supported_max_sizes': {'readonly': True}, + 'supported_per_database_max_sizes': {'readonly': True}, + 'supported_per_database_max_performance_levels': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, + 'max_database_count': {'key': 'maxDatabaseCount', 'type': 'int'}, + 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'supported_per_database_max_sizes': {'key': 'supportedPerDatabaseMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'supported_per_database_max_performance_levels': {'key': 'supportedPerDatabaseMaxPerformanceLevels', 'type': '[ElasticPoolPerDatabaseMaxPerformanceLevelCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ElasticPoolPerformanceLevelCapability, self).__init__(**kwargs) + self.performance_level = None + self.sku = None + self.supported_license_types = None + self.max_database_count = None + self.included_max_size = None + self.supported_max_sizes = None + self.supported_per_database_max_sizes = None + self.supported_per_database_max_performance_levels = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_py3.py new file mode 100644 index 000000000000..4a925d9ec66d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_py3.py @@ -0,0 +1,95 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class ElasticPool(TrackedResource): + """An elastic pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param sku: + :type sku: ~azure.mgmt.sql.models.Sku + :ivar kind: Kind of elastic pool. This is metadata used for the Azure + portal experience. + :vartype kind: str + :ivar state: The state of the elastic pool. Possible values include: + 'Creating', 'Ready', 'Disabled' + :vartype state: str or ~azure.mgmt.sql.models.ElasticPoolState + :ivar creation_date: The creation date of the elastic pool (ISO8601 + format). + :vartype creation_date: datetime + :param max_size_bytes: The storage limit for the database elastic pool in + bytes. + :type max_size_bytes: long + :param per_database_settings: The per database settings for the elastic + pool. + :type per_database_settings: + ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings + :param zone_redundant: Whether or not this elastic pool is zone redundant, + which means the replicas of this elastic pool will be spread across + multiple availability zones. + :type zone_redundant: bool + :param license_type: The license type to apply for this elastic pool. + Possible values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'readonly': True}, + 'state': {'readonly': True}, + 'creation_date': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, + 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, sku=None, max_size_bytes: int=None, per_database_settings=None, zone_redundant: bool=None, license_type=None, **kwargs) -> None: + super(ElasticPool, self).__init__(tags=tags, location=location, **kwargs) + self.sku = sku + self.kind = None + self.state = None + self.creation_date = None + self.max_size_bytes = max_size_bytes + self.per_database_settings = per_database_settings + self.zone_redundant = zone_redundant + self.license_type = license_type diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update.py index e6d53d5ec36e..ce71dfa7257e 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update.py @@ -9,77 +9,46 @@ # regenerated. # -------------------------------------------------------------------------- -from .resource import Resource - - -class ElasticPoolUpdate(Resource): - """Represents an elastic pool update. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar creation_date: The creation date of the elastic pool (ISO8601 - format). - :vartype creation_date: datetime - :ivar state: The state of the elastic pool. Possible values include: - 'Creating', 'Ready', 'Disabled' - :vartype state: str or ~azure.mgmt.sql.models.ElasticPoolState - :param edition: The edition of the elastic pool. Possible values include: - 'Basic', 'Standard', 'Premium' - :type edition: str or ~azure.mgmt.sql.models.ElasticPoolEdition - :param dtu: The total shared DTU for the database elastic pool. - :type dtu: int - :param database_dtu_max: The maximum DTU any one database can consume. - :type database_dtu_max: int - :param database_dtu_min: The minimum DTU all databases are guaranteed. - :type database_dtu_min: int - :param storage_mb: Gets storage limit for the database elastic pool in MB. - :type storage_mb: int - :param zone_redundant: Whether or not this database elastic pool is zone - redundant, which means the replicas of this database will be spread across +from msrest.serialization import Model + + +class ElasticPoolUpdate(Model): + """An elastic pool update. + + :param sku: + :type sku: ~azure.mgmt.sql.models.Sku + :param max_size_bytes: The storage limit for the database elastic pool in + bytes. + :type max_size_bytes: long + :param per_database_settings: The per database settings for the elastic + pool. + :type per_database_settings: + ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings + :param zone_redundant: Whether or not this elastic pool is zone redundant, + which means the replicas of this elastic pool will be spread across multiple availability zones. :type zone_redundant: bool + :param license_type: The license type to apply for this elastic pool. + Possible values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType + :param tags: Resource tags. + :type tags: dict[str, str] """ - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'creation_date': {'readonly': True}, - 'state': {'readonly': True}, - } - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'edition': {'key': 'properties.edition', 'type': 'str'}, - 'dtu': {'key': 'properties.dtu', 'type': 'int'}, - 'database_dtu_max': {'key': 'properties.databaseDtuMax', 'type': 'int'}, - 'database_dtu_min': {'key': 'properties.databaseDtuMin', 'type': 'int'}, - 'storage_mb': {'key': 'properties.storageMB', 'type': 'int'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, tags=None, edition=None, dtu=None, database_dtu_max=None, database_dtu_min=None, storage_mb=None, zone_redundant=None): - super(ElasticPoolUpdate, self).__init__() - self.tags = tags - self.creation_date = None - self.state = None - self.edition = edition - self.dtu = dtu - self.database_dtu_max = database_dtu_max - self.database_dtu_min = database_dtu_min - self.storage_mb = storage_mb - self.zone_redundant = zone_redundant + def __init__(self, **kwargs): + super(ElasticPoolUpdate, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.max_size_bytes = kwargs.get('max_size_bytes', None) + self.per_database_settings = kwargs.get('per_database_settings', None) + self.zone_redundant = kwargs.get('zone_redundant', None) + self.license_type = kwargs.get('license_type', None) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update_py3.py new file mode 100644 index 000000000000..d51753795c8a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_update_py3.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ElasticPoolUpdate(Model): + """An elastic pool update. + + :param sku: + :type sku: ~azure.mgmt.sql.models.Sku + :param max_size_bytes: The storage limit for the database elastic pool in + bytes. + :type max_size_bytes: long + :param per_database_settings: The per database settings for the elastic + pool. + :type per_database_settings: + ~azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings + :param zone_redundant: Whether or not this elastic pool is zone redundant, + which means the replicas of this elastic pool will be spread across + multiple availability zones. + :type zone_redundant: bool + :param license_type: The license type to apply for this elastic pool. + Possible values include: 'LicenseIncluded', 'BasePrice' + :type license_type: str or ~azure.mgmt.sql.models.ElasticPoolLicenseType + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'}, + 'per_database_settings': {'key': 'properties.perDatabaseSettings', 'type': 'ElasticPoolPerDatabaseSettings'}, + 'zone_redundant': {'key': 'properties.zoneRedundant', 'type': 'bool'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, sku=None, max_size_bytes: int=None, per_database_settings=None, zone_redundant: bool=None, license_type=None, tags=None, **kwargs) -> None: + super(ElasticPoolUpdate, self).__init__(**kwargs) + self.sku = sku + self.max_size_bytes = max_size_bytes + self.per_database_settings = per_database_settings + self.zone_redundant = zone_redundant + self.license_type = license_type + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector.py b/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector.py index ca1446ddd670..f6fe4ba3732d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector.py @@ -18,6 +18,8 @@ class EncryptionProtector(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -33,7 +35,7 @@ class EncryptionProtector(ProxyResource): :vartype subregion: str :param server_key_name: The name of the server key. :type server_key_name: str - :param server_key_type: The encryption protector type like + :param server_key_type: Required. The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. Possible values include: 'ServiceManaged', 'AzureKeyVault' :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType @@ -67,12 +69,12 @@ class EncryptionProtector(ProxyResource): 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, } - def __init__(self, server_key_type, kind=None, server_key_name=None): - super(EncryptionProtector, self).__init__() - self.kind = kind + def __init__(self, **kwargs): + super(EncryptionProtector, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) self.location = None self.subregion = None - self.server_key_name = server_key_name - self.server_key_type = server_key_type + self.server_key_name = kwargs.get('server_key_name', None) + self.server_key_type = kwargs.get('server_key_type', None) self.uri = None self.thumbprint = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector_py3.py new file mode 100644 index 000000000000..6dd4bad3cfbe --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/encryption_protector_py3.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class EncryptionProtector(ProxyResource): + """The server encryption protector. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param kind: Kind of encryption protector. This is metadata used for the + Azure portal experience. + :type kind: str + :ivar location: Resource location. + :vartype location: str + :ivar subregion: Subregion of the encryption protector. + :vartype subregion: str + :param server_key_name: The name of the server key. + :type server_key_name: str + :param server_key_type: Required. The encryption protector type like + 'ServiceManaged', 'AzureKeyVault'. Possible values include: + 'ServiceManaged', 'AzureKeyVault' + :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType + :ivar uri: The URI of the server key. + :vartype uri: str + :ivar thumbprint: Thumbprint of the server key. + :vartype thumbprint: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'subregion': {'readonly': True}, + 'server_key_type': {'required': True}, + 'uri': {'readonly': True}, + 'thumbprint': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'subregion': {'key': 'properties.subregion', 'type': 'str'}, + 'server_key_name': {'key': 'properties.serverKeyName', 'type': 'str'}, + 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + } + + def __init__(self, *, server_key_type, kind: str=None, server_key_name: str=None, **kwargs) -> None: + super(EncryptionProtector, self).__init__(**kwargs) + self.kind = kind + self.location = None + self.subregion = None + self.server_key_name = server_key_name + self.server_key_type = server_key_type + self.uri = None + self.thumbprint = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/export_request.py b/azure-mgmt-sql/azure/mgmt/sql/models/export_request.py index 3d99fbd9f0af..c0eb27d98299 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/export_request.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/export_request.py @@ -15,17 +15,19 @@ class ExportRequest(Model): """Export database parameters. - :param storage_key_type: The type of the storage key to use. Possible - values include: 'StorageAccessKey', 'SharedAccessKey' + All required parameters must be populated in order to send to Azure. + + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType - :param storage_key: The storage key to use. If storage key type is - SharedAccessKey, it must be preceded with a "?." + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." :type storage_key: str - :param storage_uri: The storage uri to use. + :param storage_uri: Required. The storage uri to use. :type storage_uri: str - :param administrator_login: The name of the SQL administrator. + :param administrator_login: Required. The name of the SQL administrator. :type administrator_login: str - :param administrator_login_password: The password of the SQL + :param administrator_login_password: Required. The password of the SQL administrator. :type administrator_login_password: str :param authentication_type: The authentication type. Possible values @@ -51,11 +53,11 @@ class ExportRequest(Model): 'authentication_type': {'key': 'authenticationType', 'type': 'AuthenticationType'}, } - def __init__(self, storage_key_type, storage_key, storage_uri, administrator_login, administrator_login_password, authentication_type="SQL"): - super(ExportRequest, self).__init__() - self.storage_key_type = storage_key_type - self.storage_key = storage_key - self.storage_uri = storage_uri - self.administrator_login = administrator_login - self.administrator_login_password = administrator_login_password - self.authentication_type = authentication_type + def __init__(self, **kwargs): + super(ExportRequest, self).__init__(**kwargs) + self.storage_key_type = kwargs.get('storage_key_type', None) + self.storage_key = kwargs.get('storage_key', None) + self.storage_uri = kwargs.get('storage_uri', None) + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.authentication_type = kwargs.get('authentication_type', "SQL") diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/export_request_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/export_request_py3.py new file mode 100644 index 000000000000..1cb99a5fe8fe --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/export_request_py3.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ExportRequest(Model): + """Export database parameters. + + All required parameters must be populated in order to send to Azure. + + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' + :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." + :type storage_key: str + :param storage_uri: Required. The storage uri to use. + :type storage_uri: str + :param administrator_login: Required. The name of the SQL administrator. + :type administrator_login: str + :param administrator_login_password: Required. The password of the SQL + administrator. + :type administrator_login_password: str + :param authentication_type: The authentication type. Possible values + include: 'SQL', 'ADPassword'. Default value: "SQL" . + :type authentication_type: str or + ~azure.mgmt.sql.models.AuthenticationType + """ + + _validation = { + 'storage_key_type': {'required': True}, + 'storage_key': {'required': True}, + 'storage_uri': {'required': True}, + 'administrator_login': {'required': True}, + 'administrator_login_password': {'required': True}, + } + + _attribute_map = { + 'storage_key_type': {'key': 'storageKeyType', 'type': 'StorageKeyType'}, + 'storage_key': {'key': 'storageKey', 'type': 'str'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'AuthenticationType'}, + } + + def __init__(self, *, storage_key_type, storage_key: str, storage_uri: str, administrator_login: str, administrator_login_password: str, authentication_type="SQL", **kwargs) -> None: + super(ExportRequest, self).__init__(**kwargs) + self.storage_key_type = storage_key_type + self.storage_key = storage_key + self.storage_uri = storage_uri + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.authentication_type = authentication_type diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group.py index 08836492ce16..1fd973aae6ff 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group.py @@ -18,6 +18,8 @@ class FailoverGroup(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -28,8 +30,8 @@ class FailoverGroup(ProxyResource): :vartype location: str :param tags: Resource tags. :type tags: dict[str, str] - :param read_write_endpoint: Read-write endpoint of the failover group - instance. + :param read_write_endpoint: Required. Read-write endpoint of the failover + group instance. :type read_write_endpoint: ~azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint :param read_only_endpoint: Read-only endpoint of the failover group @@ -42,8 +44,8 @@ class FailoverGroup(ProxyResource): ~azure.mgmt.sql.models.FailoverGroupReplicationRole :ivar replication_state: Replication state of the failover group instance. :vartype replication_state: str - :param partner_servers: List of partner server information for the - failover group. + :param partner_servers: Required. List of partner server information for + the failover group. :type partner_servers: list[~azure.mgmt.sql.models.PartnerInfo] :param databases: List of databases in the failover group. :type databases: list[str] @@ -74,13 +76,13 @@ class FailoverGroup(ProxyResource): 'databases': {'key': 'properties.databases', 'type': '[str]'}, } - def __init__(self, read_write_endpoint, partner_servers, tags=None, read_only_endpoint=None, databases=None): - super(FailoverGroup, self).__init__() + def __init__(self, **kwargs): + super(FailoverGroup, self).__init__(**kwargs) self.location = None - self.tags = tags - self.read_write_endpoint = read_write_endpoint - self.read_only_endpoint = read_only_endpoint + self.tags = kwargs.get('tags', None) + self.read_write_endpoint = kwargs.get('read_write_endpoint', None) + self.read_only_endpoint = kwargs.get('read_only_endpoint', None) self.replication_role = None self.replication_state = None - self.partner_servers = partner_servers - self.databases = databases + self.partner_servers = kwargs.get('partner_servers', None) + self.databases = kwargs.get('databases', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_py3.py new file mode 100644 index 000000000000..4b179cf5b45f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_py3.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class FailoverGroup(ProxyResource): + """A failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param read_write_endpoint: Required. Read-write endpoint of the failover + group instance. + :type read_write_endpoint: + ~azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint + :param read_only_endpoint: Read-only endpoint of the failover group + instance. + :type read_only_endpoint: + ~azure.mgmt.sql.models.FailoverGroupReadOnlyEndpoint + :ivar replication_role: Local replication role of the failover group + instance. Possible values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.FailoverGroupReplicationRole + :ivar replication_state: Replication state of the failover group instance. + :vartype replication_state: str + :param partner_servers: Required. List of partner server information for + the failover group. + :type partner_servers: list[~azure.mgmt.sql.models.PartnerInfo] + :param databases: List of databases in the failover group. + :type databases: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'read_write_endpoint': {'required': True}, + 'replication_role': {'readonly': True}, + 'replication_state': {'readonly': True}, + 'partner_servers': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'FailoverGroupReadWriteEndpoint'}, + 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'FailoverGroupReadOnlyEndpoint'}, + 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, + 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, + 'partner_servers': {'key': 'properties.partnerServers', 'type': '[PartnerInfo]'}, + 'databases': {'key': 'properties.databases', 'type': '[str]'}, + } + + def __init__(self, *, read_write_endpoint, partner_servers, tags=None, read_only_endpoint=None, databases=None, **kwargs) -> None: + super(FailoverGroup, self).__init__(**kwargs) + self.location = None + self.tags = tags + self.read_write_endpoint = read_write_endpoint + self.read_only_endpoint = read_only_endpoint + self.replication_role = None + self.replication_state = None + self.partner_servers = partner_servers + self.databases = databases diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint.py index be2fed191312..c64da55dfec9 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint.py @@ -25,6 +25,6 @@ class FailoverGroupReadOnlyEndpoint(Model): 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, } - def __init__(self, failover_policy=None): - super(FailoverGroupReadOnlyEndpoint, self).__init__() - self.failover_policy = failover_policy + def __init__(self, **kwargs): + super(FailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) + self.failover_policy = kwargs.get('failover_policy', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint_py3.py new file mode 100644 index 000000000000..aa923c8b0ce8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_only_endpoint_py3.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FailoverGroupReadOnlyEndpoint(Model): + """Read-only endpoint of the failover group instance. + + :param failover_policy: Failover policy of the read-only endpoint for the + failover group. Possible values include: 'Disabled', 'Enabled' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy + """ + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + } + + def __init__(self, *, failover_policy=None, **kwargs) -> None: + super(FailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) + self.failover_policy = failover_policy diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint.py index dc4ddf4a738f..8eb4368fe7be 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint.py @@ -15,8 +15,10 @@ class FailoverGroupReadWriteEndpoint(Model): """Read-write endpoint of the failover group instance. - :param failover_policy: Failover policy of the read-write endpoint for the - failover group. If failoverPolicy is Automatic then + All required parameters must be populated in order to send to Azure. + + :param failover_policy: Required. Failover policy of the read-write + endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. Possible values include: 'Manual', 'Automatic' :type failover_policy: str or @@ -37,7 +39,7 @@ class FailoverGroupReadWriteEndpoint(Model): 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, } - def __init__(self, failover_policy, failover_with_data_loss_grace_period_minutes=None): - super(FailoverGroupReadWriteEndpoint, self).__init__() - self.failover_policy = failover_policy - self.failover_with_data_loss_grace_period_minutes = failover_with_data_loss_grace_period_minutes + def __init__(self, **kwargs): + super(FailoverGroupReadWriteEndpoint, self).__init__(**kwargs) + self.failover_policy = kwargs.get('failover_policy', None) + self.failover_with_data_loss_grace_period_minutes = kwargs.get('failover_with_data_loss_grace_period_minutes', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint_py3.py new file mode 100644 index 000000000000..f9ffb4558ebc --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_read_write_endpoint_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FailoverGroupReadWriteEndpoint(Model): + """Read-write endpoint of the failover group instance. + + All required parameters must be populated in order to send to Azure. + + :param failover_policy: Required. Failover policy of the read-write + endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. Possible values + include: 'Manual', 'Automatic' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy + :param failover_with_data_loss_grace_period_minutes: Grace period before + failover with data loss is attempted for the read-write endpoint. If + failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is + required. + :type failover_with_data_loss_grace_period_minutes: int + """ + + _validation = { + 'failover_policy': {'required': True}, + } + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, + } + + def __init__(self, *, failover_policy, failover_with_data_loss_grace_period_minutes: int=None, **kwargs) -> None: + super(FailoverGroupReadWriteEndpoint, self).__init__(**kwargs) + self.failover_policy = failover_policy + self.failover_with_data_loss_grace_period_minutes = failover_with_data_loss_grace_period_minutes diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update.py index 7b6f0ae6416a..e491b250f0da 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update.py @@ -36,9 +36,9 @@ class FailoverGroupUpdate(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, read_write_endpoint=None, read_only_endpoint=None, databases=None, tags=None): - super(FailoverGroupUpdate, self).__init__() - self.read_write_endpoint = read_write_endpoint - self.read_only_endpoint = read_only_endpoint - self.databases = databases - self.tags = tags + def __init__(self, **kwargs): + super(FailoverGroupUpdate, self).__init__(**kwargs) + self.read_write_endpoint = kwargs.get('read_write_endpoint', None) + self.read_only_endpoint = kwargs.get('read_only_endpoint', None) + self.databases = kwargs.get('databases', None) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update_py3.py new file mode 100644 index 000000000000..3aee1ee5c78c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/failover_group_update_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class FailoverGroupUpdate(Model): + """A failover group update request. + + :param read_write_endpoint: Read-write endpoint of the failover group + instance. + :type read_write_endpoint: + ~azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint + :param read_only_endpoint: Read-only endpoint of the failover group + instance. + :type read_only_endpoint: + ~azure.mgmt.sql.models.FailoverGroupReadOnlyEndpoint + :param databases: List of databases in the failover group. + :type databases: list[str] + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'FailoverGroupReadWriteEndpoint'}, + 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'FailoverGroupReadOnlyEndpoint'}, + 'databases': {'key': 'properties.databases', 'type': '[str]'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, read_write_endpoint=None, read_only_endpoint=None, databases=None, tags=None, **kwargs) -> None: + super(FailoverGroupUpdate, self).__init__(**kwargs) + self.read_write_endpoint = read_write_endpoint + self.read_only_endpoint = read_only_endpoint + self.databases = databases + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule.py b/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule.py index 67c85e77292f..48004048c43a 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule.py @@ -18,6 +18,8 @@ class FirewallRule(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -28,13 +30,13 @@ class FirewallRule(ProxyResource): :vartype kind: str :ivar location: Location of the server that contains this firewall rule. :vartype location: str - :param start_ip_address: The start IP address of the firewall rule. Must - be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP - addresses. + :param start_ip_address: Required. The start IP address of the firewall + rule. Must be IPv4 format. Use value '0.0.0.0' to represent all + Azure-internal IP addresses. :type start_ip_address: str - :param end_ip_address: The end IP address of the firewall rule. Must be - IPv4 format. Must be greater than or equal to startIpAddress. Use value - '0.0.0.0' to represent all Azure-internal IP addresses. + :param end_ip_address: Required. The end IP address of the firewall rule. + Must be IPv4 format. Must be greater than or equal to startIpAddress. Use + value '0.0.0.0' to represent all Azure-internal IP addresses. :type end_ip_address: str """ @@ -58,9 +60,9 @@ class FirewallRule(ProxyResource): 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, } - def __init__(self, start_ip_address, end_ip_address): - super(FirewallRule, self).__init__() + def __init__(self, **kwargs): + super(FirewallRule, self).__init__(**kwargs) self.kind = None self.location = None - self.start_ip_address = start_ip_address - self.end_ip_address = end_ip_address + self.start_ip_address = kwargs.get('start_ip_address', None) + self.end_ip_address = kwargs.get('end_ip_address', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule_py3.py new file mode 100644 index 000000000000..c292730d9653 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/firewall_rule_py3.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class FirewallRule(ProxyResource): + """Represents a server firewall rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar kind: Kind of server that contains this firewall rule. + :vartype kind: str + :ivar location: Location of the server that contains this firewall rule. + :vartype location: str + :param start_ip_address: Required. The start IP address of the firewall + rule. Must be IPv4 format. Use value '0.0.0.0' to represent all + Azure-internal IP addresses. + :type start_ip_address: str + :param end_ip_address: Required. The end IP address of the firewall rule. + Must be IPv4 format. Must be greater than or equal to startIpAddress. Use + value '0.0.0.0' to represent all Azure-internal IP addresses. + :type end_ip_address: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'readonly': True}, + 'location': {'readonly': True}, + 'start_ip_address': {'required': True}, + 'end_ip_address': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'start_ip_address': {'key': 'properties.startIpAddress', 'type': 'str'}, + 'end_ip_address': {'key': 'properties.endIpAddress', 'type': 'str'}, + } + + def __init__(self, *, start_ip_address: str, end_ip_address: str, **kwargs) -> None: + super(FirewallRule, self).__init__(**kwargs) + self.kind = None + self.location = None + self.start_ip_address = start_ip_address + self.end_ip_address = end_ip_address diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy.py index 2cc72d783cbf..3d8203075617 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy.py @@ -18,14 +18,16 @@ class GeoBackupPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param state: The state of the geo backup policy. Possible values include: - 'Disabled', 'Enabled' + :param state: Required. The state of the geo backup policy. Possible + values include: 'Disabled', 'Enabled' :type state: str or ~azure.mgmt.sql.models.GeoBackupPolicyState :ivar storage_type: The storage type of the geo backup policy. :vartype storage_type: str @@ -56,9 +58,9 @@ class GeoBackupPolicy(ProxyResource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, state): - super(GeoBackupPolicy, self).__init__() - self.state = state + def __init__(self, **kwargs): + super(GeoBackupPolicy, self).__init__(**kwargs) + self.state = kwargs.get('state', None) self.storage_type = None self.kind = None self.location = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy_py3.py new file mode 100644 index 000000000000..23941df5ee47 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/geo_backup_policy_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class GeoBackupPolicy(ProxyResource): + """A database geo backup policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param state: Required. The state of the geo backup policy. Possible + values include: 'Disabled', 'Enabled' + :type state: str or ~azure.mgmt.sql.models.GeoBackupPolicyState + :ivar storage_type: The storage type of the geo backup policy. + :vartype storage_type: str + :ivar kind: Kind of geo backup policy. This is metadata used for the + Azure portal experience. + :vartype kind: str + :ivar location: Backup policy location. + :vartype location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'required': True}, + 'storage_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'location': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'GeoBackupPolicyState'}, + 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, state, **kwargs) -> None: + super(GeoBackupPolicy, self).__init__(**kwargs) + self.state = state + self.storage_type = None + self.kind = None + self.location = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response.py index da306b604757..5cfb638398f0 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response.py @@ -74,8 +74,8 @@ class ImportExportResponse(ProxyResource): 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, } - def __init__(self): - super(ImportExportResponse, self).__init__() + def __init__(self, **kwargs): + super(ImportExportResponse, self).__init__(**kwargs) self.request_type = None self.request_id = None self.server_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response_py3.py new file mode 100644 index 000000000000..a344fc99266b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_export_response_py3.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ImportExportResponse(ProxyResource): + """Response for Import/Export Get operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar request_type: The request type of the operation. + :vartype request_type: str + :ivar request_id: The request type of the operation. + :vartype request_id: str + :ivar server_name: The name of the server. + :vartype server_name: str + :ivar database_name: The name of the database. + :vartype database_name: str + :ivar status: The status message returned from the server. + :vartype status: str + :ivar last_modified_time: The operation status last modified time. + :vartype last_modified_time: str + :ivar queued_time: The operation queued time. + :vartype queued_time: str + :ivar blob_uri: The blob uri. + :vartype blob_uri: str + :ivar error_message: The error message returned from the server. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'request_type': {'readonly': True}, + 'request_id': {'readonly': True}, + 'server_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'status': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'queued_time': {'readonly': True}, + 'blob_uri': {'readonly': True}, + 'error_message': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'request_type': {'key': 'properties.requestType', 'type': 'str'}, + 'request_id': {'key': 'properties.requestId', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, + 'queued_time': {'key': 'properties.queuedTime', 'type': 'str'}, + 'blob_uri': {'key': 'properties.blobUri', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ImportExportResponse, self).__init__(**kwargs) + self.request_type = None + self.request_id = None + self.server_name = None + self.database_name = None + self.status = None + self.last_modified_time = None + self.queued_time = None + self.blob_uri = None + self.error_message = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request.py index 98729e57ba4b..3eba93dcec8e 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request.py @@ -18,29 +18,31 @@ class ImportExtensionRequest(Model): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :param name: The name of the extension. :type name: str :param type: The type of the extension. :type type: str - :param storage_key_type: The type of the storage key to use. Possible - values include: 'StorageAccessKey', 'SharedAccessKey' + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType - :param storage_key: The storage key to use. If storage key type is - SharedAccessKey, it must be preceded with a "?." + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." :type storage_key: str - :param storage_uri: The storage uri to use. + :param storage_uri: Required. The storage uri to use. :type storage_uri: str - :param administrator_login: The name of the SQL administrator. + :param administrator_login: Required. The name of the SQL administrator. :type administrator_login: str - :param administrator_login_password: The password of the SQL + :param administrator_login_password: Required. The password of the SQL administrator. :type administrator_login_password: str :param authentication_type: The authentication type. Possible values include: 'SQL', 'ADPassword'. Default value: "SQL" . :type authentication_type: str or ~azure.mgmt.sql.models.AuthenticationType - :ivar operation_mode: The type of import operation being performed. This - is always Import. Default value: "Import" . + :ivar operation_mode: Required. The type of import operation being + performed. This is always Import. Default value: "Import" . :vartype operation_mode: str """ @@ -67,13 +69,13 @@ class ImportExtensionRequest(Model): operation_mode = "Import" - def __init__(self, storage_key_type, storage_key, storage_uri, administrator_login, administrator_login_password, name=None, type=None, authentication_type="SQL"): - super(ImportExtensionRequest, self).__init__() - self.name = name - self.type = type - self.storage_key_type = storage_key_type - self.storage_key = storage_key - self.storage_uri = storage_uri - self.administrator_login = administrator_login - self.administrator_login_password = administrator_login_password - self.authentication_type = authentication_type + def __init__(self, **kwargs): + super(ImportExtensionRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.storage_key_type = kwargs.get('storage_key_type', None) + self.storage_key = kwargs.get('storage_key', None) + self.storage_uri = kwargs.get('storage_uri', None) + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.authentication_type = kwargs.get('authentication_type', "SQL") diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request_py3.py new file mode 100644 index 000000000000..0486f0a68dbe --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_extension_request_py3.py @@ -0,0 +1,81 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ImportExtensionRequest(Model): + """Import database parameters. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param name: The name of the extension. + :type name: str + :param type: The type of the extension. + :type type: str + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' + :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." + :type storage_key: str + :param storage_uri: Required. The storage uri to use. + :type storage_uri: str + :param administrator_login: Required. The name of the SQL administrator. + :type administrator_login: str + :param administrator_login_password: Required. The password of the SQL + administrator. + :type administrator_login_password: str + :param authentication_type: The authentication type. Possible values + include: 'SQL', 'ADPassword'. Default value: "SQL" . + :type authentication_type: str or + ~azure.mgmt.sql.models.AuthenticationType + :ivar operation_mode: Required. The type of import operation being + performed. This is always Import. Default value: "Import" . + :vartype operation_mode: str + """ + + _validation = { + 'storage_key_type': {'required': True}, + 'storage_key': {'required': True}, + 'storage_uri': {'required': True}, + 'administrator_login': {'required': True}, + 'administrator_login_password': {'required': True}, + 'operation_mode': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_key_type': {'key': 'properties.storageKeyType', 'type': 'StorageKeyType'}, + 'storage_key': {'key': 'properties.storageKey', 'type': 'str'}, + 'storage_uri': {'key': 'properties.storageUri', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'authentication_type': {'key': 'properties.authenticationType', 'type': 'AuthenticationType'}, + 'operation_mode': {'key': 'properties.operationMode', 'type': 'str'}, + } + + operation_mode = "Import" + + def __init__(self, *, storage_key_type, storage_key: str, storage_uri: str, administrator_login: str, administrator_login_password: str, name: str=None, type: str=None, authentication_type="SQL", **kwargs) -> None: + super(ImportExtensionRequest, self).__init__(**kwargs) + self.name = name + self.type = type + self.storage_key_type = storage_key_type + self.storage_key = storage_key + self.storage_uri = storage_uri + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.authentication_type = authentication_type diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_request.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_request.py index fd755b5fbd7c..a1683ffad9b4 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/import_request.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_request.py @@ -15,42 +15,46 @@ class ImportRequest(ExportRequest): """Import database parameters. - :param storage_key_type: The type of the storage key to use. Possible - values include: 'StorageAccessKey', 'SharedAccessKey' + All required parameters must be populated in order to send to Azure. + + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType - :param storage_key: The storage key to use. If storage key type is - SharedAccessKey, it must be preceded with a "?." + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." :type storage_key: str - :param storage_uri: The storage uri to use. + :param storage_uri: Required. The storage uri to use. :type storage_uri: str - :param administrator_login: The name of the SQL administrator. + :param administrator_login: Required. The name of the SQL administrator. :type administrator_login: str - :param administrator_login_password: The password of the SQL + :param administrator_login_password: Required. The password of the SQL administrator. :type administrator_login_password: str :param authentication_type: The authentication type. Possible values include: 'SQL', 'ADPassword'. Default value: "SQL" . :type authentication_type: str or ~azure.mgmt.sql.models.AuthenticationType - :param database_name: The name of the database to import. + :param database_name: Required. The name of the database to import. :type database_name: str - :param edition: The edition for the database being created. Possible - values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', - 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2' + :param edition: Required. The edition for the database being created. + Possible values include: 'Web', 'Business', 'Basic', 'Standard', + 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', + 'System2' :type edition: str or ~azure.mgmt.sql.models.DatabaseEdition - :param service_objective_name: The name of the service objective to assign - to the database. Possible values include: 'System', 'System0', 'System1', - 'System2', 'System3', 'System4', 'System2L', 'System3L', 'System4L', - 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', - 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', - 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', - 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', - 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', + :param service_objective_name: Required. The name of the service objective + to assign to the database. Possible values include: 'System', 'System0', + 'System1', 'System2', 'System3', 'System4', 'System2L', 'System3L', + 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', + 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', + 'PRS4', 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', + 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', + 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' :type service_objective_name: str or ~azure.mgmt.sql.models.ServiceObjectiveName - :param max_size_bytes: The maximum size for the newly imported database. + :param max_size_bytes: Required. The maximum size for the newly imported + database. :type max_size_bytes: str """ @@ -79,9 +83,9 @@ class ImportRequest(ExportRequest): 'max_size_bytes': {'key': 'maxSizeBytes', 'type': 'str'}, } - def __init__(self, storage_key_type, storage_key, storage_uri, administrator_login, administrator_login_password, database_name, edition, service_objective_name, max_size_bytes, authentication_type="SQL"): - super(ImportRequest, self).__init__(storage_key_type=storage_key_type, storage_key=storage_key, storage_uri=storage_uri, administrator_login=administrator_login, administrator_login_password=administrator_login_password, authentication_type=authentication_type) - self.database_name = database_name - self.edition = edition - self.service_objective_name = service_objective_name - self.max_size_bytes = max_size_bytes + def __init__(self, **kwargs): + super(ImportRequest, self).__init__(**kwargs) + self.database_name = kwargs.get('database_name', None) + self.edition = kwargs.get('edition', None) + self.service_objective_name = kwargs.get('service_objective_name', None) + self.max_size_bytes = kwargs.get('max_size_bytes', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/import_request_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/import_request_py3.py new file mode 100644 index 000000000000..68b97ae814a3 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/import_request_py3.py @@ -0,0 +1,91 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .export_request_py3 import ExportRequest + + +class ImportRequest(ExportRequest): + """Import database parameters. + + All required parameters must be populated in order to send to Azure. + + :param storage_key_type: Required. The type of the storage key to use. + Possible values include: 'StorageAccessKey', 'SharedAccessKey' + :type storage_key_type: str or ~azure.mgmt.sql.models.StorageKeyType + :param storage_key: Required. The storage key to use. If storage key type + is SharedAccessKey, it must be preceded with a "?." + :type storage_key: str + :param storage_uri: Required. The storage uri to use. + :type storage_uri: str + :param administrator_login: Required. The name of the SQL administrator. + :type administrator_login: str + :param administrator_login_password: Required. The password of the SQL + administrator. + :type administrator_login_password: str + :param authentication_type: The authentication type. Possible values + include: 'SQL', 'ADPassword'. Default value: "SQL" . + :type authentication_type: str or + ~azure.mgmt.sql.models.AuthenticationType + :param database_name: Required. The name of the database to import. + :type database_name: str + :param edition: Required. The edition for the database being created. + Possible values include: 'Web', 'Business', 'Basic', 'Standard', + 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', + 'System2' + :type edition: str or ~azure.mgmt.sql.models.DatabaseEdition + :param service_objective_name: Required. The name of the service objective + to assign to the database. Possible values include: 'System', 'System0', + 'System1', 'System2', 'System3', 'System4', 'System2L', 'System3L', + 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', + 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', + 'PRS4', 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', + 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', + 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', + 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', + 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' + :type service_objective_name: str or + ~azure.mgmt.sql.models.ServiceObjectiveName + :param max_size_bytes: Required. The maximum size for the newly imported + database. + :type max_size_bytes: str + """ + + _validation = { + 'storage_key_type': {'required': True}, + 'storage_key': {'required': True}, + 'storage_uri': {'required': True}, + 'administrator_login': {'required': True}, + 'administrator_login_password': {'required': True}, + 'database_name': {'required': True}, + 'edition': {'required': True}, + 'service_objective_name': {'required': True}, + 'max_size_bytes': {'required': True}, + } + + _attribute_map = { + 'storage_key_type': {'key': 'storageKeyType', 'type': 'StorageKeyType'}, + 'storage_key': {'key': 'storageKey', 'type': 'str'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + 'administrator_login': {'key': 'administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'administratorLoginPassword', 'type': 'str'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'AuthenticationType'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'edition': {'key': 'edition', 'type': 'str'}, + 'service_objective_name': {'key': 'serviceObjectiveName', 'type': 'str'}, + 'max_size_bytes': {'key': 'maxSizeBytes', 'type': 'str'}, + } + + def __init__(self, *, storage_key_type, storage_key: str, storage_uri: str, administrator_login: str, administrator_login_password: str, database_name: str, edition, service_objective_name, max_size_bytes: str, authentication_type="SQL", **kwargs) -> None: + super(ImportRequest, self).__init__(storage_key_type=storage_key_type, storage_key=storage_key, storage_uri=storage_uri, administrator_login=administrator_login, administrator_login_password=administrator_login_password, authentication_type=authentication_type, **kwargs) + self.database_name = database_name + self.edition = edition + self.service_objective_name = service_objective_name + self.max_size_bytes = max_size_bytes diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group.py new file mode 100644 index 000000000000..f360ffbfed57 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class InstanceFailoverGroup(ProxyResource): + """An instance failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param read_write_endpoint: Required. Read-write endpoint of the failover + group instance. + :type read_write_endpoint: + ~azure.mgmt.sql.models.InstanceFailoverGroupReadWriteEndpoint + :param read_only_endpoint: Read-only endpoint of the failover group + instance. + :type read_only_endpoint: + ~azure.mgmt.sql.models.InstanceFailoverGroupReadOnlyEndpoint + :ivar replication_role: Local replication role of the failover group + instance. Possible values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole + :ivar replication_state: Replication state of the failover group instance. + :vartype replication_state: str + :param partner_regions: Required. Partner region information for the + failover group. + :type partner_regions: list[~azure.mgmt.sql.models.PartnerRegionInfo] + :param managed_instance_pairs: Required. List of managed instance pairs in + the failover group. + :type managed_instance_pairs: + list[~azure.mgmt.sql.models.ManagedInstancePairInfo] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'read_write_endpoint': {'required': True}, + 'replication_role': {'readonly': True}, + 'replication_state': {'readonly': True}, + 'partner_regions': {'required': True}, + 'managed_instance_pairs': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'InstanceFailoverGroupReadWriteEndpoint'}, + 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'InstanceFailoverGroupReadOnlyEndpoint'}, + 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, + 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, + 'partner_regions': {'key': 'properties.partnerRegions', 'type': '[PartnerRegionInfo]'}, + 'managed_instance_pairs': {'key': 'properties.managedInstancePairs', 'type': '[ManagedInstancePairInfo]'}, + } + + def __init__(self, **kwargs): + super(InstanceFailoverGroup, self).__init__(**kwargs) + self.read_write_endpoint = kwargs.get('read_write_endpoint', None) + self.read_only_endpoint = kwargs.get('read_only_endpoint', None) + self.replication_role = None + self.replication_state = None + self.partner_regions = kwargs.get('partner_regions', None) + self.managed_instance_pairs = kwargs.get('managed_instance_pairs', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_paged.py similarity index 64% rename from azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault_paged.py rename to azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_paged.py index 79b7b79ab289..c67eaf2ef670 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault_paged.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_paged.py @@ -12,16 +12,16 @@ from msrest.paging import Paged -class BackupLongTermRetentionVaultPaged(Paged): +class InstanceFailoverGroupPaged(Paged): """ - A paging container for iterating over a list of :class:`BackupLongTermRetentionVault ` object + A paging container for iterating over a list of :class:`InstanceFailoverGroup ` object """ _attribute_map = { 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackupLongTermRetentionVault]'} + 'current_page': {'key': 'value', 'type': '[InstanceFailoverGroup]'} } def __init__(self, *args, **kwargs): - super(BackupLongTermRetentionVaultPaged, self).__init__(*args, **kwargs) + super(InstanceFailoverGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_py3.py new file mode 100644 index 000000000000..8959f26c9f69 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_py3.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class InstanceFailoverGroup(ProxyResource): + """An instance failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param read_write_endpoint: Required. Read-write endpoint of the failover + group instance. + :type read_write_endpoint: + ~azure.mgmt.sql.models.InstanceFailoverGroupReadWriteEndpoint + :param read_only_endpoint: Read-only endpoint of the failover group + instance. + :type read_only_endpoint: + ~azure.mgmt.sql.models.InstanceFailoverGroupReadOnlyEndpoint + :ivar replication_role: Local replication role of the failover group + instance. Possible values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole + :ivar replication_state: Replication state of the failover group instance. + :vartype replication_state: str + :param partner_regions: Required. Partner region information for the + failover group. + :type partner_regions: list[~azure.mgmt.sql.models.PartnerRegionInfo] + :param managed_instance_pairs: Required. List of managed instance pairs in + the failover group. + :type managed_instance_pairs: + list[~azure.mgmt.sql.models.ManagedInstancePairInfo] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'read_write_endpoint': {'required': True}, + 'replication_role': {'readonly': True}, + 'replication_state': {'readonly': True}, + 'partner_regions': {'required': True}, + 'managed_instance_pairs': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'read_write_endpoint': {'key': 'properties.readWriteEndpoint', 'type': 'InstanceFailoverGroupReadWriteEndpoint'}, + 'read_only_endpoint': {'key': 'properties.readOnlyEndpoint', 'type': 'InstanceFailoverGroupReadOnlyEndpoint'}, + 'replication_role': {'key': 'properties.replicationRole', 'type': 'str'}, + 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, + 'partner_regions': {'key': 'properties.partnerRegions', 'type': '[PartnerRegionInfo]'}, + 'managed_instance_pairs': {'key': 'properties.managedInstancePairs', 'type': '[ManagedInstancePairInfo]'}, + } + + def __init__(self, *, read_write_endpoint, partner_regions, managed_instance_pairs, read_only_endpoint=None, **kwargs) -> None: + super(InstanceFailoverGroup, self).__init__(**kwargs) + self.read_write_endpoint = read_write_endpoint + self.read_only_endpoint = read_only_endpoint + self.replication_role = None + self.replication_state = None + self.partner_regions = partner_regions + self.managed_instance_pairs = managed_instance_pairs diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint.py new file mode 100644 index 000000000000..2a9857817ae4 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class InstanceFailoverGroupReadOnlyEndpoint(Model): + """Read-only endpoint of the failover group instance. + + :param failover_policy: Failover policy of the read-only endpoint for the + failover group. Possible values include: 'Disabled', 'Enabled' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy + """ + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InstanceFailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) + self.failover_policy = kwargs.get('failover_policy', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint_py3.py new file mode 100644 index 000000000000..71c9f180cdf7 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_only_endpoint_py3.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class InstanceFailoverGroupReadOnlyEndpoint(Model): + """Read-only endpoint of the failover group instance. + + :param failover_policy: Failover policy of the read-only endpoint for the + failover group. Possible values include: 'Disabled', 'Enabled' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy + """ + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + } + + def __init__(self, *, failover_policy=None, **kwargs) -> None: + super(InstanceFailoverGroupReadOnlyEndpoint, self).__init__(**kwargs) + self.failover_policy = failover_policy diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint.py new file mode 100644 index 000000000000..89a86899e503 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class InstanceFailoverGroupReadWriteEndpoint(Model): + """Read-write endpoint of the failover group instance. + + All required parameters must be populated in order to send to Azure. + + :param failover_policy: Required. Failover policy of the read-write + endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. Possible values + include: 'Manual', 'Automatic' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy + :param failover_with_data_loss_grace_period_minutes: Grace period before + failover with data loss is attempted for the read-write endpoint. If + failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is + required. + :type failover_with_data_loss_grace_period_minutes: int + """ + + _validation = { + 'failover_policy': {'required': True}, + } + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(InstanceFailoverGroupReadWriteEndpoint, self).__init__(**kwargs) + self.failover_policy = kwargs.get('failover_policy', None) + self.failover_with_data_loss_grace_period_minutes = kwargs.get('failover_with_data_loss_grace_period_minutes', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint_py3.py new file mode 100644 index 000000000000..7fdc047ba37c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/instance_failover_group_read_write_endpoint_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class InstanceFailoverGroupReadWriteEndpoint(Model): + """Read-write endpoint of the failover group instance. + + All required parameters must be populated in order to send to Azure. + + :param failover_policy: Required. Failover policy of the read-write + endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. Possible values + include: 'Manual', 'Automatic' + :type failover_policy: str or + ~azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy + :param failover_with_data_loss_grace_period_minutes: Grace period before + failover with data loss is attempted for the read-write endpoint. If + failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is + required. + :type failover_with_data_loss_grace_period_minutes: int + """ + + _validation = { + 'failover_policy': {'required': True}, + } + + _attribute_map = { + 'failover_policy': {'key': 'failoverPolicy', 'type': 'str'}, + 'failover_with_data_loss_grace_period_minutes': {'key': 'failoverWithDataLossGracePeriodMinutes', 'type': 'int'}, + } + + def __init__(self, *, failover_policy, failover_with_data_loss_grace_period_minutes: int=None, **kwargs) -> None: + super(InstanceFailoverGroupReadWriteEndpoint, self).__init__(**kwargs) + self.failover_policy = failover_policy + self.failover_with_data_loss_grace_period_minutes = failover_with_data_loss_grace_period_minutes diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job.py b/azure-mgmt-sql/azure/mgmt/sql/models/job.py new file mode 100644 index 000000000000..6b2c60fd1d4b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class Job(ProxyResource): + """A job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param description: User-defined description of the job. Default value: "" + . + :type description: str + :ivar version: The job version number. + :vartype version: int + :param schedule: Schedule properties of the job. + :type schedule: ~azure.mgmt.sql.models.JobSchedule + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'int'}, + 'schedule': {'key': 'properties.schedule', 'type': 'JobSchedule'}, + } + + def __init__(self, **kwargs): + super(Job, self).__init__(**kwargs) + self.description = kwargs.get('description', "") + self.version = None + self.schedule = kwargs.get('schedule', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_agent.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent.py new file mode 100644 index 000000000000..3cb0df4642c4 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class JobAgent(TrackedResource): + """An Azure SQL job agent. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku + :param database_id: Required. Resource ID of the database to store job + metadata in. + :type database_id: str + :ivar state: The state of the job agent. Possible values include: + 'Creating', 'Ready', 'Updating', 'Deleting', 'Disabled' + :vartype state: str or ~azure.mgmt.sql.models.JobAgentState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'database_id': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobAgent, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.database_id = kwargs.get('database_id', None) + self.state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_paged.py similarity index 64% rename from azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_paged.py rename to azure-mgmt-sql/azure/mgmt/sql/models/job_agent_paged.py index 609528d85e94..25dd750b9d1f 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_policy_paged.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_paged.py @@ -12,16 +12,16 @@ from msrest.paging import Paged -class BackupLongTermRetentionPolicyPaged(Paged): +class JobAgentPaged(Paged): """ - A paging container for iterating over a list of :class:`BackupLongTermRetentionPolicy ` object + A paging container for iterating over a list of :class:`JobAgent ` object """ _attribute_map = { 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackupLongTermRetentionPolicy]'} + 'current_page': {'key': 'value', 'type': '[JobAgent]'} } def __init__(self, *args, **kwargs): - super(BackupLongTermRetentionPolicyPaged, self).__init__(*args, **kwargs) + super(JobAgentPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_py3.py new file mode 100644 index 000000000000..4a2fa86da554 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_py3.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class JobAgent(TrackedResource): + """An Azure SQL job agent. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param sku: The name and tier of the SKU. + :type sku: ~azure.mgmt.sql.models.Sku + :param database_id: Required. Resource ID of the database to store job + metadata in. + :type database_id: str + :ivar state: The state of the job agent. Possible values include: + 'Creating', 'Ready', 'Updating', 'Deleting', 'Disabled' + :vartype state: str or ~azure.mgmt.sql.models.JobAgentState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'database_id': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, *, location: str, database_id: str, tags=None, sku=None, **kwargs) -> None: + super(JobAgent, self).__init__(tags=tags, location=location, **kwargs) + self.sku = sku + self.database_id = database_id + self.state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update.py new file mode 100644 index 000000000000..af781de91cbf --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobAgentUpdate(Model): + """An update to an Azure SQL job agent. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(JobAgentUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update_py3.py new file mode 100644 index 000000000000..ab5e71f7b1d1 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_agent_update_py3.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobAgentUpdate(Model): + """An update to an Azure SQL job agent. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(JobAgentUpdate, self).__init__(**kwargs) + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_credential.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential.py new file mode 100644 index 000000000000..807d34975114 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class JobCredential(ProxyResource): + """A stored credential that can be used by a job to connect to target + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param username: Required. The credential user name. + :type username: str + :param password: Required. The credential password. + :type password: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'username': {'key': 'properties.username', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobCredential, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_paged.py new file mode 100644 index 000000000000..550108e41c93 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobCredentialPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobCredential ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobCredential]'} + } + + def __init__(self, *args, **kwargs): + + super(JobCredentialPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_py3.py new file mode 100644 index 000000000000..5158010b9c74 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_credential_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class JobCredential(ProxyResource): + """A stored credential that can be used by a job to connect to target + databases. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param username: Required. The credential user name. + :type username: str + :param password: Required. The credential password. + :type password: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'username': {'key': 'properties.username', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + } + + def __init__(self, *, username: str, password: str, **kwargs) -> None: + super(JobCredential, self).__init__(**kwargs) + self.username = username + self.password = password diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_execution.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution.py new file mode 100644 index 000000000000..92744fb7c75b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class JobExecution(ProxyResource): + """An execution of a job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar job_version: The job version number. + :vartype job_version: int + :ivar step_name: The job step name. + :vartype step_name: str + :ivar step_id: The job step id. + :vartype step_id: int + :ivar job_execution_id: The unique identifier of the job execution. + :vartype job_execution_id: str + :ivar lifecycle: The detailed state of the job execution. Possible values + include: 'Created', 'InProgress', 'WaitingForChildJobExecutions', + 'WaitingForRetry', 'Succeeded', 'SucceededWithSkipped', 'Failed', + 'TimedOut', 'Canceled', 'Skipped' + :vartype lifecycle: str or ~azure.mgmt.sql.models.JobExecutionLifecycle + :ivar provisioning_state: The ARM provisioning state of the job execution. + Possible values include: 'Created', 'InProgress', 'Succeeded', 'Failed', + 'Canceled' + :vartype provisioning_state: str or + ~azure.mgmt.sql.models.ProvisioningState + :ivar create_time: The time that the job execution was created. + :vartype create_time: datetime + :ivar start_time: The time that the job execution started. + :vartype start_time: datetime + :ivar end_time: The time that the job execution completed. + :vartype end_time: datetime + :param current_attempts: Number of times the job execution has been + attempted. + :type current_attempts: int + :ivar current_attempt_start_time: Start time of the current attempt. + :vartype current_attempt_start_time: datetime + :ivar last_message: The last status or error message. + :vartype last_message: str + :ivar target: The target that this execution is executed on. + :vartype target: ~azure.mgmt.sql.models.JobExecutionTarget + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'job_version': {'readonly': True}, + 'step_name': {'readonly': True}, + 'step_id': {'readonly': True}, + 'job_execution_id': {'readonly': True}, + 'lifecycle': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'current_attempt_start_time': {'readonly': True}, + 'last_message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'job_version': {'key': 'properties.jobVersion', 'type': 'int'}, + 'step_name': {'key': 'properties.stepName', 'type': 'str'}, + 'step_id': {'key': 'properties.stepId', 'type': 'int'}, + 'job_execution_id': {'key': 'properties.jobExecutionId', 'type': 'str'}, + 'lifecycle': {'key': 'properties.lifecycle', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'current_attempts': {'key': 'properties.currentAttempts', 'type': 'int'}, + 'current_attempt_start_time': {'key': 'properties.currentAttemptStartTime', 'type': 'iso-8601'}, + 'last_message': {'key': 'properties.lastMessage', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'JobExecutionTarget'}, + } + + def __init__(self, **kwargs): + super(JobExecution, self).__init__(**kwargs) + self.job_version = None + self.step_name = None + self.step_id = None + self.job_execution_id = None + self.lifecycle = None + self.provisioning_state = None + self.create_time = None + self.start_time = None + self.end_time = None + self.current_attempts = kwargs.get('current_attempts', None) + self.current_attempt_start_time = None + self.last_message = None + self.target = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_paged.py new file mode 100644 index 000000000000..bfcdb03ea9aa --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobExecutionPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobExecution ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobExecution]'} + } + + def __init__(self, *args, **kwargs): + + super(JobExecutionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_py3.py new file mode 100644 index 000000000000..b7fdaba7c147 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_py3.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class JobExecution(ProxyResource): + """An execution of a job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar job_version: The job version number. + :vartype job_version: int + :ivar step_name: The job step name. + :vartype step_name: str + :ivar step_id: The job step id. + :vartype step_id: int + :ivar job_execution_id: The unique identifier of the job execution. + :vartype job_execution_id: str + :ivar lifecycle: The detailed state of the job execution. Possible values + include: 'Created', 'InProgress', 'WaitingForChildJobExecutions', + 'WaitingForRetry', 'Succeeded', 'SucceededWithSkipped', 'Failed', + 'TimedOut', 'Canceled', 'Skipped' + :vartype lifecycle: str or ~azure.mgmt.sql.models.JobExecutionLifecycle + :ivar provisioning_state: The ARM provisioning state of the job execution. + Possible values include: 'Created', 'InProgress', 'Succeeded', 'Failed', + 'Canceled' + :vartype provisioning_state: str or + ~azure.mgmt.sql.models.ProvisioningState + :ivar create_time: The time that the job execution was created. + :vartype create_time: datetime + :ivar start_time: The time that the job execution started. + :vartype start_time: datetime + :ivar end_time: The time that the job execution completed. + :vartype end_time: datetime + :param current_attempts: Number of times the job execution has been + attempted. + :type current_attempts: int + :ivar current_attempt_start_time: Start time of the current attempt. + :vartype current_attempt_start_time: datetime + :ivar last_message: The last status or error message. + :vartype last_message: str + :ivar target: The target that this execution is executed on. + :vartype target: ~azure.mgmt.sql.models.JobExecutionTarget + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'job_version': {'readonly': True}, + 'step_name': {'readonly': True}, + 'step_id': {'readonly': True}, + 'job_execution_id': {'readonly': True}, + 'lifecycle': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'current_attempt_start_time': {'readonly': True}, + 'last_message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'job_version': {'key': 'properties.jobVersion', 'type': 'int'}, + 'step_name': {'key': 'properties.stepName', 'type': 'str'}, + 'step_id': {'key': 'properties.stepId', 'type': 'int'}, + 'job_execution_id': {'key': 'properties.jobExecutionId', 'type': 'str'}, + 'lifecycle': {'key': 'properties.lifecycle', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'current_attempts': {'key': 'properties.currentAttempts', 'type': 'int'}, + 'current_attempt_start_time': {'key': 'properties.currentAttemptStartTime', 'type': 'iso-8601'}, + 'last_message': {'key': 'properties.lastMessage', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'JobExecutionTarget'}, + } + + def __init__(self, *, current_attempts: int=None, **kwargs) -> None: + super(JobExecution, self).__init__(**kwargs) + self.job_version = None + self.step_name = None + self.step_id = None + self.job_execution_id = None + self.lifecycle = None + self.provisioning_state = None + self.create_time = None + self.start_time = None + self.end_time = None + self.current_attempts = current_attempts + self.current_attempt_start_time = None + self.last_message = None + self.target = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target.py new file mode 100644 index 000000000000..50557aaf96d0 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobExecutionTarget(Model): + """The target that a job execution is executed on. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the target. Possible values include: + 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', 'SqlShardMap', 'SqlServer' + :vartype type: str or ~azure.mgmt.sql.models.JobTargetType + :ivar server_name: The server name. + :vartype server_name: str + :ivar database_name: The database name. + :vartype database_name: str + """ + + _validation = { + 'type': {'readonly': True}, + 'server_name': {'readonly': True}, + 'database_name': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobExecutionTarget, self).__init__(**kwargs) + self.type = None + self.server_name = None + self.database_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target_py3.py new file mode 100644 index 000000000000..551716c3cd31 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_execution_target_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobExecutionTarget(Model): + """The target that a job execution is executed on. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the target. Possible values include: + 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', 'SqlShardMap', 'SqlServer' + :vartype type: str or ~azure.mgmt.sql.models.JobTargetType + :ivar server_name: The server name. + :vartype server_name: str + :ivar database_name: The database name. + :vartype database_name: str + """ + + _validation = { + 'type': {'readonly': True}, + 'server_name': {'readonly': True}, + 'database_name': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(JobExecutionTarget, self).__init__(**kwargs) + self.type = None + self.server_name = None + self.database_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_paged.py new file mode 100644 index 000000000000..3b85770570f2 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobPaged(Paged): + """ + A paging container for iterating over a list of :class:`Job ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Job]'} + } + + def __init__(self, *args, **kwargs): + + super(JobPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_py3.py new file mode 100644 index 000000000000..5bfb9b53f03f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_py3.py @@ -0,0 +1,56 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class Job(ProxyResource): + """A job. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param description: User-defined description of the job. Default value: "" + . + :type description: str + :ivar version: The job version number. + :vartype version: int + :param schedule: Schedule properties of the job. + :type schedule: ~azure.mgmt.sql.models.JobSchedule + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'int'}, + 'schedule': {'key': 'properties.schedule', 'type': 'JobSchedule'}, + } + + def __init__(self, *, description: str="", schedule=None, **kwargs) -> None: + super(Job, self).__init__(**kwargs) + self.description = description + self.version = None + self.schedule = schedule diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule.py new file mode 100644 index 000000000000..7fab31ef7b8c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobSchedule(Model): + """Scheduling properties of a job. + + :param start_time: Schedule start time. Default value: + "0001-01-01T00:00:00Z" . + :type start_time: datetime + :param end_time: Schedule end time. Default value: "9999-12-31T11:59:59Z" + . + :type end_time: datetime + :param type: Schedule interval type. Possible values include: 'Once', + 'Recurring'. Default value: "Once" . + :type type: str or ~azure.mgmt.sql.models.JobScheduleType + :param enabled: Whether or not the schedule is enabled. + :type enabled: bool + :param interval: Value of the schedule's recurring interval, if the + scheduletype is recurring. ISO8601 duration format. + :type interval: str + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'JobScheduleType'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'interval': {'key': 'interval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobSchedule, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', "0001-01-01T00:00:00Z") + self.end_time = kwargs.get('end_time', "9999-12-31T11:59:59Z") + self.type = kwargs.get('type', "Once") + self.enabled = kwargs.get('enabled', None) + self.interval = kwargs.get('interval', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule_py3.py new file mode 100644 index 000000000000..8c0cd37ebefe --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_schedule_py3.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobSchedule(Model): + """Scheduling properties of a job. + + :param start_time: Schedule start time. Default value: + "0001-01-01T00:00:00Z" . + :type start_time: datetime + :param end_time: Schedule end time. Default value: "9999-12-31T11:59:59Z" + . + :type end_time: datetime + :param type: Schedule interval type. Possible values include: 'Once', + 'Recurring'. Default value: "Once" . + :type type: str or ~azure.mgmt.sql.models.JobScheduleType + :param enabled: Whether or not the schedule is enabled. + :type enabled: bool + :param interval: Value of the schedule's recurring interval, if the + scheduletype is recurring. ISO8601 duration format. + :type interval: str + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'JobScheduleType'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'interval': {'key': 'interval', 'type': 'str'}, + } + + def __init__(self, *, start_time="0001-01-01T00:00:00Z", end_time="9999-12-31T11:59:59Z", type="Once", enabled: bool=None, interval: str=None, **kwargs) -> None: + super(JobSchedule, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.type = type + self.enabled = enabled + self.interval = interval diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step.py new file mode 100644 index 000000000000..f032375dec32 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step.py @@ -0,0 +1,75 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class JobStep(ProxyResource): + """A job step. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param step_id: The job step's index within the job. If not specified when + creating the job step, it will be created as the last step. If not + specified when updating the job step, the step id is not modified. + :type step_id: int + :param target_group: Required. The resource ID of the target group that + the job step will be executed on. + :type target_group: str + :param credential: Required. The resource ID of the job credential that + will be used to connect to the targets. + :type credential: str + :param action: Required. The action payload of the job step. + :type action: ~azure.mgmt.sql.models.JobStepAction + :param output: Output destination properties of the job step. + :type output: ~azure.mgmt.sql.models.JobStepOutput + :param execution_options: Execution options for the job step. + :type execution_options: ~azure.mgmt.sql.models.JobStepExecutionOptions + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_group': {'required': True}, + 'credential': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'step_id': {'key': 'properties.stepId', 'type': 'int'}, + 'target_group': {'key': 'properties.targetGroup', 'type': 'str'}, + 'credential': {'key': 'properties.credential', 'type': 'str'}, + 'action': {'key': 'properties.action', 'type': 'JobStepAction'}, + 'output': {'key': 'properties.output', 'type': 'JobStepOutput'}, + 'execution_options': {'key': 'properties.executionOptions', 'type': 'JobStepExecutionOptions'}, + } + + def __init__(self, **kwargs): + super(JobStep, self).__init__(**kwargs) + self.step_id = kwargs.get('step_id', None) + self.target_group = kwargs.get('target_group', None) + self.credential = kwargs.get('credential', None) + self.action = kwargs.get('action', None) + self.output = kwargs.get('output', None) + self.execution_options = kwargs.get('execution_options', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action.py new file mode 100644 index 000000000000..68e55b1fa38f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepAction(Model): + """The action to be executed by a job step. + + All required parameters must be populated in order to send to Azure. + + :param type: Type of action being executed by the job step. Possible + values include: 'TSql'. Default value: "TSql" . + :type type: str or ~azure.mgmt.sql.models.JobStepActionType + :param source: The source of the action to execute. Possible values + include: 'Inline'. Default value: "Inline" . + :type source: str or ~azure.mgmt.sql.models.JobStepActionSource + :param value: Required. The action value, for example the text of the + T-SQL script to execute. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobStepAction, self).__init__(**kwargs) + self.type = kwargs.get('type', "TSql") + self.source = kwargs.get('source', "Inline") + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action_py3.py new file mode 100644 index 000000000000..4d8848c8eaef --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_action_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepAction(Model): + """The action to be executed by a job step. + + All required parameters must be populated in order to send to Azure. + + :param type: Type of action being executed by the job step. Possible + values include: 'TSql'. Default value: "TSql" . + :type type: str or ~azure.mgmt.sql.models.JobStepActionType + :param source: The source of the action to execute. Possible values + include: 'Inline'. Default value: "Inline" . + :type source: str or ~azure.mgmt.sql.models.JobStepActionSource + :param value: Required. The action value, for example the text of the + T-SQL script to execute. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, type="TSql", source="Inline", **kwargs) -> None: + super(JobStepAction, self).__init__(**kwargs) + self.type = type + self.source = source + self.value = value diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options.py new file mode 100644 index 000000000000..6a49f1d10f25 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepExecutionOptions(Model): + """The execution options of a job step. + + :param timeout_seconds: Execution timeout for the job step. Default value: + 43200 . + :type timeout_seconds: int + :param retry_attempts: Maximum number of times the job step will be + reattempted if the first attempt fails. Default value: 10 . + :type retry_attempts: int + :param initial_retry_interval_seconds: Initial delay between retries for + job step execution. Default value: 1 . + :type initial_retry_interval_seconds: int + :param maximum_retry_interval_seconds: The maximum amount of time to wait + between retries for job step execution. Default value: 120 . + :type maximum_retry_interval_seconds: int + :param retry_interval_backoff_multiplier: The backoff multiplier for the + time between retries. Default value: 2 . + :type retry_interval_backoff_multiplier: float + """ + + _attribute_map = { + 'timeout_seconds': {'key': 'timeoutSeconds', 'type': 'int'}, + 'retry_attempts': {'key': 'retryAttempts', 'type': 'int'}, + 'initial_retry_interval_seconds': {'key': 'initialRetryIntervalSeconds', 'type': 'int'}, + 'maximum_retry_interval_seconds': {'key': 'maximumRetryIntervalSeconds', 'type': 'int'}, + 'retry_interval_backoff_multiplier': {'key': 'retryIntervalBackoffMultiplier', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(JobStepExecutionOptions, self).__init__(**kwargs) + self.timeout_seconds = kwargs.get('timeout_seconds', 43200) + self.retry_attempts = kwargs.get('retry_attempts', 10) + self.initial_retry_interval_seconds = kwargs.get('initial_retry_interval_seconds', 1) + self.maximum_retry_interval_seconds = kwargs.get('maximum_retry_interval_seconds', 120) + self.retry_interval_backoff_multiplier = kwargs.get('retry_interval_backoff_multiplier', 2) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options_py3.py new file mode 100644 index 000000000000..712f0e947436 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_execution_options_py3.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepExecutionOptions(Model): + """The execution options of a job step. + + :param timeout_seconds: Execution timeout for the job step. Default value: + 43200 . + :type timeout_seconds: int + :param retry_attempts: Maximum number of times the job step will be + reattempted if the first attempt fails. Default value: 10 . + :type retry_attempts: int + :param initial_retry_interval_seconds: Initial delay between retries for + job step execution. Default value: 1 . + :type initial_retry_interval_seconds: int + :param maximum_retry_interval_seconds: The maximum amount of time to wait + between retries for job step execution. Default value: 120 . + :type maximum_retry_interval_seconds: int + :param retry_interval_backoff_multiplier: The backoff multiplier for the + time between retries. Default value: 2 . + :type retry_interval_backoff_multiplier: float + """ + + _attribute_map = { + 'timeout_seconds': {'key': 'timeoutSeconds', 'type': 'int'}, + 'retry_attempts': {'key': 'retryAttempts', 'type': 'int'}, + 'initial_retry_interval_seconds': {'key': 'initialRetryIntervalSeconds', 'type': 'int'}, + 'maximum_retry_interval_seconds': {'key': 'maximumRetryIntervalSeconds', 'type': 'int'}, + 'retry_interval_backoff_multiplier': {'key': 'retryIntervalBackoffMultiplier', 'type': 'float'}, + } + + def __init__(self, *, timeout_seconds: int=43200, retry_attempts: int=10, initial_retry_interval_seconds: int=1, maximum_retry_interval_seconds: int=120, retry_interval_backoff_multiplier: float=2, **kwargs) -> None: + super(JobStepExecutionOptions, self).__init__(**kwargs) + self.timeout_seconds = timeout_seconds + self.retry_attempts = retry_attempts + self.initial_retry_interval_seconds = initial_retry_interval_seconds + self.maximum_retry_interval_seconds = maximum_retry_interval_seconds + self.retry_interval_backoff_multiplier = retry_interval_backoff_multiplier diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output.py new file mode 100644 index 000000000000..8a015a7505bd --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepOutput(Model): + """The output configuration of a job step. + + All required parameters must be populated in order to send to Azure. + + :param type: The output destination type. Possible values include: + 'SqlDatabase'. Default value: "SqlDatabase" . + :type type: str or ~azure.mgmt.sql.models.JobStepOutputType + :param subscription_id: The output destination subscription id. + :type subscription_id: str + :param resource_group_name: The output destination resource group. + :type resource_group_name: str + :param server_name: Required. The output destination server name. + :type server_name: str + :param database_name: Required. The output destination database. + :type database_name: str + :param schema_name: The output destination schema. Default value: "dbo" . + :type schema_name: str + :param table_name: Required. The output destination table. + :type table_name: str + :param credential: Required. The resource ID of the credential to use to + connect to the output destination. + :type credential: str + """ + + _validation = { + 'server_name': {'required': True}, + 'database_name': {'required': True}, + 'table_name': {'required': True}, + 'credential': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'credential': {'key': 'credential', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobStepOutput, self).__init__(**kwargs) + self.type = kwargs.get('type', "SqlDatabase") + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group_name = kwargs.get('resource_group_name', None) + self.server_name = kwargs.get('server_name', None) + self.database_name = kwargs.get('database_name', None) + self.schema_name = kwargs.get('schema_name', "dbo") + self.table_name = kwargs.get('table_name', None) + self.credential = kwargs.get('credential', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output_py3.py new file mode 100644 index 000000000000..d10ecbbd6f8c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_output_py3.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobStepOutput(Model): + """The output configuration of a job step. + + All required parameters must be populated in order to send to Azure. + + :param type: The output destination type. Possible values include: + 'SqlDatabase'. Default value: "SqlDatabase" . + :type type: str or ~azure.mgmt.sql.models.JobStepOutputType + :param subscription_id: The output destination subscription id. + :type subscription_id: str + :param resource_group_name: The output destination resource group. + :type resource_group_name: str + :param server_name: Required. The output destination server name. + :type server_name: str + :param database_name: Required. The output destination database. + :type database_name: str + :param schema_name: The output destination schema. Default value: "dbo" . + :type schema_name: str + :param table_name: Required. The output destination table. + :type table_name: str + :param credential: Required. The resource ID of the credential to use to + connect to the output destination. + :type credential: str + """ + + _validation = { + 'server_name': {'required': True}, + 'database_name': {'required': True}, + 'table_name': {'required': True}, + 'credential': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'credential': {'key': 'credential', 'type': 'str'}, + } + + def __init__(self, *, server_name: str, database_name: str, table_name: str, credential: str, type="SqlDatabase", subscription_id: str=None, resource_group_name: str=None, schema_name: str="dbo", **kwargs) -> None: + super(JobStepOutput, self).__init__(**kwargs) + self.type = type + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.server_name = server_name + self.database_name = database_name + self.schema_name = schema_name + self.table_name = table_name + self.credential = credential diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_paged.py new file mode 100644 index 000000000000..1bda4f5adf6e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobStepPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobStep ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobStep]'} + } + + def __init__(self, *args, **kwargs): + + super(JobStepPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_step_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_py3.py new file mode 100644 index 000000000000..bd267f9fd9a6 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_step_py3.py @@ -0,0 +1,75 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class JobStep(ProxyResource): + """A job step. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param step_id: The job step's index within the job. If not specified when + creating the job step, it will be created as the last step. If not + specified when updating the job step, the step id is not modified. + :type step_id: int + :param target_group: Required. The resource ID of the target group that + the job step will be executed on. + :type target_group: str + :param credential: Required. The resource ID of the job credential that + will be used to connect to the targets. + :type credential: str + :param action: Required. The action payload of the job step. + :type action: ~azure.mgmt.sql.models.JobStepAction + :param output: Output destination properties of the job step. + :type output: ~azure.mgmt.sql.models.JobStepOutput + :param execution_options: Execution options for the job step. + :type execution_options: ~azure.mgmt.sql.models.JobStepExecutionOptions + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'target_group': {'required': True}, + 'credential': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'step_id': {'key': 'properties.stepId', 'type': 'int'}, + 'target_group': {'key': 'properties.targetGroup', 'type': 'str'}, + 'credential': {'key': 'properties.credential', 'type': 'str'}, + 'action': {'key': 'properties.action', 'type': 'JobStepAction'}, + 'output': {'key': 'properties.output', 'type': 'JobStepOutput'}, + 'execution_options': {'key': 'properties.executionOptions', 'type': 'JobStepExecutionOptions'}, + } + + def __init__(self, *, target_group: str, credential: str, action, step_id: int=None, output=None, execution_options=None, **kwargs) -> None: + super(JobStep, self).__init__(**kwargs) + self.step_id = step_id + self.target_group = target_group + self.credential = credential + self.action = action + self.output = output + self.execution_options = execution_options diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_target.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_target.py new file mode 100644 index 000000000000..a608d87c1af1 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_target.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobTarget(Model): + """A job target, for example a specific database or a container of databases + that is evaluated during job execution. + + All required parameters must be populated in order to send to Azure. + + :param membership_type: Whether the target is included or excluded from + the group. Possible values include: 'Include', 'Exclude'. Default value: + "Include" . + :type membership_type: str or + ~azure.mgmt.sql.models.JobTargetGroupMembershipType + :param type: Required. The target type. Possible values include: + 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', 'SqlShardMap', 'SqlServer' + :type type: str or ~azure.mgmt.sql.models.JobTargetType + :param server_name: The target server name. + :type server_name: str + :param database_name: The target database name. + :type database_name: str + :param elastic_pool_name: The target elastic pool name. + :type elastic_pool_name: str + :param shard_map_name: The target shard map. + :type shard_map_name: str + :param refresh_credential: The resource ID of the credential that is used + during job execution to connect to the target and determine the list of + databases inside the target. + :type refresh_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'membership_type': {'key': 'membershipType', 'type': 'JobTargetGroupMembershipType'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'elastic_pool_name': {'key': 'elasticPoolName', 'type': 'str'}, + 'shard_map_name': {'key': 'shardMapName', 'type': 'str'}, + 'refresh_credential': {'key': 'refreshCredential', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobTarget, self).__init__(**kwargs) + self.membership_type = kwargs.get('membership_type', "Include") + self.type = kwargs.get('type', None) + self.server_name = kwargs.get('server_name', None) + self.database_name = kwargs.get('database_name', None) + self.elastic_pool_name = kwargs.get('elastic_pool_name', None) + self.shard_map_name = kwargs.get('shard_map_name', None) + self.refresh_credential = kwargs.get('refresh_credential', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group.py new file mode 100644 index 000000000000..38148fb244c4 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class JobTargetGroup(ProxyResource): + """A group of job targets. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param members: Required. Members of the target group. + :type members: list[~azure.mgmt.sql.models.JobTarget] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'members': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'members': {'key': 'properties.members', 'type': '[JobTarget]'}, + } + + def __init__(self, **kwargs): + super(JobTargetGroup, self).__init__(**kwargs) + self.members = kwargs.get('members', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_paged.py new file mode 100644 index 000000000000..cd466e5afa84 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobTargetGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobTargetGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobTargetGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(JobTargetGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_py3.py new file mode 100644 index 000000000000..a9582212ff82 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_group_py3.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class JobTargetGroup(ProxyResource): + """A group of job targets. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param members: Required. Members of the target group. + :type members: list[~azure.mgmt.sql.models.JobTarget] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'members': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'members': {'key': 'properties.members', 'type': '[JobTarget]'}, + } + + def __init__(self, *, members, **kwargs) -> None: + super(JobTargetGroup, self).__init__(**kwargs) + self.members = members diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_target_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_py3.py new file mode 100644 index 000000000000..281eb7598f18 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_target_py3.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobTarget(Model): + """A job target, for example a specific database or a container of databases + that is evaluated during job execution. + + All required parameters must be populated in order to send to Azure. + + :param membership_type: Whether the target is included or excluded from + the group. Possible values include: 'Include', 'Exclude'. Default value: + "Include" . + :type membership_type: str or + ~azure.mgmt.sql.models.JobTargetGroupMembershipType + :param type: Required. The target type. Possible values include: + 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', 'SqlShardMap', 'SqlServer' + :type type: str or ~azure.mgmt.sql.models.JobTargetType + :param server_name: The target server name. + :type server_name: str + :param database_name: The target database name. + :type database_name: str + :param elastic_pool_name: The target elastic pool name. + :type elastic_pool_name: str + :param shard_map_name: The target shard map. + :type shard_map_name: str + :param refresh_credential: The resource ID of the credential that is used + during job execution to connect to the target and determine the list of + databases inside the target. + :type refresh_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'membership_type': {'key': 'membershipType', 'type': 'JobTargetGroupMembershipType'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'elastic_pool_name': {'key': 'elasticPoolName', 'type': 'str'}, + 'shard_map_name': {'key': 'shardMapName', 'type': 'str'}, + 'refresh_credential': {'key': 'refreshCredential', 'type': 'str'}, + } + + def __init__(self, *, type, membership_type="Include", server_name: str=None, database_name: str=None, elastic_pool_name: str=None, shard_map_name: str=None, refresh_credential: str=None, **kwargs) -> None: + super(JobTarget, self).__init__(**kwargs) + self.membership_type = membership_type + self.type = type + self.server_name = server_name + self.database_name = database_name + self.elastic_pool_name = elastic_pool_name + self.shard_map_name = shard_map_name + self.refresh_credential = refresh_credential diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_version.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_version.py new file mode 100644 index 000000000000..3c480e739607 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_version.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class JobVersion(ProxyResource): + """A job version. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JobVersion, self).__init__(**kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_version_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_version_paged.py new file mode 100644 index 000000000000..162e4d8cfb5e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_version_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobVersionPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobVersion ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobVersion]'} + } + + def __init__(self, *args, **kwargs): + + super(JobVersionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/job_version_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/job_version_py3.py new file mode 100644 index 000000000000..16a8798c5949 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/job_version_py3.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class JobVersion(ProxyResource): + """A job version. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(JobVersion, self).__init__(**kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_dtu_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability.py similarity index 65% rename from azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_dtu_capability.py rename to azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability.py index 54e6b3cc8324..f40ad624e1c5 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/elastic_pool_per_database_min_dtu_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability.py @@ -12,30 +12,34 @@ from msrest.serialization import Model -class ElasticPoolPerDatabaseMinDtuCapability(Model): - """The minimum per-database DTU capability. +class LicenseTypeCapability(Model): + """The license type capability. Variables are only populated by the server, and will be ignored when sending a request. - :ivar limit: The maximum DTUs per database. - :vartype limit: long + :ivar name: License type identifier. + :vartype name: str :ivar status: The status of the capability. Possible values include: 'Visible', 'Available', 'Default', 'Disabled' :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { - 'limit': {'readonly': True}, + 'name': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(ElasticPoolPerDatabaseMinDtuCapability, self).__init__() - self.limit = None + def __init__(self, **kwargs): + super(LicenseTypeCapability, self).__init__(**kwargs) + self.name = None self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability_py3.py new file mode 100644 index 000000000000..ecfa1918210a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/license_type_capability_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LicenseTypeCapability(Model): + """The license type capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: License type identifier. + :vartype name: str + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(LicenseTypeCapability, self).__init__(**kwargs) + self.name = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities.py b/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities.py index f6dd5a27e27c..b7e7f0980834 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities.py @@ -13,35 +13,46 @@ class LocationCapabilities(Model): - """The capabilities for a location. + """The location capability. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The location name. :vartype name: str - :ivar status: Azure SQL Database's status for the location. Possible - values include: 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus :ivar supported_server_versions: The list of supported server versions. :vartype supported_server_versions: list[~azure.mgmt.sql.models.ServerVersionCapability] + :ivar supported_managed_instance_versions: The list of supported managed + instance versions. + :vartype supported_managed_instance_versions: + list[~azure.mgmt.sql.models.ManagedInstanceVersionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { 'name': {'readonly': True}, - 'status': {'readonly': True}, 'supported_server_versions': {'readonly': True}, + 'supported_managed_instance_versions': {'readonly': True}, + 'status': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, 'supported_server_versions': {'key': 'supportedServerVersions', 'type': '[ServerVersionCapability]'}, + 'supported_managed_instance_versions': {'key': 'supportedManagedInstanceVersions', 'type': '[ManagedInstanceVersionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(LocationCapabilities, self).__init__() + def __init__(self, **kwargs): + super(LocationCapabilities, self).__init__(**kwargs) self.name = None - self.status = None self.supported_server_versions = None + self.supported_managed_instance_versions = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities_py3.py new file mode 100644 index 000000000000..69b257f605a9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/location_capabilities_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LocationCapabilities(Model): + """The location capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The location name. + :vartype name: str + :ivar supported_server_versions: The list of supported server versions. + :vartype supported_server_versions: + list[~azure.mgmt.sql.models.ServerVersionCapability] + :ivar supported_managed_instance_versions: The list of supported managed + instance versions. + :vartype supported_managed_instance_versions: + list[~azure.mgmt.sql.models.ManagedInstanceVersionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_server_versions': {'readonly': True}, + 'supported_managed_instance_versions': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_server_versions': {'key': 'supportedServerVersions', 'type': '[ServerVersionCapability]'}, + 'supported_managed_instance_versions': {'key': 'supportedManagedInstanceVersions', 'type': '[ManagedInstanceVersionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(LocationCapabilities, self).__init__(**kwargs) + self.name = None + self.supported_server_versions = None + self.supported_managed_instance_versions = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability.py new file mode 100644 index 000000000000..ad86f97123cf --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LogSizeCapability(Model): + """The log size capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The log size limit (see 'unit' for the units). + :vartype limit: int + :ivar unit: The units that the limit is expressed in. Possible values + include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes', 'Percent' + :vartype unit: str or ~azure.mgmt.sql.models.LogSizeUnit + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'int'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSizeCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability_py3.py new file mode 100644 index 000000000000..787e781b3025 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/log_size_capability_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class LogSizeCapability(Model): + """The log size capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The log size limit (see 'unit' for the units). + :vartype limit: int + :ivar unit: The units that the limit is expressed in. Possible values + include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes', 'Percent' + :vartype unit: str or ~azure.mgmt.sql.models.LogSizeUnit + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'int'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(LogSizeCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup.py b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup.py new file mode 100644 index 000000000000..288ac55f501f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class LongTermRetentionBackup(ProxyResource): + """A long term retention backup. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar server_name: The server name that the backup database belong to. + :vartype server_name: str + :ivar server_create_time: The create time of the server. + :vartype server_create_time: datetime + :ivar database_name: The name of the database the backup belong to + :vartype database_name: str + :ivar database_deletion_time: The delete time of the database + :vartype database_deletion_time: datetime + :ivar backup_time: The time the backup was taken + :vartype backup_time: datetime + :ivar backup_expiration_time: The time the long term retention backup will + expire. + :vartype backup_expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'server_name': {'readonly': True}, + 'server_create_time': {'readonly': True}, + 'database_name': {'readonly': True}, + 'database_deletion_time': {'readonly': True}, + 'backup_time': {'readonly': True}, + 'backup_expiration_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'server_create_time': {'key': 'properties.serverCreateTime', 'type': 'iso-8601'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'database_deletion_time': {'key': 'properties.databaseDeletionTime', 'type': 'iso-8601'}, + 'backup_time': {'key': 'properties.backupTime', 'type': 'iso-8601'}, + 'backup_expiration_time': {'key': 'properties.backupExpirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(LongTermRetentionBackup, self).__init__(**kwargs) + self.server_name = None + self.server_create_time = None + self.database_name = None + self.database_deletion_time = None + self.backup_time = None + self.backup_expiration_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_paged.py new file mode 100644 index 000000000000..15e32283bbd7 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class LongTermRetentionBackupPaged(Paged): + """ + A paging container for iterating over a list of :class:`LongTermRetentionBackup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LongTermRetentionBackup]'} + } + + def __init__(self, *args, **kwargs): + + super(LongTermRetentionBackupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_py3.py new file mode 100644 index 000000000000..eb1372180fb0 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/long_term_retention_backup_py3.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class LongTermRetentionBackup(ProxyResource): + """A long term retention backup. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar server_name: The server name that the backup database belong to. + :vartype server_name: str + :ivar server_create_time: The create time of the server. + :vartype server_create_time: datetime + :ivar database_name: The name of the database the backup belong to + :vartype database_name: str + :ivar database_deletion_time: The delete time of the database + :vartype database_deletion_time: datetime + :ivar backup_time: The time the backup was taken + :vartype backup_time: datetime + :ivar backup_expiration_time: The time the long term retention backup will + expire. + :vartype backup_expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'server_name': {'readonly': True}, + 'server_create_time': {'readonly': True}, + 'database_name': {'readonly': True}, + 'database_deletion_time': {'readonly': True}, + 'backup_time': {'readonly': True}, + 'backup_expiration_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'server_create_time': {'key': 'properties.serverCreateTime', 'type': 'iso-8601'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'database_deletion_time': {'key': 'properties.databaseDeletionTime', 'type': 'iso-8601'}, + 'backup_time': {'key': 'properties.backupTime', 'type': 'iso-8601'}, + 'backup_expiration_time': {'key': 'properties.backupExpirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(LongTermRetentionBackup, self).__init__(**kwargs) + self.server_name = None + self.server_create_time = None + self.database_name = None + self.database_deletion_time = None + self.backup_time = None + self.backup_expiration_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_database.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database.py new file mode 100644 index 000000000000..cdc79bb248ef --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class ManagedDatabase(TrackedResource): + """A managed database resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param collation: Collation of the managed database. + :type collation: str + :ivar status: Status for the database. Possible values include: 'Online', + 'Offline', 'Shutdown', 'Creating', 'Inaccessible' + :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus + :ivar creation_date: Creation date of the database. + :vartype creation_date: datetime + :ivar earliest_restore_point: Earliest restore point in time for point in + time restore. + :vartype earliest_restore_point: datetime + :param restore_point_in_time: Conditional. If createMode is + PointInTimeRestore, this value is required. Specifies the point in time + (ISO8601 format) of the source database that will be restored to create + the new database. + :type restore_point_in_time: datetime + :ivar default_secondary_location: Geo paired region. + :vartype default_secondary_location: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param create_mode: Managed database create mode. PointInTimeRestore: + Create a database by restoring a point in time backup of an existing + database. SourceDatabaseName, SourceManagedInstanceName and PointInTime + must be specified. RestoreExternalBackup: Create a database by restoring + from external backup files. Collation, StorageContainerUri and + StorageContainerSasToken must be specified. Possible values include: + 'Default', 'RestoreExternalBackup', 'PointInTimeRestore' + :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode + :param storage_container_uri: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the uri of the + storage container where backups for this restore are stored. + :type storage_container_uri: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :param storage_container_sas_token: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the storage + container sas token. + :type storage_container_sas_token: str + :ivar failover_group_id: Instance Failover Group resource identifier that + this managed database belongs to. + :vartype failover_group_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'status': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'earliest_restore_point': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedDatabase, self).__init__(**kwargs) + self.collation = kwargs.get('collation', None) + self.status = None + self.creation_date = None + self.earliest_restore_point = None + self.restore_point_in_time = kwargs.get('restore_point_in_time', None) + self.default_secondary_location = None + self.catalog_collation = kwargs.get('catalog_collation', None) + self.create_mode = kwargs.get('create_mode', None) + self.storage_container_uri = kwargs.get('storage_container_uri', None) + self.source_database_id = kwargs.get('source_database_id', None) + self.storage_container_sas_token = kwargs.get('storage_container_sas_token', None) + self.failover_group_id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_paged.py new file mode 100644 index 000000000000..e15d9d532b5a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ManagedDatabasePaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagedDatabase ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagedDatabase]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagedDatabasePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_py3.py new file mode 100644 index 000000000000..a7f14a2f6bfc --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_py3.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class ManagedDatabase(TrackedResource): + """A managed database resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param collation: Collation of the managed database. + :type collation: str + :ivar status: Status for the database. Possible values include: 'Online', + 'Offline', 'Shutdown', 'Creating', 'Inaccessible' + :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus + :ivar creation_date: Creation date of the database. + :vartype creation_date: datetime + :ivar earliest_restore_point: Earliest restore point in time for point in + time restore. + :vartype earliest_restore_point: datetime + :param restore_point_in_time: Conditional. If createMode is + PointInTimeRestore, this value is required. Specifies the point in time + (ISO8601 format) of the source database that will be restored to create + the new database. + :type restore_point_in_time: datetime + :ivar default_secondary_location: Geo paired region. + :vartype default_secondary_location: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param create_mode: Managed database create mode. PointInTimeRestore: + Create a database by restoring a point in time backup of an existing + database. SourceDatabaseName, SourceManagedInstanceName and PointInTime + must be specified. RestoreExternalBackup: Create a database by restoring + from external backup files. Collation, StorageContainerUri and + StorageContainerSasToken must be specified. Possible values include: + 'Default', 'RestoreExternalBackup', 'PointInTimeRestore' + :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode + :param storage_container_uri: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the uri of the + storage container where backups for this restore are stored. + :type storage_container_uri: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :param storage_container_sas_token: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the storage + container sas token. + :type storage_container_sas_token: str + :ivar failover_group_id: Instance Failover Group resource identifier that + this managed database belongs to. + :vartype failover_group_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'status': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'earliest_restore_point': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, collation: str=None, restore_point_in_time=None, catalog_collation=None, create_mode=None, storage_container_uri: str=None, source_database_id: str=None, storage_container_sas_token: str=None, **kwargs) -> None: + super(ManagedDatabase, self).__init__(tags=tags, location=location, **kwargs) + self.collation = collation + self.status = None + self.creation_date = None + self.earliest_restore_point = None + self.restore_point_in_time = restore_point_in_time + self.default_secondary_location = None + self.catalog_collation = catalog_collation + self.create_mode = create_mode + self.storage_container_uri = storage_container_uri + self.source_database_id = source_database_id + self.storage_container_sas_token = storage_container_sas_token + self.failover_group_id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update.py new file mode 100644 index 000000000000..4335e9b19dfa --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedDatabaseUpdate(Model): + """An managed database update. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param collation: Collation of the managed database. + :type collation: str + :ivar status: Status for the database. Possible values include: 'Online', + 'Offline', 'Shutdown', 'Creating', 'Inaccessible' + :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus + :ivar creation_date: Creation date of the database. + :vartype creation_date: datetime + :ivar earliest_restore_point: Earliest restore point in time for point in + time restore. + :vartype earliest_restore_point: datetime + :param restore_point_in_time: Conditional. If createMode is + PointInTimeRestore, this value is required. Specifies the point in time + (ISO8601 format) of the source database that will be restored to create + the new database. + :type restore_point_in_time: datetime + :ivar default_secondary_location: Geo paired region. + :vartype default_secondary_location: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param create_mode: Managed database create mode. PointInTimeRestore: + Create a database by restoring a point in time backup of an existing + database. SourceDatabaseName, SourceManagedInstanceName and PointInTime + must be specified. RestoreExternalBackup: Create a database by restoring + from external backup files. Collation, StorageContainerUri and + StorageContainerSasToken must be specified. Possible values include: + 'Default', 'RestoreExternalBackup', 'PointInTimeRestore' + :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode + :param storage_container_uri: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the uri of the + storage container where backups for this restore are stored. + :type storage_container_uri: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :param storage_container_sas_token: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the storage + container sas token. + :type storage_container_sas_token: str + :ivar failover_group_id: Instance Failover Group resource identifier that + this managed database belongs to. + :vartype failover_group_id: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'status': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'earliest_restore_point': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + } + + _attribute_map = { + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ManagedDatabaseUpdate, self).__init__(**kwargs) + self.collation = kwargs.get('collation', None) + self.status = None + self.creation_date = None + self.earliest_restore_point = None + self.restore_point_in_time = kwargs.get('restore_point_in_time', None) + self.default_secondary_location = None + self.catalog_collation = kwargs.get('catalog_collation', None) + self.create_mode = kwargs.get('create_mode', None) + self.storage_container_uri = kwargs.get('storage_container_uri', None) + self.source_database_id = kwargs.get('source_database_id', None) + self.storage_container_sas_token = kwargs.get('storage_container_sas_token', None) + self.failover_group_id = None + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update_py3.py new file mode 100644 index 000000000000..668eec38f38b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_database_update_py3.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedDatabaseUpdate(Model): + """An managed database update. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param collation: Collation of the managed database. + :type collation: str + :ivar status: Status for the database. Possible values include: 'Online', + 'Offline', 'Shutdown', 'Creating', 'Inaccessible' + :vartype status: str or ~azure.mgmt.sql.models.ManagedDatabaseStatus + :ivar creation_date: Creation date of the database. + :vartype creation_date: datetime + :ivar earliest_restore_point: Earliest restore point in time for point in + time restore. + :vartype earliest_restore_point: datetime + :param restore_point_in_time: Conditional. If createMode is + PointInTimeRestore, this value is required. Specifies the point in time + (ISO8601 format) of the source database that will be restored to create + the new database. + :type restore_point_in_time: datetime + :ivar default_secondary_location: Geo paired region. + :vartype default_secondary_location: str + :param catalog_collation: Collation of the metadata catalog. Possible + values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' + :type catalog_collation: str or + ~azure.mgmt.sql.models.CatalogCollationType + :param create_mode: Managed database create mode. PointInTimeRestore: + Create a database by restoring a point in time backup of an existing + database. SourceDatabaseName, SourceManagedInstanceName and PointInTime + must be specified. RestoreExternalBackup: Create a database by restoring + from external backup files. Collation, StorageContainerUri and + StorageContainerSasToken must be specified. Possible values include: + 'Default', 'RestoreExternalBackup', 'PointInTimeRestore' + :type create_mode: str or ~azure.mgmt.sql.models.ManagedDatabaseCreateMode + :param storage_container_uri: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the uri of the + storage container where backups for this restore are stored. + :type storage_container_uri: str + :param source_database_id: The resource identifier of the source database + associated with create operation of this database. + :type source_database_id: str + :param storage_container_sas_token: Conditional. If createMode is + RestoreExternalBackup, this value is required. Specifies the storage + container sas token. + :type storage_container_sas_token: str + :ivar failover_group_id: Instance Failover Group resource identifier that + this managed database belongs to. + :vartype failover_group_id: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'status': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'earliest_restore_point': {'readonly': True}, + 'default_secondary_location': {'readonly': True}, + 'failover_group_id': {'readonly': True}, + } + + _attribute_map = { + 'collation': {'key': 'properties.collation', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'earliest_restore_point': {'key': 'properties.earliestRestorePoint', 'type': 'iso-8601'}, + 'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'iso-8601'}, + 'default_secondary_location': {'key': 'properties.defaultSecondaryLocation', 'type': 'str'}, + 'catalog_collation': {'key': 'properties.catalogCollation', 'type': 'str'}, + 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, + 'storage_container_uri': {'key': 'properties.storageContainerUri', 'type': 'str'}, + 'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'}, + 'storage_container_sas_token': {'key': 'properties.storageContainerSasToken', 'type': 'str'}, + 'failover_group_id': {'key': 'properties.failoverGroupId', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, collation: str=None, restore_point_in_time=None, catalog_collation=None, create_mode=None, storage_container_uri: str=None, source_database_id: str=None, storage_container_sas_token: str=None, tags=None, **kwargs) -> None: + super(ManagedDatabaseUpdate, self).__init__(**kwargs) + self.collation = collation + self.status = None + self.creation_date = None + self.earliest_restore_point = None + self.restore_point_in_time = restore_point_in_time + self.default_secondary_location = None + self.catalog_collation = catalog_collation + self.create_mode = create_mode + self.storage_container_uri = storage_container_uri + self.source_database_id = source_database_id + self.storage_container_sas_token = storage_container_sas_token + self.failover_group_id = None + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance.py new file mode 100644 index 000000000000..6af89171cd35 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class ManagedInstance(TrackedResource): + """An Azure SQL managed instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param identity: The Azure Active Directory identity of the managed + instance. + :type identity: ~azure.mgmt.sql.models.ResourceIdentity + :param sku: Managed instance sku + :type sku: ~azure.mgmt.sql.models.Sku + :ivar fully_qualified_domain_name: The fully qualified domain name of the + managed instance. + :vartype fully_qualified_domain_name: str + :param administrator_login: Administrator username for the managed + instance. Can only be specified when the managed instance is being created + (and is required for creation). + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for managed instance creation). + :type administrator_login_password: str + :param subnet_id: Subnet resource ID for the managed instance. + :type subnet_id: str + :ivar state: The state of the managed instance. + :vartype state: str + :param license_type: The license type. Possible values are + 'LicenseIncluded' and 'BasePrice'. + :type license_type: str + :param v_cores: The number of VCores. + :type v_cores: int + :param storage_size_in_gb: The maximum storage size in GB. + :type storage_size_in_gb: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'fully_qualified_domain_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, + 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ManagedInstance, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.fully_qualified_domain_name = None + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.subnet_id = kwargs.get('subnet_id', None) + self.state = None + self.license_type = kwargs.get('license_type', None) + self.v_cores = kwargs.get('v_cores', None) + self.storage_size_in_gb = kwargs.get('storage_size_in_gb', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability.py new file mode 100644 index 000000000000..adeab90a3543 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceEditionCapability(Model): + """The managed server capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The managed server version name. + :vartype name: str + :ivar supported_families: The supported families. + :vartype supported_families: + list[~azure.mgmt.sql.models.ManagedInstanceFamilyCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_families': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_families': {'key': 'supportedFamilies', 'type': '[ManagedInstanceFamilyCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedInstanceEditionCapability, self).__init__(**kwargs) + self.name = None + self.supported_families = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability_py3.py new file mode 100644 index 000000000000..1627f4652fec --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_edition_capability_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceEditionCapability(Model): + """The managed server capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The managed server version name. + :vartype name: str + :ivar supported_families: The supported families. + :vartype supported_families: + list[~azure.mgmt.sql.models.ManagedInstanceFamilyCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_families': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_families': {'key': 'supportedFamilies', 'type': '[ManagedInstanceFamilyCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ManagedInstanceEditionCapability, self).__init__(**kwargs) + self.name = None + self.supported_families = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability.py new file mode 100644 index 000000000000..df08ea8764c9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceFamilyCapability(Model): + """The managed server family capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Family name. + :vartype name: str + :ivar sku: SKU name. + :vartype sku: str + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar supported_vcores_values: List of supported virtual cores values. + :vartype supported_vcores_values: + list[~azure.mgmt.sql.models.ManagedInstanceVcoresCapability] + :ivar included_max_size: Included size. + :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar supported_storage_sizes: Storage size ranges. + :vartype supported_storage_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, + 'supported_vcores_values': {'readonly': True}, + 'included_max_size': {'readonly': True}, + 'supported_storage_sizes': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, + 'supported_vcores_values': {'key': 'supportedVcoresValues', 'type': '[ManagedInstanceVcoresCapability]'}, + 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'supported_storage_sizes': {'key': 'supportedStorageSizes', 'type': '[MaxSizeRangeCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedInstanceFamilyCapability, self).__init__(**kwargs) + self.name = None + self.sku = None + self.supported_license_types = None + self.supported_vcores_values = None + self.included_max_size = None + self.supported_storage_sizes = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability_py3.py new file mode 100644 index 000000000000..5ea36be729d5 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_family_capability_py3.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceFamilyCapability(Model): + """The managed server family capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Family name. + :vartype name: str + :ivar sku: SKU name. + :vartype sku: str + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar supported_vcores_values: List of supported virtual cores values. + :vartype supported_vcores_values: + list[~azure.mgmt.sql.models.ManagedInstanceVcoresCapability] + :ivar included_max_size: Included size. + :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar supported_storage_sizes: Storage size ranges. + :vartype supported_storage_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, + 'supported_vcores_values': {'readonly': True}, + 'included_max_size': {'readonly': True}, + 'supported_storage_sizes': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, + 'supported_vcores_values': {'key': 'supportedVcoresValues', 'type': '[ManagedInstanceVcoresCapability]'}, + 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'supported_storage_sizes': {'key': 'supportedStorageSizes', 'type': '[MaxSizeRangeCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ManagedInstanceFamilyCapability, self).__init__(**kwargs) + self.name = None + self.sku = None + self.supported_license_types = None + self.supported_vcores_values = None + self.included_max_size = None + self.supported_storage_sizes = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_paged.py new file mode 100644 index 000000000000..c39881da9f3b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ManagedInstancePaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagedInstance ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagedInstance]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagedInstancePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info.py new file mode 100644 index 000000000000..ee49c1db0c62 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstancePairInfo(Model): + """Pairs of Managed Instances in the failover group. + + :param primary_managed_instance_id: Id of Primary Managed Instance in + pair. + :type primary_managed_instance_id: str + :param partner_managed_instance_id: Id of Partner Managed Instance in + pair. + :type partner_managed_instance_id: str + """ + + _attribute_map = { + 'primary_managed_instance_id': {'key': 'primaryManagedInstanceId', 'type': 'str'}, + 'partner_managed_instance_id': {'key': 'partnerManagedInstanceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedInstancePairInfo, self).__init__(**kwargs) + self.primary_managed_instance_id = kwargs.get('primary_managed_instance_id', None) + self.partner_managed_instance_id = kwargs.get('partner_managed_instance_id', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info_py3.py new file mode 100644 index 000000000000..49f52752b439 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_pair_info_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstancePairInfo(Model): + """Pairs of Managed Instances in the failover group. + + :param primary_managed_instance_id: Id of Primary Managed Instance in + pair. + :type primary_managed_instance_id: str + :param partner_managed_instance_id: Id of Partner Managed Instance in + pair. + :type partner_managed_instance_id: str + """ + + _attribute_map = { + 'primary_managed_instance_id': {'key': 'primaryManagedInstanceId', 'type': 'str'}, + 'partner_managed_instance_id': {'key': 'partnerManagedInstanceId', 'type': 'str'}, + } + + def __init__(self, *, primary_managed_instance_id: str=None, partner_managed_instance_id: str=None, **kwargs) -> None: + super(ManagedInstancePairInfo, self).__init__(**kwargs) + self.primary_managed_instance_id = primary_managed_instance_id + self.partner_managed_instance_id = partner_managed_instance_id diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_py3.py new file mode 100644 index 000000000000..1532bba0f060 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_py3.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class ManagedInstance(TrackedResource): + """An Azure SQL managed instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param identity: The Azure Active Directory identity of the managed + instance. + :type identity: ~azure.mgmt.sql.models.ResourceIdentity + :param sku: Managed instance sku + :type sku: ~azure.mgmt.sql.models.Sku + :ivar fully_qualified_domain_name: The fully qualified domain name of the + managed instance. + :vartype fully_qualified_domain_name: str + :param administrator_login: Administrator username for the managed + instance. Can only be specified when the managed instance is being created + (and is required for creation). + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for managed instance creation). + :type administrator_login_password: str + :param subnet_id: Subnet resource ID for the managed instance. + :type subnet_id: str + :ivar state: The state of the managed instance. + :vartype state: str + :param license_type: The license type. Possible values are + 'LicenseIncluded' and 'BasePrice'. + :type license_type: str + :param v_cores: The number of VCores. + :type v_cores: int + :param storage_size_in_gb: The maximum storage size in GB. + :type storage_size_in_gb: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'fully_qualified_domain_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, + 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, + } + + def __init__(self, *, location: str, tags=None, identity=None, sku=None, administrator_login: str=None, administrator_login_password: str=None, subnet_id: str=None, license_type: str=None, v_cores: int=None, storage_size_in_gb: int=None, **kwargs) -> None: + super(ManagedInstance, self).__init__(tags=tags, location=location, **kwargs) + self.identity = identity + self.sku = sku + self.fully_qualified_domain_name = None + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.subnet_id = subnet_id + self.state = None + self.license_type = license_type + self.v_cores = v_cores + self.storage_size_in_gb = storage_size_in_gb diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update.py new file mode 100644 index 000000000000..7ea51f29ddff --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update.py @@ -0,0 +1,77 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceUpdate(Model): + """An update request for an Azure SQL Database managed instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param sku: Managed instance sku + :type sku: ~azure.mgmt.sql.models.Sku + :ivar fully_qualified_domain_name: The fully qualified domain name of the + managed instance. + :vartype fully_qualified_domain_name: str + :param administrator_login: Administrator username for the managed + instance. Can only be specified when the managed instance is being created + (and is required for creation). + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for managed instance creation). + :type administrator_login_password: str + :param subnet_id: Subnet resource ID for the managed instance. + :type subnet_id: str + :ivar state: The state of the managed instance. + :vartype state: str + :param license_type: The license type. Possible values are + 'LicenseIncluded' and 'BasePrice'. + :type license_type: str + :param v_cores: The number of VCores. + :type v_cores: int + :param storage_size_in_gb: The maximum storage size in GB. + :type storage_size_in_gb: int + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'fully_qualified_domain_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, + 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ManagedInstanceUpdate, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.fully_qualified_domain_name = None + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.subnet_id = kwargs.get('subnet_id', None) + self.state = None + self.license_type = kwargs.get('license_type', None) + self.v_cores = kwargs.get('v_cores', None) + self.storage_size_in_gb = kwargs.get('storage_size_in_gb', None) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update_py3.py new file mode 100644 index 000000000000..0adbe5f439f8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_update_py3.py @@ -0,0 +1,77 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceUpdate(Model): + """An update request for an Azure SQL Database managed instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param sku: Managed instance sku + :type sku: ~azure.mgmt.sql.models.Sku + :ivar fully_qualified_domain_name: The fully qualified domain name of the + managed instance. + :vartype fully_qualified_domain_name: str + :param administrator_login: Administrator username for the managed + instance. Can only be specified when the managed instance is being created + (and is required for creation). + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for managed instance creation). + :type administrator_login_password: str + :param subnet_id: Subnet resource ID for the managed instance. + :type subnet_id: str + :ivar state: The state of the managed instance. + :vartype state: str + :param license_type: The license type. Possible values are + 'LicenseIncluded' and 'BasePrice'. + :type license_type: str + :param v_cores: The number of VCores. + :type v_cores: int + :param storage_size_in_gb: The maximum storage size in GB. + :type storage_size_in_gb: int + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'fully_qualified_domain_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, + 'v_cores': {'key': 'properties.vCores', 'type': 'int'}, + 'storage_size_in_gb': {'key': 'properties.storageSizeInGB', 'type': 'int'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, sku=None, administrator_login: str=None, administrator_login_password: str=None, subnet_id: str=None, license_type: str=None, v_cores: int=None, storage_size_in_gb: int=None, tags=None, **kwargs) -> None: + super(ManagedInstanceUpdate, self).__init__(**kwargs) + self.sku = sku + self.fully_qualified_domain_name = None + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.subnet_id = subnet_id + self.state = None + self.license_type = license_type + self.v_cores = v_cores + self.storage_size_in_gb = storage_size_in_gb + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability.py new file mode 100644 index 000000000000..29503dd20ae2 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceVcoresCapability(Model): + """The managed instance virtual cores capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The virtual cores identifier. + :vartype name: str + :ivar value: The virtual cores value. + :vartype value: int + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedInstanceVcoresCapability, self).__init__(**kwargs) + self.name = None + self.value = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability_py3.py new file mode 100644 index 000000000000..23d3bb49d4e8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_vcores_capability_py3.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceVcoresCapability(Model): + """The managed instance virtual cores capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The virtual cores identifier. + :vartype name: str + :ivar value: The virtual cores value. + :vartype value: int + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ManagedInstanceVcoresCapability, self).__init__(**kwargs) + self.name = None + self.value = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability.py new file mode 100644 index 000000000000..949b1fcf4ad5 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceVersionCapability(Model): + """The managed instance capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The server version name. + :vartype name: str + :ivar supported_editions: The list of supported managed instance editions. + :vartype supported_editions: + list[~azure.mgmt.sql.models.ManagedInstanceEditionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_editions': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_editions': {'key': 'supportedEditions', 'type': '[ManagedInstanceEditionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedInstanceVersionCapability, self).__init__(**kwargs) + self.name = None + self.supported_editions = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability_py3.py new file mode 100644 index 000000000000..6d078061def9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/managed_instance_version_capability_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ManagedInstanceVersionCapability(Model): + """The managed instance capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The server version name. + :vartype name: str + :ivar supported_editions: The list of supported managed instance editions. + :vartype supported_editions: + list[~azure.mgmt.sql.models.ManagedInstanceEditionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_editions': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_editions': {'key': 'supportedEditions', 'type': '[ManagedInstanceEditionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ManagedInstanceVersionCapability, self).__init__(**kwargs) + self.name = None + self.supported_editions = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability.py index 5ccac1e3ccd2..d103c6f969f7 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability.py @@ -13,35 +13,29 @@ class MaxSizeCapability(Model): - """The maximum size limits for a database. + """The maximum size capability. Variables are only populated by the server, and will be ignored when sending a request. - :ivar limit: The maximum size of the database (see 'unit' for the units). - :vartype limit: long + :ivar limit: The maximum size limit (see 'unit' for the units). + :vartype limit: int :ivar unit: The units that the limit is expressed in. Possible values include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes' - :vartype unit: str or ~azure.mgmt.sql.models.MaxSizeUnits - :ivar status: The status of the maximum size capability. Possible values - include: 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :vartype unit: str or ~azure.mgmt.sql.models.MaxSizeUnit """ _validation = { 'limit': {'readonly': True}, 'unit': {'readonly': True}, - 'status': {'readonly': True}, } _attribute_map = { - 'limit': {'key': 'limit', 'type': 'long'}, - 'unit': {'key': 'unit', 'type': 'MaxSizeUnits'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'unit': {'key': 'unit', 'type': 'str'}, } - def __init__(self): - super(MaxSizeCapability, self).__init__() + def __init__(self, **kwargs): + super(MaxSizeCapability, self).__init__(**kwargs) self.limit = None self.unit = None - self.status = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability_py3.py new file mode 100644 index 000000000000..54bd7cb00171 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_capability_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MaxSizeCapability(Model): + """The maximum size capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar limit: The maximum size limit (see 'unit' for the units). + :vartype limit: int + :ivar unit: The units that the limit is expressed in. Possible values + include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes' + :vartype unit: str or ~azure.mgmt.sql.models.MaxSizeUnit + """ + + _validation = { + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'int'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(MaxSizeCapability, self).__init__(**kwargs) + self.limit = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability.py new file mode 100644 index 000000000000..3ec6c663b559 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MaxSizeRangeCapability(Model): + """The maximum size range capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar min_value: Minimum value. + :vartype min_value: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar max_value: Maximum value. + :vartype max_value: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar scale_size: Scale/step size for discrete values between the minimum + value and the maximum value. + :vartype scale_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar log_size: Size of transaction log. + :vartype log_size: ~azure.mgmt.sql.models.LogSizeCapability + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'min_value': {'readonly': True}, + 'max_value': {'readonly': True}, + 'scale_size': {'readonly': True}, + 'log_size': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'min_value': {'key': 'minValue', 'type': 'MaxSizeCapability'}, + 'max_value': {'key': 'maxValue', 'type': 'MaxSizeCapability'}, + 'scale_size': {'key': 'scaleSize', 'type': 'MaxSizeCapability'}, + 'log_size': {'key': 'logSize', 'type': 'LogSizeCapability'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MaxSizeRangeCapability, self).__init__(**kwargs) + self.min_value = None + self.max_value = None + self.scale_size = None + self.log_size = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability_py3.py new file mode 100644 index 000000000000..f0f95ebd7f36 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/max_size_range_capability_py3.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MaxSizeRangeCapability(Model): + """The maximum size range capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar min_value: Minimum value. + :vartype min_value: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar max_value: Maximum value. + :vartype max_value: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar scale_size: Scale/step size for discrete values between the minimum + value and the maximum value. + :vartype scale_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar log_size: Size of transaction log. + :vartype log_size: ~azure.mgmt.sql.models.LogSizeCapability + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'min_value': {'readonly': True}, + 'max_value': {'readonly': True}, + 'scale_size': {'readonly': True}, + 'log_size': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'min_value': {'key': 'minValue', 'type': 'MaxSizeCapability'}, + 'max_value': {'key': 'maxValue', 'type': 'MaxSizeCapability'}, + 'scale_size': {'key': 'scaleSize', 'type': 'MaxSizeCapability'}, + 'log_size': {'key': 'logSize', 'type': 'LogSizeCapability'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(MaxSizeRangeCapability, self).__init__(**kwargs) + self.min_value = None + self.max_value = None + self.scale_size = None + self.log_size = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric.py index 70f81037f8f3..3d3b4b8df154 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/metric.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric.py @@ -52,8 +52,8 @@ class Metric(Model): 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, } - def __init__(self): - super(Metric, self).__init__() + def __init__(self, **kwargs): + super(Metric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability.py index aa25fa9523ca..ef43027b61ba 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability.py @@ -34,7 +34,7 @@ class MetricAvailability(Model): 'time_grain': {'key': 'timeGrain', 'type': 'str'}, } - def __init__(self): - super(MetricAvailability, self).__init__() + def __init__(self, **kwargs): + super(MetricAvailability, self).__init__(**kwargs) self.retention = None self.time_grain = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability_py3.py new file mode 100644 index 000000000000..6e47c8134a38 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_availability_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricAvailability(Model): + """A metric availability value. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar retention: The length of retention for the database metric. + :vartype retention: str + :ivar time_grain: The granularity of the database metric. + :vartype time_grain: str + """ + + _validation = { + 'retention': {'readonly': True}, + 'time_grain': {'readonly': True}, + } + + _attribute_map = { + 'retention': {'key': 'retention', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(MetricAvailability, self).__init__(**kwargs) + self.retention = None + self.time_grain = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition.py index 3ff5e3f55fa4..2ecb95dae8a7 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition.py @@ -52,8 +52,8 @@ class MetricDefinition(Model): 'metric_availabilities': {'key': 'metricAvailabilities', 'type': '[MetricAvailability]'}, } - def __init__(self): - super(MetricDefinition, self).__init__() + def __init__(self, **kwargs): + super(MetricDefinition, self).__init__(**kwargs) self.name = None self.primary_aggregation_type = None self.resource_uri = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition_py3.py new file mode 100644 index 000000000000..09e77729c411 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_definition_py3.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricDefinition(Model): + """A database metric definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name information for the metric. + :vartype name: ~azure.mgmt.sql.models.MetricName + :ivar primary_aggregation_type: The primary aggregation type defining how + metric values are displayed. Possible values include: 'None', 'Average', + 'Count', 'Minimum', 'Maximum', 'Total' + :vartype primary_aggregation_type: str or + ~azure.mgmt.sql.models.PrimaryAggregationType + :ivar resource_uri: The resource uri of the database. + :vartype resource_uri: str + :ivar unit: The unit of the metric. Possible values include: 'Count', + 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond' + :vartype unit: str or ~azure.mgmt.sql.models.UnitDefinitionType + :ivar metric_availabilities: The list of database metric availabities for + the metric. + :vartype metric_availabilities: + list[~azure.mgmt.sql.models.MetricAvailability] + """ + + _validation = { + 'name': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'unit': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'MetricName'}, + 'primary_aggregation_type': {'key': 'primaryAggregationType', 'type': 'str'}, + 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'metric_availabilities': {'key': 'metricAvailabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, **kwargs) -> None: + super(MetricDefinition, self).__init__(**kwargs) + self.name = None + self.primary_aggregation_type = None + self.resource_uri = None + self.unit = None + self.metric_availabilities = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_name.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_name.py index 46dca9e846cc..10643031ce5a 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/metric_name.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_name.py @@ -34,7 +34,7 @@ class MetricName(Model): 'localized_value': {'key': 'localizedValue', 'type': 'str'}, } - def __init__(self): - super(MetricName, self).__init__() + def __init__(self, **kwargs): + super(MetricName, self).__init__(**kwargs) self.value = None self.localized_value = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_name_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_name_py3.py new file mode 100644 index 000000000000..67551bc7aed9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_name_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricName(Model): + """A database metric name. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: The name of the database metric. + :vartype value: str + :ivar localized_value: The friendly name of the database metric. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(MetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_py3.py new file mode 100644 index 000000000000..5eae901bca7e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_py3.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Metric(Model): + """Database metrics. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar start_time: The start time for the metric (ISO-8601 format). + :vartype start_time: datetime + :ivar end_time: The end time for the metric (ISO-8601 format). + :vartype end_time: datetime + :ivar time_grain: The time step to be used to summarize the metric values. + :vartype time_grain: str + :ivar unit: The unit of the metric. Possible values include: 'count', + 'bytes', 'seconds', 'percent', 'countPerSecond', 'bytesPerSecond' + :vartype unit: str or ~azure.mgmt.sql.models.UnitType + :ivar name: The name information for the metric. + :vartype name: ~azure.mgmt.sql.models.MetricName + :ivar metric_values: The metric values for the specified time window and + timestep. + :vartype metric_values: list[~azure.mgmt.sql.models.MetricValue] + """ + + _validation = { + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, + 'name': {'readonly': True}, + 'metric_values': {'readonly': True}, + } + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'MetricName'}, + 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, + } + + def __init__(self, **kwargs) -> None: + super(Metric, self).__init__(**kwargs) + self.start_time = None + self.end_time = None + self.time_grain = None + self.unit = None + self.name = None + self.metric_values = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_value.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_value.py index d7b6160727ea..a506295d5bfb 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/metric_value.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_value.py @@ -50,8 +50,8 @@ class MetricValue(Model): 'total': {'key': 'total', 'type': 'float'}, } - def __init__(self): - super(MetricValue, self).__init__() + def __init__(self, **kwargs): + super(MetricValue, self).__init__(**kwargs) self.count = None self.average = None self.maximum = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/metric_value_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/metric_value_py3.py new file mode 100644 index 000000000000..a1b027d62864 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/metric_value_py3.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetricValue(Model): + """Represents database metrics. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar count: The number of values for the metric. + :vartype count: float + :ivar average: The average value of the metric. + :vartype average: float + :ivar maximum: The max value of the metric. + :vartype maximum: float + :ivar minimum: The min value of the metric. + :vartype minimum: float + :ivar timestamp: The metric timestamp (ISO-8601 format). + :vartype timestamp: datetime + :ivar total: The total value of the metric. + :vartype total: float + """ + + _validation = { + 'count': {'readonly': True}, + 'average': {'readonly': True}, + 'maximum': {'readonly': True}, + 'minimum': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'total': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'float'}, + 'average': {'key': 'average', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'total': {'key': 'total', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(MetricValue, self).__init__(**kwargs) + self.count = None + self.average = None + self.maximum = None + self.minimum = None + self.timestamp = None + self.total = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation.py index 63ba0d9f9805..09138c4b9086 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/operation.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation.py @@ -45,8 +45,8 @@ class Operation(Model): 'properties': {'key': 'properties', 'type': '{object}'}, } - def __init__(self): - super(Operation, self).__init__() + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) self.name = None self.display = None self.origin = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation_display.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation_display.py index a5b2f8412006..dfbc4a6fcff3 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/operation_display.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation_display.py @@ -43,8 +43,8 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self): - super(OperationDisplay, self).__init__() + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) self.provider = None self.resource = None self.operation = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation_display_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation_display_py3.py new file mode 100644 index 000000000000..0541321c178c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation_display_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provider: The localized friendly form of the resource provider name. + :vartype provider: str + :ivar resource: The localized friendly form of the resource type related + to this action/operation. + :vartype resource: str + :ivar operation: The localized friendly name for the operation. + :vartype operation: str + :ivar description: The localized friendly description for the operation. + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact.py index 7a0eda9f15bf..6b69a122de4c 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact.py @@ -43,8 +43,8 @@ class OperationImpact(Model): 'change_value_relative': {'key': 'changeValueRelative', 'type': 'float'}, } - def __init__(self): - super(OperationImpact, self).__init__() + def __init__(self, **kwargs): + super(OperationImpact, self).__init__(**kwargs) self.name = None self.unit = None self.change_value_absolute = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact_py3.py new file mode 100644 index 000000000000..f53b9445f998 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation_impact_py3.py @@ -0,0 +1,51 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationImpact(Model): + """The impact of an operation, both in absolute and relative terms. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the impact dimension. + :vartype name: str + :ivar unit: The unit in which estimated impact to dimension is measured. + :vartype unit: str + :ivar change_value_absolute: The absolute impact to dimension. + :vartype change_value_absolute: float + :ivar change_value_relative: The relative impact to dimension (null if not + applicable) + :vartype change_value_relative: float + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'change_value_absolute': {'readonly': True}, + 'change_value_relative': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'change_value_absolute': {'key': 'changeValueAbsolute', 'type': 'float'}, + 'change_value_relative': {'key': 'changeValueRelative', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationImpact, self).__init__(**kwargs) + self.name = None + self.unit = None + self.change_value_absolute = None + self.change_value_relative = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/operation_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/operation_py3.py new file mode 100644 index 000000000000..4968981d1858 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/operation_py3.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """SQL REST API operation definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the operation being performed on this particular + object. + :vartype name: str + :ivar display: The localized display information for this particular + operation / action. + :vartype display: ~azure.mgmt.sql.models.OperationDisplay + :ivar origin: The intended executor of the operation. Possible values + include: 'user', 'system' + :vartype origin: str or ~azure.mgmt.sql.models.OperationOrigin + :ivar properties: Additional descriptions for the operation. + :vartype properties: dict[str, object] + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + 'origin': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + } + + def __init__(self, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = None + self.display = None + self.origin = None + self.properties = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/partner_info.py b/azure-mgmt-sql/azure/mgmt/sql/models/partner_info.py index 9c70bb3e4ad4..de30bd259f7a 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/partner_info.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/partner_info.py @@ -18,7 +18,9 @@ class PartnerInfo(Model): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource identifier of the partner server. + All required parameters must be populated in order to send to Azure. + + :param id: Required. Resource identifier of the partner server. :type id: str :ivar location: Geo location of the partner server. :vartype location: str @@ -40,8 +42,8 @@ class PartnerInfo(Model): 'replication_role': {'key': 'replicationRole', 'type': 'str'}, } - def __init__(self, id): - super(PartnerInfo, self).__init__() - self.id = id + def __init__(self, **kwargs): + super(PartnerInfo, self).__init__(**kwargs) + self.id = kwargs.get('id', None) self.location = None self.replication_role = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/partner_info_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/partner_info_py3.py new file mode 100644 index 000000000000..0edede88118a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/partner_info_py3.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PartnerInfo(Model): + """Partner server information for the failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Resource identifier of the partner server. + :type id: str + :ivar location: Geo location of the partner server. + :vartype location: str + :ivar replication_role: Replication role of the partner server. Possible + values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.FailoverGroupReplicationRole + """ + + _validation = { + 'id': {'required': True}, + 'location': {'readonly': True}, + 'replication_role': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'replication_role': {'key': 'replicationRole', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(PartnerInfo, self).__init__(**kwargs) + self.id = id + self.location = None + self.replication_role = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info.py b/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info.py new file mode 100644 index 000000000000..4d8e2688acb1 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PartnerRegionInfo(Model): + """Partner region information for the failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param location: Geo location of the partner managed instances. + :type location: str + :ivar replication_role: Replication role of the partner managed instances. + Possible values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole + """ + + _validation = { + 'replication_role': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'replication_role': {'key': 'replicationRole', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PartnerRegionInfo, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.replication_role = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info_py3.py new file mode 100644 index 000000000000..76c52b49c0ba --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/partner_region_info_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PartnerRegionInfo(Model): + """Partner region information for the failover group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param location: Geo location of the partner managed instances. + :type location: str + :ivar replication_role: Replication role of the partner managed instances. + Possible values include: 'Primary', 'Secondary' + :vartype replication_role: str or + ~azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole + """ + + _validation = { + 'replication_role': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'replication_role': {'key': 'replicationRole', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, **kwargs) -> None: + super(PartnerRegionInfo, self).__init__(**kwargs) + self.location = location + self.replication_role = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability.py new file mode 100644 index 000000000000..2463e1818718 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PerformanceLevelCapability(Model): + """The performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Performance level value. + :vartype value: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit + """ + + _validation = { + 'value': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PerformanceLevelCapability, self).__init__(**kwargs) + self.value = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability_py3.py new file mode 100644 index 000000000000..96119e14568d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/performance_level_capability_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PerformanceLevelCapability(Model): + """The performance level capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: Performance level value. + :vartype value: float + :ivar unit: Unit type used to measure performance level. Possible values + include: 'DTU', 'VCores' + :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit + """ + + _validation = { + 'value': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PerformanceLevelCapability, self).__init__(**kwargs) + self.value = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource.py b/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource.py index 5262f4b712f6..21fea4f24360 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource.py @@ -32,5 +32,11 @@ class ProxyResource(Resource): 'type': {'readonly': True}, } - def __init__(self): - super(ProxyResource, self).__init__() + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource_py3.py new file mode 100644 index 000000000000..707323dfc134 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/proxy_resource_py3.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool.py index 4237a3d90395..93ab96c4e2b1 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool.py @@ -48,7 +48,7 @@ class RecommendedElasticPool(ProxyResource): :ivar max_observed_storage_mb: Gets maximum observed storage in megabytes. :vartype max_observed_storage_mb: float :ivar databases: The list of databases in this pool. Expanded property - :vartype databases: list[~azure.mgmt.sql.models.Database] + :vartype databases: list[~azure.mgmt.sql.models.TrackedResource] :ivar metrics: The list of databases housed in the server. Expanded property :vartype metrics: @@ -81,17 +81,17 @@ class RecommendedElasticPool(ProxyResource): 'observation_period_end': {'key': 'properties.observationPeriodEnd', 'type': 'iso-8601'}, 'max_observed_dtu': {'key': 'properties.maxObservedDtu', 'type': 'float'}, 'max_observed_storage_mb': {'key': 'properties.maxObservedStorageMB', 'type': 'float'}, - 'databases': {'key': 'properties.databases', 'type': '[Database]'}, + 'databases': {'key': 'properties.databases', 'type': '[TrackedResource]'}, 'metrics': {'key': 'properties.metrics', 'type': '[RecommendedElasticPoolMetric]'}, } - def __init__(self, dtu=None, database_dtu_min=None, database_dtu_max=None, storage_mb=None): - super(RecommendedElasticPool, self).__init__() + def __init__(self, **kwargs): + super(RecommendedElasticPool, self).__init__(**kwargs) self.database_edition = None - self.dtu = dtu - self.database_dtu_min = database_dtu_min - self.database_dtu_max = database_dtu_max - self.storage_mb = storage_mb + self.dtu = kwargs.get('dtu', None) + self.database_dtu_min = kwargs.get('database_dtu_min', None) + self.database_dtu_max = kwargs.get('database_dtu_max', None) + self.storage_mb = kwargs.get('storage_mb', None) self.observation_period_start = None self.observation_period_end = None self.max_observed_dtu = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric.py index b2f93d73c324..9ed07ced53d7 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric.py @@ -30,8 +30,8 @@ class RecommendedElasticPoolMetric(Model): 'size_gb': {'key': 'sizeGB', 'type': 'float'}, } - def __init__(self, date_time_property=None, dtu=None, size_gb=None): - super(RecommendedElasticPoolMetric, self).__init__() - self.date_time_property = date_time_property - self.dtu = dtu - self.size_gb = size_gb + def __init__(self, **kwargs): + super(RecommendedElasticPoolMetric, self).__init__(**kwargs) + self.date_time_property = kwargs.get('date_time_property', None) + self.dtu = kwargs.get('dtu', None) + self.size_gb = kwargs.get('size_gb', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric_py3.py new file mode 100644 index 000000000000..d33210bf6e58 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_metric_py3.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class RecommendedElasticPoolMetric(Model): + """Represents recommended elastic pool metric. + + :param date_time_property: The time of metric (ISO8601 format). + :type date_time_property: datetime + :param dtu: Gets or sets the DTUs (Database Transaction Units). See + https://azure.microsoft.com/documentation/articles/sql-database-what-is-a-dtu/ + :type dtu: float + :param size_gb: Gets or sets size in gigabytes. + :type size_gb: float + """ + + _attribute_map = { + 'date_time_property': {'key': 'dateTime', 'type': 'iso-8601'}, + 'dtu': {'key': 'dtu', 'type': 'float'}, + 'size_gb': {'key': 'sizeGB', 'type': 'float'}, + } + + def __init__(self, *, date_time_property=None, dtu: float=None, size_gb: float=None, **kwargs) -> None: + super(RecommendedElasticPoolMetric, self).__init__(**kwargs) + self.date_time_property = date_time_property + self.dtu = dtu + self.size_gb = size_gb diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_py3.py new file mode 100644 index 000000000000..ee13abf5d237 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_elastic_pool_py3.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class RecommendedElasticPool(ProxyResource): + """Represents a recommented elastic pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar database_edition: The edition of the recommended elastic pool. The + ElasticPoolEdition enumeration contains all the valid editions. Possible + values include: 'Basic', 'Standard', 'Premium' + :vartype database_edition: str or + ~azure.mgmt.sql.models.ElasticPoolEdition + :param dtu: The DTU for the recommended elastic pool. + :type dtu: float + :param database_dtu_min: The minimum DTU for the database. + :type database_dtu_min: float + :param database_dtu_max: The maximum DTU for the database. + :type database_dtu_max: float + :param storage_mb: Gets storage size in megabytes. + :type storage_mb: float + :ivar observation_period_start: The observation period start (ISO8601 + format). + :vartype observation_period_start: datetime + :ivar observation_period_end: The observation period start (ISO8601 + format). + :vartype observation_period_end: datetime + :ivar max_observed_dtu: Gets maximum observed DTU. + :vartype max_observed_dtu: float + :ivar max_observed_storage_mb: Gets maximum observed storage in megabytes. + :vartype max_observed_storage_mb: float + :ivar databases: The list of databases in this pool. Expanded property + :vartype databases: list[~azure.mgmt.sql.models.TrackedResource] + :ivar metrics: The list of databases housed in the server. Expanded + property + :vartype metrics: + list[~azure.mgmt.sql.models.RecommendedElasticPoolMetric] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'database_edition': {'readonly': True}, + 'observation_period_start': {'readonly': True}, + 'observation_period_end': {'readonly': True}, + 'max_observed_dtu': {'readonly': True}, + 'max_observed_storage_mb': {'readonly': True}, + 'databases': {'readonly': True}, + 'metrics': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'dtu': {'key': 'properties.dtu', 'type': 'float'}, + 'database_dtu_min': {'key': 'properties.databaseDtuMin', 'type': 'float'}, + 'database_dtu_max': {'key': 'properties.databaseDtuMax', 'type': 'float'}, + 'storage_mb': {'key': 'properties.storageMB', 'type': 'float'}, + 'observation_period_start': {'key': 'properties.observationPeriodStart', 'type': 'iso-8601'}, + 'observation_period_end': {'key': 'properties.observationPeriodEnd', 'type': 'iso-8601'}, + 'max_observed_dtu': {'key': 'properties.maxObservedDtu', 'type': 'float'}, + 'max_observed_storage_mb': {'key': 'properties.maxObservedStorageMB', 'type': 'float'}, + 'databases': {'key': 'properties.databases', 'type': '[TrackedResource]'}, + 'metrics': {'key': 'properties.metrics', 'type': '[RecommendedElasticPoolMetric]'}, + } + + def __init__(self, *, dtu: float=None, database_dtu_min: float=None, database_dtu_max: float=None, storage_mb: float=None, **kwargs) -> None: + super(RecommendedElasticPool, self).__init__(**kwargs) + self.database_edition = None + self.dtu = dtu + self.database_dtu_min = database_dtu_min + self.database_dtu_max = database_dtu_max + self.storage_mb = storage_mb + self.observation_period_start = None + self.observation_period_end = None + self.max_observed_dtu = None + self.max_observed_storage_mb = None + self.databases = None + self.metrics = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index.py index aed85172f390..df1eba91f84f 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index.py @@ -96,8 +96,8 @@ class RecommendedIndex(ProxyResource): 'reported_impact': {'key': 'properties.reportedImpact', 'type': '[OperationImpact]'}, } - def __init__(self): - super(RecommendedIndex, self).__init__() + def __init__(self, **kwargs): + super(RecommendedIndex, self).__init__(**kwargs) self.action = None self.state = None self.created = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index_py3.py new file mode 100644 index 000000000000..5aea5620371e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recommended_index_py3.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class RecommendedIndex(ProxyResource): + """Represents a database recommended index. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar action: The proposed index action. You can create a missing index, + drop an unused index, or rebuild an existing index to improve its + performance. Possible values include: 'Create', 'Drop', 'Rebuild' + :vartype action: str or ~azure.mgmt.sql.models.RecommendedIndexAction + :ivar state: The current recommendation state. Possible values include: + 'Active', 'Pending', 'Executing', 'Verifying', 'Pending Revert', + 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success' + :vartype state: str or ~azure.mgmt.sql.models.RecommendedIndexState + :ivar created: The UTC datetime showing when this resource was created + (ISO8601 format). + :vartype created: datetime + :ivar last_modified: The UTC datetime of when was this resource last + changed (ISO8601 format). + :vartype last_modified: datetime + :ivar index_type: The type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, + CLUSTERED COLUMNSTORE). Possible values include: 'CLUSTERED', + 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTERED COLUMNSTORE' + :vartype index_type: str or ~azure.mgmt.sql.models.RecommendedIndexType + :ivar schema: The schema where table to build index over resides + :vartype schema: str + :ivar table: The table on which to build index. + :vartype table: str + :ivar columns: Columns over which to build index + :vartype columns: list[str] + :ivar included_columns: The list of column names to be included in the + index + :vartype included_columns: list[str] + :ivar index_script: The full build index script + :vartype index_script: str + :ivar estimated_impact: The estimated impact of doing recommended index + action. + :vartype estimated_impact: list[~azure.mgmt.sql.models.OperationImpact] + :ivar reported_impact: The values reported after index action is complete. + :vartype reported_impact: list[~azure.mgmt.sql.models.OperationImpact] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'action': {'readonly': True}, + 'state': {'readonly': True}, + 'created': {'readonly': True}, + 'last_modified': {'readonly': True}, + 'index_type': {'readonly': True}, + 'schema': {'readonly': True}, + 'table': {'readonly': True}, + 'columns': {'readonly': True}, + 'included_columns': {'readonly': True}, + 'index_script': {'readonly': True}, + 'estimated_impact': {'readonly': True}, + 'reported_impact': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'action': {'key': 'properties.action', 'type': 'RecommendedIndexAction'}, + 'state': {'key': 'properties.state', 'type': 'RecommendedIndexState'}, + 'created': {'key': 'properties.created', 'type': 'iso-8601'}, + 'last_modified': {'key': 'properties.lastModified', 'type': 'iso-8601'}, + 'index_type': {'key': 'properties.indexType', 'type': 'RecommendedIndexType'}, + 'schema': {'key': 'properties.schema', 'type': 'str'}, + 'table': {'key': 'properties.table', 'type': 'str'}, + 'columns': {'key': 'properties.columns', 'type': '[str]'}, + 'included_columns': {'key': 'properties.includedColumns', 'type': '[str]'}, + 'index_script': {'key': 'properties.indexScript', 'type': 'str'}, + 'estimated_impact': {'key': 'properties.estimatedImpact', 'type': '[OperationImpact]'}, + 'reported_impact': {'key': 'properties.reportedImpact', 'type': '[OperationImpact]'}, + } + + def __init__(self, **kwargs) -> None: + super(RecommendedIndex, self).__init__(**kwargs) + self.action = None + self.state = None + self.created = None + self.last_modified = None + self.index_type = None + self.schema = None + self.table = None + self.columns = None + self.included_columns = None + self.index_script = None + self.estimated_impact = None + self.reported_impact = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database.py b/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database.py index 4c0ff8bfb859..0d3b630ce18d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database.py @@ -56,8 +56,8 @@ class RecoverableDatabase(ProxyResource): 'last_available_backup_date': {'key': 'properties.lastAvailableBackupDate', 'type': 'iso-8601'}, } - def __init__(self): - super(RecoverableDatabase, self).__init__() + def __init__(self, **kwargs): + super(RecoverableDatabase, self).__init__(**kwargs) self.edition = None self.service_level_objective = None self.elastic_pool_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database_py3.py new file mode 100644 index 000000000000..8eb9d5510689 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/recoverable_database_py3.py @@ -0,0 +1,64 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class RecoverableDatabase(ProxyResource): + """A recoverable database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar edition: The edition of the database + :vartype edition: str + :ivar service_level_objective: The service level objective name of the + database + :vartype service_level_objective: str + :ivar elastic_pool_name: The elastic pool name of the database + :vartype elastic_pool_name: str + :ivar last_available_backup_date: The last available backup date of the + database (ISO8601 format) + :vartype last_available_backup_date: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'edition': {'readonly': True}, + 'service_level_objective': {'readonly': True}, + 'elastic_pool_name': {'readonly': True}, + 'last_available_backup_date': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'edition': {'key': 'properties.edition', 'type': 'str'}, + 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, + 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'last_available_backup_date': {'key': 'properties.lastAvailableBackupDate', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(RecoverableDatabase, self).__init__(**kwargs) + self.edition = None + self.service_level_objective = None + self.elastic_pool_name = None + self.last_available_backup_date = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/replication_link.py b/azure-mgmt-sql/azure/mgmt/sql/models/replication_link.py index 10d3c339f0ab..450161ab6c9b 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/replication_link.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/replication_link.py @@ -89,8 +89,8 @@ class ReplicationLink(ProxyResource): 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, } - def __init__(self): - super(ReplicationLink, self).__init__() + def __init__(self, **kwargs): + super(ReplicationLink, self).__init__(**kwargs) self.location = None self.is_termination_allowed = None self.replication_mode = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/replication_link_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/replication_link_py3.py new file mode 100644 index 000000000000..740748f154b2 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/replication_link_py3.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ReplicationLink(ProxyResource): + """Represents a database replication link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Location of the server that contains this firewall rule. + :vartype location: str + :ivar is_termination_allowed: Legacy value indicating whether termination + is allowed. Currently always returns true. + :vartype is_termination_allowed: bool + :ivar replication_mode: Replication mode of this replication link. + :vartype replication_mode: str + :ivar partner_server: The name of the server hosting the partner database. + :vartype partner_server: str + :ivar partner_database: The name of the partner database. + :vartype partner_database: str + :ivar partner_location: The Azure Region of the partner database. + :vartype partner_location: str + :ivar role: The role of the database in the replication link. Possible + values include: 'Primary', 'Secondary', 'NonReadableSecondary', 'Source', + 'Copy' + :vartype role: str or ~azure.mgmt.sql.models.ReplicationRole + :ivar partner_role: The role of the partner database in the replication + link. Possible values include: 'Primary', 'Secondary', + 'NonReadableSecondary', 'Source', 'Copy' + :vartype partner_role: str or ~azure.mgmt.sql.models.ReplicationRole + :ivar start_time: The start time for the replication link. + :vartype start_time: datetime + :ivar percent_complete: The percentage of seeding complete for the + replication link. + :vartype percent_complete: int + :ivar replication_state: The replication state for the replication link. + Possible values include: 'PENDING', 'SEEDING', 'CATCH_UP', 'SUSPENDED' + :vartype replication_state: str or ~azure.mgmt.sql.models.ReplicationState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'is_termination_allowed': {'readonly': True}, + 'replication_mode': {'readonly': True}, + 'partner_server': {'readonly': True}, + 'partner_database': {'readonly': True}, + 'partner_location': {'readonly': True}, + 'role': {'readonly': True}, + 'partner_role': {'readonly': True}, + 'start_time': {'readonly': True}, + 'percent_complete': {'readonly': True}, + 'replication_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'is_termination_allowed': {'key': 'properties.isTerminationAllowed', 'type': 'bool'}, + 'replication_mode': {'key': 'properties.replicationMode', 'type': 'str'}, + 'partner_server': {'key': 'properties.partnerServer', 'type': 'str'}, + 'partner_database': {'key': 'properties.partnerDatabase', 'type': 'str'}, + 'partner_location': {'key': 'properties.partnerLocation', 'type': 'str'}, + 'role': {'key': 'properties.role', 'type': 'ReplicationRole'}, + 'partner_role': {'key': 'properties.partnerRole', 'type': 'ReplicationRole'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'int'}, + 'replication_state': {'key': 'properties.replicationState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ReplicationLink, self).__init__(**kwargs) + self.location = None + self.is_termination_allowed = None + self.replication_mode = None + self.partner_server = None + self.partner_database = None + self.partner_location = None + self.role = None + self.partner_role = None + self.start_time = None + self.percent_complete = None + self.replication_state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource.py index a2ddd410be1b..fc92549d32e9 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/resource.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource.py @@ -38,8 +38,8 @@ class Resource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self): - super(Resource, self).__init__() + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity.py index 3a3f2222ba09..57a9e4b4a161 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity.py @@ -39,8 +39,8 @@ class ResourceIdentity(Model): 'tenant_id': {'key': 'tenantId', 'type': 'str'}, } - def __init__(self, type=None): - super(ResourceIdentity, self).__init__() + def __init__(self, **kwargs): + super(ResourceIdentity, self).__init__(**kwargs) self.principal_id = None - self.type = type + self.type = kwargs.get('type', None) self.tenant_id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity_py3.py new file mode 100644 index 000000000000..3b1d8d90f100 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource_identity_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceIdentity(Model): + """Azure Active Directory identity configuration for a resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The Azure Active Directory principal id. + :vartype principal_id: str + :param type: The identity type. Set this to 'SystemAssigned' in order to + automatically create and assign an Azure Active Directory principal for + the resource. Possible values include: 'SystemAssigned' + :type type: str or ~azure.mgmt.sql.models.IdentityType + :ivar tenant_id: The Azure Active Directory tenant id. + :vartype tenant_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ResourceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.type = type + self.tenant_id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition.py index 18df984819cd..2c933120d7c8 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition.py @@ -15,7 +15,9 @@ class ResourceMoveDefinition(Model): """Contains the information necessary to perform a resource move (rename). - :param id: The target ID for the resource + All required parameters must be populated in order to send to Azure. + + :param id: Required. The target ID for the resource :type id: str """ @@ -27,6 +29,6 @@ class ResourceMoveDefinition(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, id): - super(ResourceMoveDefinition, self).__init__() - self.id = id + def __init__(self, **kwargs): + super(ResourceMoveDefinition, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition_py3.py new file mode 100644 index 000000000000..f6ce2ac0f628 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource_move_definition_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceMoveDefinition(Model): + """Contains the information necessary to perform a resource move (rename). + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The target ID for the resource + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(ResourceMoveDefinition, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/resource_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/resource_py3.py new file mode 100644 index 000000000000..aedc5cfaf0b9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/resource_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database.py b/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database.py index e884024dca3e..8e419fb0b50b 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database.py @@ -76,8 +76,8 @@ class RestorableDroppedDatabase(ProxyResource): 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, } - def __init__(self): - super(RestorableDroppedDatabase, self).__init__() + def __init__(self, **kwargs): + super(RestorableDroppedDatabase, self).__init__(**kwargs) self.location = None self.database_name = None self.edition = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database_py3.py new file mode 100644 index 000000000000..0e4a5f45ec89 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/restorable_dropped_database_py3.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class RestorableDroppedDatabase(ProxyResource): + """A restorable dropped database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: The geo-location where the resource lives + :vartype location: str + :ivar database_name: The name of the database + :vartype database_name: str + :ivar edition: The edition of the database + :vartype edition: str + :ivar max_size_bytes: The max size in bytes of the database + :vartype max_size_bytes: str + :ivar service_level_objective: The service level objective name of the + database + :vartype service_level_objective: str + :ivar elastic_pool_name: The elastic pool name of the database + :vartype elastic_pool_name: str + :ivar creation_date: The creation date of the database (ISO8601 format) + :vartype creation_date: datetime + :ivar deletion_date: The deletion date of the database (ISO8601 format) + :vartype deletion_date: datetime + :ivar earliest_restore_date: The earliest restore date of the database + (ISO8601 format) + :vartype earliest_restore_date: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'database_name': {'readonly': True}, + 'edition': {'readonly': True}, + 'max_size_bytes': {'readonly': True}, + 'service_level_objective': {'readonly': True}, + 'elastic_pool_name': {'readonly': True}, + 'creation_date': {'readonly': True}, + 'deletion_date': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'edition': {'key': 'properties.edition', 'type': 'str'}, + 'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'str'}, + 'service_level_objective': {'key': 'properties.serviceLevelObjective', 'type': 'str'}, + 'elastic_pool_name': {'key': 'properties.elasticPoolName', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + 'deletion_date': {'key': 'properties.deletionDate', 'type': 'iso-8601'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(RestorableDroppedDatabase, self).__init__(**kwargs) + self.location = None + self.database_name = None + self.edition = None + self.max_size_bytes = None + self.service_level_objective = None + self.elastic_pool_name = None + self.creation_date = None + self.deletion_date = None + self.earliest_restore_date = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/restore_point.py b/azure-mgmt-sql/azure/mgmt/sql/models/restore_point.py index 5a86dcac2e00..86cf0382ffc8 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/restore_point.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/restore_point.py @@ -62,8 +62,8 @@ class RestorePoint(ProxyResource): 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, } - def __init__(self): - super(RestorePoint, self).__init__() + def __init__(self, **kwargs): + super(RestorePoint, self).__init__(**kwargs) self.location = None self.restore_point_type = None self.earliest_restore_date = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/restore_point_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/restore_point_py3.py new file mode 100644 index 000000000000..886f576a4575 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/restore_point_py3.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class RestorePoint(ProxyResource): + """Database restore points. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar restore_point_type: The type of restore point. Possible values + include: 'CONTINUOUS', 'DISCRETE' + :vartype restore_point_type: str or + ~azure.mgmt.sql.models.RestorePointType + :ivar earliest_restore_date: The earliest time to which this database can + be restored + :vartype earliest_restore_date: datetime + :ivar restore_point_creation_date: The time the backup was taken + :vartype restore_point_creation_date: datetime + :ivar restore_point_label: The label of restore point for backup request + by user + :vartype restore_point_label: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'restore_point_type': {'readonly': True}, + 'earliest_restore_date': {'readonly': True}, + 'restore_point_creation_date': {'readonly': True}, + 'restore_point_label': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'restore_point_type': {'key': 'properties.restorePointType', 'type': 'RestorePointType'}, + 'earliest_restore_date': {'key': 'properties.earliestRestoreDate', 'type': 'iso-8601'}, + 'restore_point_creation_date': {'key': 'properties.restorePointCreationDate', 'type': 'iso-8601'}, + 'restore_point_label': {'key': 'properties.restorePointLabel', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RestorePoint, self).__init__(**kwargs) + self.location = None + self.restore_point_type = None + self.earliest_restore_date = None + self.restore_point_creation_date = None + self.restore_point_label = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server.py b/azure-mgmt-sql/azure/mgmt/sql/models/server.py index 471aa361177d..dada32666e04 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server.py @@ -18,6 +18,8 @@ class Server(TrackedResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,7 +28,7 @@ class Server(TrackedResource): :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: Resource location. + :param location: Required. Resource location. :type location: str :param identity: The Azure Active Directory identity of the server. :type identity: ~azure.mgmt.sql.models.ResourceIdentity @@ -73,12 +75,12 @@ class Server(TrackedResource): 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, } - def __init__(self, location, tags=None, identity=None, administrator_login=None, administrator_login_password=None, version=None): - super(Server, self).__init__(tags=tags, location=location) - self.identity = identity + def __init__(self, **kwargs): + super(Server, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) self.kind = None - self.administrator_login = administrator_login - self.administrator_login_password = administrator_login_password - self.version = version + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.version = kwargs.get('version', None) self.state = None self.fully_qualified_domain_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning.py index fd9963f37eab..583c0b843c1b 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning.py @@ -53,8 +53,8 @@ class ServerAutomaticTuning(ProxyResource): 'options': {'key': 'properties.options', 'type': '{AutomaticTuningServerOptions}'}, } - def __init__(self, desired_state=None, options=None): - super(ServerAutomaticTuning, self).__init__() - self.desired_state = desired_state + def __init__(self, **kwargs): + super(ServerAutomaticTuning, self).__init__(**kwargs) + self.desired_state = kwargs.get('desired_state', None) self.actual_state = None - self.options = options + self.options = kwargs.get('options', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning_py3.py new file mode 100644 index 000000000000..fb8fb4804610 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_automatic_tuning_py3.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerAutomaticTuning(ProxyResource): + """Server-level Automatic Tuning. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param desired_state: Automatic tuning desired state. Possible values + include: 'Custom', 'Auto', 'Unspecified' + :type desired_state: str or + ~azure.mgmt.sql.models.AutomaticTuningServerMode + :ivar actual_state: Automatic tuning actual state. Possible values + include: 'Custom', 'Auto', 'Unspecified' + :vartype actual_state: str or + ~azure.mgmt.sql.models.AutomaticTuningServerMode + :param options: Automatic tuning options definition. + :type options: dict[str, + ~azure.mgmt.sql.models.AutomaticTuningServerOptions] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'actual_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'desired_state': {'key': 'properties.desiredState', 'type': 'AutomaticTuningServerMode'}, + 'actual_state': {'key': 'properties.actualState', 'type': 'AutomaticTuningServerMode'}, + 'options': {'key': 'properties.options', 'type': '{AutomaticTuningServerOptions}'}, + } + + def __init__(self, *, desired_state=None, options=None, **kwargs) -> None: + super(ServerAutomaticTuning, self).__init__(**kwargs) + self.desired_state = desired_state + self.actual_state = None + self.options = options diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator.py index 306f20891caa..ef037e8a9dc8 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator.py @@ -18,20 +18,23 @@ class ServerAzureADAdministrator(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :ivar administrator_type: The type of administrator. Default value: - "ActiveDirectory" . + :ivar administrator_type: Required. The type of administrator. Default + value: "ActiveDirectory" . :vartype administrator_type: str - :param login: The server administrator login value. + :param login: Required. The server administrator login value. :type login: str - :param sid: The server administrator Sid (Secure ID). + :param sid: Required. The server administrator Sid (Secure ID). :type sid: str - :param tenant_id: The server Active Directory Administrator tenant id. + :param tenant_id: Required. The server Active Directory Administrator + tenant id. :type tenant_id: str """ @@ -57,8 +60,8 @@ class ServerAzureADAdministrator(ProxyResource): administrator_type = "ActiveDirectory" - def __init__(self, login, sid, tenant_id): - super(ServerAzureADAdministrator, self).__init__() - self.login = login - self.sid = sid - self.tenant_id = tenant_id + def __init__(self, **kwargs): + super(ServerAzureADAdministrator, self).__init__(**kwargs) + self.login = kwargs.get('login', None) + self.sid = kwargs.get('sid', None) + self.tenant_id = kwargs.get('tenant_id', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator_py3.py new file mode 100644 index 000000000000..3dfeb71123c3 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_azure_ad_administrator_py3.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerAzureADAdministrator(ProxyResource): + """An server Active Directory Administrator. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar administrator_type: Required. The type of administrator. Default + value: "ActiveDirectory" . + :vartype administrator_type: str + :param login: Required. The server administrator login value. + :type login: str + :param sid: Required. The server administrator Sid (Secure ID). + :type sid: str + :param tenant_id: Required. The server Active Directory Administrator + tenant id. + :type tenant_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'administrator_type': {'required': True, 'constant': True}, + 'login': {'required': True}, + 'sid': {'required': True}, + 'tenant_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'administrator_type': {'key': 'properties.administratorType', 'type': 'str'}, + 'login': {'key': 'properties.login', 'type': 'str'}, + 'sid': {'key': 'properties.sid', 'type': 'str'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + } + + administrator_type = "ActiveDirectory" + + def __init__(self, *, login: str, sid: str, tenant_id: str, **kwargs) -> None: + super(ServerAzureADAdministrator, self).__init__(**kwargs) + self.login = login + self.sid = sid + self.tenant_id = tenant_id diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link.py index c6605f3e506a..88fef4fa788f 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link.py @@ -18,6 +18,8 @@ class ServerCommunicationLink(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,7 +28,7 @@ class ServerCommunicationLink(ProxyResource): :vartype type: str :ivar state: The state. :vartype state: str - :param partner_server: The name of the partner server. + :param partner_server: Required. The name of the partner server. :type partner_server: str :ivar location: Communication link location. :vartype location: str @@ -55,9 +57,9 @@ class ServerCommunicationLink(ProxyResource): 'kind': {'key': 'kind', 'type': 'str'}, } - def __init__(self, partner_server): - super(ServerCommunicationLink, self).__init__() + def __init__(self, **kwargs): + super(ServerCommunicationLink, self).__init__(**kwargs) self.state = None - self.partner_server = partner_server + self.partner_server = kwargs.get('partner_server', None) self.location = None self.kind = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link_py3.py new file mode 100644 index 000000000000..6a32069ca067 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_communication_link_py3.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerCommunicationLink(ProxyResource): + """Server communication link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar state: The state. + :vartype state: str + :param partner_server: Required. The name of the partner server. + :type partner_server: str + :ivar location: Communication link location. + :vartype location: str + :ivar kind: Communication link kind. This property is used for Azure + Portal metadata. + :vartype kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'partner_server': {'required': True}, + 'location': {'readonly': True}, + 'kind': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'partner_server': {'key': 'properties.partnerServer', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, partner_server: str, **kwargs) -> None: + super(ServerCommunicationLink, self).__init__(**kwargs) + self.state = None + self.partner_server = partner_server + self.location = None + self.kind = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy.py index 3270b381caad..dd0097235550 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy.py @@ -18,6 +18,8 @@ class ServerConnectionPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -28,8 +30,8 @@ class ServerConnectionPolicy(ProxyResource): :vartype kind: str :ivar location: Resource location. :vartype location: str - :param connection_type: The server connection type. Possible values - include: 'Default', 'Proxy', 'Redirect' + :param connection_type: Required. The server connection type. Possible + values include: 'Default', 'Proxy', 'Redirect' :type connection_type: str or ~azure.mgmt.sql.models.ServerConnectionType """ @@ -51,8 +53,8 @@ class ServerConnectionPolicy(ProxyResource): 'connection_type': {'key': 'properties.connectionType', 'type': 'ServerConnectionType'}, } - def __init__(self, connection_type): - super(ServerConnectionPolicy, self).__init__() + def __init__(self, **kwargs): + super(ServerConnectionPolicy, self).__init__(**kwargs) self.kind = None self.location = None - self.connection_type = connection_type + self.connection_type = kwargs.get('connection_type', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy_py3.py new file mode 100644 index 000000000000..10bd81052301 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_connection_policy_py3.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerConnectionPolicy(ProxyResource): + """A server secure connection policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar kind: Metadata used for the Azure portal experience. + :vartype kind: str + :ivar location: Resource location. + :vartype location: str + :param connection_type: Required. The server connection type. Possible + values include: 'Default', 'Proxy', 'Redirect' + :type connection_type: str or ~azure.mgmt.sql.models.ServerConnectionType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'readonly': True}, + 'location': {'readonly': True}, + 'connection_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'ServerConnectionType'}, + } + + def __init__(self, *, connection_type, **kwargs) -> None: + super(ServerConnectionPolicy, self).__init__(**kwargs) + self.kind = None + self.location = None + self.connection_type = connection_type diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias.py index 50d24eb23af4..691db960c1a7 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias.py @@ -42,6 +42,6 @@ class ServerDnsAlias(ProxyResource): 'azure_dns_record': {'key': 'properties.azureDnsRecord', 'type': 'str'}, } - def __init__(self): - super(ServerDnsAlias, self).__init__() + def __init__(self, **kwargs): + super(ServerDnsAlias, self).__init__(**kwargs) self.azure_dns_record = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition.py index afc875395e0e..2f7757f5daf2 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition.py @@ -24,6 +24,6 @@ class ServerDnsAliasAcquisition(Model): 'old_server_dns_alias_id': {'key': 'oldServerDnsAliasId', 'type': 'str'}, } - def __init__(self, old_server_dns_alias_id=None): - super(ServerDnsAliasAcquisition, self).__init__() - self.old_server_dns_alias_id = old_server_dns_alias_id + def __init__(self, **kwargs): + super(ServerDnsAliasAcquisition, self).__init__(**kwargs) + self.old_server_dns_alias_id = kwargs.get('old_server_dns_alias_id', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition_py3.py new file mode 100644 index 000000000000..93cf9e0027c9 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_acquisition_py3.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServerDnsAliasAcquisition(Model): + """A server DNS alias acquisition request. + + :param old_server_dns_alias_id: The id of the server alias that will be + acquired to point to this server instead. + :type old_server_dns_alias_id: str + """ + + _attribute_map = { + 'old_server_dns_alias_id': {'key': 'oldServerDnsAliasId', 'type': 'str'}, + } + + def __init__(self, *, old_server_dns_alias_id: str=None, **kwargs) -> None: + super(ServerDnsAliasAcquisition, self).__init__(**kwargs) + self.old_server_dns_alias_id = old_server_dns_alias_id diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_py3.py new file mode 100644 index 000000000000..c57df1a85f06 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_dns_alias_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerDnsAlias(ProxyResource): + """A server DNS alias. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar azure_dns_record: The fully qualified DNS record for alias + :vartype azure_dns_record: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'azure_dns_record': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'azure_dns_record': {'key': 'properties.azureDnsRecord', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerDnsAlias, self).__init__(**kwargs) + self.azure_dns_record = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_key.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_key.py index c16745eca907..1258d1e0da7f 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_key.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_key.py @@ -18,6 +18,8 @@ class ServerKey(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -31,9 +33,9 @@ class ServerKey(ProxyResource): :vartype location: str :ivar subregion: Subregion of the server key. :vartype subregion: str - :param server_key_type: The server key type like 'ServiceManaged', - 'AzureKeyVault'. Possible values include: 'ServiceManaged', - 'AzureKeyVault' + :param server_key_type: Required. The server key type like + 'ServiceManaged', 'AzureKeyVault'. Possible values include: + 'ServiceManaged', 'AzureKeyVault' :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType :param uri: The URI of the server key. :type uri: str @@ -65,12 +67,12 @@ class ServerKey(ProxyResource): 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, } - def __init__(self, server_key_type, kind=None, uri=None, thumbprint=None, creation_date=None): - super(ServerKey, self).__init__() - self.kind = kind + def __init__(self, **kwargs): + super(ServerKey, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) self.location = None self.subregion = None - self.server_key_type = server_key_type - self.uri = uri - self.thumbprint = thumbprint - self.creation_date = creation_date + self.server_key_type = kwargs.get('server_key_type', None) + self.uri = kwargs.get('uri', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.creation_date = kwargs.get('creation_date', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_key_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_key_py3.py new file mode 100644 index 000000000000..41ef40ab165a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_key_py3.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServerKey(ProxyResource): + """A server key. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param kind: Kind of encryption protector. This is metadata used for the + Azure portal experience. + :type kind: str + :ivar location: Resource location. + :vartype location: str + :ivar subregion: Subregion of the server key. + :vartype subregion: str + :param server_key_type: Required. The server key type like + 'ServiceManaged', 'AzureKeyVault'. Possible values include: + 'ServiceManaged', 'AzureKeyVault' + :type server_key_type: str or ~azure.mgmt.sql.models.ServerKeyType + :param uri: The URI of the server key. + :type uri: str + :param thumbprint: Thumbprint of the server key. + :type thumbprint: str + :param creation_date: The server key creation date. + :type creation_date: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'subregion': {'readonly': True}, + 'server_key_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'subregion': {'key': 'properties.subregion', 'type': 'str'}, + 'server_key_type': {'key': 'properties.serverKeyType', 'type': 'str'}, + 'uri': {'key': 'properties.uri', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, + } + + def __init__(self, *, server_key_type, kind: str=None, uri: str=None, thumbprint: str=None, creation_date=None, **kwargs) -> None: + super(ServerKey, self).__init__(**kwargs) + self.kind = kind + self.location = None + self.subregion = None + self.server_key_type = server_key_type + self.uri = uri + self.thumbprint = thumbprint + self.creation_date = creation_date diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_py3.py new file mode 100644 index 000000000000..0d0308dc0653 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_py3.py @@ -0,0 +1,86 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class Server(TrackedResource): + """An Azure SQL Database server. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + :param identity: The Azure Active Directory identity of the server. + :type identity: ~azure.mgmt.sql.models.ResourceIdentity + :ivar kind: Kind of sql server. This is metadata used for the Azure portal + experience. + :vartype kind: str + :param administrator_login: Administrator username for the server. Once + created it cannot be changed. + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for server creation). + :type administrator_login_password: str + :param version: The version of the server. + :type version: str + :ivar state: The state of the server. + :vartype state: str + :ivar fully_qualified_domain_name: The fully qualified domain name of the + server. + :vartype fully_qualified_domain_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'kind': {'readonly': True}, + 'state': {'readonly': True}, + 'fully_qualified_domain_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ResourceIdentity'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, identity=None, administrator_login: str=None, administrator_login_password: str=None, version: str=None, **kwargs) -> None: + super(Server, self).__init__(tags=tags, location=location, **kwargs) + self.identity = identity + self.kind = None + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.version = version + self.state = None + self.fully_qualified_domain_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_update.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_update.py index dab00a870fba..d39d49bea953 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_update.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_update.py @@ -49,11 +49,11 @@ class ServerUpdate(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, administrator_login=None, administrator_login_password=None, version=None, tags=None): - super(ServerUpdate, self).__init__() - self.administrator_login = administrator_login - self.administrator_login_password = administrator_login_password - self.version = version + def __init__(self, **kwargs): + super(ServerUpdate, self).__init__(**kwargs) + self.administrator_login = kwargs.get('administrator_login', None) + self.administrator_login_password = kwargs.get('administrator_login_password', None) + self.version = kwargs.get('version', None) self.state = None self.fully_qualified_domain_name = None - self.tags = tags + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_update_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_update_py3.py new file mode 100644 index 000000000000..863f2b52fa01 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_update_py3.py @@ -0,0 +1,59 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServerUpdate(Model): + """An update request for an Azure SQL Database server. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param administrator_login: Administrator username for the server. Once + created it cannot be changed. + :type administrator_login: str + :param administrator_login_password: The administrator login password + (required for server creation). + :type administrator_login_password: str + :param version: The version of the server. + :type version: str + :ivar state: The state of the server. + :vartype state: str + :ivar fully_qualified_domain_name: The fully qualified domain name of the + server. + :vartype fully_qualified_domain_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'state': {'readonly': True}, + 'fully_qualified_domain_name': {'readonly': True}, + } + + _attribute_map = { + 'administrator_login': {'key': 'properties.administratorLogin', 'type': 'str'}, + 'administrator_login_password': {'key': 'properties.administratorLoginPassword', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'fully_qualified_domain_name': {'key': 'properties.fullyQualifiedDomainName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, administrator_login: str=None, administrator_login_password: str=None, version: str=None, tags=None, **kwargs) -> None: + super(ServerUpdate, self).__init__(**kwargs) + self.administrator_login = administrator_login + self.administrator_login_password = administrator_login_password + self.version = version + self.state = None + self.fully_qualified_domain_name = None + self.tags = tags diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_usage.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_usage.py index 97a70d1f148b..e04fb8c60a82 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_usage.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_usage.py @@ -55,8 +55,8 @@ class ServerUsage(Model): 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, } - def __init__(self): - super(ServerUsage, self).__init__() + def __init__(self, **kwargs): + super(ServerUsage, self).__init__(**kwargs) self.name = None self.resource_name = None self.display_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_usage_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_usage_py3.py new file mode 100644 index 000000000000..3a6feaecdc8d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_usage_py3.py @@ -0,0 +1,66 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServerUsage(Model): + """Represents server metrics. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the server usage metric. + :vartype name: str + :ivar resource_name: The name of the resource. + :vartype resource_name: str + :ivar display_name: The metric display name. + :vartype display_name: str + :ivar current_value: The current value of the metric. + :vartype current_value: float + :ivar limit: The current limit of the metric. + :vartype limit: float + :ivar unit: The units of the metric. + :vartype unit: str + :ivar next_reset_time: The next reset time for the metric (ISO8601 + format). + :vartype next_reset_time: datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(ServerUsage, self).__init__(**kwargs) + self.name = None + self.resource_name = None + self.display_name = None + self.current_value = None + self.limit = None + self.unit = None + self.next_reset_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability.py index 2072fbab0c77..811e93df8aa4 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability.py @@ -13,16 +13,13 @@ class ServerVersionCapability(Model): - """The server capabilities. + """The server capability. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: The server version name. :vartype name: str - :ivar status: The status of the server version. Possible values include: - 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus :ivar supported_editions: The list of supported database editions. :vartype supported_editions: list[~azure.mgmt.sql.models.EditionCapability] @@ -30,25 +27,32 @@ class ServerVersionCapability(Model): editions. :vartype supported_elastic_pool_editions: list[~azure.mgmt.sql.models.ElasticPoolEditionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { 'name': {'readonly': True}, - 'status': {'readonly': True}, 'supported_editions': {'readonly': True}, 'supported_elastic_pool_editions': {'readonly': True}, + 'status': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, 'supported_editions': {'key': 'supportedEditions', 'type': '[EditionCapability]'}, 'supported_elastic_pool_editions': {'key': 'supportedElasticPoolEditions', 'type': '[ElasticPoolEditionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(ServerVersionCapability, self).__init__() + def __init__(self, **kwargs): + super(ServerVersionCapability, self).__init__(**kwargs) self.name = None - self.status = None self.supported_editions = None self.supported_elastic_pool_editions = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability_py3.py new file mode 100644 index 000000000000..66a1a0251ede --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/server_version_capability_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServerVersionCapability(Model): + """The server capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The server version name. + :vartype name: str + :ivar supported_editions: The list of supported database editions. + :vartype supported_editions: + list[~azure.mgmt.sql.models.EditionCapability] + :ivar supported_elastic_pool_editions: The list of supported elastic pool + editions. + :vartype supported_elastic_pool_editions: + list[~azure.mgmt.sql.models.ElasticPoolEditionCapability] + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'name': {'readonly': True}, + 'supported_editions': {'readonly': True}, + 'supported_elastic_pool_editions': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'supported_editions': {'key': 'supportedEditions', 'type': '[EditionCapability]'}, + 'supported_elastic_pool_editions': {'key': 'supportedElasticPoolEditions', 'type': '[ElasticPoolEditionCapability]'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ServerVersionCapability, self).__init__(**kwargs) + self.name = None + self.supported_editions = None + self.supported_elastic_pool_editions = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective.py index 8fc2b8a95300..71133da2f551 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective.py @@ -60,8 +60,8 @@ class ServiceObjective(ProxyResource): 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } - def __init__(self): - super(ServiceObjective, self).__init__() + def __init__(self, **kwargs): + super(ServiceObjective, self).__init__(**kwargs) self.service_objective_name = None self.is_default = None self.is_system = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability.py index dea16996d682..1e6c2158be9a 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability.py @@ -18,53 +18,61 @@ class ServiceObjectiveCapability(Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: The service objective name. - :vartype name: str - :ivar status: The status of the service objective. Possible values - include: 'Visible', 'Available', 'Default', 'Disabled' - :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus - :ivar unit: Unit type used to measure service objective performance level. - Possible values include: 'DTU' - :vartype unit: str or ~azure.mgmt.sql.models.PerformanceLevelUnit - :ivar value: Performance level value. - :vartype value: int :ivar id: The unique ID of the service objective. :vartype id: str - :ivar supported_max_sizes: The list of supported maximum database sizes - for this service objective. + :ivar name: The service objective name. + :vartype name: str + :ivar supported_max_sizes: The list of supported maximum database sizes. :vartype supported_max_sizes: - list[~azure.mgmt.sql.models.MaxSizeCapability] - :ivar included_max_size: The included (free) max size for this service - level objective. + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar performance_level: The performance level. + :vartype performance_level: + ~azure.mgmt.sql.models.PerformanceLevelCapability + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.sql.models.Sku + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar included_max_size: The included (free) max size. :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str """ _validation = { - 'name': {'readonly': True}, - 'status': {'readonly': True}, - 'unit': {'readonly': True}, - 'value': {'readonly': True}, 'id': {'readonly': True}, + 'name': {'readonly': True}, 'supported_max_sizes': {'readonly': True}, + 'performance_level': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, 'included_max_size': {'readonly': True}, + 'status': {'readonly': True}, } _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'CapabilityStatus'}, - 'unit': {'key': 'performanceLevel.unit', 'type': 'PerformanceLevelUnit'}, - 'value': {'key': 'performanceLevel.value', 'type': 'int'}, 'id': {'key': 'id', 'type': 'str'}, - 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeCapability]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self): - super(ServiceObjectiveCapability, self).__init__() - self.name = None - self.status = None - self.unit = None - self.value = None + def __init__(self, **kwargs): + super(ServiceObjectiveCapability, self).__init__(**kwargs) self.id = None + self.name = None self.supported_max_sizes = None + self.performance_level = None + self.sku = None + self.supported_license_types = None self.included_max_size = None + self.status = None + self.reason = kwargs.get('reason', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability_py3.py new file mode 100644 index 000000000000..f777ffd74f97 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_capability_py3.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ServiceObjectiveCapability(Model): + """The service objectives capability. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The unique ID of the service objective. + :vartype id: str + :ivar name: The service objective name. + :vartype name: str + :ivar supported_max_sizes: The list of supported maximum database sizes. + :vartype supported_max_sizes: + list[~azure.mgmt.sql.models.MaxSizeRangeCapability] + :ivar performance_level: The performance level. + :vartype performance_level: + ~azure.mgmt.sql.models.PerformanceLevelCapability + :ivar sku: The sku. + :vartype sku: ~azure.mgmt.sql.models.Sku + :ivar supported_license_types: List of supported license types. + :vartype supported_license_types: + list[~azure.mgmt.sql.models.LicenseTypeCapability] + :ivar included_max_size: The included (free) max size. + :vartype included_max_size: ~azure.mgmt.sql.models.MaxSizeCapability + :ivar status: The status of the capability. Possible values include: + 'Visible', 'Available', 'Default', 'Disabled' + :vartype status: str or ~azure.mgmt.sql.models.CapabilityStatus + :param reason: The reason for the capability not being available. + :type reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'supported_max_sizes': {'readonly': True}, + 'performance_level': {'readonly': True}, + 'sku': {'readonly': True}, + 'supported_license_types': {'readonly': True}, + 'included_max_size': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'supported_max_sizes': {'key': 'supportedMaxSizes', 'type': '[MaxSizeRangeCapability]'}, + 'performance_level': {'key': 'performanceLevel', 'type': 'PerformanceLevelCapability'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'supported_license_types': {'key': 'supportedLicenseTypes', 'type': '[LicenseTypeCapability]'}, + 'included_max_size': {'key': 'includedMaxSize', 'type': 'MaxSizeCapability'}, + 'status': {'key': 'status', 'type': 'CapabilityStatus'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, reason: str=None, **kwargs) -> None: + super(ServiceObjectiveCapability, self).__init__(**kwargs) + self.id = None + self.name = None + self.supported_max_sizes = None + self.performance_level = None + self.sku = None + self.supported_license_types = None + self.included_max_size = None + self.status = None + self.reason = reason diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_py3.py new file mode 100644 index 000000000000..2fc00134e6ec --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_objective_py3.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServiceObjective(ProxyResource): + """Represents a database service objective. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar service_objective_name: The name for the service objective. + :vartype service_objective_name: str + :ivar is_default: Gets whether the service level objective is the default + service objective. + :vartype is_default: bool + :ivar is_system: Gets whether the service level objective is a system + service objective. + :vartype is_system: bool + :ivar description: The description for the service level objective. + :vartype description: str + :ivar enabled: Gets whether the service level objective is enabled. + :vartype enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'service_objective_name': {'readonly': True}, + 'is_default': {'readonly': True}, + 'is_system': {'readonly': True}, + 'description': {'readonly': True}, + 'enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_objective_name': {'key': 'properties.serviceObjectiveName', 'type': 'str'}, + 'is_default': {'key': 'properties.isDefault', 'type': 'bool'}, + 'is_system': {'key': 'properties.isSystem', 'type': 'bool'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceObjective, self).__init__(**kwargs) + self.service_objective_name = None + self.is_default = None + self.is_system = None + self.description = None + self.enabled = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor.py index 591ca18d21f7..cb8974906ee6 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor.py @@ -134,8 +134,8 @@ class ServiceTierAdvisor(ProxyResource): 'confidence': {'key': 'properties.confidence', 'type': 'float'}, } - def __init__(self): - super(ServiceTierAdvisor, self).__init__() + def __init__(self, **kwargs): + super(ServiceTierAdvisor, self).__init__(**kwargs) self.observation_period_start = None self.observation_period_end = None self.active_time_ratio = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor_py3.py new file mode 100644 index 000000000000..04f5dceca1c0 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/service_tier_advisor_py3.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class ServiceTierAdvisor(ProxyResource): + """Represents a Service Tier Advisor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar observation_period_start: The observation period start (ISO8601 + format). + :vartype observation_period_start: datetime + :ivar observation_period_end: The observation period start (ISO8601 + format). + :vartype observation_period_end: datetime + :ivar active_time_ratio: The activeTimeRatio for service tier advisor. + :vartype active_time_ratio: float + :ivar min_dtu: Gets or sets minDtu for service tier advisor. + :vartype min_dtu: float + :ivar avg_dtu: Gets or sets avgDtu for service tier advisor. + :vartype avg_dtu: float + :ivar max_dtu: Gets or sets maxDtu for service tier advisor. + :vartype max_dtu: float + :ivar max_size_in_gb: Gets or sets maxSizeInGB for service tier advisor. + :vartype max_size_in_gb: float + :ivar service_level_objective_usage_metrics: Gets or sets + serviceLevelObjectiveUsageMetrics for the service tier advisor. + :vartype service_level_objective_usage_metrics: + list[~azure.mgmt.sql.models.SloUsageMetric] + :ivar current_service_level_objective: Gets or sets + currentServiceLevelObjective for service tier advisor. + :vartype current_service_level_objective: str + :ivar current_service_level_objective_id: Gets or sets + currentServiceLevelObjectiveId for service tier advisor. + :vartype current_service_level_objective_id: str + :ivar usage_based_recommendation_service_level_objective: Gets or sets + usageBasedRecommendationServiceLevelObjective for service tier advisor. + :vartype usage_based_recommendation_service_level_objective: str + :ivar usage_based_recommendation_service_level_objective_id: Gets or sets + usageBasedRecommendationServiceLevelObjectiveId for service tier advisor. + :vartype usage_based_recommendation_service_level_objective_id: str + :ivar database_size_based_recommendation_service_level_objective: Gets or + sets databaseSizeBasedRecommendationServiceLevelObjective for service tier + advisor. + :vartype database_size_based_recommendation_service_level_objective: str + :ivar database_size_based_recommendation_service_level_objective_id: Gets + or sets databaseSizeBasedRecommendationServiceLevelObjectiveId for service + tier advisor. + :vartype database_size_based_recommendation_service_level_objective_id: + str + :ivar disaster_plan_based_recommendation_service_level_objective: Gets or + sets disasterPlanBasedRecommendationServiceLevelObjective for service tier + advisor. + :vartype disaster_plan_based_recommendation_service_level_objective: str + :ivar disaster_plan_based_recommendation_service_level_objective_id: Gets + or sets disasterPlanBasedRecommendationServiceLevelObjectiveId for service + tier advisor. + :vartype disaster_plan_based_recommendation_service_level_objective_id: + str + :ivar overall_recommendation_service_level_objective: Gets or sets + overallRecommendationServiceLevelObjective for service tier advisor. + :vartype overall_recommendation_service_level_objective: str + :ivar overall_recommendation_service_level_objective_id: Gets or sets + overallRecommendationServiceLevelObjectiveId for service tier advisor. + :vartype overall_recommendation_service_level_objective_id: str + :ivar confidence: Gets or sets confidence for service tier advisor. + :vartype confidence: float + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'observation_period_start': {'readonly': True}, + 'observation_period_end': {'readonly': True}, + 'active_time_ratio': {'readonly': True}, + 'min_dtu': {'readonly': True}, + 'avg_dtu': {'readonly': True}, + 'max_dtu': {'readonly': True}, + 'max_size_in_gb': {'readonly': True}, + 'service_level_objective_usage_metrics': {'readonly': True}, + 'current_service_level_objective': {'readonly': True}, + 'current_service_level_objective_id': {'readonly': True}, + 'usage_based_recommendation_service_level_objective': {'readonly': True}, + 'usage_based_recommendation_service_level_objective_id': {'readonly': True}, + 'database_size_based_recommendation_service_level_objective': {'readonly': True}, + 'database_size_based_recommendation_service_level_objective_id': {'readonly': True}, + 'disaster_plan_based_recommendation_service_level_objective': {'readonly': True}, + 'disaster_plan_based_recommendation_service_level_objective_id': {'readonly': True}, + 'overall_recommendation_service_level_objective': {'readonly': True}, + 'overall_recommendation_service_level_objective_id': {'readonly': True}, + 'confidence': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'observation_period_start': {'key': 'properties.observationPeriodStart', 'type': 'iso-8601'}, + 'observation_period_end': {'key': 'properties.observationPeriodEnd', 'type': 'iso-8601'}, + 'active_time_ratio': {'key': 'properties.activeTimeRatio', 'type': 'float'}, + 'min_dtu': {'key': 'properties.minDtu', 'type': 'float'}, + 'avg_dtu': {'key': 'properties.avgDtu', 'type': 'float'}, + 'max_dtu': {'key': 'properties.maxDtu', 'type': 'float'}, + 'max_size_in_gb': {'key': 'properties.maxSizeInGB', 'type': 'float'}, + 'service_level_objective_usage_metrics': {'key': 'properties.serviceLevelObjectiveUsageMetrics', 'type': '[SloUsageMetric]'}, + 'current_service_level_objective': {'key': 'properties.currentServiceLevelObjective', 'type': 'str'}, + 'current_service_level_objective_id': {'key': 'properties.currentServiceLevelObjectiveId', 'type': 'str'}, + 'usage_based_recommendation_service_level_objective': {'key': 'properties.usageBasedRecommendationServiceLevelObjective', 'type': 'str'}, + 'usage_based_recommendation_service_level_objective_id': {'key': 'properties.usageBasedRecommendationServiceLevelObjectiveId', 'type': 'str'}, + 'database_size_based_recommendation_service_level_objective': {'key': 'properties.databaseSizeBasedRecommendationServiceLevelObjective', 'type': 'str'}, + 'database_size_based_recommendation_service_level_objective_id': {'key': 'properties.databaseSizeBasedRecommendationServiceLevelObjectiveId', 'type': 'str'}, + 'disaster_plan_based_recommendation_service_level_objective': {'key': 'properties.disasterPlanBasedRecommendationServiceLevelObjective', 'type': 'str'}, + 'disaster_plan_based_recommendation_service_level_objective_id': {'key': 'properties.disasterPlanBasedRecommendationServiceLevelObjectiveId', 'type': 'str'}, + 'overall_recommendation_service_level_objective': {'key': 'properties.overallRecommendationServiceLevelObjective', 'type': 'str'}, + 'overall_recommendation_service_level_objective_id': {'key': 'properties.overallRecommendationServiceLevelObjectiveId', 'type': 'str'}, + 'confidence': {'key': 'properties.confidence', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(ServiceTierAdvisor, self).__init__(**kwargs) + self.observation_period_start = None + self.observation_period_end = None + self.active_time_ratio = None + self.min_dtu = None + self.avg_dtu = None + self.max_dtu = None + self.max_size_in_gb = None + self.service_level_objective_usage_metrics = None + self.current_service_level_objective = None + self.current_service_level_objective_id = None + self.usage_based_recommendation_service_level_objective = None + self.usage_based_recommendation_service_level_objective_id = None + self.database_size_based_recommendation_service_level_objective = None + self.database_size_based_recommendation_service_level_objective_id = None + self.disaster_plan_based_recommendation_service_level_objective = None + self.disaster_plan_based_recommendation_service_level_objective_id = None + self.overall_recommendation_service_level_objective = None + self.overall_recommendation_service_level_objective_id = None + self.confidence = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sku.py b/azure-mgmt-sql/azure/mgmt/sql/models/sku.py new file mode 100644 index 000000000000..6605594386e7 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sku.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """An ARM Resource SKU. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU, typically, a letter + Number + code, e.g. P3. + :type name: str + :param tier: The tier of the particular SKU, e.g. Basic, Premium. + :type tier: str + :param size: Size of the particular SKU + :type size: str + :param family: If the service has different generations of hardware, for + the same SKU, then that can be captured here. + :type family: str + :param capacity: Capacity of the particular SKU. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.capacity = kwargs.get('capacity', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sku_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sku_py3.py new file mode 100644 index 000000000000..d998a023ec22 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sku_py3.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Sku(Model): + """An ARM Resource SKU. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU, typically, a letter + Number + code, e.g. P3. + :type name: str + :param tier: The tier of the particular SKU, e.g. Basic, Premium. + :type tier: str + :param size: Size of the particular SKU + :type size: str + :param family: If the service has different generations of hardware, for + the same SKU, then that can be captured here. + :type family: str + :param capacity: Capacity of the particular SKU. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str, tier: str=None, size: str=None, family: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric.py b/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric.py index 8786479f0834..262017a0b87c 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric.py @@ -50,8 +50,8 @@ class SloUsageMetric(Model): 'in_range_time_ratio': {'key': 'inRangeTimeRatio', 'type': 'float'}, } - def __init__(self): - super(SloUsageMetric, self).__init__() + def __init__(self, **kwargs): + super(SloUsageMetric, self).__init__(**kwargs) self.service_level_objective = None self.service_level_objective_id = None self.in_range_time_ratio = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric_py3.py new file mode 100644 index 000000000000..6b221a8eb36f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/slo_usage_metric_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SloUsageMetric(Model): + """A Slo Usage Metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_level_objective: The serviceLevelObjective for SLO usage + metric. Possible values include: 'System', 'System0', 'System1', + 'System2', 'System3', 'System4', 'System2L', 'System3L', 'System4L', + 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', + 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', + 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', + 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', + 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', + 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', + 'DS500', 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' + :vartype service_level_objective: str or + ~azure.mgmt.sql.models.ServiceObjectiveName + :ivar service_level_objective_id: The serviceLevelObjectiveId for SLO + usage metric. + :vartype service_level_objective_id: str + :ivar in_range_time_ratio: Gets or sets inRangeTimeRatio for SLO usage + metric. + :vartype in_range_time_ratio: float + """ + + _validation = { + 'service_level_objective': {'readonly': True}, + 'service_level_objective_id': {'readonly': True}, + 'in_range_time_ratio': {'readonly': True}, + } + + _attribute_map = { + 'service_level_objective': {'key': 'serviceLevelObjective', 'type': 'str'}, + 'service_level_objective_id': {'key': 'serviceLevelObjectiveId', 'type': 'str'}, + 'in_range_time_ratio': {'key': 'inRangeTimeRatio', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(SloUsageMetric, self).__init__(**kwargs) + self.service_level_objective = None + self.service_level_objective_id = None + self.in_range_time_ratio = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sql_management_client_enums.py b/azure-mgmt-sql/azure/mgmt/sql/models/sql_management_client_enums.py index 1c81cadf4a97..e4a76e0f84e5 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sql_management_client_enums.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sql_management_client_enums.py @@ -12,59 +12,67 @@ from enum import Enum -class BackupLongTermRetentionPolicyState(Enum): +class CheckNameAvailabilityReason(str, Enum): - disabled = "Disabled" - enabled = "Enabled" + invalid = "Invalid" + already_exists = "AlreadyExists" -class CapabilityStatus(Enum): +class ServerConnectionType(str, Enum): - visible = "Visible" - available = "Available" default = "Default" + proxy = "Proxy" + redirect = "Redirect" + + +class SecurityAlertPolicyState(str, Enum): + + new = "New" + enabled = "Enabled" disabled = "Disabled" -class MaxSizeUnits(Enum): +class SecurityAlertPolicyEmailAccountAdmins(str, Enum): - megabytes = "Megabytes" - gigabytes = "Gigabytes" - terabytes = "Terabytes" - petabytes = "Petabytes" + enabled = "Enabled" + disabled = "Disabled" -class PerformanceLevelUnit(Enum): +class SecurityAlertPolicyUseServerDefault(str, Enum): - dtu = "DTU" + enabled = "Enabled" + disabled = "Disabled" -class CheckNameAvailabilityReason(Enum): +class DataMaskingState(str, Enum): - invalid = "Invalid" - already_exists = "AlreadyExists" + disabled = "Disabled" + enabled = "Enabled" -class ServerConnectionType(Enum): +class DataMaskingRuleState(str, Enum): - default = "Default" - proxy = "Proxy" - redirect = "Redirect" + disabled = "Disabled" + enabled = "Enabled" -class CreateMode(Enum): +class DataMaskingFunction(str, Enum): - copy = "Copy" default = "Default" - non_readable_secondary = "NonReadableSecondary" - online_secondary = "OnlineSecondary" - point_in_time_restore = "PointInTimeRestore" - recovery = "Recovery" - restore = "Restore" - restore_long_term_retention_backup = "RestoreLongTermRetentionBackup" + ccn = "CCN" + email = "Email" + number = "Number" + ssn = "SSN" + text = "Text" + + +class GeoBackupPolicyState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" -class DatabaseEdition(Enum): +class DatabaseEdition(str, Enum): web = "Web" business = "Business" @@ -79,7 +87,7 @@ class DatabaseEdition(Enum): system2 = "System2" -class ServiceObjectiveName(Enum): +class ServiceObjectiveName(str, Enum): system = "System" system0 = "System0" @@ -148,133 +156,19 @@ class ServiceObjectiveName(Enum): elastic_pool = "ElasticPool" -class TransparentDataEncryptionStatus(Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class RecommendedIndexAction(Enum): - - create = "Create" - drop = "Drop" - rebuild = "Rebuild" - - -class RecommendedIndexState(Enum): - - active = "Active" - pending = "Pending" - executing = "Executing" - verifying = "Verifying" - pending_revert = "Pending Revert" - reverting = "Reverting" - reverted = "Reverted" - ignored = "Ignored" - expired = "Expired" - blocked = "Blocked" - success = "Success" - - -class RecommendedIndexType(Enum): - - clustered = "CLUSTERED" - nonclustered = "NONCLUSTERED" - columnstore = "COLUMNSTORE" - clusteredcolumnstore = "CLUSTERED COLUMNSTORE" - - -class ReadScale(Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class SampleName(Enum): - - adventure_works_lt = "AdventureWorksLT" - - -class TransparentDataEncryptionActivityStatus(Enum): - - encrypting = "Encrypting" - decrypting = "Decrypting" - - -class ElasticPoolEdition(Enum): - - basic = "Basic" - standard = "Standard" - premium = "Premium" - - -class SecurityAlertPolicyState(Enum): - - new = "New" - enabled = "Enabled" - disabled = "Disabled" - - -class SecurityAlertPolicyEmailAccountAdmins(Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class SecurityAlertPolicyUseServerDefault(Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class DataMaskingState(Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class DataMaskingRuleState(Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class DataMaskingFunction(Enum): - - default = "Default" - ccn = "CCN" - email = "Email" - number = "Number" - ssn = "SSN" - text = "Text" - - -class ElasticPoolState(Enum): - - creating = "Creating" - ready = "Ready" - disabled = "Disabled" - - -class GeoBackupPolicyState(Enum): - - disabled = "Disabled" - enabled = "Enabled" - - -class StorageKeyType(Enum): +class StorageKeyType(str, Enum): storage_access_key = "StorageAccessKey" shared_access_key = "SharedAccessKey" -class AuthenticationType(Enum): +class AuthenticationType(str, Enum): sql = "SQL" ad_password = "ADPassword" -class UnitType(Enum): +class UnitType(str, Enum): count = "count" bytes = "bytes" @@ -284,7 +178,7 @@ class UnitType(Enum): bytes_per_second = "bytesPerSecond" -class PrimaryAggregationType(Enum): +class PrimaryAggregationType(str, Enum): none = "None" average = "Average" @@ -294,7 +188,7 @@ class PrimaryAggregationType(Enum): total = "Total" -class UnitDefinitionType(Enum): +class UnitDefinitionType(str, Enum): count = "Count" bytes = "Bytes" @@ -304,7 +198,14 @@ class UnitDefinitionType(Enum): bytes_per_second = "BytesPerSecond" -class ReplicationRole(Enum): +class ElasticPoolEdition(str, Enum): + + basic = "Basic" + standard = "Standard" + premium = "Premium" + + +class ReplicationRole(str, Enum): primary = "Primary" secondary = "Secondary" @@ -313,7 +214,7 @@ class ReplicationRole(Enum): copy = "Copy" -class ReplicationState(Enum): +class ReplicationState(str, Enum): pending = "PENDING" seeding = "SEEDING" @@ -321,13 +222,55 @@ class ReplicationState(Enum): suspended = "SUSPENDED" -class BlobAuditingPolicyState(Enum): +class RecommendedIndexAction(str, Enum): + + create = "Create" + drop = "Drop" + rebuild = "Rebuild" + + +class RecommendedIndexState(str, Enum): + + active = "Active" + pending = "Pending" + executing = "Executing" + verifying = "Verifying" + pending_revert = "Pending Revert" + reverting = "Reverting" + reverted = "Reverted" + ignored = "Ignored" + expired = "Expired" + blocked = "Blocked" + success = "Success" + + +class RecommendedIndexType(str, Enum): + + clustered = "CLUSTERED" + nonclustered = "NONCLUSTERED" + columnstore = "COLUMNSTORE" + clusteredcolumnstore = "CLUSTERED COLUMNSTORE" + + +class TransparentDataEncryptionStatus(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class TransparentDataEncryptionActivityStatus(str, Enum): + + encrypting = "Encrypting" + decrypting = "Decrypting" + + +class BlobAuditingPolicyState(str, Enum): enabled = "Enabled" disabled = "Disabled" -class AutomaticTuningMode(Enum): +class AutomaticTuningMode(str, Enum): inherit = "Inherit" custom = "Custom" @@ -335,20 +278,20 @@ class AutomaticTuningMode(Enum): unspecified = "Unspecified" -class AutomaticTuningOptionModeDesired(Enum): +class AutomaticTuningOptionModeDesired(str, Enum): off = "Off" on = "On" default = "Default" -class AutomaticTuningOptionModeActual(Enum): +class AutomaticTuningOptionModeActual(str, Enum): off = "Off" on = "On" -class AutomaticTuningDisabledReason(Enum): +class AutomaticTuningDisabledReason(str, Enum): default = "Default" disabled = "Disabled" @@ -359,55 +302,55 @@ class AutomaticTuningDisabledReason(Enum): not_supported = "NotSupported" -class ServerKeyType(Enum): +class ServerKeyType(str, Enum): service_managed = "ServiceManaged" azure_key_vault = "AzureKeyVault" -class ReadWriteEndpointFailoverPolicy(Enum): +class ReadWriteEndpointFailoverPolicy(str, Enum): manual = "Manual" automatic = "Automatic" -class ReadOnlyEndpointFailoverPolicy(Enum): +class ReadOnlyEndpointFailoverPolicy(str, Enum): disabled = "Disabled" enabled = "Enabled" -class FailoverGroupReplicationRole(Enum): +class FailoverGroupReplicationRole(str, Enum): primary = "Primary" secondary = "Secondary" -class OperationOrigin(Enum): +class IdentityType(str, Enum): - user = "user" - system = "system" + system_assigned = "SystemAssigned" -class IdentityType(Enum): +class OperationOrigin(str, Enum): - system_assigned = "SystemAssigned" + user = "user" + system = "system" -class SyncAgentState(Enum): +class SyncAgentState(str, Enum): online = "Online" offline = "Offline" never_connected = "NeverConnected" -class SyncMemberDbType(Enum): +class SyncMemberDbType(str, Enum): azure_sql_database = "AzureSqlDatabase" sql_server_database = "SqlServerDatabase" -class SyncGroupLogType(Enum): +class SyncGroupLogType(str, Enum): all = "All" error = "Error" @@ -415,13 +358,13 @@ class SyncGroupLogType(Enum): success = "Success" -class SyncConflictResolutionPolicy(Enum): +class SyncConflictResolutionPolicy(str, Enum): hub_win = "HubWin" member_win = "MemberWin" -class SyncGroupState(Enum): +class SyncGroupState(str, Enum): not_ready = "NotReady" error = "Error" @@ -430,14 +373,14 @@ class SyncGroupState(Enum): good = "Good" -class SyncDirection(Enum): +class SyncDirection(str, Enum): bidirectional = "Bidirectional" one_way_member_to_hub = "OneWayMemberToHub" one_way_hub_to_member = "OneWayHubToMember" -class SyncMemberState(Enum): +class SyncMemberState(str, Enum): sync_in_progress = "SyncInProgress" sync_succeeded = "SyncSucceeded" @@ -459,7 +402,7 @@ class SyncMemberState(Enum): un_reprovisioned = "UnReprovisioned" -class VirtualNetworkRuleState(Enum): +class VirtualNetworkRuleState(str, Enum): initializing = "Initializing" in_progress = "InProgress" @@ -468,27 +411,117 @@ class VirtualNetworkRuleState(Enum): unknown = "Unknown" -class AutomaticTuningServerMode(Enum): +class JobAgentState(str, Enum): + + creating = "Creating" + ready = "Ready" + updating = "Updating" + deleting = "Deleting" + disabled = "Disabled" + + +class JobExecutionLifecycle(str, Enum): + + created = "Created" + in_progress = "InProgress" + waiting_for_child_job_executions = "WaitingForChildJobExecutions" + waiting_for_retry = "WaitingForRetry" + succeeded = "Succeeded" + succeeded_with_skipped = "SucceededWithSkipped" + failed = "Failed" + timed_out = "TimedOut" + canceled = "Canceled" + skipped = "Skipped" + + +class ProvisioningState(str, Enum): + + created = "Created" + in_progress = "InProgress" + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + + +class JobTargetType(str, Enum): + + target_group = "TargetGroup" + sql_database = "SqlDatabase" + sql_elastic_pool = "SqlElasticPool" + sql_shard_map = "SqlShardMap" + sql_server = "SqlServer" + + +class JobScheduleType(str, Enum): + + once = "Once" + recurring = "Recurring" + + +class JobStepActionType(str, Enum): + + tsql = "TSql" + + +class JobStepActionSource(str, Enum): + + inline = "Inline" + + +class JobStepOutputType(str, Enum): + + sql_database = "SqlDatabase" + + +class JobTargetGroupMembershipType(str, Enum): + + include = "Include" + exclude = "Exclude" + + +class ManagedDatabaseStatus(str, Enum): + + online = "Online" + offline = "Offline" + shutdown = "Shutdown" + creating = "Creating" + inaccessible = "Inaccessible" + + +class CatalogCollationType(str, Enum): + + database_default = "DATABASE_DEFAULT" + sql_latin1_general_cp1_ci_as = "SQL_Latin1_General_CP1_CI_AS" + + +class ManagedDatabaseCreateMode(str, Enum): + + default = "Default" + restore_external_backup = "RestoreExternalBackup" + point_in_time_restore = "PointInTimeRestore" + + +class AutomaticTuningServerMode(str, Enum): custom = "Custom" auto = "Auto" unspecified = "Unspecified" -class AutomaticTuningServerReason(Enum): +class AutomaticTuningServerReason(str, Enum): default = "Default" disabled = "Disabled" auto_configured = "AutoConfigured" -class RestorePointType(Enum): +class RestorePointType(str, Enum): continuous = "CONTINUOUS" discrete = "DISCRETE" -class ManagementOperationState(Enum): +class ManagementOperationState(str, Enum): pending = "Pending" in_progress = "InProgress" @@ -496,3 +529,136 @@ class ManagementOperationState(Enum): failed = "Failed" cancel_in_progress = "CancelInProgress" cancelled = "Cancelled" + + +class MaxSizeUnit(str, Enum): + + megabytes = "Megabytes" + gigabytes = "Gigabytes" + terabytes = "Terabytes" + petabytes = "Petabytes" + + +class LogSizeUnit(str, Enum): + + megabytes = "Megabytes" + gigabytes = "Gigabytes" + terabytes = "Terabytes" + petabytes = "Petabytes" + percent = "Percent" + + +class CapabilityStatus(str, Enum): + + visible = "Visible" + available = "Available" + default = "Default" + disabled = "Disabled" + + +class PerformanceLevelUnit(str, Enum): + + dtu = "DTU" + vcores = "VCores" + + +class CreateMode(str, Enum): + + default = "Default" + copy = "Copy" + secondary = "Secondary" + point_in_time_restore = "PointInTimeRestore" + restore = "Restore" + recovery = "Recovery" + restore_external_backup = "RestoreExternalBackup" + restore_external_backup_secondary = "RestoreExternalBackupSecondary" + restore_long_term_retention_backup = "RestoreLongTermRetentionBackup" + online_secondary = "OnlineSecondary" + + +class SampleName(str, Enum): + + adventure_works_lt = "AdventureWorksLT" + wide_world_importers_std = "WideWorldImportersStd" + wide_world_importers_full = "WideWorldImportersFull" + + +class DatabaseStatus(str, Enum): + + online = "Online" + restoring = "Restoring" + recovery_pending = "RecoveryPending" + recovering = "Recovering" + suspect = "Suspect" + offline = "Offline" + standby = "Standby" + shutdown = "Shutdown" + emergency_mode = "EmergencyMode" + auto_closed = "AutoClosed" + copying = "Copying" + creating = "Creating" + inaccessible = "Inaccessible" + offline_secondary = "OfflineSecondary" + pausing = "Pausing" + paused = "Paused" + resuming = "Resuming" + scaling = "Scaling" + + +class DatabaseLicenseType(str, Enum): + + license_included = "LicenseIncluded" + base_price = "BasePrice" + + +class DatabaseReadScale(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ElasticPoolState(str, Enum): + + creating = "Creating" + ready = "Ready" + disabled = "Disabled" + + +class ElasticPoolLicenseType(str, Enum): + + license_included = "LicenseIncluded" + base_price = "BasePrice" + + +class VulnerabilityAssessmentScanTriggerType(str, Enum): + + on_demand = "OnDemand" + recurring = "Recurring" + + +class VulnerabilityAssessmentScanState(str, Enum): + + passed = "Passed" + failed = "Failed" + failed_to_run = "FailedToRun" + in_progress = "InProgress" + + +class InstanceFailoverGroupReplicationRole(str, Enum): + + primary = "Primary" + secondary = "Secondary" + + +class LongTermRetentionDatabaseState(str, Enum): + + all = "All" + live = "Live" + deleted = "Deleted" + + +class CapabilityGroup(str, Enum): + + supported_editions = "supportedEditions" + supported_elastic_pool_editions = "supportedElasticPoolEditions" + supported_managed_instance_versions = "supportedManagedInstanceVersions" diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage.py b/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage.py index 128c0909b92b..5fe0b0fe90a0 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage.py @@ -54,8 +54,8 @@ class SubscriptionUsage(ProxyResource): 'unit': {'key': 'properties.unit', 'type': 'str'}, } - def __init__(self): - super(SubscriptionUsage, self).__init__() + def __init__(self, **kwargs): + super(SubscriptionUsage, self).__init__(**kwargs) self.display_name = None self.current_value = None self.limit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage_py3.py new file mode 100644 index 000000000000..d55e3275a74b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/subscription_usage_py3.py @@ -0,0 +1,62 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class SubscriptionUsage(ProxyResource): + """Usage Metric of a Subscription in a Location. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: User-readable name of the metric. + :vartype display_name: str + :ivar current_value: Current value of the metric. + :vartype current_value: float + :ivar limit: Boundary value of the metric. + :vartype limit: float + :ivar unit: Unit of the metric. + :vartype unit: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'float'}, + 'limit': {'key': 'properties.limit', 'type': 'float'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SubscriptionUsage, self).__init__(**kwargs) + self.display_name = None + self.current_value = None + self.limit = None + self.unit = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent.py index d6dd5821bdb3..c617de5bdf26 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent.py @@ -67,10 +67,10 @@ class SyncAgent(ProxyResource): 'version': {'key': 'properties.version', 'type': 'str'}, } - def __init__(self, sync_database_id=None): - super(SyncAgent, self).__init__() + def __init__(self, **kwargs): + super(SyncAgent, self).__init__(**kwargs) self.sync_agent_name = None - self.sync_database_id = sync_database_id + self.sync_database_id = kwargs.get('sync_database_id', None) self.last_alive_time = None self.state = None self.is_up_to_date = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties.py index 0a59841cee14..da65194bc61a 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties.py @@ -30,6 +30,6 @@ class SyncAgentKeyProperties(Model): 'sync_agent_key': {'key': 'syncAgentKey', 'type': 'str'}, } - def __init__(self): - super(SyncAgentKeyProperties, self).__init__() + def __init__(self, **kwargs): + super(SyncAgentKeyProperties, self).__init__(**kwargs) self.sync_agent_key = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties_py3.py new file mode 100644 index 000000000000..4230f4d95712 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_key_properties_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncAgentKeyProperties(Model): + """Properties of an Azure SQL Database sync agent key. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar sync_agent_key: Key of sync agent. + :vartype sync_agent_key: str + """ + + _validation = { + 'sync_agent_key': {'readonly': True}, + } + + _attribute_map = { + 'sync_agent_key': {'key': 'syncAgentKey', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncAgentKeyProperties, self).__init__(**kwargs) + self.sync_agent_key = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database.py index 8eca4a46cd8e..597c51388f47 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database.py @@ -63,8 +63,8 @@ class SyncAgentLinkedDatabase(ProxyResource): 'user_name': {'key': 'properties.userName', 'type': 'str'}, } - def __init__(self): - super(SyncAgentLinkedDatabase, self).__init__() + def __init__(self, **kwargs): + super(SyncAgentLinkedDatabase, self).__init__(**kwargs) self.database_type = None self.database_id = None self.description = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database_py3.py new file mode 100644 index 000000000000..7d92287e1a37 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_linked_database_py3.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class SyncAgentLinkedDatabase(ProxyResource): + """An Azure SQL Database sync agent linked database. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar database_type: Type of the sync agent linked database. Possible + values include: 'AzureSqlDatabase', 'SqlServerDatabase' + :vartype database_type: str or ~azure.mgmt.sql.models.SyncMemberDbType + :ivar database_id: Id of the sync agent linked database. + :vartype database_id: str + :ivar description: Description of the sync agent linked database. + :vartype description: str + :ivar server_name: Server name of the sync agent linked database. + :vartype server_name: str + :ivar database_name: Database name of the sync agent linked database. + :vartype database_name: str + :ivar user_name: User name of the sync agent linked database. + :vartype user_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'database_type': {'readonly': True}, + 'database_id': {'readonly': True}, + 'description': {'readonly': True}, + 'server_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'user_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'database_type': {'key': 'properties.databaseType', 'type': 'str'}, + 'database_id': {'key': 'properties.databaseId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncAgentLinkedDatabase, self).__init__(**kwargs) + self.database_type = None + self.database_id = None + self.description = None + self.server_name = None + self.database_name = None + self.user_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_py3.py new file mode 100644 index 000000000000..f07649750457 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_agent_py3.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class SyncAgent(ProxyResource): + """An Azure SQL Database sync agent. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar sync_agent_name: Name of the sync agent. + :vartype sync_agent_name: str + :param sync_database_id: ARM resource id of the sync database in the sync + agent. + :type sync_database_id: str + :ivar last_alive_time: Last alive time of the sync agent. + :vartype last_alive_time: datetime + :ivar state: State of the sync agent. Possible values include: 'Online', + 'Offline', 'NeverConnected' + :vartype state: str or ~azure.mgmt.sql.models.SyncAgentState + :ivar is_up_to_date: If the sync agent version is up to date. + :vartype is_up_to_date: bool + :ivar expiry_time: Expiration time of the sync agent version. + :vartype expiry_time: datetime + :ivar version: Version of the sync agent. + :vartype version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sync_agent_name': {'readonly': True}, + 'last_alive_time': {'readonly': True}, + 'state': {'readonly': True}, + 'is_up_to_date': {'readonly': True}, + 'expiry_time': {'readonly': True}, + 'version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sync_agent_name': {'key': 'properties.name', 'type': 'str'}, + 'sync_database_id': {'key': 'properties.syncDatabaseId', 'type': 'str'}, + 'last_alive_time': {'key': 'properties.lastAliveTime', 'type': 'iso-8601'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'is_up_to_date': {'key': 'properties.isUpToDate', 'type': 'bool'}, + 'expiry_time': {'key': 'properties.expiryTime', 'type': 'iso-8601'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + } + + def __init__(self, *, sync_database_id: str=None, **kwargs) -> None: + super(SyncAgent, self).__init__(**kwargs) + self.sync_agent_name = None + self.sync_database_id = sync_database_id + self.last_alive_time = None + self.state = None + self.is_up_to_date = None + self.expiry_time = None + self.version = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties.py index 513dc81038ed..6dd5a323fd61 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties.py @@ -30,6 +30,6 @@ class SyncDatabaseIdProperties(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self): - super(SyncDatabaseIdProperties, self).__init__() + def __init__(self, **kwargs): + super(SyncDatabaseIdProperties, self).__init__(**kwargs) self.id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties_py3.py new file mode 100644 index 000000000000..cdb7ce89c435 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_database_id_properties_py3.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncDatabaseIdProperties(Model): + """Properties of the sync database id. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: ARM resource id of sync database. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncDatabaseIdProperties, self).__init__(**kwargs) + self.id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties.py index d3d414986b30..984d4c7a5d56 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties.py @@ -34,7 +34,7 @@ class SyncFullSchemaProperties(Model): 'last_update_time': {'key': 'lastUpdateTime', 'type': 'iso-8601'}, } - def __init__(self): - super(SyncFullSchemaProperties, self).__init__() + def __init__(self, **kwargs): + super(SyncFullSchemaProperties, self).__init__(**kwargs) self.tables = None self.last_update_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties_py3.py new file mode 100644 index 000000000000..b3d4a75c65bf --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_properties_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncFullSchemaProperties(Model): + """Properties of the database full schema. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tables: List of tables in the database full schema. + :vartype tables: list[~azure.mgmt.sql.models.SyncFullSchemaTable] + :ivar last_update_time: Last update time of the database schema. + :vartype last_update_time: datetime + """ + + _validation = { + 'tables': {'readonly': True}, + 'last_update_time': {'readonly': True}, + } + + _attribute_map = { + 'tables': {'key': 'tables', 'type': '[SyncFullSchemaTable]'}, + 'last_update_time': {'key': 'lastUpdateTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncFullSchemaProperties, self).__init__(**kwargs) + self.tables = None + self.last_update_time = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table.py index f8016e1f6cfb..dcec31c48f1c 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table.py @@ -46,8 +46,8 @@ class SyncFullSchemaTable(Model): 'quoted_name': {'key': 'quotedName', 'type': 'str'}, } - def __init__(self): - super(SyncFullSchemaTable, self).__init__() + def __init__(self, **kwargs): + super(SyncFullSchemaTable, self).__init__(**kwargs) self.columns = None self.error_id = None self.has_error = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column.py index bd0d5f167c7e..8eaa3659873b 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column.py @@ -54,8 +54,8 @@ class SyncFullSchemaTableColumn(Model): 'quoted_name': {'key': 'quotedName', 'type': 'str'}, } - def __init__(self): - super(SyncFullSchemaTableColumn, self).__init__() + def __init__(self, **kwargs): + super(SyncFullSchemaTableColumn, self).__init__(**kwargs) self.data_size = None self.data_type = None self.error_id = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column_py3.py new file mode 100644 index 000000000000..33df54b37b59 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_column_py3.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncFullSchemaTableColumn(Model): + """Properties of the column in the table of database full schema. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar data_size: Data size of the column. + :vartype data_size: str + :ivar data_type: Data type of the column. + :vartype data_type: str + :ivar error_id: Error id of the column. + :vartype error_id: str + :ivar has_error: If there is error in the table. + :vartype has_error: bool + :ivar is_primary_key: If it is the primary key of the table. + :vartype is_primary_key: bool + :ivar name: Name of the column. + :vartype name: str + :ivar quoted_name: Quoted name of the column. + :vartype quoted_name: str + """ + + _validation = { + 'data_size': {'readonly': True}, + 'data_type': {'readonly': True}, + 'error_id': {'readonly': True}, + 'has_error': {'readonly': True}, + 'is_primary_key': {'readonly': True}, + 'name': {'readonly': True}, + 'quoted_name': {'readonly': True}, + } + + _attribute_map = { + 'data_size': {'key': 'dataSize', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'error_id': {'key': 'errorId', 'type': 'str'}, + 'has_error': {'key': 'hasError', 'type': 'bool'}, + 'is_primary_key': {'key': 'isPrimaryKey', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'quoted_name': {'key': 'quotedName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncFullSchemaTableColumn, self).__init__(**kwargs) + self.data_size = None + self.data_type = None + self.error_id = None + self.has_error = None + self.is_primary_key = None + self.name = None + self.quoted_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_py3.py new file mode 100644 index 000000000000..194f50826875 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_full_schema_table_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncFullSchemaTable(Model): + """Properties of the table in the database full schema. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar columns: List of columns in the table of database full schema. + :vartype columns: list[~azure.mgmt.sql.models.SyncFullSchemaTableColumn] + :ivar error_id: Error id of the table. + :vartype error_id: str + :ivar has_error: If there is error in the table. + :vartype has_error: bool + :ivar name: Name of the table. + :vartype name: str + :ivar quoted_name: Quoted name of the table. + :vartype quoted_name: str + """ + + _validation = { + 'columns': {'readonly': True}, + 'error_id': {'readonly': True}, + 'has_error': {'readonly': True}, + 'name': {'readonly': True}, + 'quoted_name': {'readonly': True}, + } + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[SyncFullSchemaTableColumn]'}, + 'error_id': {'key': 'errorId', 'type': 'str'}, + 'has_error': {'key': 'hasError', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'quoted_name': {'key': 'quotedName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncFullSchemaTable, self).__init__(**kwargs) + self.columns = None + self.error_id = None + self.has_error = None + self.name = None + self.quoted_name = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group.py index 2d3fbf533e88..5a252358a340 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group.py @@ -70,13 +70,13 @@ class SyncGroup(ProxyResource): 'schema': {'key': 'properties.schema', 'type': 'SyncGroupSchema'}, } - def __init__(self, interval=None, conflict_resolution_policy=None, sync_database_id=None, hub_database_user_name=None, hub_database_password=None, schema=None): - super(SyncGroup, self).__init__() - self.interval = interval + def __init__(self, **kwargs): + super(SyncGroup, self).__init__(**kwargs) + self.interval = kwargs.get('interval', None) self.last_sync_time = None - self.conflict_resolution_policy = conflict_resolution_policy - self.sync_database_id = sync_database_id - self.hub_database_user_name = hub_database_user_name - self.hub_database_password = hub_database_password + self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) + self.sync_database_id = kwargs.get('sync_database_id', None) + self.hub_database_user_name = kwargs.get('hub_database_user_name', None) + self.hub_database_password = kwargs.get('hub_database_password', None) self.sync_state = None - self.schema = schema + self.schema = kwargs.get('schema', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties.py index 170f5578c397..22cb584b67be 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties.py @@ -51,8 +51,8 @@ class SyncGroupLogProperties(Model): 'operation_status': {'key': 'operationStatus', 'type': 'str'}, } - def __init__(self): - super(SyncGroupLogProperties, self).__init__() + def __init__(self, **kwargs): + super(SyncGroupLogProperties, self).__init__(**kwargs) self.timestamp = None self.type = None self.source = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties_py3.py new file mode 100644 index 000000000000..067424b40232 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_log_properties_py3.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncGroupLogProperties(Model): + """Properties of an Azure SQL Database sync group log. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Timestamp of the sync group log. + :vartype timestamp: datetime + :ivar type: Type of the sync group log. Possible values include: 'All', + 'Error', 'Warning', 'Success' + :vartype type: str or ~azure.mgmt.sql.models.SyncGroupLogType + :ivar source: Source of the sync group log. + :vartype source: str + :ivar details: Details of the sync group log. + :vartype details: str + :ivar tracing_id: TracingId of the sync group log. + :vartype tracing_id: str + :ivar operation_status: OperationStatus of the sync group log. + :vartype operation_status: str + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'type': {'readonly': True}, + 'source': {'readonly': True}, + 'details': {'readonly': True}, + 'tracing_id': {'readonly': True}, + 'operation_status': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'details': {'key': 'details', 'type': 'str'}, + 'tracing_id': {'key': 'tracingId', 'type': 'str'}, + 'operation_status': {'key': 'operationStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SyncGroupLogProperties, self).__init__(**kwargs) + self.timestamp = None + self.type = None + self.source = None + self.details = None + self.tracing_id = None + self.operation_status = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_py3.py new file mode 100644 index 000000000000..1654af79245f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_py3.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class SyncGroup(ProxyResource): + """An Azure SQL Database sync group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param interval: Sync interval of the sync group. + :type interval: int + :ivar last_sync_time: Last sync time of the sync group. + :vartype last_sync_time: datetime + :param conflict_resolution_policy: Conflict resolution policy of the sync + group. Possible values include: 'HubWin', 'MemberWin' + :type conflict_resolution_policy: str or + ~azure.mgmt.sql.models.SyncConflictResolutionPolicy + :param sync_database_id: ARM resource id of the sync database in the sync + group. + :type sync_database_id: str + :param hub_database_user_name: User name for the sync group hub database + credential. + :type hub_database_user_name: str + :param hub_database_password: Password for the sync group hub database + credential. + :type hub_database_password: str + :ivar sync_state: Sync state of the sync group. Possible values include: + 'NotReady', 'Error', 'Warning', 'Progressing', 'Good' + :vartype sync_state: str or ~azure.mgmt.sql.models.SyncGroupState + :param schema: Sync schema of the sync group. + :type schema: ~azure.mgmt.sql.models.SyncGroupSchema + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'last_sync_time': {'readonly': True}, + 'sync_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'last_sync_time': {'key': 'properties.lastSyncTime', 'type': 'iso-8601'}, + 'conflict_resolution_policy': {'key': 'properties.conflictResolutionPolicy', 'type': 'str'}, + 'sync_database_id': {'key': 'properties.syncDatabaseId', 'type': 'str'}, + 'hub_database_user_name': {'key': 'properties.hubDatabaseUserName', 'type': 'str'}, + 'hub_database_password': {'key': 'properties.hubDatabasePassword', 'type': 'str'}, + 'sync_state': {'key': 'properties.syncState', 'type': 'str'}, + 'schema': {'key': 'properties.schema', 'type': 'SyncGroupSchema'}, + } + + def __init__(self, *, interval: int=None, conflict_resolution_policy=None, sync_database_id: str=None, hub_database_user_name: str=None, hub_database_password: str=None, schema=None, **kwargs) -> None: + super(SyncGroup, self).__init__(**kwargs) + self.interval = interval + self.last_sync_time = None + self.conflict_resolution_policy = conflict_resolution_policy + self.sync_database_id = sync_database_id + self.hub_database_user_name = hub_database_user_name + self.hub_database_password = hub_database_password + self.sync_state = None + self.schema = schema diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema.py index 1d1161572e6d..ece05d7301d0 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema.py @@ -27,7 +27,7 @@ class SyncGroupSchema(Model): 'master_sync_member_name': {'key': 'masterSyncMemberName', 'type': 'str'}, } - def __init__(self, tables=None, master_sync_member_name=None): - super(SyncGroupSchema, self).__init__() - self.tables = tables - self.master_sync_member_name = master_sync_member_name + def __init__(self, **kwargs): + super(SyncGroupSchema, self).__init__(**kwargs) + self.tables = kwargs.get('tables', None) + self.master_sync_member_name = kwargs.get('master_sync_member_name', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_py3.py new file mode 100644 index 000000000000..b26d4b1b791c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_py3.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncGroupSchema(Model): + """Properties of sync group schema. + + :param tables: List of tables in sync group schema. + :type tables: list[~azure.mgmt.sql.models.SyncGroupSchemaTable] + :param master_sync_member_name: Name of master sync member where the + schema is from. + :type master_sync_member_name: str + """ + + _attribute_map = { + 'tables': {'key': 'tables', 'type': '[SyncGroupSchemaTable]'}, + 'master_sync_member_name': {'key': 'masterSyncMemberName', 'type': 'str'}, + } + + def __init__(self, *, tables=None, master_sync_member_name: str=None, **kwargs) -> None: + super(SyncGroupSchema, self).__init__(**kwargs) + self.tables = tables + self.master_sync_member_name = master_sync_member_name diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table.py index 69f6f654394b..cf83bba5825d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table.py @@ -26,7 +26,7 @@ class SyncGroupSchemaTable(Model): 'quoted_name': {'key': 'quotedName', 'type': 'str'}, } - def __init__(self, columns=None, quoted_name=None): - super(SyncGroupSchemaTable, self).__init__() - self.columns = columns - self.quoted_name = quoted_name + def __init__(self, **kwargs): + super(SyncGroupSchemaTable, self).__init__(**kwargs) + self.columns = kwargs.get('columns', None) + self.quoted_name = kwargs.get('quoted_name', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column.py index 56c962038bc1..705810d1d2a3 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column.py @@ -29,8 +29,8 @@ class SyncGroupSchemaTableColumn(Model): 'data_type': {'key': 'dataType', 'type': 'str'}, } - def __init__(self, quoted_name=None, data_size=None, data_type=None): - super(SyncGroupSchemaTableColumn, self).__init__() - self.quoted_name = quoted_name - self.data_size = data_size - self.data_type = data_type + def __init__(self, **kwargs): + super(SyncGroupSchemaTableColumn, self).__init__(**kwargs) + self.quoted_name = kwargs.get('quoted_name', None) + self.data_size = kwargs.get('data_size', None) + self.data_type = kwargs.get('data_type', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column_py3.py new file mode 100644 index 000000000000..bb8cce2d8c34 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_column_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncGroupSchemaTableColumn(Model): + """Properties of column in sync group table. + + :param quoted_name: Quoted name of sync group table column. + :type quoted_name: str + :param data_size: Data size of the column. + :type data_size: str + :param data_type: Data type of the column. + :type data_type: str + """ + + _attribute_map = { + 'quoted_name': {'key': 'quotedName', 'type': 'str'}, + 'data_size': {'key': 'dataSize', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + } + + def __init__(self, *, quoted_name: str=None, data_size: str=None, data_type: str=None, **kwargs) -> None: + super(SyncGroupSchemaTableColumn, self).__init__(**kwargs) + self.quoted_name = quoted_name + self.data_size = data_size + self.data_type = data_type diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_py3.py new file mode 100644 index 000000000000..ecbbd26a576d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_group_schema_table_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SyncGroupSchemaTable(Model): + """Properties of table in sync group schema. + + :param columns: List of columns in sync group schema. + :type columns: list[~azure.mgmt.sql.models.SyncGroupSchemaTableColumn] + :param quoted_name: Quoted name of sync group schema table. + :type quoted_name: str + """ + + _attribute_map = { + 'columns': {'key': 'columns', 'type': '[SyncGroupSchemaTableColumn]'}, + 'quoted_name': {'key': 'quotedName', 'type': 'str'}, + } + + def __init__(self, *, columns=None, quoted_name: str=None, **kwargs) -> None: + super(SyncGroupSchemaTable, self).__init__(**kwargs) + self.columns = columns + self.quoted_name = quoted_name diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_member.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_member.py index 6ab3cd56f460..1474c6320dc1 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/sync_member.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_member.py @@ -76,14 +76,14 @@ class SyncMember(ProxyResource): 'sync_state': {'key': 'properties.syncState', 'type': 'str'}, } - def __init__(self, database_type=None, sync_agent_id=None, sql_server_database_id=None, server_name=None, database_name=None, user_name=None, password=None, sync_direction=None): - super(SyncMember, self).__init__() - self.database_type = database_type - self.sync_agent_id = sync_agent_id - self.sql_server_database_id = sql_server_database_id - self.server_name = server_name - self.database_name = database_name - self.user_name = user_name - self.password = password - self.sync_direction = sync_direction + def __init__(self, **kwargs): + super(SyncMember, self).__init__(**kwargs) + self.database_type = kwargs.get('database_type', None) + self.sync_agent_id = kwargs.get('sync_agent_id', None) + self.sql_server_database_id = kwargs.get('sql_server_database_id', None) + self.server_name = kwargs.get('server_name', None) + self.database_name = kwargs.get('database_name', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.sync_direction = kwargs.get('sync_direction', None) self.sync_state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/sync_member_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/sync_member_py3.py new file mode 100644 index 000000000000..50cf8fe2d65c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/sync_member_py3.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class SyncMember(ProxyResource): + """An Azure SQL Database sync member. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param database_type: Database type of the sync member. Possible values + include: 'AzureSqlDatabase', 'SqlServerDatabase' + :type database_type: str or ~azure.mgmt.sql.models.SyncMemberDbType + :param sync_agent_id: ARM resource id of the sync agent in the sync + member. + :type sync_agent_id: str + :param sql_server_database_id: SQL Server database id of the sync member. + :type sql_server_database_id: str + :param server_name: Server name of the member database in the sync member + :type server_name: str + :param database_name: Database name of the member database in the sync + member. + :type database_name: str + :param user_name: User name of the member database in the sync member. + :type user_name: str + :param password: Password of the member database in the sync member. + :type password: str + :param sync_direction: Sync direction of the sync member. Possible values + include: 'Bidirectional', 'OneWayMemberToHub', 'OneWayHubToMember' + :type sync_direction: str or ~azure.mgmt.sql.models.SyncDirection + :ivar sync_state: Sync state of the sync member. Possible values include: + 'SyncInProgress', 'SyncSucceeded', 'SyncFailed', + 'DisabledTombstoneCleanup', 'DisabledBackupRestore', + 'SyncSucceededWithWarnings', 'SyncCancelling', 'SyncCancelled', + 'UnProvisioned', 'Provisioning', 'Provisioned', 'ProvisionFailed', + 'DeProvisioning', 'DeProvisioned', 'DeProvisionFailed', 'Reprovisioning', + 'ReprovisionFailed', 'UnReprovisioned' + :vartype sync_state: str or ~azure.mgmt.sql.models.SyncMemberState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sync_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'database_type': {'key': 'properties.databaseType', 'type': 'str'}, + 'sync_agent_id': {'key': 'properties.syncAgentId', 'type': 'str'}, + 'sql_server_database_id': {'key': 'properties.sqlServerDatabaseId', 'type': 'str'}, + 'server_name': {'key': 'properties.serverName', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'sync_direction': {'key': 'properties.syncDirection', 'type': 'str'}, + 'sync_state': {'key': 'properties.syncState', 'type': 'str'}, + } + + def __init__(self, *, database_type=None, sync_agent_id: str=None, sql_server_database_id: str=None, server_name: str=None, database_name: str=None, user_name: str=None, password: str=None, sync_direction=None, **kwargs) -> None: + super(SyncMember, self).__init__(**kwargs) + self.database_type = database_type + self.sync_agent_id = sync_agent_id + self.sql_server_database_id = sql_server_database_id + self.server_name = server_name + self.database_name = database_name + self.user_name = user_name + self.password = password + self.sync_direction = sync_direction + self.sync_state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource.py b/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource.py index b60f8ddede5f..71fc851de040 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource.py @@ -18,6 +18,8 @@ class TrackedResource(Resource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. @@ -26,7 +28,7 @@ class TrackedResource(Resource): :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: Resource location. + :param location: Required. Resource location. :type location: str """ @@ -45,7 +47,7 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, location, tags=None): - super(TrackedResource, self).__init__() - self.tags = tags - self.location = location + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource_py3.py new file mode 100644 index 000000000000..6375e9a90eba --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/tracked_resource_py3.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class TrackedResource(Resource): + """ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. Resource location. + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption.py b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption.py index 945d8e87dfe8..4270fa860c1d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption.py @@ -47,7 +47,7 @@ class TransparentDataEncryption(ProxyResource): 'status': {'key': 'properties.status', 'type': 'TransparentDataEncryptionStatus'}, } - def __init__(self, status=None): - super(TransparentDataEncryption, self).__init__() + def __init__(self, **kwargs): + super(TransparentDataEncryption, self).__init__(**kwargs) self.location = None - self.status = status + self.status = kwargs.get('status', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity.py b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity.py index 125579301047..60e9505eba4c 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity.py @@ -53,8 +53,8 @@ class TransparentDataEncryptionActivity(ProxyResource): 'percent_complete': {'key': 'properties.percentComplete', 'type': 'float'}, } - def __init__(self): - super(TransparentDataEncryptionActivity, self).__init__() + def __init__(self, **kwargs): + super(TransparentDataEncryptionActivity, self).__init__(**kwargs) self.location = None self.status = None self.percent_complete = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity_py3.py new file mode 100644 index 000000000000..9bf146137c20 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_activity_py3.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class TransparentDataEncryptionActivity(ProxyResource): + """Represents a database transparent data encryption Scan. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar status: The status of the database. Possible values include: + 'Encrypting', 'Decrypting' + :vartype status: str or + ~azure.mgmt.sql.models.TransparentDataEncryptionActivityStatus + :ivar percent_complete: The percent complete of the transparent data + encryption scan for a database. + :vartype percent_complete: float + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + 'percent_complete': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'percent_complete': {'key': 'properties.percentComplete', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(TransparentDataEncryptionActivity, self).__init__(**kwargs) + self.location = None + self.status = None + self.percent_complete = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault.py b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_py3.py similarity index 61% rename from azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault.py rename to azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_py3.py index c8d4cca98273..db2b2096f798 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/backup_long_term_retention_vault.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/transparent_data_encryption_py3.py @@ -9,11 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from .proxy_resource import ProxyResource +from .proxy_resource_py3 import ProxyResource -class BackupLongTermRetentionVault(ProxyResource): - """A backup long term retention vault. +class TransparentDataEncryption(ProxyResource): + """Represents a database transparent data encryption configuration. Variables are only populated by the server, and will be ignored when sending a request. @@ -24,11 +24,12 @@ class BackupLongTermRetentionVault(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str - :ivar location: The geo-location where the resource lives + :ivar location: Resource location. :vartype location: str - :param recovery_services_vault_resource_id: The azure recovery services - vault resource id - :type recovery_services_vault_resource_id: str + :param status: The status of the database transparent data encryption. + Possible values include: 'Enabled', 'Disabled' + :type status: str or + ~azure.mgmt.sql.models.TransparentDataEncryptionStatus """ _validation = { @@ -36,7 +37,6 @@ class BackupLongTermRetentionVault(ProxyResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'readonly': True}, - 'recovery_services_vault_resource_id': {'required': True}, } _attribute_map = { @@ -44,10 +44,10 @@ class BackupLongTermRetentionVault(ProxyResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'recovery_services_vault_resource_id': {'key': 'properties.recoveryServicesVaultResourceId', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'TransparentDataEncryptionStatus'}, } - def __init__(self, recovery_services_vault_resource_id): - super(BackupLongTermRetentionVault, self).__init__() + def __init__(self, *, status=None, **kwargs) -> None: + super(TransparentDataEncryption, self).__init__(**kwargs) self.location = None - self.recovery_services_vault_resource_id = recovery_services_vault_resource_id + self.status = status diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule.py b/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule.py index 16ee312c9aa1..0960e4289c66 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule.py +++ b/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule.py @@ -18,14 +18,16 @@ class VirtualNetworkRule(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to Azure. + :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param virtual_network_subnet_id: The ARM resource id of the virtual - network subnet. + :param virtual_network_subnet_id: Required. The ARM resource id of the + virtual network subnet. :type virtual_network_subnet_id: str :param ignore_missing_vnet_service_endpoint: Create firewall rule before the virtual network has vnet service endpoint enabled. @@ -52,8 +54,8 @@ class VirtualNetworkRule(ProxyResource): 'state': {'key': 'properties.state', 'type': 'str'}, } - def __init__(self, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None): - super(VirtualNetworkRule, self).__init__() - self.virtual_network_subnet_id = virtual_network_subnet_id - self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint + def __init__(self, **kwargs): + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_subnet_id = kwargs.get('virtual_network_subnet_id', None) + self.ignore_missing_vnet_service_endpoint = kwargs.get('ignore_missing_vnet_service_endpoint', None) self.state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule_py3.py new file mode 100644 index 000000000000..19e6bd30ff5e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/virtual_network_rule_py3.py @@ -0,0 +1,61 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class VirtualNetworkRule(ProxyResource): + """A virtual network rule. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param virtual_network_subnet_id: Required. The ARM resource id of the + virtual network subnet. + :type virtual_network_subnet_id: str + :param ignore_missing_vnet_service_endpoint: Create firewall rule before + the virtual network has vnet service endpoint enabled. + :type ignore_missing_vnet_service_endpoint: bool + :ivar state: Virtual Network Rule State. Possible values include: + 'Initializing', 'InProgress', 'Ready', 'Deleting', 'Unknown' + :vartype state: str or ~azure.mgmt.sql.models.VirtualNetworkRuleState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_subnet_id': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_subnet_id': {'key': 'properties.virtualNetworkSubnetId', 'type': 'str'}, + 'ignore_missing_vnet_service_endpoint': {'key': 'properties.ignoreMissingVnetServiceEndpoint', 'type': 'bool'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_subnet_id: str, ignore_missing_vnet_service_endpoint: bool=None, **kwargs) -> None: + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_subnet_id = virtual_network_subnet_id + self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint + self.state = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties.py new file mode 100644 index 000000000000..e7d424543f2b --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VulnerabilityAssessmentRecurringScansProperties(Model): + """Properties of a Vulnerability Assessment recurring scans. + + :param is_enabled: Recurring scans state. + :type is_enabled: bool + :param email_subscription_admins: Specifies that the schedule scan + notification will be is sent to the subscription administrators. Default + value: True . + :type email_subscription_admins: bool + :param emails: Specifies an array of e-mail addresses to which the scan + notification is sent. + :type emails: list[str] + """ + + _attribute_map = { + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'email_subscription_admins': {'key': 'emailSubscriptionAdmins', 'type': 'bool'}, + 'emails': {'key': 'emails', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VulnerabilityAssessmentRecurringScansProperties, self).__init__(**kwargs) + self.is_enabled = kwargs.get('is_enabled', None) + self.email_subscription_admins = kwargs.get('email_subscription_admins', True) + self.emails = kwargs.get('emails', None) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties_py3.py new file mode 100644 index 000000000000..3a55afaa0a5e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_recurring_scans_properties_py3.py @@ -0,0 +1,39 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VulnerabilityAssessmentRecurringScansProperties(Model): + """Properties of a Vulnerability Assessment recurring scans. + + :param is_enabled: Recurring scans state. + :type is_enabled: bool + :param email_subscription_admins: Specifies that the schedule scan + notification will be is sent to the subscription administrators. Default + value: True . + :type email_subscription_admins: bool + :param emails: Specifies an array of e-mail addresses to which the scan + notification is sent. + :type emails: list[str] + """ + + _attribute_map = { + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'email_subscription_admins': {'key': 'emailSubscriptionAdmins', 'type': 'bool'}, + 'emails': {'key': 'emails', 'type': '[str]'}, + } + + def __init__(self, *, is_enabled: bool=None, email_subscription_admins: bool=True, emails=None, **kwargs) -> None: + super(VulnerabilityAssessmentRecurringScansProperties, self).__init__(**kwargs) + self.is_enabled = is_enabled + self.email_subscription_admins = email_subscription_admins + self.emails = emails diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error.py new file mode 100644 index 000000000000..1d465691ba60 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VulnerabilityAssessmentScanError(Model): + """Properties of a vulnerability assessment scan error. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VulnerabilityAssessmentScanError, self).__init__(**kwargs) + self.code = None + self.message = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error_py3.py new file mode 100644 index 000000000000..93c13998eb25 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_error_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class VulnerabilityAssessmentScanError(Model): + """Properties of a vulnerability assessment scan error. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VulnerabilityAssessmentScanError, self).__init__(**kwargs) + self.code = None + self.message = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record.py new file mode 100644 index 000000000000..67a6d163f90c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource import ProxyResource + + +class VulnerabilityAssessmentScanRecord(ProxyResource): + """A vulnerability assessment scan record. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar scan_id: The scan ID. + :vartype scan_id: str + :ivar trigger_type: The scan trigger type. Possible values include: + 'OnDemand', 'Recurring' + :vartype trigger_type: str or + ~azure.mgmt.sql.models.VulnerabilityAssessmentScanTriggerType + :ivar state: The scan status. Possible values include: 'Passed', 'Failed', + 'FailedToRun', 'InProgress' + :vartype state: str or + ~azure.mgmt.sql.models.VulnerabilityAssessmentScanState + :ivar start_time: The scan start time (UTC). + :vartype start_time: datetime + :ivar end_time: The scan end time (UTC). + :vartype end_time: datetime + :ivar errors: The scan errors. + :vartype errors: + list[~azure.mgmt.sql.models.VulnerabilityAssessmentScanError] + :ivar storage_container_path: The scan results storage container path. + :vartype storage_container_path: str + :ivar number_of_failed_security_checks: The number of failed security + checks. + :vartype number_of_failed_security_checks: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'scan_id': {'readonly': True}, + 'trigger_type': {'readonly': True}, + 'state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'errors': {'readonly': True}, + 'storage_container_path': {'readonly': True}, + 'number_of_failed_security_checks': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'scan_id': {'key': 'properties.scanId', 'type': 'str'}, + 'trigger_type': {'key': 'properties.triggerType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'errors': {'key': 'properties.errors', 'type': '[VulnerabilityAssessmentScanError]'}, + 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, + 'number_of_failed_security_checks': {'key': 'properties.numberOfFailedSecurityChecks', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VulnerabilityAssessmentScanRecord, self).__init__(**kwargs) + self.scan_id = None + self.trigger_type = None + self.state = None + self.start_time = None + self.end_time = None + self.errors = None + self.storage_container_path = None + self.number_of_failed_security_checks = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_paged.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_paged.py new file mode 100644 index 000000000000..7076acc9290f --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class VulnerabilityAssessmentScanRecordPaged(Paged): + """ + A paging container for iterating over a list of :class:`VulnerabilityAssessmentScanRecord ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VulnerabilityAssessmentScanRecord]'} + } + + def __init__(self, *args, **kwargs): + + super(VulnerabilityAssessmentScanRecordPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_py3.py b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_py3.py new file mode 100644 index 000000000000..e31d141065af --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/models/vulnerability_assessment_scan_record_py3.py @@ -0,0 +1,88 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .proxy_resource_py3 import ProxyResource + + +class VulnerabilityAssessmentScanRecord(ProxyResource): + """A vulnerability assessment scan record. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar scan_id: The scan ID. + :vartype scan_id: str + :ivar trigger_type: The scan trigger type. Possible values include: + 'OnDemand', 'Recurring' + :vartype trigger_type: str or + ~azure.mgmt.sql.models.VulnerabilityAssessmentScanTriggerType + :ivar state: The scan status. Possible values include: 'Passed', 'Failed', + 'FailedToRun', 'InProgress' + :vartype state: str or + ~azure.mgmt.sql.models.VulnerabilityAssessmentScanState + :ivar start_time: The scan start time (UTC). + :vartype start_time: datetime + :ivar end_time: The scan end time (UTC). + :vartype end_time: datetime + :ivar errors: The scan errors. + :vartype errors: + list[~azure.mgmt.sql.models.VulnerabilityAssessmentScanError] + :ivar storage_container_path: The scan results storage container path. + :vartype storage_container_path: str + :ivar number_of_failed_security_checks: The number of failed security + checks. + :vartype number_of_failed_security_checks: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'scan_id': {'readonly': True}, + 'trigger_type': {'readonly': True}, + 'state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'errors': {'readonly': True}, + 'storage_container_path': {'readonly': True}, + 'number_of_failed_security_checks': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'scan_id': {'key': 'properties.scanId', 'type': 'str'}, + 'trigger_type': {'key': 'properties.triggerType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'errors': {'key': 'properties.errors', 'type': '[VulnerabilityAssessmentScanError]'}, + 'storage_container_path': {'key': 'properties.storageContainerPath', 'type': 'str'}, + 'number_of_failed_security_checks': {'key': 'properties.numberOfFailedSecurityChecks', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(VulnerabilityAssessmentScanRecord, self).__init__(**kwargs) + self.scan_id = None + self.trigger_type = None + self.state = None + self.start_time = None + self.end_time = None + self.errors = None + self.storage_container_path = None + self.number_of_failed_security_checks = None diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py b/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py index e5d44f9453e2..953bb00775df 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py @@ -9,27 +9,24 @@ # regenerated. # -------------------------------------------------------------------------- -from .backup_long_term_retention_policies_operations import BackupLongTermRetentionPoliciesOperations -from .backup_long_term_retention_vaults_operations import BackupLongTermRetentionVaultsOperations from .recoverable_databases_operations import RecoverableDatabasesOperations from .restorable_dropped_databases_operations import RestorableDroppedDatabasesOperations -from .capabilities_operations import CapabilitiesOperations from .servers_operations import ServersOperations from .server_connection_policies_operations import ServerConnectionPoliciesOperations -from .databases_operations import DatabasesOperations from .database_threat_detection_policies_operations import DatabaseThreatDetectionPoliciesOperations from .data_masking_policies_operations import DataMaskingPoliciesOperations from .data_masking_rules_operations import DataMaskingRulesOperations -from .elastic_pools_operations import ElasticPoolsOperations from .firewall_rules_operations import FirewallRulesOperations from .geo_backup_policies_operations import GeoBackupPoliciesOperations +from .databases_operations import DatabasesOperations +from .elastic_pools_operations import ElasticPoolsOperations +from .recommended_elastic_pools_operations import RecommendedElasticPoolsOperations from .replication_links_operations import ReplicationLinksOperations from .server_azure_ad_administrators_operations import ServerAzureADAdministratorsOperations from .server_communication_links_operations import ServerCommunicationLinksOperations from .service_objectives_operations import ServiceObjectivesOperations from .elastic_pool_activities_operations import ElasticPoolActivitiesOperations from .elastic_pool_database_activities_operations import ElasticPoolDatabaseActivitiesOperations -from .recommended_elastic_pools_operations import RecommendedElasticPoolsOperations from .service_tier_advisors_operations import ServiceTierAdvisorsOperations from .transparent_data_encryptions_operations import TransparentDataEncryptionsOperations from .transparent_data_encryption_activities_operations import TransparentDataEncryptionActivitiesOperations @@ -39,6 +36,7 @@ from .database_automatic_tuning_operations import DatabaseAutomaticTuningOperations from .encryption_protectors_operations import EncryptionProtectorsOperations from .failover_groups_operations import FailoverGroupsOperations +from .managed_instances_operations import ManagedInstancesOperations from .operations import Operations from .server_keys_operations import ServerKeysOperations from .sync_agents_operations import SyncAgentsOperations @@ -46,34 +44,49 @@ from .sync_members_operations import SyncMembersOperations from .subscription_usages_operations import SubscriptionUsagesOperations from .virtual_network_rules_operations import VirtualNetworkRulesOperations +from .database_vulnerability_assessment_rule_baselines_operations import DatabaseVulnerabilityAssessmentRuleBaselinesOperations +from .database_vulnerability_assessments_operations import DatabaseVulnerabilityAssessmentsOperations +from .job_agents_operations import JobAgentsOperations +from .job_credentials_operations import JobCredentialsOperations +from .job_executions_operations import JobExecutionsOperations +from .jobs_operations import JobsOperations +from .job_step_executions_operations import JobStepExecutionsOperations +from .job_steps_operations import JobStepsOperations +from .job_target_executions_operations import JobTargetExecutionsOperations +from .job_target_groups_operations import JobTargetGroupsOperations +from .job_versions_operations import JobVersionsOperations +from .long_term_retention_backups_operations import LongTermRetentionBackupsOperations +from .backup_long_term_retention_policies_operations import BackupLongTermRetentionPoliciesOperations +from .managed_databases_operations import ManagedDatabasesOperations from .server_automatic_tuning_operations import ServerAutomaticTuningOperations from .server_dns_aliases_operations import ServerDnsAliasesOperations from .restore_points_operations import RestorePointsOperations from .database_operations import DatabaseOperations from .elastic_pool_operations import ElasticPoolOperations +from .capabilities_operations import CapabilitiesOperations +from .database_vulnerability_assessment_scans_operations import DatabaseVulnerabilityAssessmentScansOperations +from .instance_failover_groups_operations import InstanceFailoverGroupsOperations +from .backup_short_term_retention_policies_operations import BackupShortTermRetentionPoliciesOperations __all__ = [ - 'BackupLongTermRetentionPoliciesOperations', - 'BackupLongTermRetentionVaultsOperations', 'RecoverableDatabasesOperations', 'RestorableDroppedDatabasesOperations', - 'CapabilitiesOperations', 'ServersOperations', 'ServerConnectionPoliciesOperations', - 'DatabasesOperations', 'DatabaseThreatDetectionPoliciesOperations', 'DataMaskingPoliciesOperations', 'DataMaskingRulesOperations', - 'ElasticPoolsOperations', 'FirewallRulesOperations', 'GeoBackupPoliciesOperations', + 'DatabasesOperations', + 'ElasticPoolsOperations', + 'RecommendedElasticPoolsOperations', 'ReplicationLinksOperations', 'ServerAzureADAdministratorsOperations', 'ServerCommunicationLinksOperations', 'ServiceObjectivesOperations', 'ElasticPoolActivitiesOperations', 'ElasticPoolDatabaseActivitiesOperations', - 'RecommendedElasticPoolsOperations', 'ServiceTierAdvisorsOperations', 'TransparentDataEncryptionsOperations', 'TransparentDataEncryptionActivitiesOperations', @@ -83,6 +96,7 @@ 'DatabaseAutomaticTuningOperations', 'EncryptionProtectorsOperations', 'FailoverGroupsOperations', + 'ManagedInstancesOperations', 'Operations', 'ServerKeysOperations', 'SyncAgentsOperations', @@ -90,9 +104,27 @@ 'SyncMembersOperations', 'SubscriptionUsagesOperations', 'VirtualNetworkRulesOperations', + 'DatabaseVulnerabilityAssessmentRuleBaselinesOperations', + 'DatabaseVulnerabilityAssessmentsOperations', + 'JobAgentsOperations', + 'JobCredentialsOperations', + 'JobExecutionsOperations', + 'JobsOperations', + 'JobStepExecutionsOperations', + 'JobStepsOperations', + 'JobTargetExecutionsOperations', + 'JobTargetGroupsOperations', + 'JobVersionsOperations', + 'LongTermRetentionBackupsOperations', + 'BackupLongTermRetentionPoliciesOperations', + 'ManagedDatabasesOperations', 'ServerAutomaticTuningOperations', 'ServerDnsAliasesOperations', 'RestorePointsOperations', 'DatabaseOperations', 'ElasticPoolOperations', + 'CapabilitiesOperations', + 'DatabaseVulnerabilityAssessmentScansOperations', + 'InstanceFailoverGroupsOperations', + 'BackupShortTermRetentionPoliciesOperations', ] diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_policies_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_policies_operations.py index ebb3c8ff07f0..986ea3cc4a62 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_policies_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_policies_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -25,8 +25,8 @@ class BackupLongTermRetentionPoliciesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to use for the request. Constant value: "2014-04-01". - :ivar backup_long_term_retention_policy_name: The name of the backup long term retention policy. Constant value: "Default". + :ivar policy_name: The policy name. Should always be Default. Constant value: "default". + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". """ models = models @@ -36,14 +36,14 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2014-04-01" - self.backup_long_term_retention_policy_name = "Default" + self.policy_name = "default" + self.api_version = "2017-03-01-preview" self.config = config def get( self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Returns a database backup long term retention policy. + """Gets a database's long term retention policy. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -67,11 +67,11 @@ def get( # Construct URL url = self.get.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'backupLongTermRetentionPolicyName': self._serialize.url("self.backup_long_term_retention_policy_name", self.backup_long_term_retention_policy_name, 'str') + 'policyName': self._serialize.url("self.policy_name", self.policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -108,21 +108,19 @@ def get( return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}'} def _create_or_update_initial( - self, resource_group_name, server_name, database_name, state, recovery_services_backup_policy_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.BackupLongTermRetentionPolicy(state=state, recovery_services_backup_policy_resource_id=recovery_services_backup_policy_resource_id) - + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'backupLongTermRetentionPolicyName': self._serialize.url("self.backup_long_term_retention_policy_name", self.backup_long_term_retention_policy_name, 'str') + 'policyName': self._serialize.url("self.policy_name", self.policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -148,7 +146,7 @@ def _create_or_update_initial( response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) - if response.status_code not in [200, 201, 202]: + if response.status_code not in [200, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp @@ -157,8 +155,6 @@ def _create_or_update_initial( if response.status_code == 200: deserialized = self._deserialize('BackupLongTermRetentionPolicy', response) - if response.status_code == 201: - deserialized = self._deserialize('BackupLongTermRetentionPolicy', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -167,8 +163,8 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, database_name, state, recovery_services_backup_policy_resource_id, custom_headers=None, raw=False, **operation_config): - """Creates or updates a database backup long term retention policy. + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Sets a database's long term retention policy. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -176,59 +172,35 @@ def create_or_update( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database + :param database_name: The name of the database. :type database_name: str - :param state: The status of the backup long term retention policy. - Possible values include: 'Disabled', 'Enabled' - :type state: str or - ~azure.mgmt.sql.models.BackupLongTermRetentionPolicyState - :param recovery_services_backup_policy_resource_id: The azure recovery - services backup protection policy resource id - :type recovery_services_backup_policy_resource_id: str + :param parameters: The long term retention policy info. + :type parameters: ~azure.mgmt.sql.models.BackupLongTermRetentionPolicy :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - BackupLongTermRetentionPolicy or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BackupLongTermRetentionPolicy or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.BackupLongTermRetentionPolicy] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.BackupLongTermRetentionPolicy]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, server_name=server_name, database_name=database_name, - state=state, - recovery_services_backup_policy_resource_id=recovery_services_backup_policy_resource_id, + parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('BackupLongTermRetentionPolicy', response) if raw: @@ -237,17 +209,18 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}'} def list_by_database( self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Returns a database backup long term retention policy. + """Gets a database's long term retention policy. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -262,60 +235,52 @@ def list_by_database( deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of BackupLongTermRetentionPolicy - :rtype: - ~azure.mgmt.sql.models.BackupLongTermRetentionPolicyPaged[~azure.mgmt.sql.models.BackupLongTermRetentionPolicy] + :return: BackupLongTermRetentionPolicy or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.sql.models.BackupLongTermRetentionPolicy or + ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_database.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.BackupLongTermRetentionPolicyPaged(internal_paging, self._deserialize.dependencies) + # Construct URL + url = self.list_by_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BackupLongTermRetentionPolicy', response) if raw: - header_dict = {} - client_raw_response = models.BackupLongTermRetentionPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/backup_short_term_retention_policies_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/backup_short_term_retention_policies_operations.py new file mode 100644 index 000000000000..e50f15c2a997 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/backup_short_term_retention_policies_operations.py @@ -0,0 +1,333 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class BackupShortTermRetentionPoliciesOperations(object): + """BackupShortTermRetentionPoliciesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar policy_name: The policy name. Should always be "default". Constant value: "default". + :ivar api_version: The API version to use for the request. Constant value: "2017-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.policy_name = "default" + self.api_version = "2017-10-01-preview" + + self.config = config + + def get( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Gets a database's short term retention policy. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackupShortTermRetentionPolicy or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.sql.models.BackupShortTermRetentionPolicy or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'policyName': self._serialize.url("self.policy_name", self.policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BackupShortTermRetentionPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}'} + + + def _create_or_update_initial( + self, resource_group_name, server_name, database_name, retention_days=None, custom_headers=None, raw=False, **operation_config): + parameters = models.BackupShortTermRetentionPolicy(retention_days=retention_days) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'policyName': self._serialize.url("self.policy_name", self.policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'BackupShortTermRetentionPolicy') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BackupShortTermRetentionPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, database_name, retention_days=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a database's short term retention policy. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param retention_days: The backup retention period in days. This is + how many days Point-in-Time Restore will be supported. + :type retention_days: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BackupShortTermRetentionPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.BackupShortTermRetentionPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.BackupShortTermRetentionPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + retention_days=retention_days, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BackupShortTermRetentionPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}'} + + + def _update_initial( + self, resource_group_name, server_name, database_name, retention_days=None, custom_headers=None, raw=False, **operation_config): + parameters = models.BackupShortTermRetentionPolicy(retention_days=retention_days) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'policyName': self._serialize.url("self.policy_name", self.policy_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'BackupShortTermRetentionPolicy') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('BackupShortTermRetentionPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, server_name, database_name, retention_days=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a database's short term retention policy. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param retention_days: The backup retention period in days. This is + how many days Point-in-Time Restore will be supported. + :type retention_days: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + BackupShortTermRetentionPolicy or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.BackupShortTermRetentionPolicy] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.BackupShortTermRetentionPolicy]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + retention_days=retention_days, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BackupShortTermRetentionPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/capabilities_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/capabilities_operations.py index 8582337dde24..db0d68d14e73 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/capabilities_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/capabilities_operations.py @@ -23,7 +23,7 @@ class CapabilitiesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to use for the request. Constant value: "2014-04-01". + :ivar api_version: The API version to use for the request. Constant value: "2017-10-01-preview". """ models = models @@ -33,16 +33,22 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2014-04-01" + self.api_version = "2017-10-01-preview" self.config = config def list_by_location( - self, location_id, custom_headers=None, raw=False, **operation_config): - """Gets the capabilities available for the specified location. - - :param location_id: The location id whose capabilities are retrieved. - :type location_id: str + self, location_name, include=None, custom_headers=None, raw=False, **operation_config): + """Gets the subscription capabilities available for the specified + location. + + :param location_name: The location name whose capabilities are + retrieved. + :type location_name: str + :param include: If specified, restricts the response to only include + the selected item. Possible values include: 'supportedEditions', + 'supportedElasticPoolEditions', 'supportedManagedInstanceVersions' + :type include: str or ~azure.mgmt.sql.models.CapabilityGroup :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -56,13 +62,15 @@ def list_by_location( # Construct URL url = self.list_by_location.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'locationId': self._serialize.url("location_id", location_id, 'str') + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, 'str') query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') # Construct headers @@ -94,4 +102,4 @@ def list_by_location( return client_raw_response return deserialized - list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationId}/capabilities'} + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_rule_baselines_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_rule_baselines_operations.py new file mode 100644 index 000000000000..16a909e27a1a --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_rule_baselines_operations.py @@ -0,0 +1,266 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DatabaseVulnerabilityAssessmentRuleBaselinesOperations(object): + """DatabaseVulnerabilityAssessmentRuleBaselinesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar vulnerability_assessment_name: The name of the vulnerability assessment. Constant value: "default". + :ivar baseline_name: The name of the vulnerability assessment rule baseline. Constant value: "default". + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.vulnerability_assessment_name = "default" + self.baseline_name = "default" + self.api_version = "2017-03-01-preview" + + self.config = config + + def get( + self, resource_group_name, server_name, database_name, rule_id, custom_headers=None, raw=False, **operation_config): + """Gets a database's vulnerability assessment rule baseline. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment rule baseline is defined. + :type database_name: str + :param rule_id: The vulnerability assessment rule ID. + :type rule_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DatabaseVulnerabilityAssessmentRuleBaseline or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaseline or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'ruleId': self._serialize.url("rule_id", rule_id, 'str'), + 'baselineName': self._serialize.url("self.baseline_name", self.baseline_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DatabaseVulnerabilityAssessmentRuleBaseline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'} + + def create_or_update( + self, resource_group_name, server_name, database_name, rule_id, baseline_results, custom_headers=None, raw=False, **operation_config): + """Creates or updates a database's vulnerability assessment rule baseline. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment rule baseline is defined. + :type database_name: str + :param rule_id: The vulnerability assessment rule ID. + :type rule_id: str + :param baseline_results: The rule baseline result + :type baseline_results: + list[~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineItem] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DatabaseVulnerabilityAssessmentRuleBaseline or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaseline or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.DatabaseVulnerabilityAssessmentRuleBaseline(baseline_results=baseline_results) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'ruleId': self._serialize.url("rule_id", rule_id, 'str'), + 'baselineName': self._serialize.url("self.baseline_name", self.baseline_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'DatabaseVulnerabilityAssessmentRuleBaseline') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DatabaseVulnerabilityAssessmentRuleBaseline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'} + + def delete( + self, resource_group_name, server_name, database_name, rule_id, custom_headers=None, raw=False, **operation_config): + """Removes the database's vulnerability assessment rule baseline. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment rule baseline is defined. + :type database_name: str + :param rule_id: The vulnerability assessment rule ID. + :type rule_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'ruleId': self._serialize.url("rule_id", rule_id, 'str'), + 'baselineName': self._serialize.url("self.baseline_name", self.baseline_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_scans_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_scans_operations.py new file mode 100644 index 000000000000..346a48974d1e --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessment_scans_operations.py @@ -0,0 +1,361 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DatabaseVulnerabilityAssessmentScansOperations(object): + """DatabaseVulnerabilityAssessmentScansOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar vulnerability_assessment_name: The name of the vulnerability assessment. Constant value: "default". + :ivar api_version: The API version to use for the request. Constant value: "2017-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.vulnerability_assessment_name = "default" + self.api_version = "2017-10-01-preview" + + self.config = config + + def get( + self, resource_group_name, server_name, database_name, scan_id, custom_headers=None, raw=False, **operation_config): + """Gets a vulnerability assessment scan record of a database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param scan_id: The vulnerability assessment scan Id of the scan to + retrieve. + :type scan_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VulnerabilityAssessmentScanRecord or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.sql.models.VulnerabilityAssessmentScanRecord or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'scanId': self._serialize.url("scan_id", scan_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VulnerabilityAssessmentScanRecord', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}'} + + + def _execute_initial( + self, resource_group_name, server_name, database_name, scan_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.execute.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'scanId': self._serialize.url("scan_id", scan_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def execute( + self, resource_group_name, server_name, database_name, scan_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Executes a Vulnerability Assessment database scan. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param scan_id: The vulnerability assessment scan Id of the scan to + retrieve. + :type scan_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._execute_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + scan_id=scan_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + execute.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan'} + + def list_by_database( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Lists the vulnerability assessment scans of a database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + VulnerabilityAssessmentScanRecord + :rtype: + ~azure.mgmt.sql.models.VulnerabilityAssessmentScanRecordPaged[~azure.mgmt.sql.models.VulnerabilityAssessmentScanRecord] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_database.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VulnerabilityAssessmentScanRecordPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VulnerabilityAssessmentScanRecordPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans'} + + def export( + self, resource_group_name, server_name, database_name, scan_id, custom_headers=None, raw=False, **operation_config): + """Convert an existing scan result to a human readable format. If already + exists nothing happens. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the scanned database. + :type database_name: str + :param scan_id: The vulnerability assessment scan Id. + :type scan_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DatabaseVulnerabilityAssessmentScansExport or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentScansExport or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'scanId': self._serialize.url("scan_id", scan_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DatabaseVulnerabilityAssessmentScansExport', response) + if response.status_code == 201: + deserialized = self._deserialize('DatabaseVulnerabilityAssessmentScansExport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessments_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessments_operations.py new file mode 100644 index 000000000000..5f923f69d777 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/database_vulnerability_assessments_operations.py @@ -0,0 +1,250 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DatabaseVulnerabilityAssessmentsOperations(object): + """DatabaseVulnerabilityAssessmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar vulnerability_assessment_name: The name of the vulnerability assessment. Constant value: "default". + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.vulnerability_assessment_name = "default" + self.api_version = "2017-03-01-preview" + + self.config = config + + def get( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Gets the database's vulnerability assessment. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment is defined. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DatabaseVulnerabilityAssessment or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DatabaseVulnerabilityAssessment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}'} + + def create_or_update( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates the database's vulnerability assessment. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment is defined. + :type database_name: str + :param parameters: The requested resource. + :type parameters: + ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DatabaseVulnerabilityAssessment or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.sql.models.DatabaseVulnerabilityAssessment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'DatabaseVulnerabilityAssessment') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DatabaseVulnerabilityAssessment', response) + if response.status_code == 201: + deserialized = self._deserialize('DatabaseVulnerabilityAssessment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}'} + + def delete( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Removes the database's vulnerability assessment. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database for which the + vulnerability assessment is defined. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'vulnerabilityAssessmentName': self._serialize.url("self.vulnerability_assessment_name", self.vulnerability_assessment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/databases_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/databases_operations.py index 35e9625e0d31..61c746a203fc 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/databases_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/databases_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -40,17 +40,16 @@ def __init__(self, client, config, serializer, deserializer): self.config = config - def _pause_initial( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + def _import_method_initial( + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): api_version = "2014-04-01" # Construct URL - url = self.pause.metadata['url'] + url = self.import_method.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'serverName': self._serialize.url("server_name", server_name, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -68,129 +67,33 @@ def _pause_initial( if self.config.accept_language is not None: header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + # Construct body + body_content = self._serialize.body(parameters, 'ImportRequest') + # Construct and send request request = self._client.post(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [200, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def pause( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Pauses a data warehouse. - - :param resource_group_name: The name of the resource group that - contains the resource. You can obtain this value from the Azure - Resource Manager API or the portal. - :type resource_group_name: str - :param server_name: The name of the server. - :type server_name: str - :param database_name: The name of the data warehouse to pause. - :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - raw_result = self._pause_initial( - resource_group_name=resource_group_name, - server_name=server_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) - - def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - long_running_operation_timeout = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - pause.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause'} - - - def _resume_initial( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - api_version = "2014-04-01" - - # Construct URL - url = self.resume.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.post(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + deserialized = None - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + if response.status_code == 200: + deserialized = self._deserialize('ImportExportResponse', response) if raw: - client_raw_response = ClientRawResponse(None, response) + client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response - def resume( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Resumes a data warehouse. + return deserialized + + def import_method( + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Imports a bacpac into a new database. . :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -198,73 +101,62 @@ def resume( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the data warehouse to resume. - :type database_name: str + :param parameters: The required parameters for importing a Bacpac into + a database. + :type parameters: ~azure.mgmt.sql.models.ImportRequest :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ImportExportResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ImportExportResponse]] :raises: :class:`CloudError` """ - raw_result = self._resume_initial( + raw_result = self._import_method_initial( resource_group_name=resource_group_name, server_name=server_name, - database_name=database_name, + parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + deserialized = self._deserialize('ImportExportResponse', response) if raw: - client_raw_response = ClientRawResponse(None, response) + client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + return deserialized + + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - resume.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + import_method.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import'} - def _create_or_update_initial( + def _create_import_operation_initial( self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): api_version = "2014-04-01" # Construct URL - url = self.create_or_update.metadata['url'] + url = self.create_import_operation.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'extensionName': self._serialize.url("self.extension_name", self.extension_name, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -283,24 +175,22 @@ def _create_or_update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(parameters, 'Database') + body_content = self._serialize.body(parameters, 'ImportExtensionRequest') # Construct and send request request = self._client.put(url, query_parameters) response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) - if response.status_code not in [200, 201, 202]: + if response.status_code not in [201, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('Database', response) if response.status_code == 201: - deserialized = self._deserialize('Database', response) + deserialized = self._deserialize('ImportExportResponse', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -308,9 +198,10 @@ def _create_or_update_initial( return deserialized - def create_or_update( - self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates a new database or updates an existing database. + def create_import_operation( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates an import operation that imports a bacpac into an existing + database. The existing database must be empty. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -318,23 +209,25 @@ def create_or_update( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database to be operated on - (updated or created). + :param database_name: The name of the database to import into :type database_name: str - :param parameters: The required parameters for creating or updating a - database. - :type parameters: ~azure.mgmt.sql.models.Database + :param parameters: The required parameters for importing a Bacpac into + a database. + :type parameters: ~azure.mgmt.sql.models.ImportExtensionRequest :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns Database or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ImportExportResponse or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] - or ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ImportExportResponse]] :raises: :class:`CloudError` """ - raw_result = self._create_or_update_initial( + raw_result = self._create_import_operation_initial( resource_group_name=resource_group_name, server_name=server_name, database_name=database_name, @@ -343,31 +236,9 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('Database', response) + deserialized = self._deserialize('ImportExportResponse', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -375,21 +246,22 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_import_operation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}'} - def _update_initial( + def _export_initial( self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): api_version = "2014-04-01" # Construct URL - url = self.update.metadata['url'] + url = self.export.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -413,10 +285,10 @@ def _update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(parameters, 'DatabaseUpdate') + body_content = self._serialize.body(parameters, 'ExportRequest') # Construct and send request - request = self._client.patch(url, query_parameters) + request = self._client.post(url, query_parameters) response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) @@ -428,7 +300,7 @@ def _update_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Database', response) + deserialized = self._deserialize('ImportExportResponse', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -436,9 +308,9 @@ def _update_initial( return deserialized - def update( - self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates an existing database. + def export( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Exports a database to a bacpac. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -446,21 +318,24 @@ def update( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database to be updated. + :param database_name: The name of the database to be exported. :type database_name: str - :param parameters: The required parameters for updating a database. - :type parameters: ~azure.mgmt.sql.models.DatabaseUpdate + :param parameters: The required parameters for exporting a database. + :type parameters: ~azure.mgmt.sql.models.ExportRequest :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns Database or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ImportExportResponse or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] - or ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ImportExportResponse]] :raises: :class:`CloudError` """ - raw_result = self._update_initial( + raw_result = self._export_initial( resource_group_name=resource_group_name, server_name=server_name, database_name=database_name, @@ -469,31 +344,9 @@ def update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('Database', response) + deserialized = self._deserialize('ImportExportResponse', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -501,17 +354,18 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + export.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export'} - def delete( - self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Deletes a database. + def list_metrics( + self, resource_group_name, server_name, database_name, filter, custom_headers=None, raw=False, **operation_config): + """Returns database metrics. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -519,135 +373,81 @@ def delete( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database to be deleted. + :param database_name: The name of the database. :type database_name: str + :param filter: An OData filter expression that describes a subset of + metrics to return. + :type filter: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse + :return: An iterator like instance of Metric + :rtype: + ~azure.mgmt.sql.models.MetricPaged[~azure.mgmt.sql.models.Metric] :raises: :class:`CloudError` """ api_version = "2014-04-01" - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} - - def get( - self, resource_group_name, server_name, database_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets a database. + def internal_paging(next_link=None, raw=False): - :param resource_group_name: The name of the resource group that - contains the resource. You can obtain this value from the Azure - Resource Manager API or the portal. - :type resource_group_name: str - :param server_name: The name of the server. - :type server_name: str - :param database_name: The name of the database to be retrieved. - :type database_name: str - :param expand: A comma separated list of child objects to expand in - the response. Possible properties: serviceTierAdvisors, - transparentDataEncryption. - :type expand: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Database or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.sql.models.Database or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2014-04-01" + if not next_link: + # Construct URL + url = self.list_metrics.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + else: + url = next_link + query_parameters = {} - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp - deserialized = None + return response - if response.status_code == 200: - deserialized = self._deserialize('Database', response) + # Deserialize response + deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies) if raw: - client_raw_response = ClientRawResponse(deserialized, response) + header_dict = {} + client_raw_response = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics'} - def list_by_server( - self, resource_group_name, server_name, expand=None, filter=None, custom_headers=None, raw=False, **operation_config): - """Returns a list of databases in a server. + def list_metric_definitions( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Returns database metric definitions. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -655,21 +455,16 @@ def list_by_server( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param expand: A comma separated list of child objects to expand in - the response. Possible properties: serviceTierAdvisors, - transparentDataEncryption. - :type expand: str - :param filter: An OData filter expression that describes a subset of - databases to return. - :type filter: str + :param database_name: The name of the database. + :type database_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of Database + :return: An iterator like instance of MetricDefinition :rtype: - ~azure.mgmt.sql.models.DatabasePaged[~azure.mgmt.sql.models.Database] + ~azure.mgmt.sql.models.MetricDefinitionPaged[~azure.mgmt.sql.models.MetricDefinition] :raises: :class:`CloudError` """ api_version = "2014-04-01" @@ -678,21 +473,18 @@ def internal_paging(next_link=None, raw=False): if not next_link: # Construct URL - url = self.list_by_server.metadata['url'] + url = self.list_metric_definitions.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str') + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') else: url = next_link @@ -721,51 +513,28 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DatabasePaged(internal_paging, self._deserialize.dependencies) + deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies) if raw: header_dict = {} - client_raw_response = models.DatabasePaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return client_raw_response return deserialized - list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases'} + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions'} - def get_by_elastic_pool( - self, resource_group_name, server_name, elastic_pool_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets a database inside of an elastic pool. - :param resource_group_name: The name of the resource group that - contains the resource. You can obtain this value from the Azure - Resource Manager API or the portal. - :type resource_group_name: str - :param server_name: The name of the server. - :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be - retrieved. - :type elastic_pool_name: str - :param database_name: The name of the database to be retrieved. - :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: Database or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.sql.models.Database or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2014-04-01" + def _upgrade_data_warehouse_initial( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" # Construct URL - url = self.get_by_elastic_pool.metadata['url'] + url = self.upgrade_data_warehouse.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -784,29 +553,67 @@ def get_by_elastic_pool( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct and send request - request = self._client.get(url, query_parameters) + request = self._client.post(url, query_parameters) response = self._client.send(request, header_parameters, stream=False, **operation_config) - if response.status_code not in [200]: + if response.status_code not in [200, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('Database', response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response = ClientRawResponse(None, response) return client_raw_response - return deserialized - get_by_elastic_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}'} + def upgrade_data_warehouse( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Upgrades a data warehouse. - def list_by_elastic_pool( - self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): - """Returns a list of databases in an elastic pool. + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database to be upgraded. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._upgrade_data_warehouse_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + upgrade_data_warehouse.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse'} + + def list_by_server( + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of databases. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -814,9 +621,6 @@ def list_by_elastic_pool( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be - retrieved. - :type elastic_pool_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -827,18 +631,17 @@ def list_by_elastic_pool( ~azure.mgmt.sql.models.DatabasePaged[~azure.mgmt.sql.models.Database] :raises: :class:`CloudError` """ - api_version = "2014-04-01" + api_version = "2017-10-01-preview" def internal_paging(next_link=None, raw=False): if not next_link: # Construct URL - url = self.list_by_elastic_pool.metadata['url'] + url = self.list_by_server.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -881,11 +684,11 @@ def internal_paging(next_link=None, raw=False): return client_raw_response return deserialized - list_by_elastic_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases'} + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases'} - def get_by_recommended_elastic_pool( - self, resource_group_name, server_name, recommended_elastic_pool_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets a database inside of a recommented elastic pool. + def get( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + """Gets a database. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -893,10 +696,7 @@ def get_by_recommended_elastic_pool( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param recommended_elastic_pool_name: The name of the elastic pool to - be retrieved. - :type recommended_elastic_pool_name: str - :param database_name: The name of the database to be retrieved. + :param database_name: The name of the database. :type database_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -908,16 +708,15 @@ def get_by_recommended_elastic_pool( ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - api_version = "2014-04-01" + api_version = "2017-10-01-preview" # Construct URL - url = self.get_by_recommended_elastic_pool.metadata['url'] + url = self.get.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'recommendedElasticPoolName': self._serialize.url("recommended_elastic_pool_name", recommended_elastic_pool_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -954,98 +753,20 @@ def get_by_recommended_elastic_pool( return client_raw_response return deserialized - get_by_recommended_elastic_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}'} - - def list_by_recommended_elastic_pool( - self, resource_group_name, server_name, recommended_elastic_pool_name, custom_headers=None, raw=False, **operation_config): - """Returns a list of databases inside a recommented elastic pool. + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} - :param resource_group_name: The name of the resource group that - contains the resource. You can obtain this value from the Azure - Resource Manager API or the portal. - :type resource_group_name: str - :param server_name: The name of the server. - :type server_name: str - :param recommended_elastic_pool_name: The name of the recommended - elastic pool to be retrieved. - :type recommended_elastic_pool_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Database - :rtype: - ~azure.mgmt.sql.models.DatabasePaged[~azure.mgmt.sql.models.Database] - :raises: :class:`CloudError` - """ - api_version = "2014-04-01" - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_recommended_elastic_pool.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'recommendedElasticPoolName': self._serialize.url("recommended_elastic_pool_name", recommended_elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.DatabasePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.DatabasePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_recommended_elastic_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases'} - - - def _import_method_initial( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2014-04-01" + def _create_or_update_initial( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" # Construct URL - url = self.import_method.metadata['url'] + url = self.create_or_update.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str') + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -1064,14 +785,14 @@ def _import_method_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(parameters, 'ImportRequest') + body_content = self._serialize.body(parameters, 'Database') # Construct and send request - request = self._client.post(url, query_parameters) + request = self._client.put(url, query_parameters) response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [200, 201, 202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp @@ -1079,7 +800,9 @@ def _import_method_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ImportExportResponse', response) + deserialized = self._deserialize('Database', response) + if response.status_code == 201: + deserialized = self._deserialize('Database', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -1087,9 +810,9 @@ def _import_method_initial( return deserialized - def import_method( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): - """Imports a bacpac into a new database. . + def create_or_update( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new database or updates an existing database. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -1097,52 +820,35 @@ def import_method( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param parameters: The required parameters for importing a Bacpac into - a database. - :type parameters: ~azure.mgmt.sql.models.ImportRequest + :param database_name: The name of the database. + :type database_name: str + :param parameters: The requested database resource state. + :type parameters: ~azure.mgmt.sql.models.Database :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ImportExportResponse or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Database or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] - or ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Database]] :raises: :class:`CloudError` """ - raw_result = self._import_method_initial( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, server_name=server_name, + database_name=database_name, parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('ImportExportResponse', response) + deserialized = self._deserialize('Database', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -1150,27 +856,27 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - import_method.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} - def _create_import_operation_initial( - self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2014-04-01" + def _delete_initial( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" # Construct URL - url = self.create_import_operation.metadata['url'] + url = self.delete.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'extensionName': self._serialize.url("self.extension_name", self.extension_name, 'str') + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -1188,34 +894,22 @@ def _create_import_operation_initial( if self.config.accept_language is not None: header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - # Construct body - body_content = self._serialize.body(parameters, 'ImportExtensionRequest') - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) - if response.status_code not in [201, 202]: + if response.status_code not in [200, 202, 204]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 201: - deserialized = self._deserialize('ImportExportResponse', response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response = ClientRawResponse(None, response) return client_raw_response - return deserialized - - def create_import_operation( - self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates an import operation that imports a bacpac into an existing - database. The existing database must be empty. + def delete( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the database. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -1223,82 +917,54 @@ def create_import_operation( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database to import into + :param database_name: The name of the database. :type database_name: str - :param parameters: The required parameters for importing a Bacpac into - a database. - :type parameters: ~azure.mgmt.sql.models.ImportExtensionRequest :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ImportExportResponse or ClientRawResponse if raw=true - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] - or ~msrest.pipeline.ClientRawResponse + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ - raw_result = self._create_import_operation_initial( + raw_result = self._delete_initial( resource_group_name=resource_group_name, server_name=server_name, database_name=database_name, - parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('ImportExportResponse', response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response = ClientRawResponse(None, response) return client_raw_response - return deserialized - - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - create_import_operation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} - def _export_initial( + def _update_initial( self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2014-04-01" + api_version = "2017-10-01-preview" # Construct URL - url = self.export.metadata['url'] + url = self.update.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -1317,10 +983,10 @@ def _export_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(parameters, 'ExportRequest') + body_content = self._serialize.body(parameters, 'DatabaseUpdate') # Construct and send request - request = self._client.post(url, query_parameters) + request = self._client.patch(url, query_parameters) response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) @@ -1332,7 +998,7 @@ def _export_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ImportExportResponse', response) + deserialized = self._deserialize('Database', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -1340,9 +1006,9 @@ def _export_initial( return deserialized - def export( - self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): - """Exports a database to a bacpac. + def update( + self, resource_group_name, server_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an existing database. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -1350,21 +1016,24 @@ def export( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database to be exported. + :param database_name: The name of the database. :type database_name: str - :param parameters: The required parameters for exporting a database. - :type parameters: ~azure.mgmt.sql.models.ExportRequest + :param parameters: The requested database resource state. + :type parameters: ~azure.mgmt.sql.models.DatabaseUpdate :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ImportExportResponse or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Database or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ImportExportResponse] - or ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Database]] :raises: :class:`CloudError` """ - raw_result = self._export_initial( + raw_result = self._update_initial( resource_group_name=resource_group_name, server_name=server_name, database_name=database_name, @@ -1373,31 +1042,9 @@ def export( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('ImportExportResponse', response) + deserialized = self._deserialize('Database', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -1405,17 +1052,18 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - export.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export'} + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}'} - def list_metrics( - self, resource_group_name, server_name, database_name, filter, custom_headers=None, raw=False, **operation_config): - """Returns database metrics. + def list_by_elastic_pool( + self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of databases in an elastic pool. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -1423,40 +1071,36 @@ def list_metrics( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database. - :type database_name: str - :param filter: An OData filter expression that describes a subset of - metrics to return. - :type filter: str + :param elastic_pool_name: The name of the elastic pool. + :type elastic_pool_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of Metric + :return: An iterator like instance of Database :rtype: - ~azure.mgmt.sql.models.MetricPaged[~azure.mgmt.sql.models.Metric] + ~azure.mgmt.sql.models.DatabasePaged[~azure.mgmt.sql.models.Database] :raises: :class:`CloudError` """ - api_version = "2014-04-01" + api_version = "2017-10-01-preview" def internal_paging(next_link=None, raw=False): if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_by_elastic_pool.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') else: url = next_link @@ -1485,19 +1129,68 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies) + deserialized = models.DatabasePaged(internal_paging, self._deserialize.dependencies) if raw: header_dict = {} - client_raw_response = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = models.DatabasePaged(internal_paging, self._deserialize.dependencies, header_dict) return client_raw_response return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics'} + list_by_elastic_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases'} - def list_metric_definitions( + + def _pause_initial( self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): - """Returns database metric definitions. + api_version = "2017-10-01-preview" + + # Construct URL + url = self.pause.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Database', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def pause( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Pauses a database. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -1505,73 +1198,148 @@ def list_metric_definitions( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param database_name: The name of the database. + :param database_name: The name of the database to be paused. :type database_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of MetricDefinition + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Database or + ClientRawResponse if raw==True :rtype: - ~azure.mgmt.sql.models.MetricDefinitionPaged[~azure.mgmt.sql.models.MetricDefinition] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Database]] :raises: :class:`CloudError` """ - api_version = "2014-04-01" + raw_result = self._pause_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) - def internal_paging(next_link=None, raw=False): + def get_long_running_output(response): + deserialized = self._deserialize('Database', response) - if not next_link: - # Construct URL - url = self.list_metric_definitions.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + return deserialized - else: - url = next_link - query_parameters = {} + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + pause.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause'} - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + def _resume_initial( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + # Construct URL + url = self.resume.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - return response + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Deserialize response - deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies) + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Database', response) if raw: - header_dict = {} - client_raw_response = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions'} + + def resume( + self, resource_group_name, server_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resumes a database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param database_name: The name of the database to be resumed. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Database or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Database] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Database]] + :raises: :class:`CloudError` + """ + raw_result = self._resume_initial( + resource_group_name=resource_group_name, + server_name=server_name, + database_name=database_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Database', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + resume.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume'} def rename( self, resource_group_name, server_name, database_name, id, custom_headers=None, raw=False, **operation_config): @@ -1598,7 +1366,7 @@ def rename( """ parameters = models.ResourceMoveDefinition(id=id) - api_version = "2017-03-01-preview" + api_version = "2017-10-01-preview" # Construct URL url = self.rename.metadata['url'] diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/elastic_pools_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/elastic_pools_operations.py index 18908db589dc..4fb8d9592740 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/elastic_pools_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/elastic_pools_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -25,7 +25,6 @@ class ElasticPoolsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to use for the request. Constant value: "2014-04-01". """ models = models @@ -35,66 +34,12 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2014-04-01" self.config = config - - def _create_or_update_initial( - self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct body - body_content = self._serialize.body(parameters, 'ElasticPool') - - # Construct and send request - request = self._client.put(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('ElasticPool', response) - if response.status_code == 201: - deserialized = self._deserialize('ElasticPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): - """Creates a new elastic pool or updates an existing elastic pool. + def list_metrics( + self, resource_group_name, server_name, elastic_pool_name, filter, custom_headers=None, raw=False, **operation_config): + """Returns elastic pool metrics. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -102,125 +47,81 @@ def create_or_update( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be operated - on (updated or created). + :param elastic_pool_name: The name of the elastic pool. :type elastic_pool_name: str - :param parameters: The required parameters for creating or updating an - elastic pool. - :type parameters: ~azure.mgmt.sql.models.ElasticPool + :param filter: An OData filter expression that describes a subset of + metrics to return. + :type filter: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response - :return: An instance of AzureOperationPoller that returns ElasticPool - or ClientRawResponse if raw=true + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Metric :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ElasticPool] - or ~msrest.pipeline.ClientRawResponse + ~azure.mgmt.sql.models.MetricPaged[~azure.mgmt.sql.models.Metric] :raises: :class:`CloudError` """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - server_name=server_name, - elastic_pool_name=elastic_pool_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - if raw: - return raw_result + api_version = "2014-04-01" - # Construct and send request - def long_running_send(): - return raw_result.response + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_metrics.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - def get_long_running_status(status_link, headers=None): + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + else: + url = next_link + query_parameters = {} - request = self._client.get(status_link) - if headers: - request.headers.update(headers) + # Construct headers header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - def get_long_running_output(response): + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) - if response.status_code not in [200, 201, 202]: + if response.status_code not in [200]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = self._deserialize('ElasticPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - long_running_operation_timeout = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} - - - def _update_initial( - self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct body - body_content = self._serialize.body(parameters, 'ElasticPoolUpdate') - - # Construct and send request - request = self._client.patch(url, query_parameters) - response = self._client.send( - request, header_parameters, body_content, stream=False, **operation_config) - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + return response - if response.status_code == 200: - deserialized = self._deserialize('ElasticPool', response) + # Deserialize response + deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies) if raw: - client_raw_response = ClientRawResponse(deserialized, response) + header_dict = {} + client_raw_response = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return client_raw_response return deserialized + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics'} - def update( - self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): - """Updates an existing elastic pool. + def list_metric_definitions( + self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): + """Returns elastic pool metric definitions. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -228,73 +129,77 @@ def update( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be updated. + :param elastic_pool_name: The name of the elastic pool. :type elastic_pool_name: str - :param parameters: The required parameters for updating an elastic - pool. - :type parameters: ~azure.mgmt.sql.models.ElasticPoolUpdate :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response - :return: An instance of AzureOperationPoller that returns ElasticPool - or ClientRawResponse if raw=true + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of MetricDefinition :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ElasticPool] - or ~msrest.pipeline.ClientRawResponse + ~azure.mgmt.sql.models.MetricDefinitionPaged[~azure.mgmt.sql.models.MetricDefinition] :raises: :class:`CloudError` """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - server_name=server_name, - elastic_pool_name=elastic_pool_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - if raw: - return raw_result + api_version = "2014-04-01" - # Construct and send request - def long_running_send(): - return raw_result.response + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_metric_definitions.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - def get_long_running_status(status_link, headers=None): + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} - request = self._client.get(status_link) - if headers: - request.headers.update(headers) + # Construct headers header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - def get_long_running_output(response): + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [200]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = self._deserialize('ElasticPool', response) + return response - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + # Deserialize response + deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - return deserialized + if raw: + header_dict = {} + client_raw_response = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response - long_running_operation_timeout = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} + return deserialized + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions'} - def delete( - self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): - """Deletes the elastic pool. + def list_by_server( + self, resource_group_name, server_name, skip=None, custom_headers=None, raw=False, **operation_config): + """Gets all elastic pools in a server. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -302,54 +207,74 @@ def delete( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be deleted. - :type elastic_pool_name: str + :param skip: The number of elements in the collection to skip. + :type skip: int :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse + :return: An iterator like instance of ElasticPool + :rtype: + ~azure.mgmt.sql.models.ElasticPoolPaged[~azure.mgmt.sql.models.ElasticPool] :raises: :class:`CloudError` """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) + api_version = "2017-10-01-preview" - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + def internal_paging(next_link=None, raw=False): - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + if not next_link: + # Construct URL + url = self.list_by_server.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - # Construct and send request - request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, stream=False, **operation_config) + # Construct parameters + query_parameters = {} + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ElasticPoolPaged(internal_paging, self._deserialize.dependencies) if raw: - client_raw_response = ClientRawResponse(None, response) + header_dict = {} + client_raw_response = models.ElasticPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} + + return deserialized + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools'} def get( self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): @@ -361,8 +286,7 @@ def get( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str - :param elastic_pool_name: The name of the elastic pool to be - retrieved. + :param elastic_pool_name: The name of the elastic pool. :type elastic_pool_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -374,19 +298,21 @@ def get( ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ + api_version = "2017-10-01-preview" + # Construct URL url = self.get.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} @@ -419,9 +345,64 @@ def get( return deserialized get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} - def list_by_server( - self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): - """Returns a list of elastic pools in a server. + + def _create_or_update_initial( + self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ElasticPool') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ElasticPool', response) + if response.status_code == 201: + deserialized = self._deserialize('ElasticPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an elastic pool. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -429,72 +410,96 @@ def list_by_server( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str + :param elastic_pool_name: The name of the elastic pool. + :type elastic_pool_name: str + :param parameters: The elastic pool parameters. + :type parameters: ~azure.mgmt.sql.models.ElasticPool :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ElasticPool + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ElasticPool or + ClientRawResponse if raw==True :rtype: - ~azure.mgmt.sql.models.ElasticPoolPaged[~azure.mgmt.sql.models.ElasticPool] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ElasticPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ElasticPool]] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + elastic_pool_name=elastic_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) - if not next_link: - # Construct URL - url = self.list_by_server.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) + def get_long_running_output(response): + deserialized = self._deserialize('ElasticPool', response) - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response - else: - url = next_link - query_parameters = {} + return deserialized - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + def _delete_initial( + self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" - return response + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - # Deserialize response - deserialized = models.ElasticPoolPaged(internal_paging, self._deserialize.dependencies) + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp if raw: - header_dict = {} - client_raw_response = models.ElasticPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = ClientRawResponse(None, response) return client_raw_response - return deserialized - list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools'} - - def list_metrics( - self, resource_group_name, server_name, elastic_pool_name, filter, custom_headers=None, raw=False, **operation_config): - """Returns elastic pool metrics. + def delete( + self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an elastic pool. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -504,77 +509,96 @@ def list_metrics( :type server_name: str :param elastic_pool_name: The name of the elastic pool. :type elastic_pool_name: str - :param filter: An OData filter expression that describes a subset of - metrics to return. - :type filter: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Metric - :rtype: - ~azure.mgmt.sql.models.MetricPaged[~azure.mgmt.sql.models.Metric] + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + server_name=server_name, + elastic_pool_name=elastic_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) - if not next_link: - # Construct URL - url = self.list_metrics.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} - else: - url = next_link - query_parameters = {} - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + def _update_initial( + self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2017-10-01-preview" - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - return response + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - # Deserialize response - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies) + # Construct body + body_content = self._serialize.body(parameters, 'ElasticPoolUpdate') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ElasticPool', response) if raw: - header_dict = {} - client_raw_response = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics'} - def list_metric_definitions( - self, resource_group_name, server_name, elastic_pool_name, custom_headers=None, raw=False, **operation_config): - """Returns elastic pool metric definitions. + def update( + self, resource_group_name, server_name, elastic_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an elastic pool. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -584,66 +608,45 @@ def list_metric_definitions( :type server_name: str :param elastic_pool_name: The name of the elastic pool. :type elastic_pool_name: str + :param parameters: The elastic pool update parameters. + :type parameters: ~azure.mgmt.sql.models.ElasticPoolUpdate :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of MetricDefinition + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ElasticPool or + ClientRawResponse if raw==True :rtype: - ~azure.mgmt.sql.models.MetricDefinitionPaged[~azure.mgmt.sql.models.MetricDefinition] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ElasticPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ElasticPool]] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_metric_definitions.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'elasticPoolName': self._serialize.url("elastic_pool_name", elastic_pool_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + raw_result = self._update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + elastic_pool_name=elastic_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) - return response + def get_long_running_output(response): + deserialized = self._deserialize('ElasticPool', response) - # Deserialize response - deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response - if raw: - header_dict = {} - client_raw_response = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + return deserialized - return deserialized - list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions'} + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/encryption_protectors_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/encryption_protectors_operations.py index f8c1774609aa..2097599d903d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/encryption_protectors_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/encryption_protectors_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -231,7 +231,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Updates an existing encryption protector. :param resource_group_name: The name of the resource group that @@ -243,13 +243,16 @@ def create_or_update( :param parameters: The requested encryption protector resource state. :type parameters: ~azure.mgmt.sql.models.EncryptionProtector :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - EncryptionProtector or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns EncryptionProtector or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.EncryptionProtector] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.EncryptionProtector]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -260,30 +263,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('EncryptionProtector', response) if raw: @@ -292,10 +273,11 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/failover_groups_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/failover_groups_operations.py index 5c8c8d18bad3..a0a879610fbc 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/failover_groups_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/failover_groups_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -161,7 +161,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, failover_group_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, failover_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a failover group. :param resource_group_name: The name of the resource group that @@ -176,13 +176,16 @@ def create_or_update( :param parameters: The failover group parameters. :type parameters: ~azure.mgmt.sql.models.FailoverGroup :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - FailoverGroup or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FailoverGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.FailoverGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.FailoverGroup]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -194,30 +197,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('FailoverGroup', response) if raw: @@ -226,12 +207,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}'} @@ -275,7 +257,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes a failover group. :param resource_group_name: The name of the resource group that @@ -288,12 +270,14 @@ def delete( :param failover_group_name: The name of the failover group. :type failover_group_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -304,40 +288,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}'} @@ -392,7 +355,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, failover_group_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, failover_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Updates a failover group. :param resource_group_name: The name of the resource group that @@ -407,13 +370,16 @@ def update( :param parameters: The failover group parameters. :type parameters: ~azure.mgmt.sql.models.FailoverGroupUpdate :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - FailoverGroup or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FailoverGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.FailoverGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.FailoverGroup]] :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -425,30 +391,8 @@ def update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('FailoverGroup', response) if raw: @@ -457,12 +401,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}'} def list_by_server( @@ -587,7 +532,7 @@ def _failover_initial( return deserialized def failover( - self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): """Fails over from the current primary server to this server. :param resource_group_name: The name of the resource group that @@ -600,13 +545,16 @@ def failover( :param failover_group_name: The name of the failover group. :type failover_group_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - FailoverGroup or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FailoverGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.FailoverGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.FailoverGroup]] :raises: :class:`CloudError` """ raw_result = self._failover_initial( @@ -617,30 +565,8 @@ def failover( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('FailoverGroup', response) if raw: @@ -649,12 +575,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover'} @@ -705,7 +632,7 @@ def _force_failover_allow_data_loss_initial( return deserialized def force_failover_allow_data_loss( - self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): """Fails over from the current primary server to this server. This operation might result in data loss. @@ -719,13 +646,16 @@ def force_failover_allow_data_loss( :param failover_group_name: The name of the failover group. :type failover_group_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - FailoverGroup or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FailoverGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.FailoverGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.FailoverGroup]] :raises: :class:`CloudError` """ raw_result = self._force_failover_allow_data_loss_initial( @@ -736,30 +666,8 @@ def force_failover_allow_data_loss( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('FailoverGroup', response) if raw: @@ -768,10 +676,11 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) force_failover_allow_data_loss.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/instance_failover_groups_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/instance_failover_groups_operations.py new file mode 100644 index 000000000000..8e9e2c566109 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/instance_failover_groups_operations.py @@ -0,0 +1,580 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class InstanceFailoverGroupsOperations(object): + """InstanceFailoverGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-10-01-preview" + + self.config = config + + def get( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a failover group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param failover_group_name: The name of the failover group. + :type failover_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: InstanceFailoverGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.InstanceFailoverGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'failoverGroupName': self._serialize.url("failover_group_name", failover_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, location_name, failover_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'failoverGroupName': self._serialize.url("failover_group_name", failover_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'InstanceFailoverGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InstanceFailoverGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, location_name, failover_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a failover group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param failover_group_name: The name of the failover group. + :type failover_group_name: str + :param parameters: The failover group parameters. + :type parameters: ~azure.mgmt.sql.models.InstanceFailoverGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InstanceFailoverGroup + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.InstanceFailoverGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.InstanceFailoverGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + location_name=location_name, + failover_group_name=failover_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}'} + + + def _delete_initial( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'failoverGroupName': self._serialize.url("failover_group_name", failover_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a failover group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param failover_group_name: The name of the failover group. + :type failover_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + location_name=location_name, + failover_group_name=failover_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}'} + + def list_by_location( + self, resource_group_name, location_name, custom_headers=None, raw=False, **operation_config): + """Lists the failover groups in a location. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of InstanceFailoverGroup + :rtype: + ~azure.mgmt.sql.models.InstanceFailoverGroupPaged[~azure.mgmt.sql.models.InstanceFailoverGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.InstanceFailoverGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.InstanceFailoverGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups'} + + + def _failover_initial( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.failover.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'failoverGroupName': self._serialize.url("failover_group_name", failover_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def failover( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Fails over from the current primary managed instance to this managed + instance. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param failover_group_name: The name of the failover group. + :type failover_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InstanceFailoverGroup + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.InstanceFailoverGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.InstanceFailoverGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._failover_initial( + resource_group_name=resource_group_name, + location_name=location_name, + failover_group_name=failover_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover'} + + + def _force_failover_allow_data_loss_initial( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.force_failover_allow_data_loss.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'failoverGroupName': self._serialize.url("failover_group_name", failover_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def force_failover_allow_data_loss( + self, resource_group_name, location_name, failover_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Fails over from the current primary managed instance to this managed + instance. This operation might result in data loss. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param failover_group_name: The name of the failover group. + :type failover_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InstanceFailoverGroup + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.InstanceFailoverGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.InstanceFailoverGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._force_failover_allow_data_loss_initial( + resource_group_name=resource_group_name, + location_name=location_name, + failover_group_name=failover_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InstanceFailoverGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + force_failover_allow_data_loss.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_agents_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_agents_operations.py new file mode 100644 index 000000000000..774fa59314ce --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_agents_operations.py @@ -0,0 +1,483 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class JobAgentsOperations(object): + """JobAgentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_server( + self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of job agents in a server. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobAgent + :rtype: + ~azure.mgmt.sql.models.JobAgentPaged[~azure.mgmt.sql.models.JobAgent] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_server.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobAgentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobAgentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents'} + + def get( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, **operation_config): + """Gets a job agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent to be retrieved. + :type job_agent_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobAgent or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobAgent or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobAgent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}'} + + + def _create_or_update_initial( + self, resource_group_name, server_name, job_agent_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'JobAgent') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobAgent', response) + if response.status_code == 201: + deserialized = self._deserialize('JobAgent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, job_agent_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a job agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent to be created or + updated. + :type job_agent_name: str + :param parameters: The requested job agent resource state. + :type parameters: ~azure.mgmt.sql.models.JobAgent + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobAgent or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.JobAgent] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.JobAgent]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + job_agent_name=job_agent_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobAgent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}'} + + + def _delete_initial( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a job agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent to be deleted. + :type job_agent_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + server_name=server_name, + job_agent_name=job_agent_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}'} + + + def _update_initial( + self, resource_group_name, server_name, job_agent_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.JobAgentUpdate(tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'JobAgentUpdate') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobAgent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, server_name, job_agent_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a job agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent to be updated. + :type job_agent_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobAgent or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.JobAgent] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.JobAgent]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + job_agent_name=job_agent_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobAgent', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_credentials_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_credentials_operations.py new file mode 100644 index 000000000000..c4bf415fe5e4 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_credentials_operations.py @@ -0,0 +1,328 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobCredentialsOperations(object): + """JobCredentialsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_agent( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of jobs credentials. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobCredential + :rtype: + ~azure.mgmt.sql.models.JobCredentialPaged[~azure.mgmt.sql.models.JobCredential] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_agent.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobCredentialPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobCredentialPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_agent.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials'} + + def get( + self, resource_group_name, server_name, job_agent_name, credential_name, custom_headers=None, raw=False, **operation_config): + """Gets a jobs credential. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param credential_name: The name of the credential. + :type credential_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobCredential or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobCredential or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'credentialName': self._serialize.url("credential_name", credential_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobCredential', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}'} + + def create_or_update( + self, resource_group_name, server_name, job_agent_name, credential_name, username, password, custom_headers=None, raw=False, **operation_config): + """Creates or updates a job credential. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param credential_name: The name of the credential. + :type credential_name: str + :param username: The credential user name. + :type username: str + :param password: The credential password. + :type password: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobCredential or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobCredential or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.JobCredential(username=username, password=password) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'credentialName': self._serialize.url("credential_name", credential_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'JobCredential') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobCredential', response) + if response.status_code == 201: + deserialized = self._deserialize('JobCredential', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}'} + + def delete( + self, resource_group_name, server_name, job_agent_name, credential_name, custom_headers=None, raw=False, **operation_config): + """Deletes a job credential. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param credential_name: The name of the credential. + :type credential_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'credentialName': self._serialize.url("credential_name", credential_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_executions_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_executions_operations.py new file mode 100644 index 000000000000..3a9c7cd1c597 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_executions_operations.py @@ -0,0 +1,612 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class JobExecutionsOperations(object): + """JobExecutionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_agent( + self, resource_group_name, server_name, job_agent_name, create_time_min=None, create_time_max=None, end_time_min=None, end_time_max=None, is_active=None, skip=None, top=None, custom_headers=None, raw=False, **operation_config): + """Lists all executions in a job agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param create_time_min: If specified, only job executions created at + or after the specified time are included. + :type create_time_min: datetime + :param create_time_max: If specified, only job executions created + before the specified time are included. + :type create_time_max: datetime + :param end_time_min: If specified, only job executions completed at or + after the specified time are included. + :type end_time_min: datetime + :param end_time_max: If specified, only job executions completed + before the specified time are included. + :type end_time_max: datetime + :param is_active: If specified, only active or only completed job + executions are included. + :type is_active: bool + :param skip: The number of elements in the collection to skip. + :type skip: int + :param top: The number of elements to return from the collection. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobExecution + :rtype: + ~azure.mgmt.sql.models.JobExecutionPaged[~azure.mgmt.sql.models.JobExecution] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_agent.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if create_time_min is not None: + query_parameters['createTimeMin'] = self._serialize.query("create_time_min", create_time_min, 'iso-8601') + if create_time_max is not None: + query_parameters['createTimeMax'] = self._serialize.query("create_time_max", create_time_max, 'iso-8601') + if end_time_min is not None: + query_parameters['endTimeMin'] = self._serialize.query("end_time_min", end_time_min, 'iso-8601') + if end_time_max is not None: + query_parameters['endTimeMax'] = self._serialize.query("end_time_max", end_time_max, 'iso-8601') + if is_active is not None: + query_parameters['isActive'] = self._serialize.query("is_active", is_active, 'bool') + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_agent.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions'} + + def cancel( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, custom_headers=None, raw=False, **operation_config): + """Requests cancellation of a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param job_execution_id: The id of the job execution to cancel. + :type job_execution_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel'} + + + def _create_initial( + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts an elastic job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobExecution or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.JobExecution] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.JobExecution]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + server_name=server_name, + job_agent_name=job_agent_name, + job_name=job_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start'} + + def list_by_job( + self, resource_group_name, server_name, job_agent_name, job_name, create_time_min=None, create_time_max=None, end_time_min=None, end_time_max=None, is_active=None, skip=None, top=None, custom_headers=None, raw=False, **operation_config): + """Lists a job's executions. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param create_time_min: If specified, only job executions created at + or after the specified time are included. + :type create_time_min: datetime + :param create_time_max: If specified, only job executions created + before the specified time are included. + :type create_time_max: datetime + :param end_time_min: If specified, only job executions completed at or + after the specified time are included. + :type end_time_min: datetime + :param end_time_max: If specified, only job executions completed + before the specified time are included. + :type end_time_max: datetime + :param is_active: If specified, only active or only completed job + executions are included. + :type is_active: bool + :param skip: The number of elements in the collection to skip. + :type skip: int + :param top: The number of elements to return from the collection. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobExecution + :rtype: + ~azure.mgmt.sql.models.JobExecutionPaged[~azure.mgmt.sql.models.JobExecution] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_job.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if create_time_min is not None: + query_parameters['createTimeMin'] = self._serialize.query("create_time_min", create_time_min, 'iso-8601') + if create_time_max is not None: + query_parameters['createTimeMax'] = self._serialize.query("create_time_max", create_time_max, 'iso-8601') + if end_time_min is not None: + query_parameters['endTimeMin'] = self._serialize.query("end_time_min", end_time_min, 'iso-8601') + if end_time_max is not None: + query_parameters['endTimeMax'] = self._serialize.query("end_time_max", end_time_max, 'iso-8601') + if is_active is not None: + query_parameters['isActive'] = self._serialize.query("is_active", is_active, 'bool') + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions'} + + def get( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, custom_headers=None, raw=False, **operation_config): + """Gets a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param job_execution_id: The id of the job execution + :type job_execution_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobExecution or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobExecution or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}'} + + + def _create_or_update_initial( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobExecution', response) + if response.status_code == 201: + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updatess a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The job execution id to create the job + execution under. + :type job_execution_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns JobExecution or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.JobExecution] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.JobExecution]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + server_name=server_name, + job_agent_name=job_agent_name, + job_name=job_name, + job_execution_id=job_execution_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_step_executions_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_step_executions_operations.py new file mode 100644 index 000000000000..3a2c37310f40 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_step_executions_operations.py @@ -0,0 +1,229 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobStepExecutionsOperations(object): + """JobStepExecutionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_job_execution( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, create_time_min=None, create_time_max=None, end_time_min=None, end_time_max=None, is_active=None, skip=None, top=None, custom_headers=None, raw=False, **operation_config): + """Lists the step executions of a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The id of the job execution + :type job_execution_id: str + :param create_time_min: If specified, only job executions created at + or after the specified time are included. + :type create_time_min: datetime + :param create_time_max: If specified, only job executions created + before the specified time are included. + :type create_time_max: datetime + :param end_time_min: If specified, only job executions completed at or + after the specified time are included. + :type end_time_min: datetime + :param end_time_max: If specified, only job executions completed + before the specified time are included. + :type end_time_max: datetime + :param is_active: If specified, only active or only completed job + executions are included. + :type is_active: bool + :param skip: The number of elements in the collection to skip. + :type skip: int + :param top: The number of elements to return from the collection. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobExecution + :rtype: + ~azure.mgmt.sql.models.JobExecutionPaged[~azure.mgmt.sql.models.JobExecution] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_job_execution.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if create_time_min is not None: + query_parameters['createTimeMin'] = self._serialize.query("create_time_min", create_time_min, 'iso-8601') + if create_time_max is not None: + query_parameters['createTimeMax'] = self._serialize.query("create_time_max", create_time_max, 'iso-8601') + if end_time_min is not None: + query_parameters['endTimeMin'] = self._serialize.query("end_time_min", end_time_min, 'iso-8601') + if end_time_max is not None: + query_parameters['endTimeMax'] = self._serialize.query("end_time_max", end_time_max, 'iso-8601') + if is_active is not None: + query_parameters['isActive'] = self._serialize.query("is_active", is_active, 'bool') + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_job_execution.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps'} + + def get( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, step_name, custom_headers=None, raw=False, **operation_config): + """Gets a step execution of a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The unique id of the job execution + :type job_execution_id: str + :param step_name: The name of the step. + :type step_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobExecution or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobExecution or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_steps_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_steps_operations.py new file mode 100644 index 000000000000..0cd2ba4bc13d --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_steps_operations.py @@ -0,0 +1,495 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobStepsOperations(object): + """JobStepsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_version( + self, resource_group_name, server_name, job_agent_name, job_name, job_version, custom_headers=None, raw=False, **operation_config): + """Gets all job steps in the specified job version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_version: The version of the job to get. + :type job_version: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobStep + :rtype: + ~azure.mgmt.sql.models.JobStepPaged[~azure.mgmt.sql.models.JobStep] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_version.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobVersion': self._serialize.url("job_version", job_version, 'int'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobStepPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobStepPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps'} + + def get_by_version( + self, resource_group_name, server_name, job_agent_name, job_name, job_version, step_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified version of a job step. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param job_version: The version of the job to get. + :type job_version: int + :param step_name: The name of the job step. + :type step_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobStep or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobStep or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_version.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobVersion': self._serialize.url("job_version", job_version, 'int'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobStep', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}'} + + def list_by_job( + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, **operation_config): + """Gets all job steps for a job's current version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobStep + :rtype: + ~azure.mgmt.sql.models.JobStepPaged[~azure.mgmt.sql.models.JobStep] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_job.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobStepPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobStepPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps'} + + def get( + self, resource_group_name, server_name, job_agent_name, job_name, step_name, custom_headers=None, raw=False, **operation_config): + """Gets a job step in a job's current version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param step_name: The name of the job step. + :type step_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobStep or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobStep or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobStep', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}'} + + def create_or_update( + self, resource_group_name, server_name, job_agent_name, job_name, step_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a job step. This will implicitly create a new job + version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param step_name: The name of the job step. + :type step_name: str + :param parameters: The requested state of the job step. + :type parameters: ~azure.mgmt.sql.models.JobStep + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobStep or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobStep or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'JobStep') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobStep', response) + if response.status_code == 201: + deserialized = self._deserialize('JobStep', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}'} + + def delete( + self, resource_group_name, server_name, job_agent_name, job_name, step_name, custom_headers=None, raw=False, **operation_config): + """Deletes a job step. This will implicitly create a new job version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param step_name: The name of the job step to delete. + :type step_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_executions_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_executions_operations.py new file mode 100644 index 000000000000..3224d6ec2d87 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_executions_operations.py @@ -0,0 +1,350 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobTargetExecutionsOperations(object): + """JobTargetExecutionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_job_execution( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, create_time_min=None, create_time_max=None, end_time_min=None, end_time_max=None, is_active=None, skip=None, top=None, custom_headers=None, raw=False, **operation_config): + """Lists target executions for all steps of a job execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The id of the job execution + :type job_execution_id: str + :param create_time_min: If specified, only job executions created at + or after the specified time are included. + :type create_time_min: datetime + :param create_time_max: If specified, only job executions created + before the specified time are included. + :type create_time_max: datetime + :param end_time_min: If specified, only job executions completed at or + after the specified time are included. + :type end_time_min: datetime + :param end_time_max: If specified, only job executions completed + before the specified time are included. + :type end_time_max: datetime + :param is_active: If specified, only active or only completed job + executions are included. + :type is_active: bool + :param skip: The number of elements in the collection to skip. + :type skip: int + :param top: The number of elements to return from the collection. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobExecution + :rtype: + ~azure.mgmt.sql.models.JobExecutionPaged[~azure.mgmt.sql.models.JobExecution] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_job_execution.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if create_time_min is not None: + query_parameters['createTimeMin'] = self._serialize.query("create_time_min", create_time_min, 'iso-8601') + if create_time_max is not None: + query_parameters['createTimeMax'] = self._serialize.query("create_time_max", create_time_max, 'iso-8601') + if end_time_min is not None: + query_parameters['endTimeMin'] = self._serialize.query("end_time_min", end_time_min, 'iso-8601') + if end_time_max is not None: + query_parameters['endTimeMax'] = self._serialize.query("end_time_max", end_time_max, 'iso-8601') + if is_active is not None: + query_parameters['isActive'] = self._serialize.query("is_active", is_active, 'bool') + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_job_execution.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets'} + + def list_by_step( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, step_name, create_time_min=None, create_time_max=None, end_time_min=None, end_time_max=None, is_active=None, skip=None, top=None, custom_headers=None, raw=False, **operation_config): + """Lists the target executions of a job step execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The id of the job execution + :type job_execution_id: str + :param step_name: The name of the step. + :type step_name: str + :param create_time_min: If specified, only job executions created at + or after the specified time are included. + :type create_time_min: datetime + :param create_time_max: If specified, only job executions created + before the specified time are included. + :type create_time_max: datetime + :param end_time_min: If specified, only job executions completed at or + after the specified time are included. + :type end_time_min: datetime + :param end_time_max: If specified, only job executions completed + before the specified time are included. + :type end_time_max: datetime + :param is_active: If specified, only active or only completed job + executions are included. + :type is_active: bool + :param skip: The number of elements in the collection to skip. + :type skip: int + :param top: The number of elements to return from the collection. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobExecution + :rtype: + ~azure.mgmt.sql.models.JobExecutionPaged[~azure.mgmt.sql.models.JobExecution] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_step.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if create_time_min is not None: + query_parameters['createTimeMin'] = self._serialize.query("create_time_min", create_time_min, 'iso-8601') + if create_time_max is not None: + query_parameters['createTimeMax'] = self._serialize.query("create_time_max", create_time_max, 'iso-8601') + if end_time_min is not None: + query_parameters['endTimeMin'] = self._serialize.query("end_time_min", end_time_min, 'iso-8601') + if end_time_max is not None: + query_parameters['endTimeMax'] = self._serialize.query("end_time_max", end_time_max, 'iso-8601') + if is_active is not None: + query_parameters['isActive'] = self._serialize.query("is_active", is_active, 'bool') + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobExecutionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_step.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets'} + + def get( + self, resource_group_name, server_name, job_agent_name, job_name, job_execution_id, step_name, target_id, custom_headers=None, raw=False, **operation_config): + """Gets a target execution. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param job_execution_id: The unique id of the job execution + :type job_execution_id: str + :param step_name: The name of the step. + :type step_name: str + :param target_id: The target id. + :type target_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobExecution or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobExecution or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobExecutionId': self._serialize.url("job_execution_id", job_execution_id, 'str'), + 'stepName': self._serialize.url("step_name", step_name, 'str'), + 'targetId': self._serialize.url("target_id", target_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobExecution', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_groups_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_groups_operations.py new file mode 100644 index 000000000000..0bf98a502cb8 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_target_groups_operations.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobTargetGroupsOperations(object): + """JobTargetGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_agent( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, **operation_config): + """Gets all target groups in an agent. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobTargetGroup + :rtype: + ~azure.mgmt.sql.models.JobTargetGroupPaged[~azure.mgmt.sql.models.JobTargetGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_agent.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobTargetGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobTargetGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_agent.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups'} + + def get( + self, resource_group_name, server_name, job_agent_name, target_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a target group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param target_group_name: The name of the target group. + :type target_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobTargetGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobTargetGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'targetGroupName': self._serialize.url("target_group_name", target_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobTargetGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}'} + + def create_or_update( + self, resource_group_name, server_name, job_agent_name, target_group_name, members, custom_headers=None, raw=False, **operation_config): + """Creates or updates a target group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param target_group_name: The name of the target group. + :type target_group_name: str + :param members: Members of the target group. + :type members: list[~azure.mgmt.sql.models.JobTarget] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobTargetGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobTargetGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.JobTargetGroup(members=members) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'targetGroupName': self._serialize.url("target_group_name", target_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'JobTargetGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobTargetGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('JobTargetGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}'} + + def delete( + self, resource_group_name, server_name, job_agent_name, target_group_name, custom_headers=None, raw=False, **operation_config): + """Deletes a target group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param target_group_name: The name of the target group. + :type target_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'targetGroupName': self._serialize.url("target_group_name", target_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/job_versions_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/job_versions_operations.py new file mode 100644 index 000000000000..ec9e2ff23061 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/job_versions_operations.py @@ -0,0 +1,190 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobVersionsOperations(object): + """JobVersionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def list_by_job( + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, **operation_config): + """Gets all versions of a job. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobVersion + :rtype: + ~azure.mgmt.sql.models.JobVersionPaged[~azure.mgmt.sql.models.JobVersion] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_job.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobVersionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobVersionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions'} + + def get( + self, resource_group_name, server_name, job_agent_name, job_name, job_version, custom_headers=None, raw=False, **operation_config): + """Gets a job version. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job. + :type job_name: str + :param job_version: The version of the job to get. + :type job_version: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobVersion or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.JobVersion or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'jobVersion': self._serialize.url("job_version", job_version, 'int'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobVersion', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_vaults_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/jobs_operations.py similarity index 57% rename from azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_vaults_operations.py rename to azure-mgmt-sql/azure/mgmt/sql/operations/jobs_operations.py index cf800d7202bd..042336e20941 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/backup_long_term_retention_vaults_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/jobs_operations.py @@ -12,21 +12,18 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller from .. import models -class BackupLongTermRetentionVaultsOperations(object): - """BackupLongTermRetentionVaultsOperations operations. +class JobsOperations(object): + """JobsOperations operations. :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to use for the request. Constant value: "2014-04-01". - :ivar backup_long_term_retention_vault_name: The name of the Azure SQL Server backup LongTermRetention vault. Constant value: "RegisteredVault". + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". """ models = models @@ -36,14 +33,88 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2014-04-01" - self.backup_long_term_retention_vault_name = "RegisteredVault" + self.api_version = "2017-03-01-preview" self.config = config + def list_by_agent( + self, resource_group_name, server_name, job_agent_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of jobs. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Job + :rtype: ~azure.mgmt.sql.models.JobPaged[~azure.mgmt.sql.models.Job] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_agent.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_agent.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs'} + def get( - self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): - """Gets a server backup long term retention vault. + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, **operation_config): + """Gets a job. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -51,23 +122,28 @@ def get( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: BackupLongTermRetentionVault or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.sql.models.BackupLongTermRetentionVault or + :return: Job or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.Job or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ # Construct URL url = self.get.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'backupLongTermRetentionVaultName': self._serialize.url("self.backup_long_term_retention_vault_name", self.backup_long_term_retention_vault_name, 'str') + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -97,27 +173,53 @@ def get( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('BackupLongTermRetentionVault', response) + deserialized = self._deserialize('Job', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}'} + def create_or_update( + self, resource_group_name, server_name, job_agent_name, job_name, description="", schedule=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates a job. - def _create_or_update_initial( - self, resource_group_name, server_name, recovery_services_vault_resource_id, custom_headers=None, raw=False, **operation_config): - parameters = models.BackupLongTermRetentionVault(recovery_services_vault_resource_id=recovery_services_vault_resource_id) + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param server_name: The name of the server. + :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to get. + :type job_name: str + :param description: User-defined description of the job. + :type description: str + :param schedule: Schedule properties of the job. + :type schedule: ~azure.mgmt.sql.models.JobSchedule + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Job or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.Job or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Job(description=description, schedule=schedule) # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'serverName': self._serialize.url("server_name", server_name, 'str'), - 'backupLongTermRetentionVaultName': self._serialize.url("self.backup_long_term_retention_vault_name", self.backup_long_term_retention_vault_name, 'str') + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -136,14 +238,14 @@ def _create_or_update_initial( header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(parameters, 'BackupLongTermRetentionVault') + body_content = self._serialize.body(parameters, 'Job') # Construct and send request request = self._client.put(url, query_parameters) response = self._client.send( request, header_parameters, body_content, stream=False, **operation_config) - if response.status_code not in [200, 201, 202]: + if response.status_code not in [200, 201]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp @@ -151,90 +253,20 @@ def _create_or_update_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('BackupLongTermRetentionVault', response) + deserialized = self._deserialize('Job', response) if response.status_code == 201: - deserialized = self._deserialize('BackupLongTermRetentionVault', response) + deserialized = self._deserialize('Job', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}'} - def create_or_update( - self, resource_group_name, server_name, recovery_services_vault_resource_id, custom_headers=None, raw=False, **operation_config): - """Updates a server backup long term retention vault. - - :param resource_group_name: The name of the resource group that - contains the resource. You can obtain this value from the Azure - Resource Manager API or the portal. - :type resource_group_name: str - :param server_name: The name of the server. - :type server_name: str - :param recovery_services_vault_resource_id: The azure recovery - services vault resource id - :type recovery_services_vault_resource_id: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - BackupLongTermRetentionVault or ClientRawResponse if raw=true - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.BackupLongTermRetentionVault] - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - server_name=server_name, - recovery_services_vault_resource_id=recovery_services_vault_resource_id, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) - - def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = self._deserialize('BackupLongTermRetentionVault', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - long_running_operation_timeout = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}'} - - def list_by_server( - self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): - """Gets server backup long term retention vaults in a server. + def delete( + self, resource_group_name, server_name, job_agent_name, job_name, custom_headers=None, raw=False, **operation_config): + """Deletes a job. :param resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure @@ -242,65 +274,54 @@ def list_by_server( :type resource_group_name: str :param server_name: The name of the server. :type server_name: str + :param job_agent_name: The name of the job agent. + :type job_agent_name: str + :param job_name: The name of the job to delete. + :type job_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of BackupLongTermRetentionVault - :rtype: - ~azure.mgmt.sql.models.BackupLongTermRetentionVaultPaged[~azure.mgmt.sql.models.BackupLongTermRetentionVault] + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_server.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'serverName': self._serialize.url("server_name", server_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serverName': self._serialize.url("server_name", server_name, 'str'), + 'jobAgentName': self._serialize.url("job_agent_name", job_agent_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) - # Construct and send request - request = self._client.get(url, query_parameters) - response = self._client.send( - request, header_parameters, stream=False, **operation_config) + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - return response + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) - # Deserialize response - deserialized = models.BackupLongTermRetentionVaultPaged(internal_paging, self._deserialize.dependencies) + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp if raw: - header_dict = {} - client_raw_response = models.BackupLongTermRetentionVaultPaged(internal_paging, self._deserialize.dependencies, header_dict) + client_raw_response = ClientRawResponse(None, response) return client_raw_response - - return deserialized - list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/long_term_retention_backups_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/long_term_retention_backups_operations.py new file mode 100644 index 000000000000..3857d750063c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/long_term_retention_backups_operations.py @@ -0,0 +1,445 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LongTermRetentionBackupsOperations(object): + """LongTermRetentionBackupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + def get( + self, location_name, long_term_retention_server_name, long_term_retention_database_name, backup_name, custom_headers=None, raw=False, **operation_config): + """Gets a long term retention backup. + + :param location_name: The location of the database. + :type location_name: str + :param long_term_retention_server_name: + :type long_term_retention_server_name: str + :param long_term_retention_database_name: + :type long_term_retention_database_name: str + :param backup_name: The backup name. + :type backup_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LongTermRetentionBackup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.LongTermRetentionBackup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'longTermRetentionServerName': self._serialize.url("long_term_retention_server_name", long_term_retention_server_name, 'str'), + 'longTermRetentionDatabaseName': self._serialize.url("long_term_retention_database_name", long_term_retention_database_name, 'str'), + 'backupName': self._serialize.url("backup_name", backup_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('LongTermRetentionBackup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}'} + + + def _delete_initial( + self, location_name, long_term_retention_server_name, long_term_retention_database_name, backup_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'longTermRetentionServerName': self._serialize.url("long_term_retention_server_name", long_term_retention_server_name, 'str'), + 'longTermRetentionDatabaseName': self._serialize.url("long_term_retention_database_name", long_term_retention_database_name, 'str'), + 'backupName': self._serialize.url("backup_name", backup_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, location_name, long_term_retention_server_name, long_term_retention_database_name, backup_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a long term retention backup. + + :param location_name: The location of the database + :type location_name: str + :param long_term_retention_server_name: + :type long_term_retention_server_name: str + :param long_term_retention_database_name: + :type long_term_retention_database_name: str + :param backup_name: The backup name. + :type backup_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + location_name=location_name, + long_term_retention_server_name=long_term_retention_server_name, + long_term_retention_database_name=long_term_retention_database_name, + backup_name=backup_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}'} + + def list_by_database( + self, location_name, long_term_retention_server_name, long_term_retention_database_name, only_latest_per_database=None, database_state=None, custom_headers=None, raw=False, **operation_config): + """Lists all long term retention backups for a database. + + :param location_name: The location of the database + :type location_name: str + :param long_term_retention_server_name: + :type long_term_retention_server_name: str + :param long_term_retention_database_name: + :type long_term_retention_database_name: str + :param only_latest_per_database: Whether or not to only get the latest + backup for each database. + :type only_latest_per_database: bool + :param database_state: Whether to query against just live databases, + just deleted databases, or all databases. Possible values include: + 'All', 'Live', 'Deleted' + :type database_state: str or + ~azure.mgmt.sql.models.LongTermRetentionDatabaseState + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LongTermRetentionBackup + :rtype: + ~azure.mgmt.sql.models.LongTermRetentionBackupPaged[~azure.mgmt.sql.models.LongTermRetentionBackup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_database.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'longTermRetentionServerName': self._serialize.url("long_term_retention_server_name", long_term_retention_server_name, 'str'), + 'longTermRetentionDatabaseName': self._serialize.url("long_term_retention_database_name", long_term_retention_database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if only_latest_per_database is not None: + query_parameters['onlyLatestPerDatabase'] = self._serialize.query("only_latest_per_database", only_latest_per_database, 'bool') + if database_state is not None: + query_parameters['databaseState'] = self._serialize.query("database_state", database_state, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_database.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups'} + + def list_by_location( + self, location_name, only_latest_per_database=None, database_state=None, custom_headers=None, raw=False, **operation_config): + """Lists the long term retention backups for a given location. + + :param location_name: The location of the database + :type location_name: str + :param only_latest_per_database: Whether or not to only get the latest + backup for each database. + :type only_latest_per_database: bool + :param database_state: Whether to query against just live databases, + just deleted databases, or all databases. Possible values include: + 'All', 'Live', 'Deleted' + :type database_state: str or + ~azure.mgmt.sql.models.LongTermRetentionDatabaseState + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LongTermRetentionBackup + :rtype: + ~azure.mgmt.sql.models.LongTermRetentionBackupPaged[~azure.mgmt.sql.models.LongTermRetentionBackup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if only_latest_per_database is not None: + query_parameters['onlyLatestPerDatabase'] = self._serialize.query("only_latest_per_database", only_latest_per_database, 'bool') + if database_state is not None: + query_parameters['databaseState'] = self._serialize.query("database_state", database_state, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups'} + + def list_by_server( + self, location_name, long_term_retention_server_name, only_latest_per_database=None, database_state=None, custom_headers=None, raw=False, **operation_config): + """Lists the long term retention backups for a given server. + + :param location_name: The location of the database + :type location_name: str + :param long_term_retention_server_name: + :type long_term_retention_server_name: str + :param only_latest_per_database: Whether or not to only get the latest + backup for each database. + :type only_latest_per_database: bool + :param database_state: Whether to query against just live databases, + just deleted databases, or all databases. Possible values include: + 'All', 'Live', 'Deleted' + :type database_state: str or + ~azure.mgmt.sql.models.LongTermRetentionDatabaseState + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of LongTermRetentionBackup + :rtype: + ~azure.mgmt.sql.models.LongTermRetentionBackupPaged[~azure.mgmt.sql.models.LongTermRetentionBackup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_server.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'longTermRetentionServerName': self._serialize.url("long_term_retention_server_name", long_term_retention_server_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if only_latest_per_database is not None: + query_parameters['onlyLatestPerDatabase'] = self._serialize.query("only_latest_per_database", only_latest_per_database, 'bool') + if database_state is not None: + query_parameters['databaseState'] = self._serialize.query("database_state", database_state, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LongTermRetentionBackupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_server.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/managed_databases_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/managed_databases_operations.py new file mode 100644 index 000000000000..d4d2bb29f2b5 --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/managed_databases_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ManagedDatabasesOperations(object): + """ManagedDatabasesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2017-03-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-03-01-preview" + + self.config = config + + + def _complete_restore_initial( + self, location_name, operation_id, last_backup_name, custom_headers=None, raw=False, **operation_config): + parameters = models.CompleteDatabaseRestoreDefinition(last_backup_name=last_backup_name) + + # Construct URL + url = self.complete_restore.metadata['url'] + path_format_arguments = { + 'locationName': self._serialize.url("location_name", location_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'CompleteDatabaseRestoreDefinition') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def complete_restore( + self, location_name, operation_id, last_backup_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Completes the restore operation on a managed database. + + :param location_name: The name of the region where the resource is + located. + :type location_name: str + :param operation_id: Management operation id that this request tries + to complete. + :type operation_id: str + :param last_backup_name: The last backup name to apply + :type last_backup_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._complete_restore_initial( + location_name=location_name, + operation_id=operation_id, + last_backup_name=last_backup_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + complete_restore.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore'} + + def list_by_instance( + self, resource_group_name, managed_instance_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of managed databases. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagedDatabase + :rtype: + ~azure.mgmt.sql.models.ManagedDatabasePaged[~azure.mgmt.sql.models.ManagedDatabase] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_instance.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagedDatabasePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagedDatabasePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_instance.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases'} + + def get( + self, resource_group_name, managed_instance_name, database_name, custom_headers=None, raw=False, **operation_config): + """Gets a managed database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param database_name: The name of the database. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagedDatabase or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.ManagedDatabase or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedDatabase', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}'} + + + def _create_or_update_initial( + self, resource_group_name, managed_instance_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagedDatabase') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedDatabase', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagedDatabase', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, managed_instance_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new database or updates an existing database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param database_name: The name of the database. + :type database_name: str + :param parameters: The requested database resource state. + :type parameters: ~azure.mgmt.sql.models.ManagedDatabase + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedDatabase or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ManagedDatabase] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ManagedDatabase]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + database_name=database_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedDatabase', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}'} + + + def _delete_initial( + self, resource_group_name, managed_instance_name, database_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, managed_instance_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the managed database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param database_name: The name of the database. + :type database_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + database_name=database_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}'} + + + def _update_initial( + self, resource_group_name, managed_instance_name, database_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagedDatabaseUpdate') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedDatabase', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, managed_instance_name, database_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an existing database. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param database_name: The name of the database. + :type database_name: str + :param parameters: The requested database resource state. + :type parameters: ~azure.mgmt.sql.models.ManagedDatabaseUpdate + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedDatabase or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ManagedDatabase] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ManagedDatabase]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + database_name=database_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedDatabase', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/managed_instances_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/managed_instances_operations.py new file mode 100644 index 000000000000..1bd0b6a0d60c --- /dev/null +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/managed_instances_operations.py @@ -0,0 +1,527 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ManagedInstancesOperations(object): + """ManagedInstancesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the request. Constant value: "2015-05-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-05-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of all managed instances in the subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagedInstance + :rtype: + ~azure.mgmt.sql.models.ManagedInstancePaged[~azure.mgmt.sql.models.ManagedInstance] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagedInstancePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagedInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of managed instances in a resource group. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagedInstance + :rtype: + ~azure.mgmt.sql.models.ManagedInstancePaged[~azure.mgmt.sql.models.ManagedInstance] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagedInstancePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagedInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances'} + + def get( + self, resource_group_name, managed_instance_name, custom_headers=None, raw=False, **operation_config): + """Gets a managed instance. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagedInstance or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.sql.models.ManagedInstance or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedInstance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}'} + + + def _create_or_update_initial( + self, resource_group_name, managed_instance_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagedInstance') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedInstance', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagedInstance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, managed_instance_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a managed instance. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param parameters: The requested managed instance resource state. + :type parameters: ~azure.mgmt.sql.models.ManagedInstance + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedInstance or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ManagedInstance] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ManagedInstance]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedInstance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}'} + + + def _delete_initial( + self, resource_group_name, managed_instance_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, managed_instance_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a managed instance. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}'} + + + def _update_initial( + self, resource_group_name, managed_instance_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagedInstanceUpdate') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagedInstance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, managed_instance_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a managed instance. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. + :type managed_instance_name: str + :param parameters: The requested managed instance resource state. + :type parameters: ~azure.mgmt.sql.models.ManagedInstanceUpdate + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ManagedInstance or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ManagedInstance] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ManagedInstance]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedInstance', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/replication_links_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/replication_links_operations.py index 97b22a63406e..4627fe4bccbc 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/replication_links_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/replication_links_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -214,7 +214,7 @@ def _failover_initial( return client_raw_response def failover( - self, resource_group_name, server_name, database_name, link_id, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, link_id, custom_headers=None, raw=False, polling=True, **operation_config): """Sets which replica database is primary by failing over from the current primary replica database. @@ -230,12 +230,14 @@ def failover( :param link_id: The ID of the replication link to be failed over. :type link_id: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._failover_initial( @@ -247,40 +249,19 @@ def failover( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover'} @@ -325,7 +306,7 @@ def _failover_allow_data_loss_initial( return client_raw_response def failover_allow_data_loss( - self, resource_group_name, server_name, database_name, link_id, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, link_id, custom_headers=None, raw=False, polling=True, **operation_config): """Sets which replica database is primary by failing over from the current primary replica database. This operation might result in data loss. @@ -341,12 +322,14 @@ def failover_allow_data_loss( :param link_id: The ID of the replication link to be failed over. :type link_id: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._failover_allow_data_loss_initial( @@ -358,40 +341,19 @@ def failover_allow_data_loss( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) failover_allow_data_loss.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss'} def list_by_database( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/restore_points_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/restore_points_operations.py index 6586a45c20cb..4c0ded271cf1 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/restore_points_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/restore_points_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -171,7 +171,7 @@ def _create_initial( return deserialized def create( - self, resource_group_name, server_name, database_name, restore_point_label, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, restore_point_label, custom_headers=None, raw=False, polling=True, **operation_config): """Creates a restore point for a data warehouse. :param resource_group_name: The name of the resource group that @@ -185,13 +185,16 @@ def create( :param restore_point_label: The restore point label to apply :type restore_point_label: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns RestorePoint - or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RestorePoint or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.RestorePoint] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.RestorePoint]] :raises: :class:`CloudError` """ raw_result = self._create_initial( @@ -203,30 +206,8 @@ def create( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('RestorePoint', response) if raw: @@ -235,12 +216,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints'} def get( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/server_azure_ad_administrators_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/server_azure_ad_administrators_operations.py index 7aa49566fd0c..465231415dde 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/server_azure_ad_administrators_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/server_azure_ad_administrators_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -97,7 +97,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, properties, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, properties, custom_headers=None, raw=False, polling=True, **operation_config): """Creates a new Server Active Directory Administrator or updates an existing server Active Directory Administrator. @@ -111,13 +111,17 @@ def create_or_update( Active Directory Administrator. :type properties: ~azure.mgmt.sql.models.ServerAzureADAdministrator :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ServerAzureADAdministrator or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ServerAzureADAdministrator or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ServerAzureADAdministrator] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ServerAzureADAdministrator]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -128,30 +132,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('ServerAzureADAdministrator', response) if raw: @@ -160,12 +142,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}'} @@ -220,7 +203,7 @@ def _delete_initial( return deserialized def delete( - self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes an existing server Active Directory Administrator. :param resource_group_name: The name of the resource group that @@ -230,13 +213,17 @@ def delete( :param server_name: The name of the server. :type server_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ServerAzureADAdministrator or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ServerAzureADAdministrator or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ServerAzureADAdministrator] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ServerAzureADAdministrator]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -246,30 +233,8 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('ServerAzureADAdministrator', response) if raw: @@ -278,12 +243,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}'} def get( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/server_communication_links_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/server_communication_links_operations.py index fb064c155f6b..5d9935bb7b88 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/server_communication_links_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/server_communication_links_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -221,7 +221,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, communication_link_name, partner_server, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, communication_link_name, partner_server, custom_headers=None, raw=False, polling=True, **operation_config): """Creates a server communication link. :param resource_group_name: The name of the resource group that @@ -236,13 +236,16 @@ def create_or_update( :param partner_server: The name of the partner server. :type partner_server: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ServerCommunicationLink or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServerCommunicationLink + or ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ServerCommunicationLink] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ServerCommunicationLink]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -254,30 +257,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('ServerCommunicationLink', response) if raw: @@ -286,12 +267,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}'} def list_by_server( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/server_dns_aliases_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/server_dns_aliases_operations.py index d4537d795491..5b7d511666a6 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/server_dns_aliases_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/server_dns_aliases_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -157,7 +157,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, dns_alias_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, dns_alias_name, custom_headers=None, raw=False, polling=True, **operation_config): """Creates a server dns alias. :param resource_group_name: The name of the resource group that @@ -170,13 +170,16 @@ def create_or_update( :param dns_alias_name: The name of the server DNS alias. :type dns_alias_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - ServerDnsAlias or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServerDnsAlias or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ServerDnsAlias] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ServerDnsAlias]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -187,30 +190,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('ServerDnsAlias', response) if raw: @@ -219,12 +200,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}'} @@ -268,7 +250,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, dns_alias_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, dns_alias_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes the server DNS alias with the given name. :param resource_group_name: The name of the resource group that @@ -281,12 +263,14 @@ def delete( :param dns_alias_name: The name of the server DNS alias. :type dns_alias_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -297,40 +281,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}'} def list_by_server( @@ -454,7 +417,7 @@ def _acquire_initial( return client_raw_response def acquire( - self, resource_group_name, server_name, dns_alias_name, old_server_dns_alias_id=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, dns_alias_name, old_server_dns_alias_id=None, custom_headers=None, raw=False, polling=True, **operation_config): """Acquires server DNS alias from another server. :param resource_group_name: The name of the resource group that @@ -470,12 +433,14 @@ def acquire( be acquired to point to this server instead. :type old_server_dns_alias_id: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._acquire_initial( @@ -487,38 +452,17 @@ def acquire( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) acquire.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/server_keys_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/server_keys_operations.py index d2a7f960e3a8..322f982c5a71 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/server_keys_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/server_keys_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -233,7 +233,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, key_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, key_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a server key. :param resource_group_name: The name of the resource group that @@ -252,13 +252,16 @@ def create_or_update( :param parameters: The requested server key resource state. :type parameters: ~azure.mgmt.sql.models.ServerKey :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns ServerKey or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServerKey or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.ServerKey] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.ServerKey]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -270,30 +273,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('ServerKey', response) if raw: @@ -302,12 +283,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}'} @@ -351,7 +333,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, key_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, key_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes the server key with the given name. :param resource_group_name: The name of the resource group that @@ -363,12 +345,14 @@ def delete( :param key_name: The name of the server key to be deleted. :type key_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -379,38 +363,17 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/servers_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/servers_operations.py index b6a01aa11780..4e8b4510da88 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/servers_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/servers_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -364,7 +364,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a server. :param resource_group_name: The name of the resource group that @@ -376,13 +376,16 @@ def create_or_update( :param parameters: The requested server resource state. :type parameters: ~azure.mgmt.sql.models.Server :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns Server or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Server or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Server] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Server]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -393,30 +396,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('Server', response) if raw: @@ -425,12 +406,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}'} @@ -475,7 +457,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes a server. :param resource_group_name: The name of the resource group that @@ -485,12 +467,14 @@ def delete( :param server_name: The name of the server. :type server_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -500,40 +484,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}'} @@ -589,7 +552,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Updates a server. :param resource_group_name: The name of the resource group that @@ -601,13 +564,16 @@ def update( :param parameters: The requested server resource state. :type parameters: ~azure.mgmt.sql.models.ServerUpdate :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns Server or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Server or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.Server] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.Server]] :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -618,30 +584,8 @@ def update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('Server', response) if raw: @@ -650,10 +594,11 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_agents_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_agents_operations.py index 8fa4b7762a85..bfbcc0564d79 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_agents_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_agents_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -163,7 +163,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, sync_agent_name, sync_database_id=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, sync_agent_name, sync_database_id=None, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a sync agent. :param resource_group_name: The name of the resource group that @@ -179,13 +179,16 @@ def create_or_update( sync agent. :type sync_database_id: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns SyncAgent or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SyncAgent or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.SyncAgent] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.SyncAgent]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -197,30 +200,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('SyncAgent', response) if raw: @@ -229,12 +210,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}'} @@ -278,7 +260,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, sync_agent_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, sync_agent_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes a sync agent. :param resource_group_name: The name of the resource group that @@ -291,12 +273,14 @@ def delete( :param sync_agent_name: The name of the sync agent. :type sync_agent_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -307,40 +291,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}'} def list_by_server( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_groups_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_groups_operations.py index 391f1d42b9ad..87e80a399f67 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_groups_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_groups_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -150,7 +150,7 @@ def _refresh_hub_schema_initial( return client_raw_response def refresh_hub_schema( - self, resource_group_name, server_name, database_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, custom_headers=None, raw=False, polling=True, **operation_config): """Refreshes a hub database schema. :param resource_group_name: The name of the resource group that @@ -165,12 +165,14 @@ def refresh_hub_schema( :param sync_group_name: The name of the sync group. :type sync_group_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._refresh_hub_schema_initial( @@ -182,40 +184,19 @@ def refresh_hub_schema( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) refresh_hub_schema.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema'} def list_hub_schemas( @@ -644,7 +625,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, database_name, sync_group_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a sync group. :param resource_group_name: The name of the resource group that @@ -661,13 +642,16 @@ def create_or_update( :param parameters: The requested sync group resource state. :type parameters: ~azure.mgmt.sql.models.SyncGroup :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns SyncGroup or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SyncGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.SyncGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.SyncGroup]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -680,30 +664,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('SyncGroup', response) if raw: @@ -712,12 +674,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}'} @@ -762,7 +725,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, database_name, sync_group_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes a sync group. :param resource_group_name: The name of the resource group that @@ -777,12 +740,14 @@ def delete( :param sync_group_name: The name of the sync group. :type sync_group_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -794,40 +759,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}'} @@ -883,7 +827,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, database_name, sync_group_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Updates a sync group. :param resource_group_name: The name of the resource group that @@ -900,13 +844,16 @@ def update( :param parameters: The requested sync group resource state. :type parameters: ~azure.mgmt.sql.models.SyncGroup :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns SyncGroup or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SyncGroup or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.SyncGroup] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.SyncGroup]] :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -919,30 +866,8 @@ def update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('SyncGroup', response) if raw: @@ -951,12 +876,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}'} def list_by_database( diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_members_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_members_operations.py index ed914395809e..e33d8ac88a7d 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/sync_members_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/sync_members_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -170,7 +170,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates a sync member. :param resource_group_name: The name of the resource group that @@ -190,13 +190,16 @@ def create_or_update( :param parameters: The requested sync member resource state. :type parameters: ~azure.mgmt.sql.models.SyncMember :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns SyncMember - or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SyncMember or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.SyncMember] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.SyncMember]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -210,30 +213,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('SyncMember', response) if raw: @@ -242,12 +223,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}'} @@ -293,7 +275,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes a sync member. :param resource_group_name: The name of the resource group that @@ -311,12 +293,14 @@ def delete( :param sync_member_name: The name of the sync member. :type sync_member_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -329,40 +313,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}'} @@ -419,7 +382,7 @@ def _update_initial( return deserialized def update( - self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Updates an existing sync member. :param resource_group_name: The name of the resource group that @@ -439,13 +402,16 @@ def update( :param parameters: The requested sync member resource state. :type parameters: ~azure.mgmt.sql.models.SyncMember :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns SyncMember - or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SyncMember or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.SyncMember] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.SyncMember]] :raises: :class:`CloudError` """ raw_result = self._update_initial( @@ -459,30 +425,8 @@ def update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('SyncMember', response) if raw: @@ -491,12 +435,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}'} def list_by_sync_group( @@ -706,7 +651,7 @@ def _refresh_member_schema_initial( return client_raw_response def refresh_member_schema( - self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, database_name, sync_group_name, sync_member_name, custom_headers=None, raw=False, polling=True, **operation_config): """Refreshes a sync member database schema. :param resource_group_name: The name of the resource group that @@ -724,12 +669,14 @@ def refresh_member_schema( :param sync_member_name: The name of the sync member. :type sync_member_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._refresh_member_schema_initial( @@ -742,38 +689,17 @@ def refresh_member_schema( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) refresh_member_schema.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema'} diff --git a/azure-mgmt-sql/azure/mgmt/sql/operations/virtual_network_rules_operations.py b/azure-mgmt-sql/azure/mgmt/sql/operations/virtual_network_rules_operations.py index 37671105d16f..2af3a57b2448 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/operations/virtual_network_rules_operations.py +++ b/azure-mgmt-sql/azure/mgmt/sql/operations/virtual_network_rules_operations.py @@ -12,8 +12,8 @@ import uuid from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError -from msrest.exceptions import DeserializationError -from msrestazure.azure_operation import AzureOperationPoller +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling from .. import models @@ -163,7 +163,7 @@ def _create_or_update_initial( return deserialized def create_or_update( - self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, virtual_network_rule_name, virtual_network_subnet_id, ignore_missing_vnet_service_endpoint=None, custom_headers=None, raw=False, polling=True, **operation_config): """Creates or updates an existing virtual network rule. :param resource_group_name: The name of the resource group that @@ -182,13 +182,16 @@ def create_or_update( before the virtual network has vnet service endpoint enabled. :type ignore_missing_vnet_service_endpoint: bool :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns - VirtualNetworkRule or ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkRule or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.sql.models.VirtualNetworkRule] - or ~msrest.pipeline.ClientRawResponse + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.sql.models.VirtualNetworkRule]] :raises: :class:`CloudError` """ raw_result = self._create_or_update_initial( @@ -201,30 +204,8 @@ def create_or_update( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 201, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - deserialized = self._deserialize('VirtualNetworkRule', response) if raw: @@ -233,12 +214,13 @@ def get_long_running_output(response): return deserialized - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} @@ -282,7 +264,7 @@ def _delete_initial( return client_raw_response def delete( - self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, server_name, virtual_network_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): """Deletes the virtual network rule with the given name. :param resource_group_name: The name of the resource group that @@ -295,12 +277,14 @@ def delete( rule. :type virtual_network_rule_name: str :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :return: An instance of AzureOperationPoller that returns None or - ClientRawResponse if raw=true + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrest.pipeline.ClientRawResponse + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] :raises: :class:`CloudError` """ raw_result = self._delete_initial( @@ -311,40 +295,19 @@ def delete( raw=True, **operation_config ) - if raw: - return raw_result - - # Construct and send request - def long_running_send(): - return raw_result.response - - def get_long_running_status(status_link, headers=None): - - request = self._client.get(status_link) - if headers: - request.headers.update(headers) - header_parameters = {} - header_parameters['x-ms-client-request-id'] = raw_result.response.request.headers['x-ms-client-request-id'] - return self._client.send( - request, header_parameters, stream=False, **operation_config) def get_long_running_output(response): - - if response.status_code not in [200, 202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - if raw: client_raw_response = ClientRawResponse(None, response) return client_raw_response - long_running_operation_timeout = operation_config.get( + lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - return AzureOperationPoller( - long_running_send, get_long_running_output, - get_long_running_status, long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}'} def list_by_server( diff --git a/azure-mgmt-sql/azure/mgmt/sql/sql_management_client.py b/azure-mgmt-sql/azure/mgmt/sql/sql_management_client.py index 06ca7b1630a2..39a53dad15fb 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/sql_management_client.py +++ b/azure-mgmt-sql/azure/mgmt/sql/sql_management_client.py @@ -9,31 +9,28 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import ServiceClient +from msrest.service_client import SDKClient from msrest import Serializer, Deserializer from msrestazure import AzureConfiguration from .version import VERSION -from .operations.backup_long_term_retention_policies_operations import BackupLongTermRetentionPoliciesOperations -from .operations.backup_long_term_retention_vaults_operations import BackupLongTermRetentionVaultsOperations from .operations.recoverable_databases_operations import RecoverableDatabasesOperations from .operations.restorable_dropped_databases_operations import RestorableDroppedDatabasesOperations -from .operations.capabilities_operations import CapabilitiesOperations from .operations.servers_operations import ServersOperations from .operations.server_connection_policies_operations import ServerConnectionPoliciesOperations -from .operations.databases_operations import DatabasesOperations from .operations.database_threat_detection_policies_operations import DatabaseThreatDetectionPoliciesOperations from .operations.data_masking_policies_operations import DataMaskingPoliciesOperations from .operations.data_masking_rules_operations import DataMaskingRulesOperations -from .operations.elastic_pools_operations import ElasticPoolsOperations from .operations.firewall_rules_operations import FirewallRulesOperations from .operations.geo_backup_policies_operations import GeoBackupPoliciesOperations +from .operations.databases_operations import DatabasesOperations +from .operations.elastic_pools_operations import ElasticPoolsOperations +from .operations.recommended_elastic_pools_operations import RecommendedElasticPoolsOperations from .operations.replication_links_operations import ReplicationLinksOperations from .operations.server_azure_ad_administrators_operations import ServerAzureADAdministratorsOperations from .operations.server_communication_links_operations import ServerCommunicationLinksOperations from .operations.service_objectives_operations import ServiceObjectivesOperations from .operations.elastic_pool_activities_operations import ElasticPoolActivitiesOperations from .operations.elastic_pool_database_activities_operations import ElasticPoolDatabaseActivitiesOperations -from .operations.recommended_elastic_pools_operations import RecommendedElasticPoolsOperations from .operations.service_tier_advisors_operations import ServiceTierAdvisorsOperations from .operations.transparent_data_encryptions_operations import TransparentDataEncryptionsOperations from .operations.transparent_data_encryption_activities_operations import TransparentDataEncryptionActivitiesOperations @@ -43,6 +40,7 @@ from .operations.database_automatic_tuning_operations import DatabaseAutomaticTuningOperations from .operations.encryption_protectors_operations import EncryptionProtectorsOperations from .operations.failover_groups_operations import FailoverGroupsOperations +from .operations.managed_instances_operations import ManagedInstancesOperations from .operations.operations import Operations from .operations.server_keys_operations import ServerKeysOperations from .operations.sync_agents_operations import SyncAgentsOperations @@ -50,11 +48,29 @@ from .operations.sync_members_operations import SyncMembersOperations from .operations.subscription_usages_operations import SubscriptionUsagesOperations from .operations.virtual_network_rules_operations import VirtualNetworkRulesOperations +from .operations.database_vulnerability_assessment_rule_baselines_operations import DatabaseVulnerabilityAssessmentRuleBaselinesOperations +from .operations.database_vulnerability_assessments_operations import DatabaseVulnerabilityAssessmentsOperations +from .operations.job_agents_operations import JobAgentsOperations +from .operations.job_credentials_operations import JobCredentialsOperations +from .operations.job_executions_operations import JobExecutionsOperations +from .operations.jobs_operations import JobsOperations +from .operations.job_step_executions_operations import JobStepExecutionsOperations +from .operations.job_steps_operations import JobStepsOperations +from .operations.job_target_executions_operations import JobTargetExecutionsOperations +from .operations.job_target_groups_operations import JobTargetGroupsOperations +from .operations.job_versions_operations import JobVersionsOperations +from .operations.long_term_retention_backups_operations import LongTermRetentionBackupsOperations +from .operations.backup_long_term_retention_policies_operations import BackupLongTermRetentionPoliciesOperations +from .operations.managed_databases_operations import ManagedDatabasesOperations from .operations.server_automatic_tuning_operations import ServerAutomaticTuningOperations from .operations.server_dns_aliases_operations import ServerDnsAliasesOperations from .operations.restore_points_operations import RestorePointsOperations from .operations.database_operations import DatabaseOperations from .operations.elastic_pool_operations import ElasticPoolOperations +from .operations.capabilities_operations import CapabilitiesOperations +from .operations.database_vulnerability_assessment_scans_operations import DatabaseVulnerabilityAssessmentScansOperations +from .operations.instance_failover_groups_operations import InstanceFailoverGroupsOperations +from .operations.backup_short_term_retention_policies_operations import BackupShortTermRetentionPoliciesOperations from . import models @@ -91,40 +107,36 @@ def __init__( self.subscription_id = subscription_id -class SqlManagementClient(object): +class SqlManagementClient(SDKClient): """The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases. :ivar config: Configuration for client. :vartype config: SqlManagementClientConfiguration - :ivar backup_long_term_retention_policies: BackupLongTermRetentionPolicies operations - :vartype backup_long_term_retention_policies: azure.mgmt.sql.operations.BackupLongTermRetentionPoliciesOperations - :ivar backup_long_term_retention_vaults: BackupLongTermRetentionVaults operations - :vartype backup_long_term_retention_vaults: azure.mgmt.sql.operations.BackupLongTermRetentionVaultsOperations :ivar recoverable_databases: RecoverableDatabases operations :vartype recoverable_databases: azure.mgmt.sql.operations.RecoverableDatabasesOperations :ivar restorable_dropped_databases: RestorableDroppedDatabases operations :vartype restorable_dropped_databases: azure.mgmt.sql.operations.RestorableDroppedDatabasesOperations - :ivar capabilities: Capabilities operations - :vartype capabilities: azure.mgmt.sql.operations.CapabilitiesOperations :ivar servers: Servers operations :vartype servers: azure.mgmt.sql.operations.ServersOperations :ivar server_connection_policies: ServerConnectionPolicies operations :vartype server_connection_policies: azure.mgmt.sql.operations.ServerConnectionPoliciesOperations - :ivar databases: Databases operations - :vartype databases: azure.mgmt.sql.operations.DatabasesOperations :ivar database_threat_detection_policies: DatabaseThreatDetectionPolicies operations :vartype database_threat_detection_policies: azure.mgmt.sql.operations.DatabaseThreatDetectionPoliciesOperations :ivar data_masking_policies: DataMaskingPolicies operations :vartype data_masking_policies: azure.mgmt.sql.operations.DataMaskingPoliciesOperations :ivar data_masking_rules: DataMaskingRules operations :vartype data_masking_rules: azure.mgmt.sql.operations.DataMaskingRulesOperations - :ivar elastic_pools: ElasticPools operations - :vartype elastic_pools: azure.mgmt.sql.operations.ElasticPoolsOperations :ivar firewall_rules: FirewallRules operations :vartype firewall_rules: azure.mgmt.sql.operations.FirewallRulesOperations :ivar geo_backup_policies: GeoBackupPolicies operations :vartype geo_backup_policies: azure.mgmt.sql.operations.GeoBackupPoliciesOperations + :ivar databases: Databases operations + :vartype databases: azure.mgmt.sql.operations.DatabasesOperations + :ivar elastic_pools: ElasticPools operations + :vartype elastic_pools: azure.mgmt.sql.operations.ElasticPoolsOperations + :ivar recommended_elastic_pools: RecommendedElasticPools operations + :vartype recommended_elastic_pools: azure.mgmt.sql.operations.RecommendedElasticPoolsOperations :ivar replication_links: ReplicationLinks operations :vartype replication_links: azure.mgmt.sql.operations.ReplicationLinksOperations :ivar server_azure_ad_administrators: ServerAzureADAdministrators operations @@ -137,8 +149,6 @@ class SqlManagementClient(object): :vartype elastic_pool_activities: azure.mgmt.sql.operations.ElasticPoolActivitiesOperations :ivar elastic_pool_database_activities: ElasticPoolDatabaseActivities operations :vartype elastic_pool_database_activities: azure.mgmt.sql.operations.ElasticPoolDatabaseActivitiesOperations - :ivar recommended_elastic_pools: RecommendedElasticPools operations - :vartype recommended_elastic_pools: azure.mgmt.sql.operations.RecommendedElasticPoolsOperations :ivar service_tier_advisors: ServiceTierAdvisors operations :vartype service_tier_advisors: azure.mgmt.sql.operations.ServiceTierAdvisorsOperations :ivar transparent_data_encryptions: TransparentDataEncryptions operations @@ -157,6 +167,8 @@ class SqlManagementClient(object): :vartype encryption_protectors: azure.mgmt.sql.operations.EncryptionProtectorsOperations :ivar failover_groups: FailoverGroups operations :vartype failover_groups: azure.mgmt.sql.operations.FailoverGroupsOperations + :ivar managed_instances: ManagedInstances operations + :vartype managed_instances: azure.mgmt.sql.operations.ManagedInstancesOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.sql.operations.Operations :ivar server_keys: ServerKeys operations @@ -171,6 +183,34 @@ class SqlManagementClient(object): :vartype subscription_usages: azure.mgmt.sql.operations.SubscriptionUsagesOperations :ivar virtual_network_rules: VirtualNetworkRules operations :vartype virtual_network_rules: azure.mgmt.sql.operations.VirtualNetworkRulesOperations + :ivar database_vulnerability_assessment_rule_baselines: DatabaseVulnerabilityAssessmentRuleBaselines operations + :vartype database_vulnerability_assessment_rule_baselines: azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentRuleBaselinesOperations + :ivar database_vulnerability_assessments: DatabaseVulnerabilityAssessments operations + :vartype database_vulnerability_assessments: azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentsOperations + :ivar job_agents: JobAgents operations + :vartype job_agents: azure.mgmt.sql.operations.JobAgentsOperations + :ivar job_credentials: JobCredentials operations + :vartype job_credentials: azure.mgmt.sql.operations.JobCredentialsOperations + :ivar job_executions: JobExecutions operations + :vartype job_executions: azure.mgmt.sql.operations.JobExecutionsOperations + :ivar jobs: Jobs operations + :vartype jobs: azure.mgmt.sql.operations.JobsOperations + :ivar job_step_executions: JobStepExecutions operations + :vartype job_step_executions: azure.mgmt.sql.operations.JobStepExecutionsOperations + :ivar job_steps: JobSteps operations + :vartype job_steps: azure.mgmt.sql.operations.JobStepsOperations + :ivar job_target_executions: JobTargetExecutions operations + :vartype job_target_executions: azure.mgmt.sql.operations.JobTargetExecutionsOperations + :ivar job_target_groups: JobTargetGroups operations + :vartype job_target_groups: azure.mgmt.sql.operations.JobTargetGroupsOperations + :ivar job_versions: JobVersions operations + :vartype job_versions: azure.mgmt.sql.operations.JobVersionsOperations + :ivar long_term_retention_backups: LongTermRetentionBackups operations + :vartype long_term_retention_backups: azure.mgmt.sql.operations.LongTermRetentionBackupsOperations + :ivar backup_long_term_retention_policies: BackupLongTermRetentionPolicies operations + :vartype backup_long_term_retention_policies: azure.mgmt.sql.operations.BackupLongTermRetentionPoliciesOperations + :ivar managed_databases: ManagedDatabases operations + :vartype managed_databases: azure.mgmt.sql.operations.ManagedDatabasesOperations :ivar server_automatic_tuning: ServerAutomaticTuning operations :vartype server_automatic_tuning: azure.mgmt.sql.operations.ServerAutomaticTuningOperations :ivar server_dns_aliases: ServerDnsAliases operations @@ -181,6 +221,14 @@ class SqlManagementClient(object): :vartype database_operations: azure.mgmt.sql.operations.DatabaseOperations :ivar elastic_pool_operations: ElasticPoolOperations operations :vartype elastic_pool_operations: azure.mgmt.sql.operations.ElasticPoolOperations + :ivar capabilities: Capabilities operations + :vartype capabilities: azure.mgmt.sql.operations.CapabilitiesOperations + :ivar database_vulnerability_assessment_scans: DatabaseVulnerabilityAssessmentScans operations + :vartype database_vulnerability_assessment_scans: azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentScansOperations + :ivar instance_failover_groups: InstanceFailoverGroups operations + :vartype instance_failover_groups: azure.mgmt.sql.operations.InstanceFailoverGroupsOperations + :ivar backup_short_term_retention_policies: BackupShortTermRetentionPolicies operations + :vartype backup_short_term_retention_policies: azure.mgmt.sql.operations.BackupShortTermRetentionPoliciesOperations :param credentials: Credentials needed for the client to connect to Azure. :type credentials: :mod:`A msrestazure Credentials @@ -195,40 +243,36 @@ def __init__( self, credentials, subscription_id, base_url=None): self.config = SqlManagementClientConfiguration(credentials, subscription_id, base_url) - self._client = ServiceClient(self.config.credentials, self.config) + super(SqlManagementClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) - self.backup_long_term_retention_policies = BackupLongTermRetentionPoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.backup_long_term_retention_vaults = BackupLongTermRetentionVaultsOperations( - self._client, self.config, self._serialize, self._deserialize) self.recoverable_databases = RecoverableDatabasesOperations( self._client, self.config, self._serialize, self._deserialize) self.restorable_dropped_databases = RestorableDroppedDatabasesOperations( self._client, self.config, self._serialize, self._deserialize) - self.capabilities = CapabilitiesOperations( - self._client, self.config, self._serialize, self._deserialize) self.servers = ServersOperations( self._client, self.config, self._serialize, self._deserialize) self.server_connection_policies = ServerConnectionPoliciesOperations( self._client, self.config, self._serialize, self._deserialize) - self.databases = DatabasesOperations( - self._client, self.config, self._serialize, self._deserialize) self.database_threat_detection_policies = DatabaseThreatDetectionPoliciesOperations( self._client, self.config, self._serialize, self._deserialize) self.data_masking_policies = DataMaskingPoliciesOperations( self._client, self.config, self._serialize, self._deserialize) self.data_masking_rules = DataMaskingRulesOperations( self._client, self.config, self._serialize, self._deserialize) - self.elastic_pools = ElasticPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) self.firewall_rules = FirewallRulesOperations( self._client, self.config, self._serialize, self._deserialize) self.geo_backup_policies = GeoBackupPoliciesOperations( self._client, self.config, self._serialize, self._deserialize) + self.databases = DatabasesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.elastic_pools = ElasticPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.recommended_elastic_pools = RecommendedElasticPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) self.replication_links = ReplicationLinksOperations( self._client, self.config, self._serialize, self._deserialize) self.server_azure_ad_administrators = ServerAzureADAdministratorsOperations( @@ -241,8 +285,6 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.elastic_pool_database_activities = ElasticPoolDatabaseActivitiesOperations( self._client, self.config, self._serialize, self._deserialize) - self.recommended_elastic_pools = RecommendedElasticPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) self.service_tier_advisors = ServiceTierAdvisorsOperations( self._client, self.config, self._serialize, self._deserialize) self.transparent_data_encryptions = TransparentDataEncryptionsOperations( @@ -261,6 +303,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.failover_groups = FailoverGroupsOperations( self._client, self.config, self._serialize, self._deserialize) + self.managed_instances = ManagedInstancesOperations( + self._client, self.config, self._serialize, self._deserialize) self.operations = Operations( self._client, self.config, self._serialize, self._deserialize) self.server_keys = ServerKeysOperations( @@ -275,6 +319,34 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.virtual_network_rules = VirtualNetworkRulesOperations( self._client, self.config, self._serialize, self._deserialize) + self.database_vulnerability_assessment_rule_baselines = DatabaseVulnerabilityAssessmentRuleBaselinesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.database_vulnerability_assessments = DatabaseVulnerabilityAssessmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_agents = JobAgentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_credentials = JobCredentialsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_executions = JobExecutionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.jobs = JobsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_step_executions = JobStepExecutionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_steps = JobStepsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_target_executions = JobTargetExecutionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_target_groups = JobTargetGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.job_versions = JobVersionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.long_term_retention_backups = LongTermRetentionBackupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.backup_long_term_retention_policies = BackupLongTermRetentionPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.managed_databases = ManagedDatabasesOperations( + self._client, self.config, self._serialize, self._deserialize) self.server_automatic_tuning = ServerAutomaticTuningOperations( self._client, self.config, self._serialize, self._deserialize) self.server_dns_aliases = ServerDnsAliasesOperations( @@ -285,3 +357,11 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.elastic_pool_operations = ElasticPoolOperations( self._client, self.config, self._serialize, self._deserialize) + self.capabilities = CapabilitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.database_vulnerability_assessment_scans = DatabaseVulnerabilityAssessmentScansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.instance_failover_groups = InstanceFailoverGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.backup_short_term_retention_policies = BackupShortTermRetentionPoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/azure-mgmt-sql/azure/mgmt/sql/version.py b/azure-mgmt-sql/azure/mgmt/sql/version.py index 0562a1ce8b81..3697d9b71739 100644 --- a/azure-mgmt-sql/azure/mgmt/sql/version.py +++ b/azure-mgmt-sql/azure/mgmt/sql/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.8.6" +VERSION = "0.9.0"