azure_mgmt_sql 0.17.2 → 0.17.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +5 -5
  2. data/lib/2014-04-01/generated/azure_mgmt_sql/databases.rb +6 -6
  3. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database.rb +47 -27
  4. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_edition.rb +3 -0
  5. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_security_alert_policy.rb +1 -1
  6. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_update.rb +47 -27
  7. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool.rb +2 -1
  8. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool_edition.rb +2 -0
  9. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool_update.rb +2 -1
  10. data/lib/2014-04-01/generated/azure_mgmt_sql/models/import_request.rb +16 -2
  11. data/lib/2014-04-01/generated/azure_mgmt_sql/models/metric_definition.rb +1 -1
  12. data/lib/2014-04-01/generated/azure_mgmt_sql/models/recommended_elastic_pool.rb +3 -2
  13. data/lib/2014-04-01/generated/azure_mgmt_sql/recommended_elastic_pools.rb +6 -6
  14. data/lib/2014-04-01/generated/azure_mgmt_sql/server_table_auditing_policies.rb +6 -6
  15. data/lib/2014-04-01/generated/azure_mgmt_sql/sql_management_client.rb +1 -1
  16. data/lib/2015-05-01-preview/generated/azure_mgmt_sql.rb +35 -28
  17. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/managed_instances.rb +317 -107
  18. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/advisor.rb +3 -3
  19. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/database_blob_auditing_policy.rb +37 -6
  20. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance.rb +145 -5
  21. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_license_type.rb +16 -0
  22. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_proxy_override.rb +17 -0
  23. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_update.rb +143 -4
  24. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_server_create_mode.rb +16 -0
  25. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/recommended_action_state_info.rb +2 -2
  26. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster.rb +130 -0
  27. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster_list_result.rb +100 -0
  28. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster_update.rb +98 -0
  29. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +5 -1
  30. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/virtual_clusters.rb +814 -0
  31. data/lib/2017-03-01-preview/generated/azure_mgmt_sql.rb +41 -26
  32. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/database_vulnerability_assessments.rb +219 -0
  33. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/job_executions.rb +4 -4
  34. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/long_term_retention_backups.rb +28 -28
  35. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_backup_short_term_retention_policies.rb +684 -0
  36. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_database_security_alert_policies.rb +483 -0
  37. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_databases.rb +4 -4
  38. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_restorable_dropped_database_backup_short_term_retention_policies.rb +684 -0
  39. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_server_security_alert_policies.rb +500 -0
  40. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/backup_long_term_retention_policy.rb +1 -1
  41. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_blob_auditing_policy.rb +37 -6
  42. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment.rb +19 -4
  43. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_list_result.rb +102 -0
  44. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/extended_database_blob_auditing_policy.rb +37 -6
  45. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/extended_server_blob_auditing_policy.rb +37 -6
  46. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/job_schedule.rb +1 -1
  47. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/logical_server_security_alert_policy_list_result.rb +102 -0
  48. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/long_term_retention_backup_list_result.rb +1 -1
  49. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_backup_short_term_retention_policy.rb +74 -0
  50. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_backup_short_term_retention_policy_list_result.rb +104 -0
  51. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database.rb +32 -5
  52. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_create_mode.rb +1 -0
  53. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_security_alert_policy.rb +179 -0
  54. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_security_alert_policy_list_result.rb +102 -0
  55. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_status.rb +1 -0
  56. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_update.rb +32 -5
  57. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_server_security_alert_policy.rb +179 -0
  58. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_server_security_alert_policy_list_result.rb +102 -0
  59. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restorable_dropped_managed_database.rb +135 -0
  60. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restorable_dropped_managed_database_list_result.rb +102 -0
  61. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restore_point_list_result.rb +1 -1
  62. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/sensitivity_label.rb +37 -0
  63. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/server_blob_auditing_policy.rb +37 -6
  64. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/server_security_alert_policy.rb +16 -3
  65. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/restorable_dropped_managed_databases.rb +340 -0
  66. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/sensitivity_labels.rb +460 -14
  67. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/server_security_alert_policies.rb +210 -0
  68. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +31 -5
  69. data/lib/2017-10-01-preview/generated/azure_mgmt_sql.rb +41 -24
  70. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/database_vulnerability_assessment_scans.rb +79 -79
  71. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessment_rule_baselines.rb +400 -0
  72. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessment_scans.rb +621 -0
  73. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessments.rb +575 -0
  74. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_instance_encryption_protectors.rb +500 -0
  75. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_instance_keys.rb +669 -0
  76. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database.rb +42 -2
  77. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_status.rb +2 -0
  78. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_update.rb +26 -1
  79. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment.rb +19 -4
  80. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_list_result.rb +102 -0
  81. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_rule_baseline.rb +84 -0
  82. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_rule_baseline_item.rb +56 -0
  83. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/elastic_pool.rb +11 -1
  84. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_encryption_protector.rb +123 -0
  85. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_encryption_protector_list_result.rb +102 -0
  86. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_key.rb +124 -0
  87. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_key_list_result.rb +100 -0
  88. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/recoverable_managed_database.rb +74 -0
  89. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/recoverable_managed_database_list_result.rb +100 -0
  90. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/server_key_type.rb +16 -0
  91. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/vulnerability_assessment_policy_baseline_name.rb +16 -0
  92. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/recoverable_managed_databases.rb +340 -0
  93. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +29 -1
  94. data/lib/2018-06-01-preview/generated/azure_mgmt_sql.rb +64 -0
  95. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_columns.rb +375 -0
  96. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_schemas.rb +357 -0
  97. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_security_alert_policies.rb +483 -0
  98. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_tables.rb +366 -0
  99. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/instance_pools.rb +999 -0
  100. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_columns.rb +375 -0
  101. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_schemas.rb +357 -0
  102. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_sensitivity_labels.rb +1058 -0
  103. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_tables.rb +366 -0
  104. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_instance_vulnerability_assessments.rb +561 -0
  105. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/column_data_type.rb +48 -0
  106. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_column.rb +79 -0
  107. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_column_list_result.rb +100 -0
  108. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_schema.rb +62 -0
  109. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_schema_list_result.rb +100 -0
  110. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_security_alert_list_result.rb +100 -0
  111. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_security_alert_policy.rb +179 -0
  112. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_table.rb +62 -0
  113. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_table_list_result.rb +100 -0
  114. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool.rb +135 -0
  115. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_license_type.rb +16 -0
  116. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_list_result.rb +100 -0
  117. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_update.rb +54 -0
  118. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/managed_instance_vulnerability_assessment.rb +114 -0
  119. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/managed_instance_vulnerability_assessment_list_result.rb +104 -0
  120. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/proxy_resource.rb +62 -0
  121. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/resource.rb +80 -0
  122. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/security_alert_policy_state.rb +17 -0
  123. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label.rb +121 -0
  124. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label_list_result.rb +100 -0
  125. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label_source.rb +16 -0
  126. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/server_vulnerability_assessment.rb +114 -0
  127. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/server_vulnerability_assessment_list_result.rb +101 -0
  128. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sku.rb +97 -0
  129. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/tracked_resource.rb +92 -0
  130. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/vulnerability_assessment_recurring_scans_properties.rb +80 -0
  131. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/module_definition.rb +9 -0
  132. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/server_vulnerability_assessments.rb +554 -0
  133. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +174 -0
  134. data/lib/azure_mgmt_sql.rb +1 -0
  135. data/lib/profiles/latest/modules/sql_profile_module.rb +467 -261
  136. data/lib/version.rb +1 -1
  137. metadata +82 -3
@@ -321,7 +321,7 @@ module Azure::SQL::Mgmt::V2017_03_01_preview
321
321
  end
322
322
 
323
323
  #
324
- # Deletes the managed database.
324
+ # Deletes a managed database.
325
325
  #
326
326
  # @param resource_group_name [String] The name of the resource group that
327
327
  # contains the resource. You can obtain this value from the Azure Resource
@@ -641,7 +641,7 @@ module Azure::SQL::Mgmt::V2017_03_01_preview
641
641
  end
642
642
 
643
643
  #
644
- # Deletes the managed database.
644
+ # Deletes a managed database.
645
645
  #
646
646
  # @param resource_group_name [String] The name of the resource group that
647
647
  # contains the resource. You can obtain this value from the Azure Resource
@@ -658,7 +658,7 @@ module Azure::SQL::Mgmt::V2017_03_01_preview
658
658
  end
659
659
 
660
660
  #
661
- # Deletes the managed database.
661
+ # Deletes a managed database.
662
662
  #
663
663
  # @param resource_group_name [String] The name of the resource group that
664
664
  # contains the resource. You can obtain this value from the Azure Resource
@@ -675,7 +675,7 @@ module Azure::SQL::Mgmt::V2017_03_01_preview
675
675
  end
676
676
 
677
677
  #
678
- # Deletes the managed database.
678
+ # Deletes a managed database.
679
679
  #
680
680
  # @param resource_group_name [String] The name of the resource group that
681
681
  # contains the resource. You can obtain this value from the Azure Resource
@@ -0,0 +1,684 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::SQL::Mgmt::V2017_03_01_preview
7
+ #
8
+ # The Azure SQL Database management API provides a RESTful set of web
9
+ # services that interact with Azure SQL Database services to manage your
10
+ # databases. The API enables you to create, retrieve, update, and delete
11
+ # databases.
12
+ #
13
+ class ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies class.
18
+ # @param client service class for accessing basic functionality.
19
+ #
20
+ def initialize(client)
21
+ @client = client
22
+ end
23
+
24
+ # @return [SqlManagementClient] reference to the SqlManagementClient
25
+ attr_reader :client
26
+
27
+ #
28
+ # Gets a dropped database's short term retention policy.
29
+ #
30
+ # @param resource_group_name [String] The name of the resource group that
31
+ # contains the resource. You can obtain this value from the Azure Resource
32
+ # Manager API or the portal.
33
+ # @param managed_instance_name [String] The name of the managed instance.
34
+ # @param restorable_dropped_database_id [String]
35
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
36
+ # will be added to the HTTP request.
37
+ #
38
+ # @return [ManagedBackupShortTermRetentionPolicy] operation results.
39
+ #
40
+ def get(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
41
+ response = get_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:custom_headers).value!
42
+ response.body unless response.nil?
43
+ end
44
+
45
+ #
46
+ # Gets a dropped database's short term retention policy.
47
+ #
48
+ # @param resource_group_name [String] The name of the resource group that
49
+ # contains the resource. You can obtain this value from the Azure Resource
50
+ # Manager API or the portal.
51
+ # @param managed_instance_name [String] The name of the managed instance.
52
+ # @param restorable_dropped_database_id [String]
53
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
54
+ # will be added to the HTTP request.
55
+ #
56
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
57
+ #
58
+ def get_with_http_info(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
59
+ get_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:custom_headers).value!
60
+ end
61
+
62
+ #
63
+ # Gets a dropped database's short term retention policy.
64
+ #
65
+ # @param resource_group_name [String] The name of the resource group that
66
+ # contains the resource. You can obtain this value from the Azure Resource
67
+ # Manager API or the portal.
68
+ # @param managed_instance_name [String] The name of the managed instance.
69
+ # @param restorable_dropped_database_id [String]
70
+ # @param [Hash{String => String}] A hash of custom headers that will be added
71
+ # to the HTTP request.
72
+ #
73
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
74
+ #
75
+ def get_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
76
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
77
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
78
+ fail ArgumentError, 'restorable_dropped_database_id is nil' if restorable_dropped_database_id.nil?
79
+ policy_name = 'default'
80
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
81
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
82
+
83
+
84
+ request_headers = {}
85
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
86
+
87
+ # Set Headers
88
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
89
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
90
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}'
91
+
92
+ request_url = @base_url || @client.base_url
93
+
94
+ options = {
95
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
96
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'restorableDroppedDatabaseId' => restorable_dropped_database_id,'policyName' => policy_name,'subscriptionId' => @client.subscription_id},
97
+ query_params: {'api-version' => @client.api_version},
98
+ headers: request_headers.merge(custom_headers || {}),
99
+ base_url: request_url
100
+ }
101
+ promise = @client.make_request_async(:get, path_template, options)
102
+
103
+ promise = promise.then do |result|
104
+ http_response = result.response
105
+ status_code = http_response.status
106
+ response_content = http_response.body
107
+ unless status_code == 200
108
+ error_model = JSON.load(response_content)
109
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
110
+ end
111
+
112
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
113
+ # Deserialize Response
114
+ if status_code == 200
115
+ begin
116
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
117
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
118
+ result.body = @client.deserialize(result_mapper, parsed_response)
119
+ rescue Exception => e
120
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
121
+ end
122
+ end
123
+
124
+ result
125
+ end
126
+
127
+ promise.execute
128
+ end
129
+
130
+ #
131
+ # Sets a database's long term retention policy.
132
+ #
133
+ # @param resource_group_name [String] The name of the resource group that
134
+ # contains the resource. You can obtain this value from the Azure Resource
135
+ # Manager API or the portal.
136
+ # @param managed_instance_name [String] The name of the managed instance.
137
+ # @param restorable_dropped_database_id [String]
138
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
139
+ # retention policy info.
140
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
141
+ # will be added to the HTTP request.
142
+ #
143
+ # @return [ManagedBackupShortTermRetentionPolicy] operation results.
144
+ #
145
+ def create_or_update(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
146
+ response = create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
147
+ response.body unless response.nil?
148
+ end
149
+
150
+ #
151
+ # @param resource_group_name [String] The name of the resource group that
152
+ # contains the resource. You can obtain this value from the Azure Resource
153
+ # Manager API or the portal.
154
+ # @param managed_instance_name [String] The name of the managed instance.
155
+ # @param restorable_dropped_database_id [String]
156
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
157
+ # retention policy info.
158
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
159
+ # will be added to the HTTP request.
160
+ #
161
+ # @return [Concurrent::Promise] promise which provides async access to http
162
+ # response.
163
+ #
164
+ def create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
165
+ # Send request
166
+ promise = begin_create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers)
167
+
168
+ promise = promise.then do |response|
169
+ # Defining deserialization method.
170
+ deserialize_method = lambda do |parsed_response|
171
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
172
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
173
+ end
174
+
175
+ # Waiting for response.
176
+ @client.get_long_running_operation_result(response, deserialize_method)
177
+ end
178
+
179
+ promise
180
+ end
181
+
182
+ #
183
+ # Sets a database's long term retention policy.
184
+ #
185
+ # @param resource_group_name [String] The name of the resource group that
186
+ # contains the resource. You can obtain this value from the Azure Resource
187
+ # Manager API or the portal.
188
+ # @param managed_instance_name [String] The name of the managed instance.
189
+ # @param restorable_dropped_database_id [String]
190
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
191
+ # retention policy info.
192
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
193
+ # will be added to the HTTP request.
194
+ #
195
+ # @return [ManagedBackupShortTermRetentionPolicy] operation results.
196
+ #
197
+ def update(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
198
+ response = update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
199
+ response.body unless response.nil?
200
+ end
201
+
202
+ #
203
+ # @param resource_group_name [String] The name of the resource group that
204
+ # contains the resource. You can obtain this value from the Azure Resource
205
+ # Manager API or the portal.
206
+ # @param managed_instance_name [String] The name of the managed instance.
207
+ # @param restorable_dropped_database_id [String]
208
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
209
+ # retention policy info.
210
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
211
+ # will be added to the HTTP request.
212
+ #
213
+ # @return [Concurrent::Promise] promise which provides async access to http
214
+ # response.
215
+ #
216
+ def update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
217
+ # Send request
218
+ promise = begin_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers)
219
+
220
+ promise = promise.then do |response|
221
+ # Defining deserialization method.
222
+ deserialize_method = lambda do |parsed_response|
223
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
224
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
225
+ end
226
+
227
+ # Waiting for response.
228
+ @client.get_long_running_operation_result(response, deserialize_method)
229
+ end
230
+
231
+ promise
232
+ end
233
+
234
+ #
235
+ # Gets a dropped database's short term retention policy list.
236
+ #
237
+ # @param resource_group_name [String] The name of the resource group that
238
+ # contains the resource. You can obtain this value from the Azure Resource
239
+ # Manager API or the portal.
240
+ # @param managed_instance_name [String] The name of the managed instance.
241
+ # @param restorable_dropped_database_id [String]
242
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
243
+ # will be added to the HTTP request.
244
+ #
245
+ # @return [Array<ManagedBackupShortTermRetentionPolicy>] operation results.
246
+ #
247
+ def list_by_restorable_dropped_database(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
248
+ first_page = list_by_restorable_dropped_database_as_lazy(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:custom_headers)
249
+ first_page.get_all_items
250
+ end
251
+
252
+ #
253
+ # Gets a dropped database's short term retention policy list.
254
+ #
255
+ # @param resource_group_name [String] The name of the resource group that
256
+ # contains the resource. You can obtain this value from the Azure Resource
257
+ # Manager API or the portal.
258
+ # @param managed_instance_name [String] The name of the managed instance.
259
+ # @param restorable_dropped_database_id [String]
260
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
261
+ # will be added to the HTTP request.
262
+ #
263
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
264
+ #
265
+ def list_by_restorable_dropped_database_with_http_info(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
266
+ list_by_restorable_dropped_database_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:custom_headers).value!
267
+ end
268
+
269
+ #
270
+ # Gets a dropped database's short term retention policy list.
271
+ #
272
+ # @param resource_group_name [String] The name of the resource group that
273
+ # contains the resource. You can obtain this value from the Azure Resource
274
+ # Manager API or the portal.
275
+ # @param managed_instance_name [String] The name of the managed instance.
276
+ # @param restorable_dropped_database_id [String]
277
+ # @param [Hash{String => String}] A hash of custom headers that will be added
278
+ # to the HTTP request.
279
+ #
280
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
281
+ #
282
+ def list_by_restorable_dropped_database_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
283
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
284
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
285
+ fail ArgumentError, 'restorable_dropped_database_id is nil' if restorable_dropped_database_id.nil?
286
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
287
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
288
+
289
+
290
+ request_headers = {}
291
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
292
+
293
+ # Set Headers
294
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
295
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
296
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies'
297
+
298
+ request_url = @base_url || @client.base_url
299
+
300
+ options = {
301
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
302
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'restorableDroppedDatabaseId' => restorable_dropped_database_id,'subscriptionId' => @client.subscription_id},
303
+ query_params: {'api-version' => @client.api_version},
304
+ headers: request_headers.merge(custom_headers || {}),
305
+ base_url: request_url
306
+ }
307
+ promise = @client.make_request_async(:get, path_template, options)
308
+
309
+ promise = promise.then do |result|
310
+ http_response = result.response
311
+ status_code = http_response.status
312
+ response_content = http_response.body
313
+ unless status_code == 200
314
+ error_model = JSON.load(response_content)
315
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
316
+ end
317
+
318
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
319
+ # Deserialize Response
320
+ if status_code == 200
321
+ begin
322
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
323
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicyListResult.mapper()
324
+ result.body = @client.deserialize(result_mapper, parsed_response)
325
+ rescue Exception => e
326
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
327
+ end
328
+ end
329
+
330
+ result
331
+ end
332
+
333
+ promise.execute
334
+ end
335
+
336
+ #
337
+ # Sets a database's long term retention policy.
338
+ #
339
+ # @param resource_group_name [String] The name of the resource group that
340
+ # contains the resource. You can obtain this value from the Azure Resource
341
+ # Manager API or the portal.
342
+ # @param managed_instance_name [String] The name of the managed instance.
343
+ # @param restorable_dropped_database_id [String]
344
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
345
+ # retention policy info.
346
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
347
+ # will be added to the HTTP request.
348
+ #
349
+ # @return [ManagedBackupShortTermRetentionPolicy] operation results.
350
+ #
351
+ def begin_create_or_update(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
352
+ response = begin_create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
353
+ response.body unless response.nil?
354
+ end
355
+
356
+ #
357
+ # Sets a database's long term retention policy.
358
+ #
359
+ # @param resource_group_name [String] The name of the resource group that
360
+ # contains the resource. You can obtain this value from the Azure Resource
361
+ # Manager API or the portal.
362
+ # @param managed_instance_name [String] The name of the managed instance.
363
+ # @param restorable_dropped_database_id [String]
364
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
365
+ # retention policy info.
366
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
367
+ # will be added to the HTTP request.
368
+ #
369
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
370
+ #
371
+ def begin_create_or_update_with_http_info(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
372
+ begin_create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
373
+ end
374
+
375
+ #
376
+ # Sets a database's long term retention policy.
377
+ #
378
+ # @param resource_group_name [String] The name of the resource group that
379
+ # contains the resource. You can obtain this value from the Azure Resource
380
+ # Manager API or the portal.
381
+ # @param managed_instance_name [String] The name of the managed instance.
382
+ # @param restorable_dropped_database_id [String]
383
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
384
+ # retention policy info.
385
+ # @param [Hash{String => String}] A hash of custom headers that will be added
386
+ # to the HTTP request.
387
+ #
388
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
389
+ #
390
+ def begin_create_or_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
391
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
392
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
393
+ fail ArgumentError, 'restorable_dropped_database_id is nil' if restorable_dropped_database_id.nil?
394
+ policy_name = 'default'
395
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
396
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
397
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
398
+
399
+
400
+ request_headers = {}
401
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
402
+
403
+ # Set Headers
404
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
405
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
406
+
407
+ # Serialize Request
408
+ request_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
409
+ request_content = @client.serialize(request_mapper, parameters)
410
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
411
+
412
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}'
413
+
414
+ request_url = @base_url || @client.base_url
415
+
416
+ options = {
417
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
418
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'restorableDroppedDatabaseId' => restorable_dropped_database_id,'policyName' => policy_name,'subscriptionId' => @client.subscription_id},
419
+ query_params: {'api-version' => @client.api_version},
420
+ body: request_content,
421
+ headers: request_headers.merge(custom_headers || {}),
422
+ base_url: request_url
423
+ }
424
+ promise = @client.make_request_async(:put, path_template, options)
425
+
426
+ promise = promise.then do |result|
427
+ http_response = result.response
428
+ status_code = http_response.status
429
+ response_content = http_response.body
430
+ unless status_code == 200 || status_code == 202
431
+ error_model = JSON.load(response_content)
432
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
433
+ end
434
+
435
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
436
+ # Deserialize Response
437
+ if status_code == 200
438
+ begin
439
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
440
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
441
+ result.body = @client.deserialize(result_mapper, parsed_response)
442
+ rescue Exception => e
443
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
444
+ end
445
+ end
446
+
447
+ result
448
+ end
449
+
450
+ promise.execute
451
+ end
452
+
453
+ #
454
+ # Sets a database's long term retention policy.
455
+ #
456
+ # @param resource_group_name [String] The name of the resource group that
457
+ # contains the resource. You can obtain this value from the Azure Resource
458
+ # Manager API or the portal.
459
+ # @param managed_instance_name [String] The name of the managed instance.
460
+ # @param restorable_dropped_database_id [String]
461
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
462
+ # retention policy info.
463
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
464
+ # will be added to the HTTP request.
465
+ #
466
+ # @return [ManagedBackupShortTermRetentionPolicy] operation results.
467
+ #
468
+ def begin_update(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
469
+ response = begin_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
470
+ response.body unless response.nil?
471
+ end
472
+
473
+ #
474
+ # Sets a database's long term retention policy.
475
+ #
476
+ # @param resource_group_name [String] The name of the resource group that
477
+ # contains the resource. You can obtain this value from the Azure Resource
478
+ # Manager API or the portal.
479
+ # @param managed_instance_name [String] The name of the managed instance.
480
+ # @param restorable_dropped_database_id [String]
481
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
482
+ # retention policy info.
483
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
484
+ # will be added to the HTTP request.
485
+ #
486
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
487
+ #
488
+ def begin_update_with_http_info(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
489
+ begin_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:custom_headers).value!
490
+ end
491
+
492
+ #
493
+ # Sets a database's long term retention policy.
494
+ #
495
+ # @param resource_group_name [String] The name of the resource group that
496
+ # contains the resource. You can obtain this value from the Azure Resource
497
+ # Manager API or the portal.
498
+ # @param managed_instance_name [String] The name of the managed instance.
499
+ # @param restorable_dropped_database_id [String]
500
+ # @param parameters [ManagedBackupShortTermRetentionPolicy] The long term
501
+ # retention policy info.
502
+ # @param [Hash{String => String}] A hash of custom headers that will be added
503
+ # to the HTTP request.
504
+ #
505
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
506
+ #
507
+ def begin_update_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, parameters, custom_headers:nil)
508
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
509
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
510
+ fail ArgumentError, 'restorable_dropped_database_id is nil' if restorable_dropped_database_id.nil?
511
+ policy_name = 'default'
512
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
513
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
514
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
515
+
516
+
517
+ request_headers = {}
518
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
519
+
520
+ # Set Headers
521
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
522
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
523
+
524
+ # Serialize Request
525
+ request_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
526
+ request_content = @client.serialize(request_mapper, parameters)
527
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
528
+
529
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}'
530
+
531
+ request_url = @base_url || @client.base_url
532
+
533
+ options = {
534
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
535
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'restorableDroppedDatabaseId' => restorable_dropped_database_id,'policyName' => policy_name,'subscriptionId' => @client.subscription_id},
536
+ query_params: {'api-version' => @client.api_version},
537
+ body: request_content,
538
+ headers: request_headers.merge(custom_headers || {}),
539
+ base_url: request_url
540
+ }
541
+ promise = @client.make_request_async(:patch, path_template, options)
542
+
543
+ promise = promise.then do |result|
544
+ http_response = result.response
545
+ status_code = http_response.status
546
+ response_content = http_response.body
547
+ unless status_code == 200 || status_code == 202
548
+ error_model = JSON.load(response_content)
549
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
550
+ end
551
+
552
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
553
+ # Deserialize Response
554
+ if status_code == 200
555
+ begin
556
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
557
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicy.mapper()
558
+ result.body = @client.deserialize(result_mapper, parsed_response)
559
+ rescue Exception => e
560
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
561
+ end
562
+ end
563
+
564
+ result
565
+ end
566
+
567
+ promise.execute
568
+ end
569
+
570
+ #
571
+ # Gets a dropped database's short term retention policy list.
572
+ #
573
+ # @param next_page_link [String] The NextLink from the previous successful call
574
+ # to List operation.
575
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
576
+ # will be added to the HTTP request.
577
+ #
578
+ # @return [ManagedBackupShortTermRetentionPolicyListResult] operation results.
579
+ #
580
+ def list_by_restorable_dropped_database_next(next_page_link, custom_headers:nil)
581
+ response = list_by_restorable_dropped_database_next_async(next_page_link, custom_headers:custom_headers).value!
582
+ response.body unless response.nil?
583
+ end
584
+
585
+ #
586
+ # Gets a dropped database's short term retention policy list.
587
+ #
588
+ # @param next_page_link [String] The NextLink from the previous successful call
589
+ # to List operation.
590
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
591
+ # will be added to the HTTP request.
592
+ #
593
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
594
+ #
595
+ def list_by_restorable_dropped_database_next_with_http_info(next_page_link, custom_headers:nil)
596
+ list_by_restorable_dropped_database_next_async(next_page_link, custom_headers:custom_headers).value!
597
+ end
598
+
599
+ #
600
+ # Gets a dropped database's short term retention policy list.
601
+ #
602
+ # @param next_page_link [String] The NextLink from the previous successful call
603
+ # to List operation.
604
+ # @param [Hash{String => String}] A hash of custom headers that will be added
605
+ # to the HTTP request.
606
+ #
607
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
608
+ #
609
+ def list_by_restorable_dropped_database_next_async(next_page_link, custom_headers:nil)
610
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
611
+
612
+
613
+ request_headers = {}
614
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
615
+
616
+ # Set Headers
617
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
618
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
619
+ path_template = '{nextLink}'
620
+
621
+ request_url = @base_url || @client.base_url
622
+
623
+ options = {
624
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
625
+ skip_encoding_path_params: {'nextLink' => next_page_link},
626
+ headers: request_headers.merge(custom_headers || {}),
627
+ base_url: request_url
628
+ }
629
+ promise = @client.make_request_async(:get, path_template, options)
630
+
631
+ promise = promise.then do |result|
632
+ http_response = result.response
633
+ status_code = http_response.status
634
+ response_content = http_response.body
635
+ unless status_code == 200
636
+ error_model = JSON.load(response_content)
637
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
638
+ end
639
+
640
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
641
+ # Deserialize Response
642
+ if status_code == 200
643
+ begin
644
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
645
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedBackupShortTermRetentionPolicyListResult.mapper()
646
+ result.body = @client.deserialize(result_mapper, parsed_response)
647
+ rescue Exception => e
648
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
649
+ end
650
+ end
651
+
652
+ result
653
+ end
654
+
655
+ promise.execute
656
+ end
657
+
658
+ #
659
+ # Gets a dropped database's short term retention policy list.
660
+ #
661
+ # @param resource_group_name [String] The name of the resource group that
662
+ # contains the resource. You can obtain this value from the Azure Resource
663
+ # Manager API or the portal.
664
+ # @param managed_instance_name [String] The name of the managed instance.
665
+ # @param restorable_dropped_database_id [String]
666
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
667
+ # will be added to the HTTP request.
668
+ #
669
+ # @return [ManagedBackupShortTermRetentionPolicyListResult] which provide lazy
670
+ # access to pages of the response.
671
+ #
672
+ def list_by_restorable_dropped_database_as_lazy(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:nil)
673
+ response = list_by_restorable_dropped_database_async(resource_group_name, managed_instance_name, restorable_dropped_database_id, custom_headers:custom_headers).value!
674
+ unless response.nil?
675
+ page = response.body
676
+ page.next_method = Proc.new do |next_page_link|
677
+ list_by_restorable_dropped_database_next_async(next_page_link, custom_headers:custom_headers)
678
+ end
679
+ page
680
+ end
681
+ end
682
+
683
+ end
684
+ end