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
@@ -0,0 +1,366 @@
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::V2018_06_01_preview
7
+ #
8
+ # The Azure SQL Database management API provides a RESTful set of web APIs
9
+ # that interact with Azure SQL Database services to manage your databases.
10
+ # The API enables users to create, retrieve, update, and delete databases,
11
+ # servers, and other entities.
12
+ #
13
+ class DatabaseTables
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the DatabaseTables 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
+ # List database tables
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 server_name [String] The name of the server.
34
+ # @param database_name [String] The name of the database.
35
+ # @param schema_name [String] The name of the schema.
36
+ # @param filter [String] An OData filter expression that filters elements in
37
+ # the collection.
38
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
39
+ # will be added to the HTTP request.
40
+ #
41
+ # @return [Array<DatabaseTable>] operation results.
42
+ #
43
+ def list_by_schema(resource_group_name, server_name, database_name, schema_name, filter:nil, custom_headers:nil)
44
+ first_page = list_by_schema_as_lazy(resource_group_name, server_name, database_name, schema_name, filter:filter, custom_headers:custom_headers)
45
+ first_page.get_all_items
46
+ end
47
+
48
+ #
49
+ # List database tables
50
+ #
51
+ # @param resource_group_name [String] The name of the resource group that
52
+ # contains the resource. You can obtain this value from the Azure Resource
53
+ # Manager API or the portal.
54
+ # @param server_name [String] The name of the server.
55
+ # @param database_name [String] The name of the database.
56
+ # @param schema_name [String] The name of the schema.
57
+ # @param filter [String] An OData filter expression that filters elements in
58
+ # the collection.
59
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
60
+ # will be added to the HTTP request.
61
+ #
62
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
63
+ #
64
+ def list_by_schema_with_http_info(resource_group_name, server_name, database_name, schema_name, filter:nil, custom_headers:nil)
65
+ list_by_schema_async(resource_group_name, server_name, database_name, schema_name, filter:filter, custom_headers:custom_headers).value!
66
+ end
67
+
68
+ #
69
+ # List database tables
70
+ #
71
+ # @param resource_group_name [String] The name of the resource group that
72
+ # contains the resource. You can obtain this value from the Azure Resource
73
+ # Manager API or the portal.
74
+ # @param server_name [String] The name of the server.
75
+ # @param database_name [String] The name of the database.
76
+ # @param schema_name [String] The name of the schema.
77
+ # @param filter [String] An OData filter expression that filters elements in
78
+ # the collection.
79
+ # @param [Hash{String => String}] A hash of custom headers that will be added
80
+ # to the HTTP request.
81
+ #
82
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
83
+ #
84
+ def list_by_schema_async(resource_group_name, server_name, database_name, schema_name, filter:nil, custom_headers:nil)
85
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
86
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
87
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
88
+ fail ArgumentError, 'schema_name is nil' if schema_name.nil?
89
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
90
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
91
+
92
+
93
+ request_headers = {}
94
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
95
+
96
+ # Set Headers
97
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
98
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
99
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables'
100
+
101
+ request_url = @base_url || @client.base_url
102
+
103
+ options = {
104
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
105
+ path_params: {'resourceGroupName' => resource_group_name,'serverName' => server_name,'databaseName' => database_name,'schemaName' => schema_name,'subscriptionId' => @client.subscription_id},
106
+ query_params: {'$filter' => filter,'api-version' => @client.api_version},
107
+ headers: request_headers.merge(custom_headers || {}),
108
+ base_url: request_url
109
+ }
110
+ promise = @client.make_request_async(:get, path_template, options)
111
+
112
+ promise = promise.then do |result|
113
+ http_response = result.response
114
+ status_code = http_response.status
115
+ response_content = http_response.body
116
+ unless status_code == 200
117
+ error_model = JSON.load(response_content)
118
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
119
+ end
120
+
121
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
122
+ # Deserialize Response
123
+ if status_code == 200
124
+ begin
125
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
126
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::DatabaseTableListResult.mapper()
127
+ result.body = @client.deserialize(result_mapper, parsed_response)
128
+ rescue Exception => e
129
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
130
+ end
131
+ end
132
+
133
+ result
134
+ end
135
+
136
+ promise.execute
137
+ end
138
+
139
+ #
140
+ # Get database table
141
+ #
142
+ # @param resource_group_name [String] The name of the resource group that
143
+ # contains the resource. You can obtain this value from the Azure Resource
144
+ # Manager API or the portal.
145
+ # @param server_name [String] The name of the server.
146
+ # @param database_name [String] The name of the database.
147
+ # @param schema_name [String] The name of the schema.
148
+ # @param table_name [String] The name of the table.
149
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
150
+ # will be added to the HTTP request.
151
+ #
152
+ # @return [DatabaseTable] operation results.
153
+ #
154
+ def get(resource_group_name, server_name, database_name, schema_name, table_name, custom_headers:nil)
155
+ response = get_async(resource_group_name, server_name, database_name, schema_name, table_name, custom_headers:custom_headers).value!
156
+ response.body unless response.nil?
157
+ end
158
+
159
+ #
160
+ # Get database table
161
+ #
162
+ # @param resource_group_name [String] The name of the resource group that
163
+ # contains the resource. You can obtain this value from the Azure Resource
164
+ # Manager API or the portal.
165
+ # @param server_name [String] The name of the server.
166
+ # @param database_name [String] The name of the database.
167
+ # @param schema_name [String] The name of the schema.
168
+ # @param table_name [String] The name of the table.
169
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
170
+ # will be added to the HTTP request.
171
+ #
172
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
173
+ #
174
+ def get_with_http_info(resource_group_name, server_name, database_name, schema_name, table_name, custom_headers:nil)
175
+ get_async(resource_group_name, server_name, database_name, schema_name, table_name, custom_headers:custom_headers).value!
176
+ end
177
+
178
+ #
179
+ # Get database table
180
+ #
181
+ # @param resource_group_name [String] The name of the resource group that
182
+ # contains the resource. You can obtain this value from the Azure Resource
183
+ # Manager API or the portal.
184
+ # @param server_name [String] The name of the server.
185
+ # @param database_name [String] The name of the database.
186
+ # @param schema_name [String] The name of the schema.
187
+ # @param table_name [String] The name of the table.
188
+ # @param [Hash{String => String}] A hash of custom headers that will be added
189
+ # to the HTTP request.
190
+ #
191
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
192
+ #
193
+ def get_async(resource_group_name, server_name, database_name, schema_name, table_name, custom_headers:nil)
194
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
195
+ fail ArgumentError, 'server_name is nil' if server_name.nil?
196
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
197
+ fail ArgumentError, 'schema_name is nil' if schema_name.nil?
198
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
199
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
200
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
201
+
202
+
203
+ request_headers = {}
204
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
205
+
206
+ # Set Headers
207
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
208
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
209
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}'
210
+
211
+ request_url = @base_url || @client.base_url
212
+
213
+ options = {
214
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
215
+ path_params: {'resourceGroupName' => resource_group_name,'serverName' => server_name,'databaseName' => database_name,'schemaName' => schema_name,'tableName' => table_name,'subscriptionId' => @client.subscription_id},
216
+ query_params: {'api-version' => @client.api_version},
217
+ headers: request_headers.merge(custom_headers || {}),
218
+ base_url: request_url
219
+ }
220
+ promise = @client.make_request_async(:get, path_template, options)
221
+
222
+ promise = promise.then do |result|
223
+ http_response = result.response
224
+ status_code = http_response.status
225
+ response_content = http_response.body
226
+ unless status_code == 200
227
+ error_model = JSON.load(response_content)
228
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
229
+ end
230
+
231
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
232
+ # Deserialize Response
233
+ if status_code == 200
234
+ begin
235
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
236
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::DatabaseTable.mapper()
237
+ result.body = @client.deserialize(result_mapper, parsed_response)
238
+ rescue Exception => e
239
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
240
+ end
241
+ end
242
+
243
+ result
244
+ end
245
+
246
+ promise.execute
247
+ end
248
+
249
+ #
250
+ # List database tables
251
+ #
252
+ # @param next_page_link [String] The NextLink from the previous successful call
253
+ # to List operation.
254
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
255
+ # will be added to the HTTP request.
256
+ #
257
+ # @return [DatabaseTableListResult] operation results.
258
+ #
259
+ def list_by_schema_next(next_page_link, custom_headers:nil)
260
+ response = list_by_schema_next_async(next_page_link, custom_headers:custom_headers).value!
261
+ response.body unless response.nil?
262
+ end
263
+
264
+ #
265
+ # List database tables
266
+ #
267
+ # @param next_page_link [String] The NextLink from the previous successful call
268
+ # to List operation.
269
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
270
+ # will be added to the HTTP request.
271
+ #
272
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
273
+ #
274
+ def list_by_schema_next_with_http_info(next_page_link, custom_headers:nil)
275
+ list_by_schema_next_async(next_page_link, custom_headers:custom_headers).value!
276
+ end
277
+
278
+ #
279
+ # List database tables
280
+ #
281
+ # @param next_page_link [String] The NextLink from the previous successful call
282
+ # to List operation.
283
+ # @param [Hash{String => String}] A hash of custom headers that will be added
284
+ # to the HTTP request.
285
+ #
286
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
287
+ #
288
+ def list_by_schema_next_async(next_page_link, custom_headers:nil)
289
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
290
+
291
+
292
+ request_headers = {}
293
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
294
+
295
+ # Set Headers
296
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
297
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
298
+ path_template = '{nextLink}'
299
+
300
+ request_url = @base_url || @client.base_url
301
+
302
+ options = {
303
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
304
+ skip_encoding_path_params: {'nextLink' => next_page_link},
305
+ headers: request_headers.merge(custom_headers || {}),
306
+ base_url: request_url
307
+ }
308
+ promise = @client.make_request_async(:get, path_template, options)
309
+
310
+ promise = promise.then do |result|
311
+ http_response = result.response
312
+ status_code = http_response.status
313
+ response_content = http_response.body
314
+ unless status_code == 200
315
+ error_model = JSON.load(response_content)
316
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
317
+ end
318
+
319
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
320
+ # Deserialize Response
321
+ if status_code == 200
322
+ begin
323
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
324
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::DatabaseTableListResult.mapper()
325
+ result.body = @client.deserialize(result_mapper, parsed_response)
326
+ rescue Exception => e
327
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
328
+ end
329
+ end
330
+
331
+ result
332
+ end
333
+
334
+ promise.execute
335
+ end
336
+
337
+ #
338
+ # List database tables
339
+ #
340
+ # @param resource_group_name [String] The name of the resource group that
341
+ # contains the resource. You can obtain this value from the Azure Resource
342
+ # Manager API or the portal.
343
+ # @param server_name [String] The name of the server.
344
+ # @param database_name [String] The name of the database.
345
+ # @param schema_name [String] The name of the schema.
346
+ # @param filter [String] An OData filter expression that filters elements in
347
+ # the collection.
348
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
349
+ # will be added to the HTTP request.
350
+ #
351
+ # @return [DatabaseTableListResult] which provide lazy access to pages of the
352
+ # response.
353
+ #
354
+ def list_by_schema_as_lazy(resource_group_name, server_name, database_name, schema_name, filter:nil, custom_headers:nil)
355
+ response = list_by_schema_async(resource_group_name, server_name, database_name, schema_name, filter:filter, custom_headers:custom_headers).value!
356
+ unless response.nil?
357
+ page = response.body
358
+ page.next_method = Proc.new do |next_page_link|
359
+ list_by_schema_next_async(next_page_link, custom_headers:custom_headers)
360
+ end
361
+ page
362
+ end
363
+ end
364
+
365
+ end
366
+ end
@@ -0,0 +1,999 @@
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::V2018_06_01_preview
7
+ #
8
+ # The Azure SQL Database management API provides a RESTful set of web APIs
9
+ # that interact with Azure SQL Database services to manage your databases.
10
+ # The API enables users to create, retrieve, update, and delete databases,
11
+ # servers, and other entities.
12
+ #
13
+ class InstancePools
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the InstancePools 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 an instance pool.
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 instance_pool_name [String] The name of the instance pool to be
34
+ # retrieved.
35
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
36
+ # will be added to the HTTP request.
37
+ #
38
+ # @return [InstancePool] operation results.
39
+ #
40
+ def get(resource_group_name, instance_pool_name, custom_headers:nil)
41
+ response = get_async(resource_group_name, instance_pool_name, custom_headers:custom_headers).value!
42
+ response.body unless response.nil?
43
+ end
44
+
45
+ #
46
+ # Gets an instance pool.
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 instance_pool_name [String] The name of the instance pool to be
52
+ # retrieved.
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, instance_pool_name, custom_headers:nil)
59
+ get_async(resource_group_name, instance_pool_name, custom_headers:custom_headers).value!
60
+ end
61
+
62
+ #
63
+ # Gets an instance pool.
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 instance_pool_name [String] The name of the instance pool to be
69
+ # retrieved.
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, instance_pool_name, custom_headers:nil)
76
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
77
+ fail ArgumentError, 'instance_pool_name is nil' if instance_pool_name.nil?
78
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
79
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
80
+
81
+
82
+ request_headers = {}
83
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
84
+
85
+ # Set Headers
86
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
87
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
88
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}'
89
+
90
+ request_url = @base_url || @client.base_url
91
+
92
+ options = {
93
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
94
+ path_params: {'resourceGroupName' => resource_group_name,'instancePoolName' => instance_pool_name,'subscriptionId' => @client.subscription_id},
95
+ query_params: {'api-version' => @client.api_version},
96
+ headers: request_headers.merge(custom_headers || {}),
97
+ base_url: request_url
98
+ }
99
+ promise = @client.make_request_async(:get, path_template, options)
100
+
101
+ promise = promise.then do |result|
102
+ http_response = result.response
103
+ status_code = http_response.status
104
+ response_content = http_response.body
105
+ unless status_code == 200
106
+ error_model = JSON.load(response_content)
107
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
108
+ end
109
+
110
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
111
+ # Deserialize Response
112
+ if status_code == 200
113
+ begin
114
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
115
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
116
+ result.body = @client.deserialize(result_mapper, parsed_response)
117
+ rescue Exception => e
118
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
119
+ end
120
+ end
121
+
122
+ result
123
+ end
124
+
125
+ promise.execute
126
+ end
127
+
128
+ #
129
+ # Creates or updates an instance pool.
130
+ #
131
+ # @param resource_group_name [String] The name of the resource group that
132
+ # contains the resource. You can obtain this value from the Azure Resource
133
+ # Manager API or the portal.
134
+ # @param instance_pool_name [String] The name of the instance pool to be
135
+ # created or updated.
136
+ # @param parameters [InstancePool] The requested instance pool resource state.
137
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
138
+ # will be added to the HTTP request.
139
+ #
140
+ # @return [InstancePool] operation results.
141
+ #
142
+ def create_or_update(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
143
+ response = create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
144
+ response.body unless response.nil?
145
+ end
146
+
147
+ #
148
+ # @param resource_group_name [String] The name of the resource group that
149
+ # contains the resource. You can obtain this value from the Azure Resource
150
+ # Manager API or the portal.
151
+ # @param instance_pool_name [String] The name of the instance pool to be
152
+ # created or updated.
153
+ # @param parameters [InstancePool] The requested instance pool resource state.
154
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
155
+ # will be added to the HTTP request.
156
+ #
157
+ # @return [Concurrent::Promise] promise which provides async access to http
158
+ # response.
159
+ #
160
+ def create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
161
+ # Send request
162
+ promise = begin_create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers)
163
+
164
+ promise = promise.then do |response|
165
+ # Defining deserialization method.
166
+ deserialize_method = lambda do |parsed_response|
167
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
168
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
169
+ end
170
+
171
+ # Waiting for response.
172
+ @client.get_long_running_operation_result(response, deserialize_method)
173
+ end
174
+
175
+ promise
176
+ end
177
+
178
+ #
179
+ # Deletes an instance pool
180
+ #
181
+ # @param resource_group_name [String] The name of the resource group that
182
+ # contains the resource. You can obtain this value from the Azure Resource
183
+ # Manager API or the portal.
184
+ # @param instance_pool_name [String] The name of the instance pool to be
185
+ # deleted
186
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
187
+ # will be added to the HTTP request.
188
+ #
189
+ def delete(resource_group_name, instance_pool_name, custom_headers:nil)
190
+ response = delete_async(resource_group_name, instance_pool_name, custom_headers:custom_headers).value!
191
+ nil
192
+ end
193
+
194
+ #
195
+ # @param resource_group_name [String] The name of the resource group that
196
+ # contains the resource. You can obtain this value from the Azure Resource
197
+ # Manager API or the portal.
198
+ # @param instance_pool_name [String] The name of the instance pool to be
199
+ # deleted
200
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
201
+ # will be added to the HTTP request.
202
+ #
203
+ # @return [Concurrent::Promise] promise which provides async access to http
204
+ # response.
205
+ #
206
+ def delete_async(resource_group_name, instance_pool_name, custom_headers:nil)
207
+ # Send request
208
+ promise = begin_delete_async(resource_group_name, instance_pool_name, custom_headers:custom_headers)
209
+
210
+ promise = promise.then do |response|
211
+ # Defining deserialization method.
212
+ deserialize_method = lambda do |parsed_response|
213
+ end
214
+
215
+ # Waiting for response.
216
+ @client.get_long_running_operation_result(response, deserialize_method)
217
+ end
218
+
219
+ promise
220
+ end
221
+
222
+ #
223
+ # Updates an instance pool.
224
+ #
225
+ # @param resource_group_name [String] The name of the resource group that
226
+ # contains the resource. You can obtain this value from the Azure Resource
227
+ # Manager API or the portal.
228
+ # @param instance_pool_name [String] The name of the instance pool to be
229
+ # updated.
230
+ # @param parameters [InstancePoolUpdate] The requested instance pool resource
231
+ # state.
232
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
233
+ # will be added to the HTTP request.
234
+ #
235
+ # @return [InstancePool] operation results.
236
+ #
237
+ def update(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
238
+ response = update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
239
+ response.body unless response.nil?
240
+ end
241
+
242
+ #
243
+ # @param resource_group_name [String] The name of the resource group that
244
+ # contains the resource. You can obtain this value from the Azure Resource
245
+ # Manager API or the portal.
246
+ # @param instance_pool_name [String] The name of the instance pool to be
247
+ # updated.
248
+ # @param parameters [InstancePoolUpdate] The requested instance pool resource
249
+ # state.
250
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
251
+ # will be added to the HTTP request.
252
+ #
253
+ # @return [Concurrent::Promise] promise which provides async access to http
254
+ # response.
255
+ #
256
+ def update_async(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
257
+ # Send request
258
+ promise = begin_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers)
259
+
260
+ promise = promise.then do |response|
261
+ # Defining deserialization method.
262
+ deserialize_method = lambda do |parsed_response|
263
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
264
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
265
+ end
266
+
267
+ # Waiting for response.
268
+ @client.get_long_running_operation_result(response, deserialize_method)
269
+ end
270
+
271
+ promise
272
+ end
273
+
274
+ #
275
+ # Gets a list of instance pools in the resource group
276
+ #
277
+ # @param resource_group_name [String] The name of the resource group that
278
+ # contains the resource. You can obtain this value from the Azure Resource
279
+ # Manager API or the portal.
280
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
281
+ # will be added to the HTTP request.
282
+ #
283
+ # @return [Array<InstancePool>] operation results.
284
+ #
285
+ def list_by_resource_group(resource_group_name, custom_headers:nil)
286
+ first_page = list_by_resource_group_as_lazy(resource_group_name, custom_headers:custom_headers)
287
+ first_page.get_all_items
288
+ end
289
+
290
+ #
291
+ # Gets a list of instance pools in the resource group
292
+ #
293
+ # @param resource_group_name [String] The name of the resource group that
294
+ # contains the resource. You can obtain this value from the Azure Resource
295
+ # Manager API or the portal.
296
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
297
+ # will be added to the HTTP request.
298
+ #
299
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
300
+ #
301
+ def list_by_resource_group_with_http_info(resource_group_name, custom_headers:nil)
302
+ list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
303
+ end
304
+
305
+ #
306
+ # Gets a list of instance pools in the resource group
307
+ #
308
+ # @param resource_group_name [String] The name of the resource group that
309
+ # contains the resource. You can obtain this value from the Azure Resource
310
+ # Manager API or the portal.
311
+ # @param [Hash{String => String}] A hash of custom headers that will be added
312
+ # to the HTTP request.
313
+ #
314
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
315
+ #
316
+ def list_by_resource_group_async(resource_group_name, custom_headers:nil)
317
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
318
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
319
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
320
+
321
+
322
+ request_headers = {}
323
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
324
+
325
+ # Set Headers
326
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
327
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
328
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools'
329
+
330
+ request_url = @base_url || @client.base_url
331
+
332
+ options = {
333
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
334
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
335
+ query_params: {'api-version' => @client.api_version},
336
+ headers: request_headers.merge(custom_headers || {}),
337
+ base_url: request_url
338
+ }
339
+ promise = @client.make_request_async(:get, path_template, options)
340
+
341
+ promise = promise.then do |result|
342
+ http_response = result.response
343
+ status_code = http_response.status
344
+ response_content = http_response.body
345
+ unless status_code == 200
346
+ error_model = JSON.load(response_content)
347
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
348
+ end
349
+
350
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
351
+ # Deserialize Response
352
+ if status_code == 200
353
+ begin
354
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
355
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePoolListResult.mapper()
356
+ result.body = @client.deserialize(result_mapper, parsed_response)
357
+ rescue Exception => e
358
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
359
+ end
360
+ end
361
+
362
+ result
363
+ end
364
+
365
+ promise.execute
366
+ end
367
+
368
+ #
369
+ # Gets a list of all instance pools in the subscription.
370
+ #
371
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
372
+ # will be added to the HTTP request.
373
+ #
374
+ # @return [Array<InstancePool>] operation results.
375
+ #
376
+ def list(custom_headers:nil)
377
+ first_page = list_as_lazy(custom_headers:custom_headers)
378
+ first_page.get_all_items
379
+ end
380
+
381
+ #
382
+ # Gets a list of all instance pools in the subscription.
383
+ #
384
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
385
+ # will be added to the HTTP request.
386
+ #
387
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
388
+ #
389
+ def list_with_http_info(custom_headers:nil)
390
+ list_async(custom_headers:custom_headers).value!
391
+ end
392
+
393
+ #
394
+ # Gets a list of all instance pools in the subscription.
395
+ #
396
+ # @param [Hash{String => String}] A hash of custom headers that will be added
397
+ # to the HTTP request.
398
+ #
399
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
400
+ #
401
+ def list_async(custom_headers:nil)
402
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
403
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
404
+
405
+
406
+ request_headers = {}
407
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
408
+
409
+ # Set Headers
410
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
411
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
412
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Sql/instancePools'
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: {'subscriptionId' => @client.subscription_id},
419
+ query_params: {'api-version' => @client.api_version},
420
+ headers: request_headers.merge(custom_headers || {}),
421
+ base_url: request_url
422
+ }
423
+ promise = @client.make_request_async(:get, path_template, options)
424
+
425
+ promise = promise.then do |result|
426
+ http_response = result.response
427
+ status_code = http_response.status
428
+ response_content = http_response.body
429
+ unless status_code == 200
430
+ error_model = JSON.load(response_content)
431
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
432
+ end
433
+
434
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
435
+ # Deserialize Response
436
+ if status_code == 200
437
+ begin
438
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
439
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePoolListResult.mapper()
440
+ result.body = @client.deserialize(result_mapper, parsed_response)
441
+ rescue Exception => e
442
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
443
+ end
444
+ end
445
+
446
+ result
447
+ end
448
+
449
+ promise.execute
450
+ end
451
+
452
+ #
453
+ # Creates or updates an instance pool.
454
+ #
455
+ # @param resource_group_name [String] The name of the resource group that
456
+ # contains the resource. You can obtain this value from the Azure Resource
457
+ # Manager API or the portal.
458
+ # @param instance_pool_name [String] The name of the instance pool to be
459
+ # created or updated.
460
+ # @param parameters [InstancePool] The requested instance pool resource state.
461
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
462
+ # will be added to the HTTP request.
463
+ #
464
+ # @return [InstancePool] operation results.
465
+ #
466
+ def begin_create_or_update(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
467
+ response = begin_create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
468
+ response.body unless response.nil?
469
+ end
470
+
471
+ #
472
+ # Creates or updates an instance pool.
473
+ #
474
+ # @param resource_group_name [String] The name of the resource group that
475
+ # contains the resource. You can obtain this value from the Azure Resource
476
+ # Manager API or the portal.
477
+ # @param instance_pool_name [String] The name of the instance pool to be
478
+ # created or updated.
479
+ # @param parameters [InstancePool] The requested instance pool resource state.
480
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
481
+ # will be added to the HTTP request.
482
+ #
483
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
484
+ #
485
+ def begin_create_or_update_with_http_info(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
486
+ begin_create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
487
+ end
488
+
489
+ #
490
+ # Creates or updates an instance pool.
491
+ #
492
+ # @param resource_group_name [String] The name of the resource group that
493
+ # contains the resource. You can obtain this value from the Azure Resource
494
+ # Manager API or the portal.
495
+ # @param instance_pool_name [String] The name of the instance pool to be
496
+ # created or updated.
497
+ # @param parameters [InstancePool] The requested instance pool resource state.
498
+ # @param [Hash{String => String}] A hash of custom headers that will be added
499
+ # to the HTTP request.
500
+ #
501
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
502
+ #
503
+ def begin_create_or_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
504
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
505
+ fail ArgumentError, 'instance_pool_name is nil' if instance_pool_name.nil?
506
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
507
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
508
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
509
+
510
+
511
+ request_headers = {}
512
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
513
+
514
+ # Set Headers
515
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
516
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
517
+
518
+ # Serialize Request
519
+ request_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
520
+ request_content = @client.serialize(request_mapper, parameters)
521
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
522
+
523
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}'
524
+
525
+ request_url = @base_url || @client.base_url
526
+
527
+ options = {
528
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
529
+ path_params: {'resourceGroupName' => resource_group_name,'instancePoolName' => instance_pool_name,'subscriptionId' => @client.subscription_id},
530
+ query_params: {'api-version' => @client.api_version},
531
+ body: request_content,
532
+ headers: request_headers.merge(custom_headers || {}),
533
+ base_url: request_url
534
+ }
535
+ promise = @client.make_request_async(:put, path_template, options)
536
+
537
+ promise = promise.then do |result|
538
+ http_response = result.response
539
+ status_code = http_response.status
540
+ response_content = http_response.body
541
+ unless status_code == 200 || status_code == 202 || status_code == 201
542
+ error_model = JSON.load(response_content)
543
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
544
+ end
545
+
546
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
547
+ # Deserialize Response
548
+ if status_code == 200
549
+ begin
550
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
551
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
552
+ result.body = @client.deserialize(result_mapper, parsed_response)
553
+ rescue Exception => e
554
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
555
+ end
556
+ end
557
+ # Deserialize Response
558
+ if status_code == 201
559
+ begin
560
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
561
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
562
+ result.body = @client.deserialize(result_mapper, parsed_response)
563
+ rescue Exception => e
564
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
565
+ end
566
+ end
567
+
568
+ result
569
+ end
570
+
571
+ promise.execute
572
+ end
573
+
574
+ #
575
+ # Deletes an instance pool
576
+ #
577
+ # @param resource_group_name [String] The name of the resource group that
578
+ # contains the resource. You can obtain this value from the Azure Resource
579
+ # Manager API or the portal.
580
+ # @param instance_pool_name [String] The name of the instance pool to be
581
+ # deleted
582
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
583
+ # will be added to the HTTP request.
584
+ #
585
+ #
586
+ def begin_delete(resource_group_name, instance_pool_name, custom_headers:nil)
587
+ response = begin_delete_async(resource_group_name, instance_pool_name, custom_headers:custom_headers).value!
588
+ nil
589
+ end
590
+
591
+ #
592
+ # Deletes an instance pool
593
+ #
594
+ # @param resource_group_name [String] The name of the resource group that
595
+ # contains the resource. You can obtain this value from the Azure Resource
596
+ # Manager API or the portal.
597
+ # @param instance_pool_name [String] The name of the instance pool to be
598
+ # deleted
599
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
600
+ # will be added to the HTTP request.
601
+ #
602
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
603
+ #
604
+ def begin_delete_with_http_info(resource_group_name, instance_pool_name, custom_headers:nil)
605
+ begin_delete_async(resource_group_name, instance_pool_name, custom_headers:custom_headers).value!
606
+ end
607
+
608
+ #
609
+ # Deletes an instance pool
610
+ #
611
+ # @param resource_group_name [String] The name of the resource group that
612
+ # contains the resource. You can obtain this value from the Azure Resource
613
+ # Manager API or the portal.
614
+ # @param instance_pool_name [String] The name of the instance pool to be
615
+ # deleted
616
+ # @param [Hash{String => String}] A hash of custom headers that will be added
617
+ # to the HTTP request.
618
+ #
619
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
620
+ #
621
+ def begin_delete_async(resource_group_name, instance_pool_name, custom_headers:nil)
622
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
623
+ fail ArgumentError, 'instance_pool_name is nil' if instance_pool_name.nil?
624
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
625
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
626
+
627
+
628
+ request_headers = {}
629
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
630
+
631
+ # Set Headers
632
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
633
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
634
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}'
635
+
636
+ request_url = @base_url || @client.base_url
637
+
638
+ options = {
639
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
640
+ path_params: {'resourceGroupName' => resource_group_name,'instancePoolName' => instance_pool_name,'subscriptionId' => @client.subscription_id},
641
+ query_params: {'api-version' => @client.api_version},
642
+ headers: request_headers.merge(custom_headers || {}),
643
+ base_url: request_url
644
+ }
645
+ promise = @client.make_request_async(:delete, path_template, options)
646
+
647
+ promise = promise.then do |result|
648
+ http_response = result.response
649
+ status_code = http_response.status
650
+ response_content = http_response.body
651
+ unless status_code == 200 || status_code == 202 || status_code == 204
652
+ error_model = JSON.load(response_content)
653
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
654
+ end
655
+
656
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
657
+
658
+ result
659
+ end
660
+
661
+ promise.execute
662
+ end
663
+
664
+ #
665
+ # Updates an instance pool.
666
+ #
667
+ # @param resource_group_name [String] The name of the resource group that
668
+ # contains the resource. You can obtain this value from the Azure Resource
669
+ # Manager API or the portal.
670
+ # @param instance_pool_name [String] The name of the instance pool to be
671
+ # updated.
672
+ # @param parameters [InstancePoolUpdate] The requested instance pool resource
673
+ # state.
674
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
675
+ # will be added to the HTTP request.
676
+ #
677
+ # @return [InstancePool] operation results.
678
+ #
679
+ def begin_update(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
680
+ response = begin_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
681
+ response.body unless response.nil?
682
+ end
683
+
684
+ #
685
+ # Updates an instance pool.
686
+ #
687
+ # @param resource_group_name [String] The name of the resource group that
688
+ # contains the resource. You can obtain this value from the Azure Resource
689
+ # Manager API or the portal.
690
+ # @param instance_pool_name [String] The name of the instance pool to be
691
+ # updated.
692
+ # @param parameters [InstancePoolUpdate] The requested instance pool resource
693
+ # state.
694
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
695
+ # will be added to the HTTP request.
696
+ #
697
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
698
+ #
699
+ def begin_update_with_http_info(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
700
+ begin_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:custom_headers).value!
701
+ end
702
+
703
+ #
704
+ # Updates an instance pool.
705
+ #
706
+ # @param resource_group_name [String] The name of the resource group that
707
+ # contains the resource. You can obtain this value from the Azure Resource
708
+ # Manager API or the portal.
709
+ # @param instance_pool_name [String] The name of the instance pool to be
710
+ # updated.
711
+ # @param parameters [InstancePoolUpdate] The requested instance pool resource
712
+ # state.
713
+ # @param [Hash{String => String}] A hash of custom headers that will be added
714
+ # to the HTTP request.
715
+ #
716
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
717
+ #
718
+ def begin_update_async(resource_group_name, instance_pool_name, parameters, custom_headers:nil)
719
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
720
+ fail ArgumentError, 'instance_pool_name is nil' if instance_pool_name.nil?
721
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
722
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
723
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
724
+
725
+
726
+ request_headers = {}
727
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
728
+
729
+ # Set Headers
730
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
731
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
732
+
733
+ # Serialize Request
734
+ request_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePoolUpdate.mapper()
735
+ request_content = @client.serialize(request_mapper, parameters)
736
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
737
+
738
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}'
739
+
740
+ request_url = @base_url || @client.base_url
741
+
742
+ options = {
743
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
744
+ path_params: {'resourceGroupName' => resource_group_name,'instancePoolName' => instance_pool_name,'subscriptionId' => @client.subscription_id},
745
+ query_params: {'api-version' => @client.api_version},
746
+ body: request_content,
747
+ headers: request_headers.merge(custom_headers || {}),
748
+ base_url: request_url
749
+ }
750
+ promise = @client.make_request_async(:patch, path_template, options)
751
+
752
+ promise = promise.then do |result|
753
+ http_response = result.response
754
+ status_code = http_response.status
755
+ response_content = http_response.body
756
+ unless status_code == 200 || status_code == 202
757
+ error_model = JSON.load(response_content)
758
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
759
+ end
760
+
761
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
762
+ # Deserialize Response
763
+ if status_code == 200
764
+ begin
765
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
766
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePool.mapper()
767
+ result.body = @client.deserialize(result_mapper, parsed_response)
768
+ rescue Exception => e
769
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
770
+ end
771
+ end
772
+
773
+ result
774
+ end
775
+
776
+ promise.execute
777
+ end
778
+
779
+ #
780
+ # Gets a list of instance pools in the resource group
781
+ #
782
+ # @param next_page_link [String] The NextLink from the previous successful call
783
+ # to List operation.
784
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
785
+ # will be added to the HTTP request.
786
+ #
787
+ # @return [InstancePoolListResult] operation results.
788
+ #
789
+ def list_by_resource_group_next(next_page_link, custom_headers:nil)
790
+ response = list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
791
+ response.body unless response.nil?
792
+ end
793
+
794
+ #
795
+ # Gets a list of instance pools in the resource group
796
+ #
797
+ # @param next_page_link [String] The NextLink from the previous successful call
798
+ # to List operation.
799
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
800
+ # will be added to the HTTP request.
801
+ #
802
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
803
+ #
804
+ def list_by_resource_group_next_with_http_info(next_page_link, custom_headers:nil)
805
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
806
+ end
807
+
808
+ #
809
+ # Gets a list of instance pools in the resource group
810
+ #
811
+ # @param next_page_link [String] The NextLink from the previous successful call
812
+ # to List operation.
813
+ # @param [Hash{String => String}] A hash of custom headers that will be added
814
+ # to the HTTP request.
815
+ #
816
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
817
+ #
818
+ def list_by_resource_group_next_async(next_page_link, custom_headers:nil)
819
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
820
+
821
+
822
+ request_headers = {}
823
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
824
+
825
+ # Set Headers
826
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
827
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
828
+ path_template = '{nextLink}'
829
+
830
+ request_url = @base_url || @client.base_url
831
+
832
+ options = {
833
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
834
+ skip_encoding_path_params: {'nextLink' => next_page_link},
835
+ headers: request_headers.merge(custom_headers || {}),
836
+ base_url: request_url
837
+ }
838
+ promise = @client.make_request_async(:get, path_template, options)
839
+
840
+ promise = promise.then do |result|
841
+ http_response = result.response
842
+ status_code = http_response.status
843
+ response_content = http_response.body
844
+ unless status_code == 200
845
+ error_model = JSON.load(response_content)
846
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
847
+ end
848
+
849
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
850
+ # Deserialize Response
851
+ if status_code == 200
852
+ begin
853
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
854
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePoolListResult.mapper()
855
+ result.body = @client.deserialize(result_mapper, parsed_response)
856
+ rescue Exception => e
857
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
858
+ end
859
+ end
860
+
861
+ result
862
+ end
863
+
864
+ promise.execute
865
+ end
866
+
867
+ #
868
+ # Gets a list of all instance pools in the subscription.
869
+ #
870
+ # @param next_page_link [String] The NextLink from the previous successful call
871
+ # to List operation.
872
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
873
+ # will be added to the HTTP request.
874
+ #
875
+ # @return [InstancePoolListResult] operation results.
876
+ #
877
+ def list_next(next_page_link, custom_headers:nil)
878
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
879
+ response.body unless response.nil?
880
+ end
881
+
882
+ #
883
+ # Gets a list of all instance pools in the subscription.
884
+ #
885
+ # @param next_page_link [String] The NextLink from the previous successful call
886
+ # to List operation.
887
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
888
+ # will be added to the HTTP request.
889
+ #
890
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
891
+ #
892
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
893
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
894
+ end
895
+
896
+ #
897
+ # Gets a list of all instance pools in the subscription.
898
+ #
899
+ # @param next_page_link [String] The NextLink from the previous successful call
900
+ # to List operation.
901
+ # @param [Hash{String => String}] A hash of custom headers that will be added
902
+ # to the HTTP request.
903
+ #
904
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
905
+ #
906
+ def list_next_async(next_page_link, custom_headers:nil)
907
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
908
+
909
+
910
+ request_headers = {}
911
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
912
+
913
+ # Set Headers
914
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
915
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
916
+ path_template = '{nextLink}'
917
+
918
+ request_url = @base_url || @client.base_url
919
+
920
+ options = {
921
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
922
+ skip_encoding_path_params: {'nextLink' => next_page_link},
923
+ headers: request_headers.merge(custom_headers || {}),
924
+ base_url: request_url
925
+ }
926
+ promise = @client.make_request_async(:get, path_template, options)
927
+
928
+ promise = promise.then do |result|
929
+ http_response = result.response
930
+ status_code = http_response.status
931
+ response_content = http_response.body
932
+ unless status_code == 200
933
+ error_model = JSON.load(response_content)
934
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
935
+ end
936
+
937
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
938
+ # Deserialize Response
939
+ if status_code == 200
940
+ begin
941
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
942
+ result_mapper = Azure::SQL::Mgmt::V2018_06_01_preview::Models::InstancePoolListResult.mapper()
943
+ result.body = @client.deserialize(result_mapper, parsed_response)
944
+ rescue Exception => e
945
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
946
+ end
947
+ end
948
+
949
+ result
950
+ end
951
+
952
+ promise.execute
953
+ end
954
+
955
+ #
956
+ # Gets a list of instance pools in the resource group
957
+ #
958
+ # @param resource_group_name [String] The name of the resource group that
959
+ # contains the resource. You can obtain this value from the Azure Resource
960
+ # Manager API or the portal.
961
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
962
+ # will be added to the HTTP request.
963
+ #
964
+ # @return [InstancePoolListResult] which provide lazy access to pages of the
965
+ # response.
966
+ #
967
+ def list_by_resource_group_as_lazy(resource_group_name, custom_headers:nil)
968
+ response = list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
969
+ unless response.nil?
970
+ page = response.body
971
+ page.next_method = Proc.new do |next_page_link|
972
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers)
973
+ end
974
+ page
975
+ end
976
+ end
977
+
978
+ #
979
+ # Gets a list of all instance pools in the subscription.
980
+ #
981
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
982
+ # will be added to the HTTP request.
983
+ #
984
+ # @return [InstancePoolListResult] which provide lazy access to pages of the
985
+ # response.
986
+ #
987
+ def list_as_lazy(custom_headers:nil)
988
+ response = list_async(custom_headers:custom_headers).value!
989
+ unless response.nil?
990
+ page = response.body
991
+ page.next_method = Proc.new do |next_page_link|
992
+ list_next_async(next_page_link, custom_headers:custom_headers)
993
+ end
994
+ page
995
+ end
996
+ end
997
+
998
+ end
999
+ end