azure_mgmt_web 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,793 @@
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 Global
18
+ include Azure::ARM::Web::Models
19
+ include MsRestAzure
20
+
21
+ #
22
+ # Creates and initializes a new instance of the Global 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 publishing credentials for the subscription owner
34
+ #
35
+ # @param [Hash{String => String}] The hash of custom headers need to be
36
+ # applied to HTTP request.
37
+ #
38
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
39
+ # response.
40
+ #
41
+ def get_subscription_publishing_credentials(custom_headers = nil)
42
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
43
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
44
+ request_headers = {}
45
+
46
+ # Set Headers
47
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
48
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
49
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials'
50
+ options = {
51
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
52
+ path_params: {'subscriptionId' => @client.subscription_id},
53
+ query_params: {'api-version' => @client.api_version},
54
+ headers: request_headers.merge(custom_headers || {})
55
+ }
56
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
57
+ promise = request.run_promise do |req|
58
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
59
+ end
60
+
61
+ promise = promise.then do |http_response|
62
+ status_code = http_response.status
63
+ response_content = http_response.body
64
+ unless status_code == 200
65
+ error_model = JSON.load(response_content)
66
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
67
+ end
68
+
69
+ # Create Result
70
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
71
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
72
+ # Deserialize Response
73
+ if status_code == 200
74
+ begin
75
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
76
+ unless parsed_response.nil?
77
+ parsed_response = User.deserialize_object(parsed_response)
78
+ end
79
+ result.body = parsed_response
80
+ rescue Exception => e
81
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
82
+ end
83
+ end
84
+
85
+ result
86
+ end
87
+
88
+ promise.execute
89
+ end
90
+
91
+ #
92
+ # Updates publishing credentials for the subscription owner
93
+ #
94
+ # @param request_message [User] requestMessage with new publishing credentials
95
+ # @param [Hash{String => String}] The hash of custom headers need to be
96
+ # applied to HTTP request.
97
+ #
98
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
99
+ # response.
100
+ #
101
+ def update_subscription_publishing_credentials(request_message, custom_headers = nil)
102
+ fail ArgumentError, 'request_message is nil' if request_message.nil?
103
+ request_message.validate unless request_message.nil?
104
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
105
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
106
+ request_headers = {}
107
+
108
+ # Set Headers
109
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
110
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
111
+
112
+ # Serialize Request
113
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
114
+ unless request_message.nil?
115
+ request_message = User.serialize_object(request_message)
116
+ end
117
+ request_content = JSON.generate(request_message, quirks_mode: true)
118
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials'
119
+ options = {
120
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
121
+ path_params: {'subscriptionId' => @client.subscription_id},
122
+ query_params: {'api-version' => @client.api_version},
123
+ body: request_content,
124
+ headers: request_headers.merge(custom_headers || {})
125
+ }
126
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :put, options)
127
+ promise = request.run_promise do |req|
128
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
129
+ end
130
+
131
+ promise = promise.then do |http_response|
132
+ status_code = http_response.status
133
+ response_content = http_response.body
134
+ unless status_code == 200
135
+ error_model = JSON.load(response_content)
136
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
137
+ end
138
+
139
+ # Create Result
140
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
141
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
142
+ # Deserialize Response
143
+ if status_code == 200
144
+ begin
145
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
146
+ unless parsed_response.nil?
147
+ parsed_response = User.deserialize_object(parsed_response)
148
+ end
149
+ result.body = parsed_response
150
+ rescue Exception => e
151
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
152
+ end
153
+ end
154
+
155
+ result
156
+ end
157
+
158
+ promise.execute
159
+ end
160
+
161
+ #
162
+ # Gets list of available geo regions
163
+ #
164
+ # @param [Hash{String => String}] The hash of custom headers need to be
165
+ # applied to HTTP request.
166
+ #
167
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
168
+ # response.
169
+ #
170
+ def get_subscription_geo_regions(custom_headers = nil)
171
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
172
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
173
+ request_headers = {}
174
+
175
+ # Set Headers
176
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
177
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
178
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions'
179
+ options = {
180
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
181
+ path_params: {'subscriptionId' => @client.subscription_id},
182
+ query_params: {'api-version' => @client.api_version},
183
+ headers: request_headers.merge(custom_headers || {})
184
+ }
185
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
186
+ promise = request.run_promise do |req|
187
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
188
+ end
189
+
190
+ promise = promise.then do |http_response|
191
+ status_code = http_response.status
192
+ response_content = http_response.body
193
+ unless status_code == 200
194
+ error_model = JSON.load(response_content)
195
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
196
+ end
197
+
198
+ # Create Result
199
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
200
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
201
+ # Deserialize Response
202
+ if status_code == 200
203
+ begin
204
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
205
+ unless parsed_response.nil?
206
+ parsed_response = GeoRegionCollection.deserialize_object(parsed_response)
207
+ end
208
+ result.body = parsed_response
209
+ rescue Exception => e
210
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
211
+ end
212
+ end
213
+
214
+ result
215
+ end
216
+
217
+ promise.execute
218
+ end
219
+
220
+ #
221
+ # Get all certificates for a subscription
222
+ #
223
+ # @param [Hash{String => String}] The hash of custom headers need to be
224
+ # applied to HTTP request.
225
+ #
226
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
227
+ # response.
228
+ #
229
+ def get_all_certificates(custom_headers = nil)
230
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
231
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
232
+ request_headers = {}
233
+
234
+ # Set Headers
235
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
236
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
237
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates'
238
+ options = {
239
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
240
+ path_params: {'subscriptionId' => @client.subscription_id},
241
+ query_params: {'api-version' => @client.api_version},
242
+ headers: request_headers.merge(custom_headers || {})
243
+ }
244
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
245
+ promise = request.run_promise do |req|
246
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
247
+ end
248
+
249
+ promise = promise.then do |http_response|
250
+ status_code = http_response.status
251
+ response_content = http_response.body
252
+ unless status_code == 200
253
+ error_model = JSON.load(response_content)
254
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
255
+ end
256
+
257
+ # Create Result
258
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
259
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
260
+ # Deserialize Response
261
+ if status_code == 200
262
+ begin
263
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
264
+ unless parsed_response.nil?
265
+ parsed_response = CertificateCollection.deserialize_object(parsed_response)
266
+ end
267
+ result.body = parsed_response
268
+ rescue Exception => e
269
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
270
+ end
271
+ end
272
+
273
+ result
274
+ end
275
+
276
+ promise.execute
277
+ end
278
+
279
+ #
280
+ # Gets all App Service Plans for a subcription
281
+ #
282
+ # @param detailed [Boolean] False to return a subset of App Service Plan
283
+ # properties, true to return all of the properties.
284
+ # Retrieval of all properties may increase the API latency.
285
+ # @param [Hash{String => String}] The hash of custom headers need to be
286
+ # applied to HTTP request.
287
+ #
288
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
289
+ # response.
290
+ #
291
+ def get_all_server_farms(detailed = nil, custom_headers = nil)
292
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
293
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
294
+ request_headers = {}
295
+
296
+ # Set Headers
297
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
298
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
299
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms'
300
+ options = {
301
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
302
+ path_params: {'subscriptionId' => @client.subscription_id},
303
+ query_params: {'detailed' => detailed,'api-version' => @client.api_version},
304
+ headers: request_headers.merge(custom_headers || {})
305
+ }
306
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
307
+ promise = request.run_promise do |req|
308
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
309
+ end
310
+
311
+ promise = promise.then do |http_response|
312
+ status_code = http_response.status
313
+ response_content = http_response.body
314
+ unless status_code == 200
315
+ error_model = JSON.load(response_content)
316
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
317
+ end
318
+
319
+ # Create Result
320
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
321
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
322
+ # Deserialize Response
323
+ if status_code == 200
324
+ begin
325
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
326
+ unless parsed_response.nil?
327
+ parsed_response = ServerFarmCollection.deserialize_object(parsed_response)
328
+ end
329
+ result.body = parsed_response
330
+ rescue Exception => e
331
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
332
+ end
333
+ end
334
+
335
+ result
336
+ end
337
+
338
+ promise.execute
339
+ end
340
+
341
+ #
342
+ # Gets all Web Apps for a subscription
343
+ #
344
+ # @param [Hash{String => String}] The hash of custom headers need to be
345
+ # applied to HTTP request.
346
+ #
347
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
348
+ # response.
349
+ #
350
+ def get_all_sites(custom_headers = nil)
351
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
352
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
353
+ request_headers = {}
354
+
355
+ # Set Headers
356
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
357
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
358
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites'
359
+ options = {
360
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
361
+ path_params: {'subscriptionId' => @client.subscription_id},
362
+ query_params: {'api-version' => @client.api_version},
363
+ headers: request_headers.merge(custom_headers || {})
364
+ }
365
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
366
+ promise = request.run_promise do |req|
367
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
368
+ end
369
+
370
+ promise = promise.then do |http_response|
371
+ status_code = http_response.status
372
+ response_content = http_response.body
373
+ unless status_code == 200
374
+ error_model = JSON.load(response_content)
375
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
376
+ end
377
+
378
+ # Create Result
379
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
380
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
381
+ # Deserialize Response
382
+ if status_code == 200
383
+ begin
384
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
385
+ unless parsed_response.nil?
386
+ parsed_response = SiteCollection.deserialize_object(parsed_response)
387
+ end
388
+ result.body = parsed_response
389
+ rescue Exception => e
390
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
391
+ end
392
+ end
393
+
394
+ result
395
+ end
396
+
397
+ promise.execute
398
+ end
399
+
400
+ #
401
+ # Gets all hostingEnvironments (App Service Environment) for a subscription
402
+ #
403
+ # @param [Hash{String => String}] The hash of custom headers need to be
404
+ # applied to HTTP request.
405
+ #
406
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
407
+ # response.
408
+ #
409
+ def get_all_hosting_environments(custom_headers = nil)
410
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
411
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
412
+ request_headers = {}
413
+
414
+ # Set Headers
415
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
416
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
417
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments'
418
+ options = {
419
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
420
+ path_params: {'subscriptionId' => @client.subscription_id},
421
+ query_params: {'api-version' => @client.api_version},
422
+ headers: request_headers.merge(custom_headers || {})
423
+ }
424
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
425
+ promise = request.run_promise do |req|
426
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
427
+ end
428
+
429
+ promise = promise.then do |http_response|
430
+ status_code = http_response.status
431
+ response_content = http_response.body
432
+ unless status_code == 200
433
+ error_model = JSON.load(response_content)
434
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
435
+ end
436
+
437
+ # Create Result
438
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
439
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
440
+ # Deserialize Response
441
+ if status_code == 200
442
+ begin
443
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
444
+ unless parsed_response.nil?
445
+ parsed_response = HostingEnvironmentCollection.deserialize_object(parsed_response)
446
+ end
447
+ result.body = parsed_response
448
+ rescue Exception => e
449
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
450
+ end
451
+ end
452
+
453
+ result
454
+ end
455
+
456
+ promise.execute
457
+ end
458
+
459
+ #
460
+ # Gets all managed hosting environments for a subscription
461
+ #
462
+ # @param [Hash{String => String}] The hash of custom headers need to be
463
+ # applied to HTTP request.
464
+ #
465
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
466
+ # response.
467
+ #
468
+ def get_all_managed_hosting_environments(custom_headers = nil)
469
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
470
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
471
+ request_headers = {}
472
+
473
+ # Set Headers
474
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
475
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
476
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments'
477
+ options = {
478
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
479
+ path_params: {'subscriptionId' => @client.subscription_id},
480
+ query_params: {'api-version' => @client.api_version},
481
+ headers: request_headers.merge(custom_headers || {})
482
+ }
483
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
484
+ promise = request.run_promise do |req|
485
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
486
+ end
487
+
488
+ promise = promise.then do |http_response|
489
+ status_code = http_response.status
490
+ response_content = http_response.body
491
+ unless status_code == 200
492
+ error_model = JSON.load(response_content)
493
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
494
+ end
495
+
496
+ # Create Result
497
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
498
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
499
+ # Deserialize Response
500
+ if status_code == 200
501
+ begin
502
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
503
+ unless parsed_response.nil?
504
+ parsed_response = ManagedHostingEnvironmentCollection.deserialize_object(parsed_response)
505
+ end
506
+ result.body = parsed_response
507
+ rescue Exception => e
508
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
509
+ end
510
+ end
511
+
512
+ result
513
+ end
514
+
515
+ promise.execute
516
+ end
517
+
518
+ #
519
+ # Gets all mobile services for a subscription
520
+ #
521
+ # @param [Hash{String => String}] The hash of custom headers need to be
522
+ # applied to HTTP request.
523
+ #
524
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
525
+ # response.
526
+ #
527
+ def get_all_classic_mobile_services(custom_headers = nil)
528
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
529
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
530
+ request_headers = {}
531
+
532
+ # Set Headers
533
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
534
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
535
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices'
536
+ options = {
537
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
538
+ path_params: {'subscriptionId' => @client.subscription_id},
539
+ query_params: {'api-version' => @client.api_version},
540
+ headers: request_headers.merge(custom_headers || {})
541
+ }
542
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
543
+ promise = request.run_promise do |req|
544
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
545
+ end
546
+
547
+ promise = promise.then do |http_response|
548
+ status_code = http_response.status
549
+ response_content = http_response.body
550
+ unless status_code == 200
551
+ error_model = JSON.load(response_content)
552
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
553
+ end
554
+
555
+ # Create Result
556
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
557
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
558
+ # Deserialize Response
559
+ if status_code == 200
560
+ begin
561
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
562
+ unless parsed_response.nil?
563
+ parsed_response = ClassicMobileServiceCollection.deserialize_object(parsed_response)
564
+ end
565
+ result.body = parsed_response
566
+ rescue Exception => e
567
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
568
+ end
569
+ end
570
+
571
+ result
572
+ end
573
+
574
+ promise.execute
575
+ end
576
+
577
+ #
578
+ # List premier add on offers
579
+ #
580
+ # @param [Hash{String => String}] The hash of custom headers need to be
581
+ # applied to HTTP request.
582
+ #
583
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
584
+ # response.
585
+ #
586
+ def list_premier_add_on_offers(custom_headers = nil)
587
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
588
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
589
+ request_headers = {}
590
+
591
+ # Set Headers
592
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
593
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
594
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers'
595
+ options = {
596
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
597
+ path_params: {'subscriptionId' => @client.subscription_id},
598
+ query_params: {'api-version' => @client.api_version},
599
+ headers: request_headers.merge(custom_headers || {})
600
+ }
601
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
602
+ promise = request.run_promise do |req|
603
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
604
+ end
605
+
606
+ promise = promise.then do |http_response|
607
+ status_code = http_response.status
608
+ response_content = http_response.body
609
+ unless status_code == 200
610
+ error_model = JSON.load(response_content)
611
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
612
+ end
613
+
614
+ # Create Result
615
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
616
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
617
+
618
+ result
619
+ end
620
+
621
+ promise.execute
622
+ end
623
+
624
+ #
625
+ # Whether hosting environment name is available
626
+ #
627
+ # @param name [String] Hosting environment name
628
+ # @param [Hash{String => String}] The hash of custom headers need to be
629
+ # applied to HTTP request.
630
+ #
631
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
632
+ # response.
633
+ #
634
+ def is_hosting_environment_with_legacy_name_available(name, custom_headers = nil)
635
+ fail ArgumentError, 'name is nil' if name.nil?
636
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
637
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
638
+ request_headers = {}
639
+
640
+ # Set Headers
641
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
642
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
643
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}'
644
+ options = {
645
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
646
+ path_params: {'name' => name,'subscriptionId' => @client.subscription_id},
647
+ query_params: {'api-version' => @client.api_version},
648
+ headers: request_headers.merge(custom_headers || {})
649
+ }
650
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
651
+ promise = request.run_promise do |req|
652
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
653
+ end
654
+
655
+ promise = promise.then do |http_response|
656
+ status_code = http_response.status
657
+ response_content = http_response.body
658
+ unless status_code == 200
659
+ error_model = JSON.load(response_content)
660
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
661
+ end
662
+
663
+ # Create Result
664
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
665
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
666
+
667
+ result
668
+ end
669
+
670
+ promise.execute
671
+ end
672
+
673
+ #
674
+ # Whether hosting environment name is available
675
+ #
676
+ # @param name [String] Hosting environment name
677
+ # @param [Hash{String => String}] The hash of custom headers need to be
678
+ # applied to HTTP request.
679
+ #
680
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
681
+ # response.
682
+ #
683
+ def is_hosting_environment_name_available(name, custom_headers = nil)
684
+ fail ArgumentError, 'name is nil' if name.nil?
685
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
686
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
687
+ request_headers = {}
688
+
689
+ # Set Headers
690
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
691
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
692
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable'
693
+ options = {
694
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
695
+ path_params: {'subscriptionId' => @client.subscription_id},
696
+ query_params: {'name' => name,'api-version' => @client.api_version},
697
+ headers: request_headers.merge(custom_headers || {})
698
+ }
699
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
700
+ promise = request.run_promise do |req|
701
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
702
+ end
703
+
704
+ promise = promise.then do |http_response|
705
+ status_code = http_response.status
706
+ response_content = http_response.body
707
+ unless status_code == 200
708
+ error_model = JSON.load(response_content)
709
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
710
+ end
711
+
712
+ # Create Result
713
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
714
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
715
+
716
+ result
717
+ end
718
+
719
+ promise.execute
720
+ end
721
+
722
+ #
723
+ # Check if resource name is available
724
+ #
725
+ # @param request [ResourceNameAvailabilityRequest] Name availability request
726
+ # @param [Hash{String => String}] The hash of custom headers need to be
727
+ # applied to HTTP request.
728
+ #
729
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
730
+ # response.
731
+ #
732
+ def check_name_availability(request, custom_headers = nil)
733
+ fail ArgumentError, 'request is nil' if request.nil?
734
+ request.validate unless request.nil?
735
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
736
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
737
+ request_headers = {}
738
+
739
+ # Set Headers
740
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
741
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
742
+
743
+ # Serialize Request
744
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
745
+ unless request.nil?
746
+ request = ResourceNameAvailabilityRequest.serialize_object(request)
747
+ end
748
+ request_content = JSON.generate(request, quirks_mode: true)
749
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability'
750
+ options = {
751
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
752
+ path_params: {'subscriptionId' => @client.subscription_id},
753
+ query_params: {'api-version' => @client.api_version},
754
+ body: request_content,
755
+ headers: request_headers.merge(custom_headers || {})
756
+ }
757
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :post, options)
758
+ promise = request.run_promise do |req|
759
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
760
+ end
761
+
762
+ promise = promise.then do |http_response|
763
+ status_code = http_response.status
764
+ response_content = http_response.body
765
+ unless status_code == 200
766
+ error_model = JSON.load(response_content)
767
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
768
+ end
769
+
770
+ # Create Result
771
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
772
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
773
+ # Deserialize Response
774
+ if status_code == 200
775
+ begin
776
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
777
+ unless parsed_response.nil?
778
+ parsed_response = ResourceNameAvailability.deserialize_object(parsed_response)
779
+ end
780
+ result.body = parsed_response
781
+ rescue Exception => e
782
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
783
+ end
784
+ end
785
+
786
+ result
787
+ end
788
+
789
+ promise.execute
790
+ end
791
+
792
+ end
793
+ end