azure_mgmt_compute 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/azure_mgmt_compute.gemspec +3 -11
  3. data/lib/azure_mgmt_compute/availability_sets.rb +226 -241
  4. data/lib/azure_mgmt_compute/compute_management_client.rb +26 -11
  5. data/lib/azure_mgmt_compute/models/additional_unattend_content.rb +8 -11
  6. data/lib/azure_mgmt_compute/models/api_entity_reference.rb +58 -0
  7. data/lib/azure_mgmt_compute/models/api_error.rb +4 -6
  8. data/lib/azure_mgmt_compute/models/api_error_base.rb +1 -3
  9. data/lib/azure_mgmt_compute/models/availability_set.rb +1 -3
  10. data/lib/azure_mgmt_compute/models/availability_set_list_result.rb +4 -6
  11. data/lib/azure_mgmt_compute/models/availability_set_properties.rb +9 -11
  12. data/lib/azure_mgmt_compute/models/boot_diagnostics.rb +67 -0
  13. data/lib/azure_mgmt_compute/models/boot_diagnostics_instance_view.rb +65 -0
  14. data/lib/azure_mgmt_compute/models/caching_types.rb +1 -1
  15. data/lib/azure_mgmt_compute/models/component_names.rb +1 -1
  16. data/lib/azure_mgmt_compute/models/compute_long_running_operation_properties.rb +1 -3
  17. data/lib/azure_mgmt_compute/models/compute_long_running_operation_result.rb +3 -6
  18. data/lib/azure_mgmt_compute/models/compute_operation_status.rb +1 -1
  19. data/lib/azure_mgmt_compute/models/data_disk.rb +27 -26
  20. data/lib/azure_mgmt_compute/models/data_disk_image.rb +1 -3
  21. data/lib/azure_mgmt_compute/models/delete_operation_result.rb +6 -5
  22. data/lib/azure_mgmt_compute/models/diagnostics_profile.rb +62 -0
  23. data/lib/azure_mgmt_compute/models/disk_create_option_types.rb +1 -1
  24. data/lib/azure_mgmt_compute/models/disk_encryption_settings.rb +81 -0
  25. data/lib/azure_mgmt_compute/models/disk_instance_view.rb +4 -6
  26. data/lib/azure_mgmt_compute/models/hardware_profile.rb +15 -9
  27. data/lib/azure_mgmt_compute/models/image_reference.rb +1 -3
  28. data/lib/azure_mgmt_compute/models/inner_error.rb +1 -3
  29. data/lib/azure_mgmt_compute/models/instance_view_status.rb +3 -5
  30. data/lib/azure_mgmt_compute/models/key_vault_key_reference.rb +74 -0
  31. data/lib/azure_mgmt_compute/models/key_vault_secret_reference.rb +75 -0
  32. data/lib/azure_mgmt_compute/models/linux_configuration.rb +1 -3
  33. data/lib/azure_mgmt_compute/models/list_usages_result.rb +4 -6
  34. data/lib/azure_mgmt_compute/models/network_interface_reference.rb +1 -3
  35. data/lib/azure_mgmt_compute/models/network_interface_reference_properties.rb +1 -3
  36. data/lib/azure_mgmt_compute/models/network_profile.rb +4 -6
  37. data/lib/azure_mgmt_compute/models/operating_system_types.rb +1 -1
  38. data/lib/azure_mgmt_compute/models/operation_status.rb +1 -1
  39. data/lib/azure_mgmt_compute/models/osdisk.rb +54 -26
  40. data/lib/azure_mgmt_compute/models/osdisk_image.rb +4 -6
  41. data/lib/azure_mgmt_compute/models/osprofile.rb +4 -6
  42. data/lib/azure_mgmt_compute/models/pass_names.rb +1 -1
  43. data/lib/azure_mgmt_compute/models/plan.rb +1 -3
  44. data/lib/azure_mgmt_compute/models/protocol_types.rb +1 -1
  45. data/lib/azure_mgmt_compute/models/purchase_plan.rb +4 -4
  46. data/lib/azure_mgmt_compute/models/setting_names.rb +1 -1
  47. data/lib/azure_mgmt_compute/models/sku.rb +75 -0
  48. data/lib/azure_mgmt_compute/models/ssh_configuration.rb +4 -6
  49. data/lib/azure_mgmt_compute/models/ssh_public_key.rb +1 -3
  50. data/lib/azure_mgmt_compute/models/status_level_types.rb +1 -1
  51. data/lib/azure_mgmt_compute/models/storage_profile.rb +4 -6
  52. data/lib/azure_mgmt_compute/models/{usage_unit.rb → upgrade_mode.rb} +5 -4
  53. data/lib/azure_mgmt_compute/models/upgrade_policy.rb +60 -0
  54. data/lib/azure_mgmt_compute/models/usage.rb +7 -9
  55. data/lib/azure_mgmt_compute/models/usage_name.rb +1 -3
  56. data/lib/azure_mgmt_compute/models/vault_certificate.rb +1 -3
  57. data/lib/azure_mgmt_compute/models/vault_secret_group.rb +6 -8
  58. data/lib/azure_mgmt_compute/models/virtual_hard_disk.rb +1 -3
  59. data/lib/azure_mgmt_compute/models/virtual_machine.rb +4 -6
  60. data/lib/azure_mgmt_compute/models/virtual_machine_agent_instance_view.rb +7 -9
  61. data/lib/azure_mgmt_compute/models/virtual_machine_capture_parameters.rb +4 -4
  62. data/lib/azure_mgmt_compute/models/virtual_machine_capture_result.rb +68 -0
  63. data/lib/azure_mgmt_compute/models/virtual_machine_capture_result_properties.rb +56 -0
  64. data/lib/azure_mgmt_compute/models/virtual_machine_extension.rb +1 -3
  65. data/lib/azure_mgmt_compute/models/virtual_machine_extension_handler_instance_view.rb +1 -3
  66. data/lib/azure_mgmt_compute/models/virtual_machine_extension_image.rb +15 -15
  67. data/lib/azure_mgmt_compute/models/virtual_machine_extension_image_properties.rb +4 -4
  68. data/lib/azure_mgmt_compute/models/virtual_machine_extension_instance_view.rb +7 -9
  69. data/lib/azure_mgmt_compute/models/virtual_machine_extension_properties.rb +11 -3
  70. data/lib/azure_mgmt_compute/models/virtual_machine_image.rb +15 -15
  71. data/lib/azure_mgmt_compute/models/virtual_machine_image_properties.rb +4 -6
  72. data/lib/azure_mgmt_compute/models/virtual_machine_image_resource.rb +9 -9
  73. data/lib/azure_mgmt_compute/models/virtual_machine_instance_view.rb +28 -14
  74. data/lib/azure_mgmt_compute/models/virtual_machine_list_result.rb +4 -6
  75. data/lib/azure_mgmt_compute/models/virtual_machine_properties.rb +29 -5
  76. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set.rb +108 -0
  77. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_extension.rb +77 -0
  78. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_extension_profile.rb +77 -0
  79. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_extension_properties.rb +116 -0
  80. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_instance_view.rb +125 -0
  81. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_instance_view_statuses_summary.rb +79 -0
  82. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_ipconfiguration.rb +78 -0
  83. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_ipconfiguration_properties.rb +127 -0
  84. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_list_result.rb +77 -0
  85. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_list_skus_result.rb +77 -0
  86. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_list_with_link_result.rb +88 -0
  87. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_network_configuration.rb +80 -0
  88. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_network_configuration_properties.rb +89 -0
  89. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_network_profile.rb +77 -0
  90. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_osdisk.rb +129 -0
  91. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_osprofile.rb +147 -0
  92. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_properties.rb +89 -0
  93. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_sku.rb +88 -0
  94. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_sku_capacity.rb +90 -0
  95. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_sku_scale_type.rb +16 -0
  96. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_storage_profile.rb +78 -0
  97. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vm.rb +165 -0
  98. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vmextensions_summary.rb +87 -0
  99. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_ids.rb +57 -0
  100. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_required_ids.rb +59 -0
  101. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_view.rb +202 -0
  102. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vmlist_result.rb +77 -0
  103. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vmprofile.rb +114 -0
  104. data/lib/azure_mgmt_compute/models/virtual_machine_scale_set_vmproperties.rb +190 -0
  105. data/lib/azure_mgmt_compute/models/virtual_machine_size.rb +1 -3
  106. data/lib/azure_mgmt_compute/models/virtual_machine_size_list_result.rb +4 -6
  107. data/lib/azure_mgmt_compute/models/virtual_machine_size_types.rb +53 -45
  108. data/lib/azure_mgmt_compute/models/virtual_machine_status_code_count.rb +68 -0
  109. data/lib/azure_mgmt_compute/models/win_rmconfiguration.rb +4 -6
  110. data/lib/azure_mgmt_compute/models/win_rmlistener.rb +3 -5
  111. data/lib/azure_mgmt_compute/models/windows_configuration.rb +4 -6
  112. data/lib/azure_mgmt_compute/module_definition.rb +5 -3
  113. data/lib/azure_mgmt_compute/usage_operations.rb +75 -42
  114. data/lib/azure_mgmt_compute/version.rb +5 -3
  115. data/lib/azure_mgmt_compute/virtual_machine_extension_images.rb +71 -158
  116. data/lib/azure_mgmt_compute/virtual_machine_extensions.rb +66 -149
  117. data/lib/azure_mgmt_compute/virtual_machine_images.rb +121 -264
  118. data/lib/azure_mgmt_compute/virtual_machine_scale_set_vms.rb +750 -0
  119. data/lib/azure_mgmt_compute/virtual_machine_scale_sets.rb +1327 -0
  120. data/lib/azure_mgmt_compute/virtual_machine_sizes.rb +75 -42
  121. data/lib/azure_mgmt_compute/virtual_machines.rb +397 -623
  122. data/lib/azure_mgmt_compute.rb +57 -18
  123. metadata +50 -128
  124. data/.gitignore +0 -10
  125. data/.travis.yml +0 -3
  126. data/Gemfile +0 -17
@@ -1,11 +1,11 @@
1
1
  # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
6
6
  module Azure::ARM::Compute
7
7
  #
8
- # VirtualMachineExtensionImages
8
+ # The Compute Management Client.
9
9
  #
10
10
  class VirtualMachineExtensionImages
11
11
  include Azure::ARM::Compute::Models
@@ -24,6 +24,7 @@ module Azure::ARM::Compute
24
24
 
25
25
  #
26
26
  # Gets a virtual machine extension image.
27
+ #
27
28
  # @param location [String]
28
29
  # @param publisher_name [String]
29
30
  # @param type [String]
@@ -41,74 +42,44 @@ module Azure::ARM::Compute
41
42
  fail ArgumentError, 'version is nil' if version.nil?
42
43
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
43
44
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
44
- # Construct URL
45
- path = "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}"
46
- path['{location}'] = ERB::Util.url_encode(location) if path.include?('{location}')
47
- path['{publisherName}'] = ERB::Util.url_encode(publisher_name) if path.include?('{publisherName}')
48
- path['{type}'] = ERB::Util.url_encode(type) if path.include?('{type}')
49
- path['{version}'] = ERB::Util.url_encode(version) if path.include?('{version}')
50
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
51
- url = URI.join(@client.base_url, path)
52
- properties = {}
53
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
54
- unless url.query.nil?
55
- url.query.split('&').each do |url_item|
56
- url_items_parts = url_item.split('=')
57
- properties[url_items_parts[0]] = url_items_parts[1]
58
- end
59
- end
60
- properties.reject!{ |key, value| value.nil? }
61
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
62
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
63
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
64
- url = URI.parse(corrected_url)
65
-
66
- connection = Faraday.new(:url => url) do |faraday|
67
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
68
- faraday.use :cookie_jar
69
- faraday.adapter Faraday.default_adapter
70
- end
71
- request_headers = Hash.new
45
+ request_headers = {}
72
46
 
73
47
  # Set Headers
74
48
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
75
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
76
-
77
- unless custom_headers.nil?
78
- custom_headers.each do |key, value|
79
- request_headers[key] = value
80
- end
81
- end
82
-
83
- # Send Request
84
- promise = Concurrent::Promise.new do
85
- connection.get do |request|
86
- request.headers = request_headers
87
- @client.credentials.sign_request(request) unless @client.credentials.nil?
88
- end
49
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
50
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}'
51
+ options = {
52
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
53
+ path_params: {'location' => location,'publisherName' => publisher_name,'type' => type,'version' => version,'subscriptionId' => @client.subscription_id},
54
+ query_params: {'api-version' => @client.api_version},
55
+ headers: request_headers.merge(custom_headers || {})
56
+ }
57
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
58
+ promise = request.run_promise do |req|
59
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
89
60
  end
90
61
 
91
62
  promise = promise.then do |http_response|
92
63
  status_code = http_response.status
93
64
  response_content = http_response.body
94
- unless (status_code == 200)
65
+ unless status_code == 200
95
66
  error_model = JSON.load(response_content)
96
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
67
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
97
68
  end
98
69
 
99
70
  # Create Result
100
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
71
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
101
72
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
102
73
  # Deserialize Response
103
74
  if status_code == 200
104
75
  begin
105
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
76
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
106
77
  unless parsed_response.nil?
107
78
  parsed_response = VirtualMachineExtensionImage.deserialize_object(parsed_response)
108
79
  end
109
80
  result.body = parsed_response
110
81
  rescue Exception => e
111
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
82
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
112
83
  end
113
84
  end
114
85
 
@@ -119,102 +90,66 @@ module Azure::ARM::Compute
119
90
  end
120
91
 
121
92
  #
122
- # Gets a list of virtual machine extension image versions.
93
+ # Gets a list of virtual machine extension image types.
94
+ #
123
95
  # @param location [String]
124
96
  # @param publisher_name [String]
125
- # @param type [String]
126
- # @param filter [String] The filter to apply on the operation.
127
- # @param top [Integer]
128
- # @param orderby [String]
129
97
  # @param [Hash{String => String}] The hash of custom headers need to be
130
98
  # applied to HTTP request.
131
99
  #
132
100
  # @return [Concurrent::Promise] Promise object which allows to get HTTP
133
101
  # response.
134
102
  #
135
- def list_versions(location, publisher_name, type, filter = nil, top = nil, orderby = nil, custom_headers = nil)
103
+ def list_types(location, publisher_name, custom_headers = nil)
136
104
  fail ArgumentError, 'location is nil' if location.nil?
137
105
  fail ArgumentError, 'publisher_name is nil' if publisher_name.nil?
138
- fail ArgumentError, 'type is nil' if type.nil?
139
106
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
140
107
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
141
- # Construct URL
142
- path = "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions"
143
- path['{location}'] = ERB::Util.url_encode(location) if path.include?('{location}')
144
- path['{publisherName}'] = ERB::Util.url_encode(publisher_name) if path.include?('{publisherName}')
145
- path['{type}'] = ERB::Util.url_encode(type) if path.include?('{type}')
146
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
147
- url = URI.join(@client.base_url, path)
148
- properties = {}
149
- properties['$filter'] = ERB::Util.url_encode(filter.to_s) unless filter.nil?
150
- properties['$top'] = ERB::Util.url_encode(top.to_s) unless top.nil?
151
- properties['$orderby'] = ERB::Util.url_encode(orderby.to_s) unless orderby.nil?
152
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
153
- unless url.query.nil?
154
- url.query.split('&').each do |url_item|
155
- url_items_parts = url_item.split('=')
156
- properties[url_items_parts[0]] = url_items_parts[1]
157
- end
158
- end
159
- properties.reject!{ |key, value| value.nil? }
160
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
161
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
162
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
163
- url = URI.parse(corrected_url)
164
-
165
- connection = Faraday.new(:url => url) do |faraday|
166
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
167
- faraday.use :cookie_jar
168
- faraday.adapter Faraday.default_adapter
169
- end
170
- request_headers = Hash.new
108
+ request_headers = {}
171
109
 
172
110
  # Set Headers
173
111
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
174
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
175
-
176
- unless custom_headers.nil?
177
- custom_headers.each do |key, value|
178
- request_headers[key] = value
179
- end
180
- end
181
-
182
- # Send Request
183
- promise = Concurrent::Promise.new do
184
- connection.get do |request|
185
- request.headers = request_headers
186
- @client.credentials.sign_request(request) unless @client.credentials.nil?
187
- end
112
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
113
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types'
114
+ options = {
115
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
116
+ path_params: {'location' => location,'publisherName' => publisher_name,'subscriptionId' => @client.subscription_id},
117
+ query_params: {'api-version' => @client.api_version},
118
+ headers: request_headers.merge(custom_headers || {})
119
+ }
120
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
121
+ promise = request.run_promise do |req|
122
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
188
123
  end
189
124
 
190
125
  promise = promise.then do |http_response|
191
126
  status_code = http_response.status
192
127
  response_content = http_response.body
193
- unless (status_code == 200)
128
+ unless status_code == 200
194
129
  error_model = JSON.load(response_content)
195
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
130
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
196
131
  end
197
132
 
198
133
  # Create Result
199
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
134
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
200
135
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
201
136
  # Deserialize Response
202
137
  if status_code == 200
203
138
  begin
204
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
139
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
205
140
  unless parsed_response.nil?
206
- deserializedArray = [];
141
+ deserialized_array = []
207
142
  parsed_response.each do |element|
208
143
  unless element.nil?
209
144
  element = VirtualMachineImageResource.deserialize_object(element)
210
145
  end
211
- deserializedArray.push(element);
146
+ deserialized_array.push(element)
212
147
  end
213
- parsed_response = deserializedArray;
148
+ parsed_response = deserialized_array
214
149
  end
215
150
  result.body = parsed_response
216
151
  rescue Exception => e
217
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
152
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
218
153
  end
219
154
  end
220
155
 
@@ -225,93 +160,71 @@ module Azure::ARM::Compute
225
160
  end
226
161
 
227
162
  #
228
- # Gets a list of virtual machine extension image types.
163
+ # Gets a list of virtual machine extension image versions.
164
+ #
229
165
  # @param location [String]
230
166
  # @param publisher_name [String]
167
+ # @param type [String]
168
+ # @param filter [String] The filter to apply on the operation.
169
+ # @param top [Integer]
170
+ # @param orderby [String]
231
171
  # @param [Hash{String => String}] The hash of custom headers need to be
232
172
  # applied to HTTP request.
233
173
  #
234
174
  # @return [Concurrent::Promise] Promise object which allows to get HTTP
235
175
  # response.
236
176
  #
237
- def list_types(location, publisher_name, custom_headers = nil)
177
+ def list_versions(location, publisher_name, type, filter = nil, top = nil, orderby = nil, custom_headers = nil)
238
178
  fail ArgumentError, 'location is nil' if location.nil?
239
179
  fail ArgumentError, 'publisher_name is nil' if publisher_name.nil?
180
+ fail ArgumentError, 'type is nil' if type.nil?
240
181
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
241
182
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
242
- # Construct URL
243
- path = "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types"
244
- path['{location}'] = ERB::Util.url_encode(location) if path.include?('{location}')
245
- path['{publisherName}'] = ERB::Util.url_encode(publisher_name) if path.include?('{publisherName}')
246
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
247
- url = URI.join(@client.base_url, path)
248
- properties = {}
249
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
250
- unless url.query.nil?
251
- url.query.split('&').each do |url_item|
252
- url_items_parts = url_item.split('=')
253
- properties[url_items_parts[0]] = url_items_parts[1]
254
- end
255
- end
256
- properties.reject!{ |key, value| value.nil? }
257
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
258
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
259
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
260
- url = URI.parse(corrected_url)
261
-
262
- connection = Faraday.new(:url => url) do |faraday|
263
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
264
- faraday.use :cookie_jar
265
- faraday.adapter Faraday.default_adapter
266
- end
267
- request_headers = Hash.new
183
+ request_headers = {}
268
184
 
269
185
  # Set Headers
270
186
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
271
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
272
-
273
- unless custom_headers.nil?
274
- custom_headers.each do |key, value|
275
- request_headers[key] = value
276
- end
277
- end
278
-
279
- # Send Request
280
- promise = Concurrent::Promise.new do
281
- connection.get do |request|
282
- request.headers = request_headers
283
- @client.credentials.sign_request(request) unless @client.credentials.nil?
284
- end
187
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
188
+ path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions'
189
+ options = {
190
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
191
+ path_params: {'location' => location,'publisherName' => publisher_name,'type' => type,'subscriptionId' => @client.subscription_id},
192
+ query_params: {'$filter' => filter,'$top' => top,'$orderby' => orderby,'api-version' => @client.api_version},
193
+ headers: request_headers.merge(custom_headers || {})
194
+ }
195
+ request = MsRest::HttpOperationRequest.new(@base_url || @client.base_url, path_template, :get, options)
196
+ promise = request.run_promise do |req|
197
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
285
198
  end
286
199
 
287
200
  promise = promise.then do |http_response|
288
201
  status_code = http_response.status
289
202
  response_content = http_response.body
290
- unless (status_code == 200)
203
+ unless status_code == 200
291
204
  error_model = JSON.load(response_content)
292
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
205
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
293
206
  end
294
207
 
295
208
  # Create Result
296
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
209
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
297
210
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
298
211
  # Deserialize Response
299
212
  if status_code == 200
300
213
  begin
301
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
214
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
302
215
  unless parsed_response.nil?
303
- deserializedArray = [];
216
+ deserialized_array = []
304
217
  parsed_response.each do |element|
305
218
  unless element.nil?
306
219
  element = VirtualMachineImageResource.deserialize_object(element)
307
220
  end
308
- deserializedArray.push(element);
221
+ deserialized_array.push(element)
309
222
  end
310
- parsed_response = deserializedArray;
223
+ parsed_response = deserialized_array
311
224
  end
312
225
  result.body = parsed_response
313
226
  rescue Exception => e
314
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
227
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
315
228
  end
316
229
  end
317
230