azure_mgmt_web 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/LICENSE.txt +21 -0
  4. data/Rakefile +5 -0
  5. data/azure_mgmt_web.gemspec +35 -0
  6. data/lib/azure_mgmt_web.rb +236 -0
  7. data/lib/azure_mgmt_web/certificates.rb +693 -0
  8. data/lib/azure_mgmt_web/classic_mobile_services.rb +208 -0
  9. data/lib/azure_mgmt_web/domains.rb +459 -0
  10. data/lib/azure_mgmt_web/global.rb +793 -0
  11. data/lib/azure_mgmt_web/global_domain_registration.rb +351 -0
  12. data/lib/azure_mgmt_web/global_resource_groups.rb +91 -0
  13. data/lib/azure_mgmt_web/hosting_environments.rb +2629 -0
  14. data/lib/azure_mgmt_web/managed_hosting_environments.rb +652 -0
  15. data/lib/azure_mgmt_web/models/access_control_entry_action.rb +16 -0
  16. data/lib/azure_mgmt_web/models/address.rb +101 -0
  17. data/lib/azure_mgmt_web/models/address_response.rb +105 -0
  18. data/lib/azure_mgmt_web/models/api_definition_info.rb +56 -0
  19. data/lib/azure_mgmt_web/models/application_logs_config.rb +97 -0
  20. data/lib/azure_mgmt_web/models/arm_plan.rb +92 -0
  21. data/lib/azure_mgmt_web/models/auto_heal_action_type.rb +17 -0
  22. data/lib/azure_mgmt_web/models/auto_heal_actions.rb +89 -0
  23. data/lib/azure_mgmt_web/models/auto_heal_custom_action.rb +66 -0
  24. data/lib/azure_mgmt_web/models/auto_heal_rules.rb +80 -0
  25. data/lib/azure_mgmt_web/models/auto_heal_triggers.rb +122 -0
  26. data/lib/azure_mgmt_web/models/azure_blob_storage_application_logs_config.rb +82 -0
  27. data/lib/azure_mgmt_web/models/azure_blob_storage_http_logs_config.rb +78 -0
  28. data/lib/azure_mgmt_web/models/azure_resource_type.rb +16 -0
  29. data/lib/azure_mgmt_web/models/azure_table_storage_application_logs_config.rb +70 -0
  30. data/lib/azure_mgmt_web/models/backup_item.rb +92 -0
  31. data/lib/azure_mgmt_web/models/backup_item_collection.rb +85 -0
  32. data/lib/azure_mgmt_web/models/backup_item_properties.rb +215 -0
  33. data/lib/azure_mgmt_web/models/backup_item_status.rb +24 -0
  34. data/lib/azure_mgmt_web/models/backup_request.rb +92 -0
  35. data/lib/azure_mgmt_web/models/backup_request_properties.rb +136 -0
  36. data/lib/azure_mgmt_web/models/backup_restore_operation_type.rb +17 -0
  37. data/lib/azure_mgmt_web/models/backup_schedule.rb +118 -0
  38. data/lib/azure_mgmt_web/models/built_in_authentication_provider.rb +19 -0
  39. data/lib/azure_mgmt_web/models/certificate.rb +92 -0
  40. data/lib/azure_mgmt_web/models/certificate_collection.rb +85 -0
  41. data/lib/azure_mgmt_web/models/certificate_properties.rb +194 -0
  42. data/lib/azure_mgmt_web/models/channels.rb +18 -0
  43. data/lib/azure_mgmt_web/models/classic_mobile_service.rb +92 -0
  44. data/lib/azure_mgmt_web/models/classic_mobile_service_collection.rb +85 -0
  45. data/lib/azure_mgmt_web/models/classic_mobile_service_properties.rb +56 -0
  46. data/lib/azure_mgmt_web/models/clone_ability_result.rb +17 -0
  47. data/lib/azure_mgmt_web/models/cloning_info.rb +152 -0
  48. data/lib/azure_mgmt_web/models/compute_mode_options.rb +16 -0
  49. data/lib/azure_mgmt_web/models/conn_string_info.rb +79 -0
  50. data/lib/azure_mgmt_web/models/conn_string_value_type_pair.rb +70 -0
  51. data/lib/azure_mgmt_web/models/connection_string_dictionary.rb +102 -0
  52. data/lib/azure_mgmt_web/models/contact.rb +136 -0
  53. data/lib/azure_mgmt_web/models/cors_settings.rb +59 -0
  54. data/lib/azure_mgmt_web/models/csm_move_resource_envelope.rb +66 -0
  55. data/lib/azure_mgmt_web/models/csm_publishing_profile_options.rb +59 -0
  56. data/lib/azure_mgmt_web/models/csm_site_recovery_entity.rb +80 -0
  57. data/lib/azure_mgmt_web/models/csm_slot_entity.rb +67 -0
  58. data/lib/azure_mgmt_web/models/csm_usage_quota.rb +102 -0
  59. data/lib/azure_mgmt_web/models/csm_usage_quota_collection.rb +85 -0
  60. data/lib/azure_mgmt_web/models/csr.rb +92 -0
  61. data/lib/azure_mgmt_web/models/csr_properties.rb +110 -0
  62. data/lib/azure_mgmt_web/models/custom_host_name_dns_record_type.rb +16 -0
  63. data/lib/azure_mgmt_web/models/database_backup_setting.rb +91 -0
  64. data/lib/azure_mgmt_web/models/database_server_type.rb +18 -0
  65. data/lib/azure_mgmt_web/models/deleted_site.rb +92 -0
  66. data/lib/azure_mgmt_web/models/deleted_site_collection.rb +85 -0
  67. data/lib/azure_mgmt_web/models/deleted_site_properties.rb +365 -0
  68. data/lib/azure_mgmt_web/models/deployment.rb +92 -0
  69. data/lib/azure_mgmt_web/models/deployment_collection.rb +85 -0
  70. data/lib/azure_mgmt_web/models/deployment_properties.rb +142 -0
  71. data/lib/azure_mgmt_web/models/domain.rb +92 -0
  72. data/lib/azure_mgmt_web/models/domain_availablility_check_result.rb +79 -0
  73. data/lib/azure_mgmt_web/models/domain_collection.rb +85 -0
  74. data/lib/azure_mgmt_web/models/domain_control_center_sso_request.rb +75 -0
  75. data/lib/azure_mgmt_web/models/domain_properties.rb +262 -0
  76. data/lib/azure_mgmt_web/models/domain_purchase_consent.rb +79 -0
  77. data/lib/azure_mgmt_web/models/domain_recommendation_search_parameters.rb +67 -0
  78. data/lib/azure_mgmt_web/models/domain_registration_input.rb +92 -0
  79. data/lib/azure_mgmt_web/models/domain_registration_input_properties.rb +271 -0
  80. data/lib/azure_mgmt_web/models/domain_status.rb +35 -0
  81. data/lib/azure_mgmt_web/models/domain_type.rb +16 -0
  82. data/lib/azure_mgmt_web/models/enabled_config.rb +56 -0
  83. data/lib/azure_mgmt_web/models/experiments.rb +77 -0
  84. data/lib/azure_mgmt_web/models/file_system_application_logs_config.rb +60 -0
  85. data/lib/azure_mgmt_web/models/file_system_http_logs_config.rb +82 -0
  86. data/lib/azure_mgmt_web/models/frequency_unit.rb +16 -0
  87. data/lib/azure_mgmt_web/models/geo_region.rb +92 -0
  88. data/lib/azure_mgmt_web/models/geo_region_collection.rb +85 -0
  89. data/lib/azure_mgmt_web/models/geo_region_properties.rb +74 -0
  90. data/lib/azure_mgmt_web/models/handler_mapping.rb +79 -0
  91. data/lib/azure_mgmt_web/models/host_name.rb +120 -0
  92. data/lib/azure_mgmt_web/models/host_name_binding.rb +92 -0
  93. data/lib/azure_mgmt_web/models/host_name_binding_collection.rb +85 -0
  94. data/lib/azure_mgmt_web/models/host_name_binding_properties.rb +124 -0
  95. data/lib/azure_mgmt_web/models/host_name_ssl_state.rb +98 -0
  96. data/lib/azure_mgmt_web/models/host_name_type.rb +16 -0
  97. data/lib/azure_mgmt_web/models/hosting_environment.rb +92 -0
  98. data/lib/azure_mgmt_web/models/hosting_environment_collection.rb +85 -0
  99. data/lib/azure_mgmt_web/models/hosting_environment_diagnostics.rb +65 -0
  100. data/lib/azure_mgmt_web/models/hosting_environment_profile.rb +78 -0
  101. data/lib/azure_mgmt_web/models/hosting_environment_properties.rb +452 -0
  102. data/lib/azure_mgmt_web/models/hosting_environment_status.rb +18 -0
  103. data/lib/azure_mgmt_web/models/http_logs_config.rb +80 -0
  104. data/lib/azure_mgmt_web/models/internal_load_balancing_mode.rb +17 -0
  105. data/lib/azure_mgmt_web/models/key_value_pair_string_string.rb +65 -0
  106. data/lib/azure_mgmt_web/models/localizable_string.rb +65 -0
  107. data/lib/azure_mgmt_web/models/log_level.rb +19 -0
  108. data/lib/azure_mgmt_web/models/managed_hosting_environment.rb +92 -0
  109. data/lib/azure_mgmt_web/models/managed_hosting_environment_collection.rb +85 -0
  110. data/lib/azure_mgmt_web/models/managed_hosting_environment_properties.rb +179 -0
  111. data/lib/azure_mgmt_web/models/managed_hosting_environment_status.rb +17 -0
  112. data/lib/azure_mgmt_web/models/managed_pipeline_mode.rb +16 -0
  113. data/lib/azure_mgmt_web/models/metric_availabilily.rb +66 -0
  114. data/lib/azure_mgmt_web/models/metric_definition.rb +92 -0
  115. data/lib/azure_mgmt_web/models/metric_definition_collection.rb +85 -0
  116. data/lib/azure_mgmt_web/models/metric_definition_properties.rb +113 -0
  117. data/lib/azure_mgmt_web/models/name_identifier.rb +56 -0
  118. data/lib/azure_mgmt_web/models/name_identifier_collection.rb +85 -0
  119. data/lib/azure_mgmt_web/models/name_value_pair.rb +65 -0
  120. data/lib/azure_mgmt_web/models/network_access_control_entry.rb +88 -0
  121. data/lib/azure_mgmt_web/models/network_features.rb +94 -0
  122. data/lib/azure_mgmt_web/models/network_features_properties.rb +102 -0
  123. data/lib/azure_mgmt_web/models/notification_level.rb +18 -0
  124. data/lib/azure_mgmt_web/models/premier_add_on_request.rb +107 -0
  125. data/lib/azure_mgmt_web/models/provisioning_state.rb +19 -0
  126. data/lib/azure_mgmt_web/models/ramp_up_rule.rb +147 -0
  127. data/lib/azure_mgmt_web/models/recommendation.rb +210 -0
  128. data/lib/azure_mgmt_web/models/recommendation_rule.rb +146 -0
  129. data/lib/azure_mgmt_web/models/relay_service_connection_entity.rb +92 -0
  130. data/lib/azure_mgmt_web/models/relay_service_connection_entity_properties.rb +111 -0
  131. data/lib/azure_mgmt_web/models/requests_based_trigger.rb +66 -0
  132. data/lib/azure_mgmt_web/models/resource_metric.rb +171 -0
  133. data/lib/azure_mgmt_web/models/resource_metric_collection.rb +85 -0
  134. data/lib/azure_mgmt_web/models/resource_metric_name.rb +65 -0
  135. data/lib/azure_mgmt_web/models/resource_metric_value.rb +106 -0
  136. data/lib/azure_mgmt_web/models/resource_name_availability.rb +78 -0
  137. data/lib/azure_mgmt_web/models/resource_name_availability_request.rb +74 -0
  138. data/lib/azure_mgmt_web/models/restore_request.rb +92 -0
  139. data/lib/azure_mgmt_web/models/restore_request_properties.rb +162 -0
  140. data/lib/azure_mgmt_web/models/restore_response.rb +92 -0
  141. data/lib/azure_mgmt_web/models/restore_response_properties.rb +57 -0
  142. data/lib/azure_mgmt_web/models/routing_rule.rb +58 -0
  143. data/lib/azure_mgmt_web/models/server_farm_collection.rb +85 -0
  144. data/lib/azure_mgmt_web/models/server_farm_with_rich_sku.rb +108 -0
  145. data/lib/azure_mgmt_web/models/server_farm_with_rich_sku_properties.rb +164 -0
  146. data/lib/azure_mgmt_web/models/site.rb +92 -0
  147. data/lib/azure_mgmt_web/models/site_auth_settings.rb +379 -0
  148. data/lib/azure_mgmt_web/models/site_availability_state.rb +17 -0
  149. data/lib/azure_mgmt_web/models/site_cloneability.rb +157 -0
  150. data/lib/azure_mgmt_web/models/site_cloneability_criterion.rb +65 -0
  151. data/lib/azure_mgmt_web/models/site_collection.rb +85 -0
  152. data/lib/azure_mgmt_web/models/site_config.rb +92 -0
  153. data/lib/azure_mgmt_web/models/site_config_properties.rb +554 -0
  154. data/lib/azure_mgmt_web/models/site_instance.rb +92 -0
  155. data/lib/azure_mgmt_web/models/site_instance_collection.rb +85 -0
  156. data/lib/azure_mgmt_web/models/site_instance_properties.rb +56 -0
  157. data/lib/azure_mgmt_web/models/site_limits.rb +77 -0
  158. data/lib/azure_mgmt_web/models/site_load_balancing.rb +19 -0
  159. data/lib/azure_mgmt_web/models/site_logs_config.rb +92 -0
  160. data/lib/azure_mgmt_web/models/site_logs_config_properties.rb +110 -0
  161. data/lib/azure_mgmt_web/models/site_properties.rb +354 -0
  162. data/lib/azure_mgmt_web/models/site_source_control.rb +92 -0
  163. data/lib/azure_mgmt_web/models/site_source_control_properties.rb +92 -0
  164. data/lib/azure_mgmt_web/models/sku_capacity.rb +89 -0
  165. data/lib/azure_mgmt_web/models/sku_description.rb +93 -0
  166. data/lib/azure_mgmt_web/models/sku_info.rb +87 -0
  167. data/lib/azure_mgmt_web/models/sku_info_collection.rb +85 -0
  168. data/lib/azure_mgmt_web/models/slot_config_names.rb +69 -0
  169. data/lib/azure_mgmt_web/models/slot_config_names_resource.rb +92 -0
  170. data/lib/azure_mgmt_web/models/slot_config_names_resource_properties.rb +66 -0
  171. data/lib/azure_mgmt_web/models/slot_difference.rb +93 -0
  172. data/lib/azure_mgmt_web/models/slot_difference_collection.rb +85 -0
  173. data/lib/azure_mgmt_web/models/slot_difference_properties.rb +113 -0
  174. data/lib/azure_mgmt_web/models/slow_requests_based_trigger.rb +75 -0
  175. data/lib/azure_mgmt_web/models/source_control.rb +92 -0
  176. data/lib/azure_mgmt_web/models/source_control_collection.rb +85 -0
  177. data/lib/azure_mgmt_web/models/source_control_properties.rb +94 -0
  178. data/lib/azure_mgmt_web/models/ssl_state.rb +17 -0
  179. data/lib/azure_mgmt_web/models/stamp_capacity.rb +155 -0
  180. data/lib/azure_mgmt_web/models/stamp_capacity_collection.rb +85 -0
  181. data/lib/azure_mgmt_web/models/status_codes_based_trigger.rb +96 -0
  182. data/lib/azure_mgmt_web/models/status_options.rb +16 -0
  183. data/lib/azure_mgmt_web/models/string_dictionary.rb +86 -0
  184. data/lib/azure_mgmt_web/models/tld_legal_agreement.rb +83 -0
  185. data/lib/azure_mgmt_web/models/tld_legal_agreement_collection.rb +85 -0
  186. data/lib/azure_mgmt_web/models/top_level_domain.rb +92 -0
  187. data/lib/azure_mgmt_web/models/top_level_domain_agreement_option.rb +57 -0
  188. data/lib/azure_mgmt_web/models/top_level_domain_collection.rb +85 -0
  189. data/lib/azure_mgmt_web/models/top_level_domain_properties.rb +66 -0
  190. data/lib/azure_mgmt_web/models/unauthenticated_client_action.rb +16 -0
  191. data/lib/azure_mgmt_web/models/usage.rb +92 -0
  192. data/lib/azure_mgmt_web/models/usage_collection.rb +85 -0
  193. data/lib/azure_mgmt_web/models/usage_properties.rb +136 -0
  194. data/lib/azure_mgmt_web/models/usage_state.rb +16 -0
  195. data/lib/azure_mgmt_web/models/user.rb +92 -0
  196. data/lib/azure_mgmt_web/models/user_properties.rb +74 -0
  197. data/lib/azure_mgmt_web/models/virtual_application.rb +103 -0
  198. data/lib/azure_mgmt_web/models/virtual_directory.rb +65 -0
  199. data/lib/azure_mgmt_web/models/virtual_ipmapping.rb +85 -0
  200. data/lib/azure_mgmt_web/models/virtual_network_profile.rb +83 -0
  201. data/lib/azure_mgmt_web/models/vnet_gateway.rb +93 -0
  202. data/lib/azure_mgmt_web/models/vnet_gateway_properties.rb +65 -0
  203. data/lib/azure_mgmt_web/models/vnet_info.rb +93 -0
  204. data/lib/azure_mgmt_web/models/vnet_info_properties.rb +106 -0
  205. data/lib/azure_mgmt_web/models/vnet_route.rb +92 -0
  206. data/lib/azure_mgmt_web/models/vnet_route_properties.rb +97 -0
  207. data/lib/azure_mgmt_web/models/worker_pool.rb +108 -0
  208. data/lib/azure_mgmt_web/models/worker_pool_collection.rb +85 -0
  209. data/lib/azure_mgmt_web/models/worker_pool_properties.rb +100 -0
  210. data/lib/azure_mgmt_web/models/worker_size_options.rb +18 -0
  211. data/lib/azure_mgmt_web/module_definition.rb +8 -0
  212. data/lib/azure_mgmt_web/provider.rb +346 -0
  213. data/lib/azure_mgmt_web/recommendations.rb +320 -0
  214. data/lib/azure_mgmt_web/server_farms.rb +1409 -0
  215. data/lib/azure_mgmt_web/sites.rb +11072 -0
  216. data/lib/azure_mgmt_web/top_level_domains.rb +226 -0
  217. data/lib/azure_mgmt_web/usage_operations.rb +88 -0
  218. data/lib/azure_mgmt_web/version.rb +8 -0
  219. data/lib/azure_mgmt_web/web_site_management_client.rb +118 -0
  220. metadata +346 -0
@@ -0,0 +1,320 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Web
7
+ #
8
+ # Use these APIs to manage Azure Websites resources through the Azure
9
+ # Resource Manager. All task operations conform to the HTTP/1.1 protocol
10
+ # specification and each operation returns an x-ms-request-id header that
11
+ # can be used to obtain information about the request. You must make sure
12
+ # that requests made to these resources are secure. For more information,
13
+ # see <a
14
+ # href="https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx">Authenticating
15
+ # Azure Resource Manager requests.</a>
16
+ #
17
+ class Recommendations
18
+ include Azure::ARM::Web::Models
19
+ include MsRestAzure
20
+
21
+ #
22
+ # Creates and initializes a new instance of the Recommendations class.
23
+ # @param client service class for accessing basic functionality.
24
+ #
25
+ def initialize(client)
26
+ @client = client
27
+ end
28
+
29
+ # @return reference to the WebSiteManagementClient
30
+ attr_reader :client
31
+
32
+ #
33
+ # Gets a list of recommendations associated with the specified subscription.
34
+ #
35
+ # @param featured [Boolean] If set, this API returns only the most critical
36
+ # recommendation among the others. Otherwise this API returns all
37
+ # recommendations available
38
+ # @param filter [String] Return only channels specified in the filter. Filter
39
+ # is specified by using OData syntax. Example: $filter=channels eq 'Api' or
40
+ # channel eq 'Notification'
41
+ # @param [Hash{String => String}] The hash of custom headers need to be
42
+ # applied to HTTP request.
43
+ #
44
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
45
+ # response.
46
+ #
47
+ def get_recommendation_by_subscription(featured = nil, filter = nil, custom_headers = nil)
48
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
49
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
50
+ request_headers = {}
51
+
52
+ # Set Headers
53
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
54
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
55
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations'
56
+ options = {
57
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
58
+ path_params: {'subscriptionId' => @client.subscription_id},
59
+ query_params: {'featured' => featured,'$filter' => filter,'api-version' => @client.api_version},
60
+ headers: request_headers.merge(custom_headers || {})
61
+ }
62
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
63
+ promise = request.run_promise do |req|
64
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
65
+ end
66
+
67
+ promise = promise.then do |http_response|
68
+ status_code = http_response.status
69
+ response_content = http_response.body
70
+ unless status_code == 200
71
+ error_model = JSON.load(response_content)
72
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
73
+ end
74
+
75
+ # Create Result
76
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
77
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
78
+ # Deserialize Response
79
+ if status_code == 200
80
+ begin
81
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
82
+ unless parsed_response.nil?
83
+ deserialized_array = []
84
+ parsed_response.each do |element|
85
+ unless element.nil?
86
+ element = Recommendation.deserialize_object(element)
87
+ end
88
+ deserialized_array.push(element)
89
+ end
90
+ parsed_response = deserialized_array
91
+ end
92
+ result.body = parsed_response
93
+ rescue Exception => e
94
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
95
+ end
96
+ end
97
+
98
+ result
99
+ end
100
+
101
+ promise.execute
102
+ end
103
+
104
+ #
105
+ # Gets the detailed properties of the recommendation object for the specified
106
+ # web site.
107
+ #
108
+ # @param resource_group_name [String] Resource group name
109
+ # @param site_name [String] Site name
110
+ # @param name [String] Recommendation rule name
111
+ # @param [Hash{String => String}] The hash of custom headers need to be
112
+ # applied to HTTP request.
113
+ #
114
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
115
+ # response.
116
+ #
117
+ def get_rule_details_by_site_name(resource_group_name, site_name, name, custom_headers = nil)
118
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
119
+ fail ArgumentError, 'site_name is nil' if site_name.nil?
120
+ fail ArgumentError, 'name is nil' if name.nil?
121
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
122
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
123
+ request_headers = {}
124
+
125
+ # Set Headers
126
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
127
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
128
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}'
129
+ options = {
130
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
131
+ path_params: {'resourceGroupName' => resource_group_name,'siteName' => site_name,'name' => name,'subscriptionId' => @client.subscription_id},
132
+ query_params: {'api-version' => @client.api_version},
133
+ headers: request_headers.merge(custom_headers || {})
134
+ }
135
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
136
+ promise = request.run_promise do |req|
137
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
138
+ end
139
+
140
+ promise = promise.then do |http_response|
141
+ status_code = http_response.status
142
+ response_content = http_response.body
143
+ unless status_code == 200
144
+ error_model = JSON.load(response_content)
145
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
146
+ end
147
+
148
+ # Create Result
149
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
150
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
151
+ # Deserialize Response
152
+ if status_code == 200
153
+ begin
154
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
155
+ unless parsed_response.nil?
156
+ parsed_response = RecommendationRule.deserialize_object(parsed_response)
157
+ end
158
+ result.body = parsed_response
159
+ rescue Exception => e
160
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
161
+ end
162
+ end
163
+
164
+ result
165
+ end
166
+
167
+ promise.execute
168
+ end
169
+
170
+ #
171
+ # Gets a list of recommendations associated with the specified web site.
172
+ #
173
+ # @param resource_group_name [String] Resource group name
174
+ # @param site_name [String] Site name
175
+ # @param featured [Boolean] If set, this API returns only the most critical
176
+ # recommendation among the others. Otherwise this API returns all
177
+ # recommendations available
178
+ # @param [Hash{String => String}] The hash of custom headers need to be
179
+ # applied to HTTP request.
180
+ #
181
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
182
+ # response.
183
+ #
184
+ def get_recommended_rules_for_site(resource_group_name, site_name, featured = nil, custom_headers = nil)
185
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
186
+ fail ArgumentError, 'site_name is nil' if site_name.nil?
187
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
188
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
189
+ request_headers = {}
190
+
191
+ # Set Headers
192
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
193
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
194
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations'
195
+ options = {
196
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
197
+ path_params: {'resourceGroupName' => resource_group_name,'siteName' => site_name,'subscriptionId' => @client.subscription_id},
198
+ query_params: {'featured' => featured,'api-version' => @client.api_version},
199
+ headers: request_headers.merge(custom_headers || {})
200
+ }
201
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
202
+ promise = request.run_promise do |req|
203
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
204
+ end
205
+
206
+ promise = promise.then do |http_response|
207
+ status_code = http_response.status
208
+ response_content = http_response.body
209
+ unless status_code == 200
210
+ error_model = JSON.load(response_content)
211
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
212
+ end
213
+
214
+ # Create Result
215
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
216
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
217
+ # Deserialize Response
218
+ if status_code == 200
219
+ begin
220
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
221
+ unless parsed_response.nil?
222
+ deserialized_array = []
223
+ parsed_response.each do |element|
224
+ unless element.nil?
225
+ element = Recommendation.deserialize_object(element)
226
+ end
227
+ deserialized_array.push(element)
228
+ end
229
+ parsed_response = deserialized_array
230
+ end
231
+ result.body = parsed_response
232
+ rescue Exception => e
233
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
234
+ end
235
+ end
236
+
237
+ result
238
+ end
239
+
240
+ promise.execute
241
+ end
242
+
243
+ #
244
+ # Gets the list of past recommendations optionally specified by the time range.
245
+ #
246
+ # @param resource_group_name [String] Resource group name
247
+ # @param site_name [String] Site name
248
+ # @param start_time [String] The start time of a time range to query, e.g.
249
+ # $filter=startTime eq '2015-01-01T00:00:00Z' and endTime eq
250
+ # '2015-01-02T00:00:00Z'
251
+ # @param end_time [String] The end time of a time range to query, e.g.
252
+ # $filter=startTime eq '2015-01-01T00:00:00Z' and endTime eq
253
+ # '2015-01-02T00:00:00Z'
254
+ # @param [Hash{String => String}] The hash of custom headers need to be
255
+ # applied to HTTP request.
256
+ #
257
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
258
+ # response.
259
+ #
260
+ def get_recommendation_history_for_site(resource_group_name, site_name, start_time = nil, end_time = nil, custom_headers = nil)
261
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
262
+ fail ArgumentError, 'site_name is nil' if site_name.nil?
263
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
264
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
265
+ request_headers = {}
266
+
267
+ # Set Headers
268
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
269
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
270
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory'
271
+ options = {
272
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
273
+ path_params: {'resourceGroupName' => resource_group_name,'siteName' => site_name,'subscriptionId' => @client.subscription_id},
274
+ query_params: {'startTime' => start_time,'endTime' => end_time,'api-version' => @client.api_version},
275
+ headers: request_headers.merge(custom_headers || {})
276
+ }
277
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
278
+ promise = request.run_promise do |req|
279
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
280
+ end
281
+
282
+ promise = promise.then do |http_response|
283
+ status_code = http_response.status
284
+ response_content = http_response.body
285
+ unless status_code == 200
286
+ error_model = JSON.load(response_content)
287
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
288
+ end
289
+
290
+ # Create Result
291
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
292
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
293
+ # Deserialize Response
294
+ if status_code == 200
295
+ begin
296
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
297
+ unless parsed_response.nil?
298
+ deserialized_array = []
299
+ parsed_response.each do |element|
300
+ unless element.nil?
301
+ element = Recommendation.deserialize_object(element)
302
+ end
303
+ deserialized_array.push(element)
304
+ end
305
+ parsed_response = deserialized_array
306
+ end
307
+ result.body = parsed_response
308
+ rescue Exception => e
309
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
310
+ end
311
+ end
312
+
313
+ result
314
+ end
315
+
316
+ promise.execute
317
+ end
318
+
319
+ end
320
+ end
@@ -0,0 +1,1409 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Web
7
+ #
8
+ # Use these APIs to manage Azure Websites resources through the Azure
9
+ # Resource Manager. All task operations conform to the HTTP/1.1 protocol
10
+ # specification and each operation returns an x-ms-request-id header that
11
+ # can be used to obtain information about the request. You must make sure
12
+ # that requests made to these resources are secure. For more information,
13
+ # see <a
14
+ # href="https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx">Authenticating
15
+ # Azure Resource Manager requests.</a>
16
+ #
17
+ class ServerFarms
18
+ include Azure::ARM::Web::Models
19
+ include MsRestAzure
20
+
21
+ #
22
+ # Creates and initializes a new instance of the ServerFarms class.
23
+ # @param client service class for accessing basic functionality.
24
+ #
25
+ def initialize(client)
26
+ @client = client
27
+ end
28
+
29
+ # @return reference to the WebSiteManagementClient
30
+ attr_reader :client
31
+
32
+ #
33
+ # Gets collection of App Service Plans in a resource group for a given
34
+ # subscription.
35
+ #
36
+ # @param resource_group_name [String] Name of resource group
37
+ # @param [Hash{String => String}] The hash of custom headers need to be
38
+ # applied to HTTP request.
39
+ #
40
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
41
+ # response.
42
+ #
43
+ def get_server_farms(resource_group_name, custom_headers = nil)
44
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
45
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
46
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
47
+ request_headers = {}
48
+
49
+ # Set Headers
50
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
51
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
52
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms'
53
+ options = {
54
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
55
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
56
+ query_params: {'api-version' => @client.api_version},
57
+ headers: request_headers.merge(custom_headers || {})
58
+ }
59
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
60
+ promise = request.run_promise do |req|
61
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
62
+ end
63
+
64
+ promise = promise.then do |http_response|
65
+ status_code = http_response.status
66
+ response_content = http_response.body
67
+ unless status_code == 200
68
+ error_model = JSON.load(response_content)
69
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
70
+ end
71
+
72
+ # Create Result
73
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
74
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
75
+ # Deserialize Response
76
+ if status_code == 200
77
+ begin
78
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
79
+ unless parsed_response.nil?
80
+ parsed_response = ServerFarmCollection.deserialize_object(parsed_response)
81
+ end
82
+ result.body = parsed_response
83
+ rescue Exception => e
84
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
85
+ end
86
+ end
87
+
88
+ result
89
+ end
90
+
91
+ promise.execute
92
+ end
93
+
94
+ #
95
+ # Gets specified App Service Plan in a resource group
96
+ #
97
+ # @param resource_group_name [String] Name of resource group
98
+ # @param name [String] Name of App Service Plan
99
+ # @param [Hash{String => String}] The hash of custom headers need to be
100
+ # applied to HTTP request.
101
+ #
102
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
103
+ # response.
104
+ #
105
+ def get_server_farm(resource_group_name, name, custom_headers = nil)
106
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
107
+ fail ArgumentError, 'name is nil' if name.nil?
108
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
109
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
110
+ request_headers = {}
111
+
112
+ # Set Headers
113
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
114
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
115
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'
116
+ options = {
117
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
118
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
119
+ query_params: {'api-version' => @client.api_version},
120
+ headers: request_headers.merge(custom_headers || {})
121
+ }
122
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
123
+ promise = request.run_promise do |req|
124
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
125
+ end
126
+
127
+ promise = promise.then do |http_response|
128
+ status_code = http_response.status
129
+ response_content = http_response.body
130
+ unless status_code == 200
131
+ error_model = JSON.load(response_content)
132
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
133
+ end
134
+
135
+ # Create Result
136
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
137
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
138
+ # Deserialize Response
139
+ if status_code == 200
140
+ begin
141
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
142
+ unless parsed_response.nil?
143
+ parsed_response = ServerFarmWithRichSku.deserialize_object(parsed_response)
144
+ end
145
+ result.body = parsed_response
146
+ rescue Exception => e
147
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
148
+ end
149
+ end
150
+
151
+ result
152
+ end
153
+
154
+ promise.execute
155
+ end
156
+
157
+ #
158
+ # Creates or updates an App Service Plan
159
+ #
160
+ # @param resource_group_name [String] Name of resource group
161
+ # @param name [String] Name of App Service Plan
162
+ # @param server_farm_envelope [ServerFarmWithRichSku] Details of App Service
163
+ # Plan
164
+ # @param allow_pending_state [Boolean] OBSOLETE: If true, allow pending state
165
+ # for App Service Plan
166
+ # @param @client.subscription_id [String] Subscription Id
167
+ # @param @client.api_version [String] API Version
168
+ # @param @client.accept_language [String] Gets or sets the preferred language
169
+ # for the response.
170
+ #
171
+ # @return [Concurrent::Promise] promise which provides async access to http
172
+ # response.
173
+ #
174
+ def create_or_update_server_farm(resource_group_name, name, server_farm_envelope, allow_pending_state = nil, custom_headers = nil)
175
+ # Send request
176
+ promise = begin_create_or_update_server_farm(resource_group_name, name, server_farm_envelope, allow_pending_state, custom_headers)
177
+
178
+ promise = promise.then do |response|
179
+ # Defining deserialization method.
180
+ deserialize_method = lambda do |parsed_response|
181
+ unless parsed_response.nil?
182
+ parsed_response = ServerFarmWithRichSku.deserialize_object(parsed_response)
183
+ end
184
+ end
185
+
186
+ # Waiting for response.
187
+ @client.get_put_operation_result(response, deserialize_method)
188
+ end
189
+
190
+ promise
191
+ end
192
+
193
+ #
194
+ # Creates or updates an App Service Plan
195
+ #
196
+ # @param resource_group_name [String] Name of resource group
197
+ # @param name [String] Name of App Service Plan
198
+ # @param server_farm_envelope [ServerFarmWithRichSku] Details of App Service
199
+ # Plan
200
+ # @param allow_pending_state [Boolean] OBSOLETE: If true, allow pending state
201
+ # for App Service Plan
202
+ # @param [Hash{String => String}] The hash of custom headers need to be
203
+ # applied to HTTP request.
204
+ #
205
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
206
+ # response.
207
+ #
208
+ def begin_create_or_update_server_farm(resource_group_name, name, server_farm_envelope, allow_pending_state = nil, custom_headers = nil)
209
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
210
+ fail ArgumentError, 'name is nil' if name.nil?
211
+ fail ArgumentError, 'server_farm_envelope is nil' if server_farm_envelope.nil?
212
+ server_farm_envelope.validate unless server_farm_envelope.nil?
213
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
214
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
215
+ request_headers = {}
216
+
217
+ # Set Headers
218
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
219
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
220
+
221
+ # Serialize Request
222
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
223
+ unless server_farm_envelope.nil?
224
+ server_farm_envelope = ServerFarmWithRichSku.serialize_object(server_farm_envelope)
225
+ end
226
+ request_content = JSON.generate(server_farm_envelope, quirks_mode: true)
227
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'
228
+ options = {
229
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
230
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
231
+ query_params: {'allowPendingState' => allow_pending_state,'api-version' => @client.api_version},
232
+ body: request_content,
233
+ headers: request_headers.merge(custom_headers || {})
234
+ }
235
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :put, options)
236
+ promise = request.run_promise do |req|
237
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
238
+ end
239
+
240
+ promise = promise.then do |http_response|
241
+ status_code = http_response.status
242
+ response_content = http_response.body
243
+ unless status_code == 200 || status_code == 202
244
+ error_model = JSON.load(response_content)
245
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
246
+ end
247
+
248
+ # Create Result
249
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
250
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
251
+ # Deserialize Response
252
+ if status_code == 200
253
+ begin
254
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
255
+ unless parsed_response.nil?
256
+ parsed_response = ServerFarmWithRichSku.deserialize_object(parsed_response)
257
+ end
258
+ result.body = parsed_response
259
+ rescue Exception => e
260
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
261
+ end
262
+ end
263
+ # Deserialize Response
264
+ if status_code == 202
265
+ begin
266
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
267
+ unless parsed_response.nil?
268
+ parsed_response = ServerFarmWithRichSku.deserialize_object(parsed_response)
269
+ end
270
+ result.body = parsed_response
271
+ rescue Exception => e
272
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
273
+ end
274
+ end
275
+
276
+ result
277
+ end
278
+
279
+ promise.execute
280
+ end
281
+
282
+ #
283
+ # Deletes a App Service Plan
284
+ #
285
+ # @param resource_group_name [String] Name of resource group
286
+ # @param name [String] Name of App Service Plan
287
+ # @param [Hash{String => String}] The hash of custom headers need to be
288
+ # applied to HTTP request.
289
+ #
290
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
291
+ # response.
292
+ #
293
+ def delete_server_farm(resource_group_name, name, custom_headers = nil)
294
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
295
+ fail ArgumentError, 'name is nil' if name.nil?
296
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
297
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
298
+ request_headers = {}
299
+
300
+ # Set Headers
301
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
302
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
303
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'
304
+ options = {
305
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
306
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
307
+ query_params: {'api-version' => @client.api_version},
308
+ headers: request_headers.merge(custom_headers || {})
309
+ }
310
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :delete, options)
311
+ promise = request.run_promise do |req|
312
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
313
+ end
314
+
315
+ promise = promise.then do |http_response|
316
+ status_code = http_response.status
317
+ response_content = http_response.body
318
+ unless status_code == 200
319
+ error_model = JSON.load(response_content)
320
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
321
+ end
322
+
323
+ # Create Result
324
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
325
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
326
+
327
+ result
328
+ end
329
+
330
+ promise.execute
331
+ end
332
+
333
+ #
334
+ # Queries for App Serice Plan metrics
335
+ #
336
+ # @param resource_group_name [String] Name of resource group
337
+ # @param name [String] Name of App Service Plan
338
+ # @param details [Boolean] If true, metrics are broken down per App Service
339
+ # Plan instance
340
+ # @param filter [String] Return only usages/metrics specified in the filter.
341
+ # Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1'
342
+ # or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and
343
+ # endTime eq '2014-12-31T23:59:59Z' and timeGrain eq
344
+ # duration'[Hour|Minute|Day]'.
345
+ # @param [Hash{String => String}] The hash of custom headers need to be
346
+ # applied to HTTP request.
347
+ #
348
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
349
+ # response.
350
+ #
351
+ def get_server_farm_metrics(resource_group_name, name, details = nil, filter = nil, custom_headers = nil)
352
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
353
+ fail ArgumentError, 'name is nil' if name.nil?
354
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
355
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
356
+ request_headers = {}
357
+
358
+ # Set Headers
359
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
360
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
361
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics'
362
+ options = {
363
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
364
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
365
+ query_params: {'details' => details,'$filter' => filter,'api-version' => @client.api_version},
366
+ headers: request_headers.merge(custom_headers || {})
367
+ }
368
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
369
+ promise = request.run_promise do |req|
370
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
371
+ end
372
+
373
+ promise = promise.then do |http_response|
374
+ status_code = http_response.status
375
+ response_content = http_response.body
376
+ unless status_code == 200
377
+ error_model = JSON.load(response_content)
378
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
379
+ end
380
+
381
+ # Create Result
382
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
383
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
384
+ # Deserialize Response
385
+ if status_code == 200
386
+ begin
387
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
388
+ unless parsed_response.nil?
389
+ parsed_response = ResourceMetricCollection.deserialize_object(parsed_response)
390
+ end
391
+ result.body = parsed_response
392
+ rescue Exception => e
393
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
394
+ end
395
+ end
396
+
397
+ result
398
+ end
399
+
400
+ promise.execute
401
+ end
402
+
403
+ #
404
+ # List of metrics that can be queried for an App Service Plan
405
+ #
406
+ # @param resource_group_name [String] Name of resource group
407
+ # @param name [String] Name of App Service Plan
408
+ # @param [Hash{String => String}] The hash of custom headers need to be
409
+ # applied to HTTP request.
410
+ #
411
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
412
+ # response.
413
+ #
414
+ def get_server_farm_metric_defintions(resource_group_name, name, custom_headers = nil)
415
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
416
+ fail ArgumentError, 'name is nil' if name.nil?
417
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
418
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
419
+ request_headers = {}
420
+
421
+ # Set Headers
422
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
423
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
424
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions'
425
+ options = {
426
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
427
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
428
+ query_params: {'api-version' => @client.api_version},
429
+ headers: request_headers.merge(custom_headers || {})
430
+ }
431
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
432
+ promise = request.run_promise do |req|
433
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
434
+ end
435
+
436
+ promise = promise.then do |http_response|
437
+ status_code = http_response.status
438
+ response_content = http_response.body
439
+ unless status_code == 200
440
+ error_model = JSON.load(response_content)
441
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
442
+ end
443
+
444
+ # Create Result
445
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
446
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
447
+ # Deserialize Response
448
+ if status_code == 200
449
+ begin
450
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
451
+ unless parsed_response.nil?
452
+ parsed_response = MetricDefinitionCollection.deserialize_object(parsed_response)
453
+ end
454
+ result.body = parsed_response
455
+ rescue Exception => e
456
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
457
+ end
458
+ end
459
+
460
+ result
461
+ end
462
+
463
+ promise.execute
464
+ end
465
+
466
+ #
467
+ # Gets list of vnets associated with App Service Plan
468
+ #
469
+ # @param resource_group_name [String] Name of resource group
470
+ # @param name [String] Name of App Service Plan
471
+ # @param [Hash{String => String}] The hash of custom headers need to be
472
+ # applied to HTTP request.
473
+ #
474
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
475
+ # response.
476
+ #
477
+ def get_vnets_for_server_farm(resource_group_name, name, custom_headers = nil)
478
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
479
+ fail ArgumentError, 'name is nil' if name.nil?
480
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
481
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
482
+ request_headers = {}
483
+
484
+ # Set Headers
485
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
486
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
487
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections'
488
+ options = {
489
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
490
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
491
+ query_params: {'api-version' => @client.api_version},
492
+ headers: request_headers.merge(custom_headers || {})
493
+ }
494
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
495
+ promise = request.run_promise do |req|
496
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
497
+ end
498
+
499
+ promise = promise.then do |http_response|
500
+ status_code = http_response.status
501
+ response_content = http_response.body
502
+ unless status_code == 200
503
+ error_model = JSON.load(response_content)
504
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
505
+ end
506
+
507
+ # Create Result
508
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
509
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
510
+ # Deserialize Response
511
+ if status_code == 200
512
+ begin
513
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
514
+ unless parsed_response.nil?
515
+ deserialized_array = []
516
+ parsed_response.each do |element|
517
+ unless element.nil?
518
+ element = VnetInfo.deserialize_object(element)
519
+ end
520
+ deserialized_array.push(element)
521
+ end
522
+ parsed_response = deserialized_array
523
+ end
524
+ result.body = parsed_response
525
+ rescue Exception => e
526
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
527
+ end
528
+ end
529
+
530
+ result
531
+ end
532
+
533
+ promise.execute
534
+ end
535
+
536
+ #
537
+ # Gets a vnet associated with an App Service Plan
538
+ #
539
+ # @param resource_group_name [String] Name of resource group
540
+ # @param name [String] Name of App Service Plan
541
+ # @param vnet_name [String] Name of virtual network
542
+ # @param [Hash{String => String}] The hash of custom headers need to be
543
+ # applied to HTTP request.
544
+ #
545
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
546
+ # response.
547
+ #
548
+ def get_vnet_from_server_farm(resource_group_name, name, vnet_name, custom_headers = nil)
549
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
550
+ fail ArgumentError, 'name is nil' if name.nil?
551
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
552
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
553
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
554
+ request_headers = {}
555
+
556
+ # Set Headers
557
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
558
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
559
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}'
560
+ options = {
561
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
562
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'subscriptionId' => @client.subscription_id},
563
+ query_params: {'api-version' => @client.api_version},
564
+ headers: request_headers.merge(custom_headers || {})
565
+ }
566
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
567
+ promise = request.run_promise do |req|
568
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
569
+ end
570
+
571
+ promise = promise.then do |http_response|
572
+ status_code = http_response.status
573
+ response_content = http_response.body
574
+ unless status_code == 200 || status_code == 404
575
+ error_model = JSON.load(response_content)
576
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
577
+ end
578
+
579
+ # Create Result
580
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
581
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
582
+ # Deserialize Response
583
+ if status_code == 200
584
+ begin
585
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
586
+ unless parsed_response.nil?
587
+ parsed_response = VnetInfo.deserialize_object(parsed_response)
588
+ end
589
+ result.body = parsed_response
590
+ rescue Exception => e
591
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
592
+ end
593
+ end
594
+
595
+ result
596
+ end
597
+
598
+ promise.execute
599
+ end
600
+
601
+ #
602
+ # Gets a list of all routes associated with a vnet, in an app service plan
603
+ #
604
+ # @param resource_group_name [String] Name of resource group
605
+ # @param name [String] Name of App Service Plan
606
+ # @param vnet_name [String] Name of virtual network
607
+ # @param [Hash{String => String}] The hash of custom headers need to be
608
+ # applied to HTTP request.
609
+ #
610
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
611
+ # response.
612
+ #
613
+ def get_routes_for_vnet(resource_group_name, name, vnet_name, custom_headers = nil)
614
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
615
+ fail ArgumentError, 'name is nil' if name.nil?
616
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
617
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
618
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
619
+ request_headers = {}
620
+
621
+ # Set Headers
622
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
623
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
624
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes'
625
+ options = {
626
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
627
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'subscriptionId' => @client.subscription_id},
628
+ query_params: {'api-version' => @client.api_version},
629
+ headers: request_headers.merge(custom_headers || {})
630
+ }
631
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
632
+ promise = request.run_promise do |req|
633
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
634
+ end
635
+
636
+ promise = promise.then do |http_response|
637
+ status_code = http_response.status
638
+ response_content = http_response.body
639
+ unless status_code == 200
640
+ error_model = JSON.load(response_content)
641
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
642
+ end
643
+
644
+ # Create Result
645
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
646
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
647
+ # Deserialize Response
648
+ if status_code == 200
649
+ begin
650
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
651
+ unless parsed_response.nil?
652
+ deserialized_array = []
653
+ parsed_response.each do |element|
654
+ unless element.nil?
655
+ element = VnetRoute.deserialize_object(element)
656
+ end
657
+ deserialized_array.push(element)
658
+ end
659
+ parsed_response = deserialized_array
660
+ end
661
+ result.body = parsed_response
662
+ rescue Exception => e
663
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
664
+ end
665
+ end
666
+
667
+ result
668
+ end
669
+
670
+ promise.execute
671
+ end
672
+
673
+ #
674
+ # Gets a specific route associated with a vnet, in an app service plan
675
+ #
676
+ # @param resource_group_name [String] Name of resource group
677
+ # @param name [String] Name of App Service Plan
678
+ # @param vnet_name [String] Name of virtual network
679
+ # @param route_name [String] Name of the virtual network route
680
+ # @param [Hash{String => String}] The hash of custom headers need to be
681
+ # applied to HTTP request.
682
+ #
683
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
684
+ # response.
685
+ #
686
+ def get_route_for_vnet(resource_group_name, name, vnet_name, route_name, custom_headers = nil)
687
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
688
+ fail ArgumentError, 'name is nil' if name.nil?
689
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
690
+ fail ArgumentError, 'route_name is nil' if route_name.nil?
691
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
692
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
693
+ request_headers = {}
694
+
695
+ # Set Headers
696
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
697
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
698
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'
699
+ options = {
700
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
701
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'routeName' => route_name,'subscriptionId' => @client.subscription_id},
702
+ query_params: {'api-version' => @client.api_version},
703
+ headers: request_headers.merge(custom_headers || {})
704
+ }
705
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
706
+ promise = request.run_promise do |req|
707
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
708
+ end
709
+
710
+ promise = promise.then do |http_response|
711
+ status_code = http_response.status
712
+ response_content = http_response.body
713
+ unless status_code == 200 || status_code == 404
714
+ error_model = JSON.load(response_content)
715
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
716
+ end
717
+
718
+ # Create Result
719
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
720
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
721
+ # Deserialize Response
722
+ if status_code == 200
723
+ begin
724
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
725
+ unless parsed_response.nil?
726
+ deserialized_array = []
727
+ parsed_response.each do |element|
728
+ unless element.nil?
729
+ element = VnetRoute.deserialize_object(element)
730
+ end
731
+ deserialized_array.push(element)
732
+ end
733
+ parsed_response = deserialized_array
734
+ end
735
+ result.body = parsed_response
736
+ rescue Exception => e
737
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
738
+ end
739
+ end
740
+
741
+ result
742
+ end
743
+
744
+ promise.execute
745
+ end
746
+
747
+ #
748
+ # Creates a new route or updates an existing route for a vnet in an app
749
+ # service plan.
750
+ #
751
+ # @param resource_group_name [String] Name of resource group
752
+ # @param name [String] Name of App Service Plan
753
+ # @param vnet_name [String] Name of virtual network
754
+ # @param route_name [String] Name of the virtual network route
755
+ # @param route [VnetRoute] The route object
756
+ # @param [Hash{String => String}] The hash of custom headers need to be
757
+ # applied to HTTP request.
758
+ #
759
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
760
+ # response.
761
+ #
762
+ def create_or_update_vnet_route(resource_group_name, name, vnet_name, route_name, route, custom_headers = nil)
763
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
764
+ fail ArgumentError, 'name is nil' if name.nil?
765
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
766
+ fail ArgumentError, 'route_name is nil' if route_name.nil?
767
+ fail ArgumentError, 'route is nil' if route.nil?
768
+ route.validate unless route.nil?
769
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
770
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
771
+ request_headers = {}
772
+
773
+ # Set Headers
774
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
775
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
776
+
777
+ # Serialize Request
778
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
779
+ unless route.nil?
780
+ route = VnetRoute.serialize_object(route)
781
+ end
782
+ request_content = JSON.generate(route, quirks_mode: true)
783
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'
784
+ options = {
785
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
786
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'routeName' => route_name,'subscriptionId' => @client.subscription_id},
787
+ query_params: {'api-version' => @client.api_version},
788
+ body: request_content,
789
+ headers: request_headers.merge(custom_headers || {})
790
+ }
791
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :put, options)
792
+ promise = request.run_promise do |req|
793
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
794
+ end
795
+
796
+ promise = promise.then do |http_response|
797
+ status_code = http_response.status
798
+ response_content = http_response.body
799
+ unless status_code == 200 || status_code == 400 || status_code == 404
800
+ error_model = JSON.load(response_content)
801
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
802
+ end
803
+
804
+ # Create Result
805
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
806
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
807
+ # Deserialize Response
808
+ if status_code == 200
809
+ begin
810
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
811
+ unless parsed_response.nil?
812
+ parsed_response = VnetRoute.deserialize_object(parsed_response)
813
+ end
814
+ result.body = parsed_response
815
+ rescue Exception => e
816
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
817
+ end
818
+ end
819
+
820
+ result
821
+ end
822
+
823
+ promise.execute
824
+ end
825
+
826
+ #
827
+ # Deletes an existing route for a vnet in an app service plan.
828
+ #
829
+ # @param resource_group_name [String] Name of resource group
830
+ # @param name [String] Name of App Service Plan
831
+ # @param vnet_name [String] Name of virtual network
832
+ # @param route_name [String] Name of the virtual network route
833
+ # @param [Hash{String => String}] The hash of custom headers need to be
834
+ # applied to HTTP request.
835
+ #
836
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
837
+ # response.
838
+ #
839
+ def delete_vnet_route(resource_group_name, name, vnet_name, route_name, custom_headers = nil)
840
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
841
+ fail ArgumentError, 'name is nil' if name.nil?
842
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
843
+ fail ArgumentError, 'route_name is nil' if route_name.nil?
844
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
845
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
846
+ request_headers = {}
847
+
848
+ # Set Headers
849
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
850
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
851
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'
852
+ options = {
853
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
854
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'routeName' => route_name,'subscriptionId' => @client.subscription_id},
855
+ query_params: {'api-version' => @client.api_version},
856
+ headers: request_headers.merge(custom_headers || {})
857
+ }
858
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :delete, options)
859
+ promise = request.run_promise do |req|
860
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
861
+ end
862
+
863
+ promise = promise.then do |http_response|
864
+ status_code = http_response.status
865
+ response_content = http_response.body
866
+ unless status_code == 200 || status_code == 404
867
+ error_model = JSON.load(response_content)
868
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
869
+ end
870
+
871
+ # Create Result
872
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
873
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
874
+
875
+ result
876
+ end
877
+
878
+ promise.execute
879
+ end
880
+
881
+ #
882
+ # Creates a new route or updates an existing route for a vnet in an app
883
+ # service plan.
884
+ #
885
+ # @param resource_group_name [String] Name of resource group
886
+ # @param name [String] Name of App Service Plan
887
+ # @param vnet_name [String] Name of virtual network
888
+ # @param route_name [String] Name of the virtual network route
889
+ # @param route [VnetRoute] The route object
890
+ # @param [Hash{String => String}] The hash of custom headers need to be
891
+ # applied to HTTP request.
892
+ #
893
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
894
+ # response.
895
+ #
896
+ def update_vnet_route(resource_group_name, name, vnet_name, route_name, route, custom_headers = nil)
897
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
898
+ fail ArgumentError, 'name is nil' if name.nil?
899
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
900
+ fail ArgumentError, 'route_name is nil' if route_name.nil?
901
+ fail ArgumentError, 'route is nil' if route.nil?
902
+ route.validate unless route.nil?
903
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
904
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
905
+ request_headers = {}
906
+
907
+ # Set Headers
908
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
909
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
910
+
911
+ # Serialize Request
912
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
913
+ unless route.nil?
914
+ route = VnetRoute.serialize_object(route)
915
+ end
916
+ request_content = JSON.generate(route, quirks_mode: true)
917
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'
918
+ options = {
919
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
920
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'routeName' => route_name,'subscriptionId' => @client.subscription_id},
921
+ query_params: {'api-version' => @client.api_version},
922
+ body: request_content,
923
+ headers: request_headers.merge(custom_headers || {})
924
+ }
925
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :patch, options)
926
+ promise = request.run_promise do |req|
927
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
928
+ end
929
+
930
+ promise = promise.then do |http_response|
931
+ status_code = http_response.status
932
+ response_content = http_response.body
933
+ unless status_code == 200 || status_code == 400 || status_code == 404
934
+ error_model = JSON.load(response_content)
935
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
936
+ end
937
+
938
+ # Create Result
939
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
940
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
941
+ # Deserialize Response
942
+ if status_code == 200
943
+ begin
944
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
945
+ unless parsed_response.nil?
946
+ parsed_response = VnetRoute.deserialize_object(parsed_response)
947
+ end
948
+ result.body = parsed_response
949
+ rescue Exception => e
950
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
951
+ end
952
+ end
953
+
954
+ result
955
+ end
956
+
957
+ promise.execute
958
+ end
959
+
960
+ #
961
+ # Gets the vnet gateway.
962
+ #
963
+ # @param resource_group_name [String] Name of resource group
964
+ # @param name [String] Name of the App Service Plan
965
+ # @param vnet_name [String] Name of the virtual network
966
+ # @param gateway_name [String] Name of the gateway. Only the 'primary' gateway
967
+ # is supported.
968
+ # @param [Hash{String => String}] The hash of custom headers need to be
969
+ # applied to HTTP request.
970
+ #
971
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
972
+ # response.
973
+ #
974
+ def get_server_farm_vnet_gateway(resource_group_name, name, vnet_name, gateway_name, custom_headers = nil)
975
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
976
+ fail ArgumentError, 'name is nil' if name.nil?
977
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
978
+ fail ArgumentError, 'gateway_name is nil' if gateway_name.nil?
979
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
980
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
981
+ request_headers = {}
982
+
983
+ # Set Headers
984
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
985
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
986
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'
987
+ options = {
988
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
989
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'gatewayName' => gateway_name,'subscriptionId' => @client.subscription_id},
990
+ query_params: {'api-version' => @client.api_version},
991
+ headers: request_headers.merge(custom_headers || {})
992
+ }
993
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
994
+ promise = request.run_promise do |req|
995
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
996
+ end
997
+
998
+ promise = promise.then do |http_response|
999
+ status_code = http_response.status
1000
+ response_content = http_response.body
1001
+ unless status_code == 200
1002
+ error_model = JSON.load(response_content)
1003
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1004
+ end
1005
+
1006
+ # Create Result
1007
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1008
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1009
+ # Deserialize Response
1010
+ if status_code == 200
1011
+ begin
1012
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1013
+ unless parsed_response.nil?
1014
+ parsed_response = VnetGateway.deserialize_object(parsed_response)
1015
+ end
1016
+ result.body = parsed_response
1017
+ rescue Exception => e
1018
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1019
+ end
1020
+ end
1021
+
1022
+ result
1023
+ end
1024
+
1025
+ promise.execute
1026
+ end
1027
+
1028
+ #
1029
+ # Updates the vnet gateway
1030
+ #
1031
+ # @param resource_group_name [String] The resource group
1032
+ # @param name [String] The name of the App Service Plan
1033
+ # @param vnet_name [String] The name of the virtual network
1034
+ # @param gateway_name [String] The name of the gateway. Only 'primary' is
1035
+ # supported.
1036
+ # @param connection_envelope [VnetGateway] The gateway entity.
1037
+ # @param [Hash{String => String}] The hash of custom headers need to be
1038
+ # applied to HTTP request.
1039
+ #
1040
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1041
+ # response.
1042
+ #
1043
+ def update_server_farm_vnet_gateway(resource_group_name, name, vnet_name, gateway_name, connection_envelope, custom_headers = nil)
1044
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1045
+ fail ArgumentError, 'name is nil' if name.nil?
1046
+ fail ArgumentError, 'vnet_name is nil' if vnet_name.nil?
1047
+ fail ArgumentError, 'gateway_name is nil' if gateway_name.nil?
1048
+ fail ArgumentError, 'connection_envelope is nil' if connection_envelope.nil?
1049
+ connection_envelope.validate unless connection_envelope.nil?
1050
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1051
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1052
+ request_headers = {}
1053
+
1054
+ # Set Headers
1055
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1056
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1057
+
1058
+ # Serialize Request
1059
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1060
+ unless connection_envelope.nil?
1061
+ connection_envelope = VnetGateway.serialize_object(connection_envelope)
1062
+ end
1063
+ request_content = JSON.generate(connection_envelope, quirks_mode: true)
1064
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'
1065
+ options = {
1066
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1067
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'vnetName' => vnet_name,'gatewayName' => gateway_name,'subscriptionId' => @client.subscription_id},
1068
+ query_params: {'api-version' => @client.api_version},
1069
+ body: request_content,
1070
+ headers: request_headers.merge(custom_headers || {})
1071
+ }
1072
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :put, options)
1073
+ promise = request.run_promise do |req|
1074
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1075
+ end
1076
+
1077
+ promise = promise.then do |http_response|
1078
+ status_code = http_response.status
1079
+ response_content = http_response.body
1080
+ unless status_code == 200
1081
+ error_model = JSON.load(response_content)
1082
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1083
+ end
1084
+
1085
+ # Create Result
1086
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1087
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1088
+ # Deserialize Response
1089
+ if status_code == 200
1090
+ begin
1091
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1092
+ unless parsed_response.nil?
1093
+ parsed_response = VnetGateway.deserialize_object(parsed_response)
1094
+ end
1095
+ result.body = parsed_response
1096
+ rescue Exception => e
1097
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1098
+ end
1099
+ end
1100
+
1101
+ result
1102
+ end
1103
+
1104
+ promise.execute
1105
+ end
1106
+
1107
+ #
1108
+ # Gets list of Apps associated with an App Service Plan
1109
+ #
1110
+ # @param resource_group_name [String] Name of resource group
1111
+ # @param name [String] Name of App Service Plan
1112
+ # @param skip_token [String] Skip to of web apps in a list. If specified, the
1113
+ # resulting list will contain web apps starting from (including) the
1114
+ # skipToken. Else, the resulting list contains web apps from the start of the
1115
+ # list
1116
+ # @param filter [String] Supported filter: $filter=state eq running. Returns
1117
+ # only web apps that are currently running
1118
+ # @param top [String] List page size. If specified, results are paged.
1119
+ # @param [Hash{String => String}] The hash of custom headers need to be
1120
+ # applied to HTTP request.
1121
+ #
1122
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1123
+ # response.
1124
+ #
1125
+ def get_server_farm_sites(resource_group_name, name, skip_token = nil, filter = nil, top = nil, custom_headers = nil)
1126
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1127
+ fail ArgumentError, 'name is nil' if name.nil?
1128
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1129
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1130
+ request_headers = {}
1131
+
1132
+ # Set Headers
1133
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1134
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1135
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites'
1136
+ options = {
1137
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1138
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
1139
+ query_params: {'$skipToken' => skip_token,'$filter' => filter,'$top' => top,'api-version' => @client.api_version},
1140
+ headers: request_headers.merge(custom_headers || {})
1141
+ }
1142
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
1143
+ promise = request.run_promise do |req|
1144
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1145
+ end
1146
+
1147
+ promise = promise.then do |http_response|
1148
+ status_code = http_response.status
1149
+ response_content = http_response.body
1150
+ unless status_code == 200
1151
+ error_model = JSON.load(response_content)
1152
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1153
+ end
1154
+
1155
+ # Create Result
1156
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1157
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1158
+ # Deserialize Response
1159
+ if status_code == 200
1160
+ begin
1161
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1162
+ unless parsed_response.nil?
1163
+ parsed_response = SiteCollection.deserialize_object(parsed_response)
1164
+ end
1165
+ result.body = parsed_response
1166
+ rescue Exception => e
1167
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1168
+ end
1169
+ end
1170
+
1171
+ result
1172
+ end
1173
+
1174
+ promise.execute
1175
+ end
1176
+
1177
+ #
1178
+ # Submit a reboot request for a worker machine in the specified server farm
1179
+ #
1180
+ # @param resource_group_name [String] Name of resource group
1181
+ # @param name [String] Name of server farm
1182
+ # @param worker_name [String] Name of worker machine, typically IP address
1183
+ # @param [Hash{String => String}] The hash of custom headers need to be
1184
+ # applied to HTTP request.
1185
+ #
1186
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1187
+ # response.
1188
+ #
1189
+ def reboot_worker_for_server_farm(resource_group_name, name, worker_name, custom_headers = nil)
1190
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1191
+ fail ArgumentError, 'name is nil' if name.nil?
1192
+ fail ArgumentError, 'worker_name is nil' if worker_name.nil?
1193
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1194
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1195
+ request_headers = {}
1196
+
1197
+ # Set Headers
1198
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1199
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1200
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}'
1201
+ options = {
1202
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1203
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'workerName' => worker_name,'subscriptionId' => @client.subscription_id},
1204
+ query_params: {'api-version' => @client.api_version},
1205
+ headers: request_headers.merge(custom_headers || {})
1206
+ }
1207
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :post, options)
1208
+ promise = request.run_promise do |req|
1209
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1210
+ end
1211
+
1212
+ promise = promise.then do |http_response|
1213
+ status_code = http_response.status
1214
+ response_content = http_response.body
1215
+ unless status_code == 200
1216
+ error_model = JSON.load(response_content)
1217
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1218
+ end
1219
+
1220
+ # Create Result
1221
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1222
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1223
+
1224
+ result
1225
+ end
1226
+
1227
+ promise.execute
1228
+ end
1229
+
1230
+ #
1231
+ # Restarts web apps in a specified App Service Plan
1232
+ #
1233
+ # @param resource_group_name [String] Name of resource group
1234
+ # @param name [String] Name of App Service Plan
1235
+ # @param soft_restart [Boolean] Soft restart applies the configuration
1236
+ # settings and restarts the apps if necessary. Hard restart always restarts
1237
+ # and reprovisions the apps
1238
+ # @param [Hash{String => String}] The hash of custom headers need to be
1239
+ # applied to HTTP request.
1240
+ #
1241
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1242
+ # response.
1243
+ #
1244
+ def restart_sites_for_server_farm(resource_group_name, name, soft_restart = nil, custom_headers = nil)
1245
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1246
+ fail ArgumentError, 'name is nil' if name.nil?
1247
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1248
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1249
+ request_headers = {}
1250
+
1251
+ # Set Headers
1252
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1253
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1254
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites'
1255
+ options = {
1256
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1257
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'subscriptionId' => @client.subscription_id},
1258
+ query_params: {'softRestart' => soft_restart,'api-version' => @client.api_version},
1259
+ headers: request_headers.merge(custom_headers || {})
1260
+ }
1261
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :post, options)
1262
+ promise = request.run_promise do |req|
1263
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1264
+ end
1265
+
1266
+ promise = promise.then do |http_response|
1267
+ status_code = http_response.status
1268
+ response_content = http_response.body
1269
+ unless status_code == 200
1270
+ error_model = JSON.load(response_content)
1271
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1272
+ end
1273
+
1274
+ # Create Result
1275
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1276
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1277
+
1278
+ result
1279
+ end
1280
+
1281
+ promise.execute
1282
+ end
1283
+
1284
+ #
1285
+ # Gets a server farm operation
1286
+ #
1287
+ # @param resource_group_name [String] Name of resource group
1288
+ # @param name [String] Name of server farm
1289
+ # @param operation_id [String] Id of Server farm operation"&gt;
1290
+ # @param [Hash{String => String}] The hash of custom headers need to be
1291
+ # applied to HTTP request.
1292
+ #
1293
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1294
+ # response.
1295
+ #
1296
+ def get_server_farm_operation(resource_group_name, name, operation_id, custom_headers = nil)
1297
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1298
+ fail ArgumentError, 'name is nil' if name.nil?
1299
+ fail ArgumentError, 'operation_id is nil' if operation_id.nil?
1300
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1301
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1302
+ request_headers = {}
1303
+
1304
+ # Set Headers
1305
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1306
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1307
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}'
1308
+ options = {
1309
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1310
+ path_params: {'resourceGroupName' => resource_group_name,'name' => name,'operationId' => operation_id,'subscriptionId' => @client.subscription_id},
1311
+ query_params: {'api-version' => @client.api_version},
1312
+ headers: request_headers.merge(custom_headers || {})
1313
+ }
1314
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
1315
+ promise = request.run_promise do |req|
1316
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1317
+ end
1318
+
1319
+ promise = promise.then do |http_response|
1320
+ status_code = http_response.status
1321
+ response_content = http_response.body
1322
+ unless status_code == 200
1323
+ error_model = JSON.load(response_content)
1324
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1325
+ end
1326
+
1327
+ # Create Result
1328
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1329
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1330
+ # Deserialize Response
1331
+ if status_code == 200
1332
+ begin
1333
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1334
+ unless parsed_response.nil?
1335
+ parsed_response = ServerFarmWithRichSku.deserialize_object(parsed_response)
1336
+ end
1337
+ result.body = parsed_response
1338
+ rescue Exception => e
1339
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1340
+ end
1341
+ end
1342
+
1343
+ result
1344
+ end
1345
+
1346
+ promise.execute
1347
+ end
1348
+
1349
+ #
1350
+ # Gets list of Apps associated with an App Service Plan
1351
+ #
1352
+ # @param next_page_link [String] The NextLink from the previous successful
1353
+ # call to List operation.
1354
+ # @param [Hash{String => String}] The hash of custom headers need to be
1355
+ # applied to HTTP request.
1356
+ #
1357
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
1358
+ # response.
1359
+ #
1360
+ def get_server_farm_sites_next(next_page_link, custom_headers = nil)
1361
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1362
+ request_headers = {}
1363
+
1364
+ # Set Headers
1365
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1366
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1367
+ path_template = '{nextLink}'
1368
+ options = {
1369
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1370
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1371
+ headers: request_headers.merge(custom_headers || {})
1372
+ }
1373
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
1374
+ promise = request.run_promise do |req|
1375
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
1376
+ end
1377
+
1378
+ promise = promise.then do |http_response|
1379
+ status_code = http_response.status
1380
+ response_content = http_response.body
1381
+ unless status_code == 200
1382
+ error_model = JSON.load(response_content)
1383
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
1384
+ end
1385
+
1386
+ # Create Result
1387
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
1388
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1389
+ # Deserialize Response
1390
+ if status_code == 200
1391
+ begin
1392
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1393
+ unless parsed_response.nil?
1394
+ parsed_response = SiteCollection.deserialize_object(parsed_response)
1395
+ end
1396
+ result.body = parsed_response
1397
+ rescue Exception => e
1398
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1399
+ end
1400
+ end
1401
+
1402
+ result
1403
+ end
1404
+
1405
+ promise.execute
1406
+ end
1407
+
1408
+ end
1409
+ end