azure_mgmt_compute 0.21.1 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-06-15/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  3. data/lib/2016-03-30/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  4. data/lib/2016-04-30-preview/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  5. data/lib/2017-03-30/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  6. data/lib/2017-09-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  7. data/lib/2017-12-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  8. data/lib/2018-04-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  9. data/lib/2018-06-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  10. data/lib/2018-09-30/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  11. data/lib/2018-10-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  12. data/lib/2019-03-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  13. data/lib/2019-04-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  14. data/lib/2019-07-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  15. data/lib/2019-11-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  16. data/lib/2019-12-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  17. data/lib/2019-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_managed_disk_parameters.rb +3 -2
  18. data/lib/2020-06-01/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  19. data/lib/2020-06-30/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  20. data/lib/2020-09-30-preview/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  21. data/lib/2020-09-30/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  22. data/lib/2020-10-01-preview/generated/azure_mgmt_compute/compute_management_client.rb +1 -1
  23. data/lib/2020-12-01/generated/azure_mgmt_compute.rb +305 -0
  24. data/lib/2020-12-01/generated/azure_mgmt_compute/availability_sets.rb +920 -0
  25. data/lib/2020-12-01/generated/azure_mgmt_compute/compute_management_client.rb +221 -0
  26. data/lib/2020-12-01/generated/azure_mgmt_compute/dedicated_host_groups.rb +861 -0
  27. data/lib/2020-12-01/generated/azure_mgmt_compute/dedicated_hosts.rb +806 -0
  28. data/lib/2020-12-01/generated/azure_mgmt_compute/images.rb +975 -0
  29. data/lib/2020-12-01/generated/azure_mgmt_compute/log_analytics.rb +341 -0
  30. data/lib/2020-12-01/generated/azure_mgmt_compute/models/additional_capabilities.rb +51 -0
  31. data/lib/2020-12-01/generated/azure_mgmt_compute/models/additional_unattend_content.rb +93 -0
  32. data/lib/2020-12-01/generated/azure_mgmt_compute/models/api_entity_reference.rb +47 -0
  33. data/lib/2020-12-01/generated/azure_mgmt_compute/models/api_error.rb +100 -0
  34. data/lib/2020-12-01/generated/azure_mgmt_compute/models/api_error_base.rb +68 -0
  35. data/lib/2020-12-01/generated/azure_mgmt_compute/models/automatic_osupgrade_policy.rb +63 -0
  36. data/lib/2020-12-01/generated/azure_mgmt_compute/models/automatic_osupgrade_properties.rb +47 -0
  37. data/lib/2020-12-01/generated/azure_mgmt_compute/models/automatic_repairs_policy.rb +64 -0
  38. data/lib/2020-12-01/generated/azure_mgmt_compute/models/availability_set.rb +189 -0
  39. data/lib/2020-12-01/generated/azure_mgmt_compute/models/availability_set_list_result.rb +100 -0
  40. data/lib/2020-12-01/generated/azure_mgmt_compute/models/availability_set_sku_types.rb +16 -0
  41. data/lib/2020-12-01/generated/azure_mgmt_compute/models/availability_set_update.rb +142 -0
  42. data/lib/2020-12-01/generated/azure_mgmt_compute/models/available_patch_summary.rb +143 -0
  43. data/lib/2020-12-01/generated/azure_mgmt_compute/models/billing_profile.rb +60 -0
  44. data/lib/2020-12-01/generated/azure_mgmt_compute/models/boot_diagnostics.rb +63 -0
  45. data/lib/2020-12-01/generated/azure_mgmt_compute/models/boot_diagnostics_instance_view.rb +78 -0
  46. data/lib/2020-12-01/generated/azure_mgmt_compute/models/caching_types.rb +17 -0
  47. data/lib/2020-12-01/generated/azure_mgmt_compute/models/component_names.rb +15 -0
  48. data/lib/2020-12-01/generated/azure_mgmt_compute/models/compute_operation_list_result.rb +56 -0
  49. data/lib/2020-12-01/generated/azure_mgmt_compute/models/compute_operation_value.rb +108 -0
  50. data/lib/2020-12-01/generated/azure_mgmt_compute/models/data_disk.rb +224 -0
  51. data/lib/2020-12-01/generated/azure_mgmt_compute/models/data_disk_image.rb +49 -0
  52. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host.rb +219 -0
  53. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_allocatable_vm.rb +60 -0
  54. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_available_capacity.rb +57 -0
  55. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_group.rb +178 -0
  56. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_group_instance_view.rb +57 -0
  57. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_group_list_result.rb +100 -0
  58. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_group_update.rb +141 -0
  59. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_instance_view.rb +81 -0
  60. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_instance_view_with_name.rb +84 -0
  61. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_license_types.rb +17 -0
  62. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_list_result.rb +100 -0
  63. data/lib/2020-12-01/generated/azure_mgmt_compute/models/dedicated_host_update.rb +171 -0
  64. data/lib/2020-12-01/generated/azure_mgmt_compute/models/diagnostics_profile.rb +52 -0
  65. data/lib/2020-12-01/generated/azure_mgmt_compute/models/diff_disk_options.rb +15 -0
  66. data/lib/2020-12-01/generated/azure_mgmt_compute/models/diff_disk_placement.rb +16 -0
  67. data/lib/2020-12-01/generated/azure_mgmt_compute/models/diff_disk_settings.rb +69 -0
  68. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disallowed_configuration.rb +47 -0
  69. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disk_create_option_types.rb +17 -0
  70. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disk_detach_option_types.rb +15 -0
  71. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disk_encryption_set_parameters.rb +46 -0
  72. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disk_encryption_settings.rb +73 -0
  73. data/lib/2020-12-01/generated/azure_mgmt_compute/models/disk_instance_view.rb +87 -0
  74. data/lib/2020-12-01/generated/azure_mgmt_compute/models/execution_state.rb +21 -0
  75. data/lib/2020-12-01/generated/azure_mgmt_compute/models/extended_location.rb +58 -0
  76. data/lib/2020-12-01/generated/azure_mgmt_compute/models/extended_location_types.rb +15 -0
  77. data/lib/2020-12-01/generated/azure_mgmt_compute/models/hardware_profile.rb +106 -0
  78. data/lib/2020-12-01/generated/azure_mgmt_compute/models/hyper_vgeneration_type.rb +16 -0
  79. data/lib/2020-12-01/generated/azure_mgmt_compute/models/hyper_vgeneration_types.rb +16 -0
  80. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image.rb +151 -0
  81. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_data_disk.rb +108 -0
  82. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_disk.rb +126 -0
  83. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_list_result.rb +99 -0
  84. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_osdisk.rb +123 -0
  85. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_reference.rb +114 -0
  86. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_storage_profile.rb +86 -0
  87. data/lib/2020-12-01/generated/azure_mgmt_compute/models/image_update.rb +102 -0
  88. data/lib/2020-12-01/generated/azure_mgmt_compute/models/inner_error.rb +57 -0
  89. data/lib/2020-12-01/generated/azure_mgmt_compute/models/instance_view_status.rb +93 -0
  90. data/lib/2020-12-01/generated/azure_mgmt_compute/models/instance_view_types.rb +15 -0
  91. data/lib/2020-12-01/generated/azure_mgmt_compute/models/interval_in_mins.rb +18 -0
  92. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ipversion.rb +16 -0
  93. data/lib/2020-12-01/generated/azure_mgmt_compute/models/key_vault_key_reference.rb +59 -0
  94. data/lib/2020-12-01/generated/azure_mgmt_compute/models/key_vault_secret_reference.rb +59 -0
  95. data/lib/2020-12-01/generated/azure_mgmt_compute/models/last_patch_installation_summary.rb +179 -0
  96. data/lib/2020-12-01/generated/azure_mgmt_compute/models/linux_configuration.rb +94 -0
  97. data/lib/2020-12-01/generated/azure_mgmt_compute/models/linux_parameters.rb +107 -0
  98. data/lib/2020-12-01/generated/azure_mgmt_compute/models/linux_patch_settings.rb +52 -0
  99. data/lib/2020-12-01/generated/azure_mgmt_compute/models/linux_vmguest_patch_mode.rb +16 -0
  100. data/lib/2020-12-01/generated/azure_mgmt_compute/models/list_usages_result.rb +100 -0
  101. data/lib/2020-12-01/generated/azure_mgmt_compute/models/log_analytics_input_base.rb +124 -0
  102. data/lib/2020-12-01/generated/azure_mgmt_compute/models/log_analytics_operation_result.rb +48 -0
  103. data/lib/2020-12-01/generated/azure_mgmt_compute/models/log_analytics_output.rb +47 -0
  104. data/lib/2020-12-01/generated/azure_mgmt_compute/models/maintenance_operation_result_code_types.rb +18 -0
  105. data/lib/2020-12-01/generated/azure_mgmt_compute/models/maintenance_redeploy_status.rb +115 -0
  106. data/lib/2020-12-01/generated/azure_mgmt_compute/models/managed_disk_parameters.rb +70 -0
  107. data/lib/2020-12-01/generated/azure_mgmt_compute/models/network_interface_reference.rb +55 -0
  108. data/lib/2020-12-01/generated/azure_mgmt_compute/models/network_profile.rb +57 -0
  109. data/lib/2020-12-01/generated/azure_mgmt_compute/models/operating_system_state_types.rb +16 -0
  110. data/lib/2020-12-01/generated/azure_mgmt_compute/models/operating_system_types.rb +16 -0
  111. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_mode.rb +16 -0
  112. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_service_names.rb +16 -0
  113. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_service_state.rb +17 -0
  114. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_service_state_action.rb +16 -0
  115. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_service_state_input.rb +59 -0
  116. data/lib/2020-12-01/generated/azure_mgmt_compute/models/orchestration_service_summary.rb +61 -0
  117. data/lib/2020-12-01/generated/azure_mgmt_compute/models/osdisk.rb +191 -0
  118. data/lib/2020-12-01/generated/azure_mgmt_compute/models/osdisk_image.rb +48 -0
  119. data/lib/2020-12-01/generated/azure_mgmt_compute/models/osprofile.rb +204 -0
  120. data/lib/2020-12-01/generated/azure_mgmt_compute/models/pass_names.rb +15 -0
  121. data/lib/2020-12-01/generated/azure_mgmt_compute/models/patch_assessment_state.rb +16 -0
  122. data/lib/2020-12-01/generated/azure_mgmt_compute/models/patch_installation_detail.rb +121 -0
  123. data/lib/2020-12-01/generated/azure_mgmt_compute/models/patch_installation_state.rb +20 -0
  124. data/lib/2020-12-01/generated/azure_mgmt_compute/models/patch_operation_status.rb +19 -0
  125. data/lib/2020-12-01/generated/azure_mgmt_compute/models/patch_settings.rb +71 -0
  126. data/lib/2020-12-01/generated/azure_mgmt_compute/models/plan.rb +86 -0
  127. data/lib/2020-12-01/generated/azure_mgmt_compute/models/protocol_types.rb +16 -0
  128. data/lib/2020-12-01/generated/azure_mgmt_compute/models/proximity_placement_group.rb +180 -0
  129. data/lib/2020-12-01/generated/azure_mgmt_compute/models/proximity_placement_group_list_result.rb +100 -0
  130. data/lib/2020-12-01/generated/azure_mgmt_compute/models/proximity_placement_group_type.rb +16 -0
  131. data/lib/2020-12-01/generated/azure_mgmt_compute/models/proximity_placement_group_update.rb +51 -0
  132. data/lib/2020-12-01/generated/azure_mgmt_compute/models/purchase_plan.rb +71 -0
  133. data/lib/2020-12-01/generated/azure_mgmt_compute/models/recovery_walk_response.rb +60 -0
  134. data/lib/2020-12-01/generated/azure_mgmt_compute/models/request_rate_by_interval_input.rb +113 -0
  135. data/lib/2020-12-01/generated/azure_mgmt_compute/models/resource.rb +110 -0
  136. data/lib/2020-12-01/generated/azure_mgmt_compute/models/resource_identity_type.rb +18 -0
  137. data/lib/2020-12-01/generated/azure_mgmt_compute/models/retrieve_boot_diagnostics_data_result.rb +59 -0
  138. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rollback_status_info.rb +74 -0
  139. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_action_type.rb +16 -0
  140. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_policy.rb +133 -0
  141. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_progress_info.rb +88 -0
  142. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_running_status.rb +88 -0
  143. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_status_code.rb +18 -0
  144. data/lib/2020-12-01/generated/azure_mgmt_compute/models/rolling_upgrade_status_info.rb +141 -0
  145. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_document.rb +116 -0
  146. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_document_base.rb +92 -0
  147. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_input.rb +87 -0
  148. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_input_parameter.rb +57 -0
  149. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_list_result.rb +100 -0
  150. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_parameter_definition.rb +81 -0
  151. data/lib/2020-12-01/generated/azure_mgmt_compute/models/run_command_result.rb +56 -0
  152. data/lib/2020-12-01/generated/azure_mgmt_compute/models/scale_in_policy.rb +71 -0
  153. data/lib/2020-12-01/generated/azure_mgmt_compute/models/scheduled_events_profile.rb +49 -0
  154. data/lib/2020-12-01/generated/azure_mgmt_compute/models/security_profile.rb +81 -0
  155. data/lib/2020-12-01/generated/azure_mgmt_compute/models/security_types.rb +15 -0
  156. data/lib/2020-12-01/generated/azure_mgmt_compute/models/setting_names.rb +16 -0
  157. data/lib/2020-12-01/generated/azure_mgmt_compute/models/sku.rb +73 -0
  158. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_configuration.rb +56 -0
  159. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_public_key.rb +64 -0
  160. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_public_key_generate_key_pair_result.rb +73 -0
  161. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_public_key_resource.rb +102 -0
  162. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_public_key_update_resource.rb +67 -0
  163. data/lib/2020-12-01/generated/azure_mgmt_compute/models/ssh_public_keys_group_list_result.rb +100 -0
  164. data/lib/2020-12-01/generated/azure_mgmt_compute/models/status_level_types.rb +17 -0
  165. data/lib/2020-12-01/generated/azure_mgmt_compute/models/storage_account_types.rb +18 -0
  166. data/lib/2020-12-01/generated/azure_mgmt_compute/models/storage_profile.rb +89 -0
  167. data/lib/2020-12-01/generated/azure_mgmt_compute/models/sub_resource.rb +47 -0
  168. data/lib/2020-12-01/generated/azure_mgmt_compute/models/sub_resource_read_only.rb +48 -0
  169. data/lib/2020-12-01/generated/azure_mgmt_compute/models/sub_resource_with_colocation_status.rb +57 -0
  170. data/lib/2020-12-01/generated/azure_mgmt_compute/models/terminate_notification_profile.rb +62 -0
  171. data/lib/2020-12-01/generated/azure_mgmt_compute/models/throttled_requests_input.rb +99 -0
  172. data/lib/2020-12-01/generated/azure_mgmt_compute/models/uefi_settings.rb +60 -0
  173. data/lib/2020-12-01/generated/azure_mgmt_compute/models/update_resource.rb +54 -0
  174. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_mode.rb +17 -0
  175. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_operation_historical_status_info.rb +73 -0
  176. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_operation_historical_status_info_properties.rb +116 -0
  177. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_operation_history_status.rb +74 -0
  178. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_operation_invoker.rb +17 -0
  179. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_policy.rb +79 -0
  180. data/lib/2020-12-01/generated/azure_mgmt_compute/models/upgrade_state.rb +18 -0
  181. data/lib/2020-12-01/generated/azure_mgmt_compute/models/usage.rb +83 -0
  182. data/lib/2020-12-01/generated/azure_mgmt_compute/models/usage_name.rb +57 -0
  183. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vault_certificate.rb +72 -0
  184. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vault_secret_group.rb +69 -0
  185. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_hard_disk.rb +46 -0
  186. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine.rb +488 -0
  187. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_agent_instance_view.rb +87 -0
  188. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_assess_patches_result.rb +152 -0
  189. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_capture_parameters.rb +69 -0
  190. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_capture_result.rb +99 -0
  191. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_eviction_policy_types.rb +16 -0
  192. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extension.rb +208 -0
  193. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extension_handler_instance_view.rb +71 -0
  194. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extension_image.rb +146 -0
  195. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extension_instance_view.rb +109 -0
  196. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extension_update.rb +147 -0
  197. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_extensions_list_result.rb +55 -0
  198. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_health_status.rb +48 -0
  199. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_identity.rb +102 -0
  200. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_identity_user_assigned_identities_value.rb +61 -0
  201. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_image.rb +184 -0
  202. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_image_feature.rb +57 -0
  203. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_image_resource.rb +100 -0
  204. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_install_patches_parameters.rb +87 -0
  205. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_install_patches_result.rb +204 -0
  206. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_instance_view.rb +258 -0
  207. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_list_result.rb +99 -0
  208. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_patch_status.rb +83 -0
  209. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_priority_types.rb +17 -0
  210. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_reimage_parameters.rb +49 -0
  211. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_run_command.rb +241 -0
  212. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_run_command_instance_view.rb +135 -0
  213. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_run_command_script_source.rb +68 -0
  214. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_run_command_update.rb +206 -0
  215. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_run_commands_list_result.rb +98 -0
  216. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb +358 -0
  217. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_data_disk.rb +153 -0
  218. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_extension.rb +197 -0
  219. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_extension_list_result.rb +103 -0
  220. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_extension_profile.rb +70 -0
  221. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_extension_update.rb +198 -0
  222. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_identity.rb +105 -0
  223. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_identity_user_assigned_identities_value.rb +61 -0
  224. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_instance_view.rb +113 -0
  225. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_instance_view_statuses_summary.rb +59 -0
  226. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_ip_tag.rb +58 -0
  227. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_ipconfiguration.rb +195 -0
  228. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_list_osupgrade_history.rb +104 -0
  229. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_list_result.rb +100 -0
  230. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_list_skus_result.rb +101 -0
  231. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_list_with_link_result.rb +102 -0
  232. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_managed_disk_parameters.rb +63 -0
  233. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_network_configuration.rb +149 -0
  234. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_network_configuration_dns_settings.rb +56 -0
  235. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_network_profile.rb +71 -0
  236. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_osdisk.rb +180 -0
  237. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_osprofile.rb +167 -0
  238. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_public_ipaddress_configuration.rb +120 -0
  239. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_public_ipaddress_configuration_dns_settings.rb +51 -0
  240. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_reimage_parameters.rb +65 -0
  241. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_scale_in_rules.rb +17 -0
  242. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_sku.rb +74 -0
  243. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_sku_capacity.rb +85 -0
  244. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_sku_scale_type.rb +16 -0
  245. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_storage_profile.rb +91 -0
  246. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update.rb +210 -0
  247. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_ipconfiguration.rb +190 -0
  248. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_network_configuration.rb +148 -0
  249. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_network_profile.rb +72 -0
  250. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_osdisk.rb +122 -0
  251. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_osprofile.rb +92 -0
  252. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_public_ipaddress_configuration.rb +72 -0
  253. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_storage_profile.rb +80 -0
  254. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_update_vmprofile.rb +151 -0
  255. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vm.rb +398 -0
  256. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmextension.rb +190 -0
  257. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmextension_update.rb +164 -0
  258. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmextensions_list_result.rb +57 -0
  259. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmextensions_summary.rb +70 -0
  260. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_ids.rb +57 -0
  261. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_required_ids.rb +55 -0
  262. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vminstance_view.rb +211 -0
  263. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmlist_result.rb +101 -0
  264. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmnetwork_profile_configuration.rb +57 -0
  265. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmprofile.rb +190 -0
  266. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmprotection_policy.rb +60 -0
  267. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set_vmreimage_parameters.rb +44 -0
  268. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_size.rb +106 -0
  269. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_size_list_result.rb +55 -0
  270. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_size_types.rb +180 -0
  271. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_software_patch_properties.rb +172 -0
  272. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_status_code_count.rb +61 -0
  273. data/lib/2020-12-01/generated/azure_mgmt_compute/models/virtual_machine_update.rb +418 -0
  274. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vm_disk_types.rb +16 -0
  275. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmguest_patch_classification_linux.rb +17 -0
  276. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmguest_patch_classification_windows.rb +22 -0
  277. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmguest_patch_reboot_behavior.rb +18 -0
  278. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmguest_patch_reboot_setting.rb +17 -0
  279. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmguest_patch_reboot_status.rb +20 -0
  280. data/lib/2020-12-01/generated/azure_mgmt_compute/models/vmscale_set_convert_to_single_placement_group_input.rb +52 -0
  281. data/lib/2020-12-01/generated/azure_mgmt_compute/models/win_rmconfiguration.rb +56 -0
  282. data/lib/2020-12-01/generated/azure_mgmt_compute/models/win_rmlistener.rb +67 -0
  283. data/lib/2020-12-01/generated/azure_mgmt_compute/models/windows_configuration.rb +127 -0
  284. data/lib/2020-12-01/generated/azure_mgmt_compute/models/windows_parameters.rb +117 -0
  285. data/lib/2020-12-01/generated/azure_mgmt_compute/models/windows_vmguest_patch_mode.rb +17 -0
  286. data/lib/2020-12-01/generated/azure_mgmt_compute/module_definition.rb +9 -0
  287. data/lib/2020-12-01/generated/azure_mgmt_compute/operations.rb +109 -0
  288. data/lib/2020-12-01/generated/azure_mgmt_compute/proximity_placement_groups.rb +846 -0
  289. data/lib/2020-12-01/generated/azure_mgmt_compute/ssh_public_keys.rb +939 -0
  290. data/lib/2020-12-01/generated/azure_mgmt_compute/usage_operations.rb +241 -0
  291. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_extension_images.rb +360 -0
  292. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_extensions.rb +701 -0
  293. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_images.rb +600 -0
  294. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_images_edge_zone.rb +626 -0
  295. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_run_commands.rb +1112 -0
  296. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_set_extensions.rb +821 -0
  297. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_set_rolling_upgrades.rb +498 -0
  298. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_set_vmextensions.rb +709 -0
  299. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_set_vmrun_commands.rb +827 -0
  300. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_set_vms.rb +2230 -0
  301. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_scale_sets.rb +3523 -0
  302. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machine_sizes.rb +122 -0
  303. data/lib/2020-12-01/generated/azure_mgmt_compute/virtual_machines.rb +3446 -0
  304. data/lib/azure_mgmt_compute.rb +1 -0
  305. data/lib/profiles/latest/modules/compute_profile_module.rb +1010 -944
  306. data/lib/version.rb +1 -1
  307. metadata +283 -2
@@ -0,0 +1,3523 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::Compute::Mgmt::V2020_12_01
7
+ #
8
+ # Compute Client
9
+ #
10
+ class VirtualMachineScaleSets
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the VirtualMachineScaleSets class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [ComputeManagementClient] reference to the ComputeManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Gets all the VM scale sets under the specified subscription for the specified
26
+ # location.
27
+ #
28
+ # @param location [String] The location for which VM scale sets under the
29
+ # subscription are queried.
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [Array<VirtualMachineScaleSet>] operation results.
34
+ #
35
+ def list_by_location(location, custom_headers:nil)
36
+ first_page = list_by_location_as_lazy(location, custom_headers:custom_headers)
37
+ first_page.get_all_items
38
+ end
39
+
40
+ #
41
+ # Gets all the VM scale sets under the specified subscription for the specified
42
+ # location.
43
+ #
44
+ # @param location [String] The location for which VM scale sets under the
45
+ # subscription are queried.
46
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
47
+ # will be added to the HTTP request.
48
+ #
49
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
50
+ #
51
+ def list_by_location_with_http_info(location, custom_headers:nil)
52
+ list_by_location_async(location, custom_headers:custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Gets all the VM scale sets under the specified subscription for the specified
57
+ # location.
58
+ #
59
+ # @param location [String] The location for which VM scale sets under the
60
+ # subscription are queried.
61
+ # @param [Hash{String => String}] A hash of custom headers that will be added
62
+ # to the HTTP request.
63
+ #
64
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
65
+ #
66
+ def list_by_location_async(location, custom_headers:nil)
67
+ fail ArgumentError, 'location is nil' if location.nil?
68
+ fail ArgumentError, "'location' should satisfy the constraint - 'Pattern': '^[-\w\._]+$'" if !location.nil? && location.match(Regexp.new('^^[-\w\._]+$$')).nil?
69
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
70
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
71
+
72
+
73
+ request_headers = {}
74
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
75
+
76
+ # Set Headers
77
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
78
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
79
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachineScaleSets'
80
+
81
+ request_url = @base_url || @client.base_url
82
+
83
+ options = {
84
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
85
+ path_params: {'location' => location,'subscriptionId' => @client.subscription_id},
86
+ query_params: {'api-version' => @client.api_version},
87
+ headers: request_headers.merge(custom_headers || {}),
88
+ base_url: request_url
89
+ }
90
+ promise = @client.make_request_async(:get, path_template, options)
91
+
92
+ promise = promise.then do |result|
93
+ http_response = result.response
94
+ status_code = http_response.status
95
+ response_content = http_response.body
96
+ unless status_code == 200
97
+ error_model = JSON.load(response_content)
98
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
99
+ end
100
+
101
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
102
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
103
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
104
+ # Deserialize Response
105
+ if status_code == 200
106
+ begin
107
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
108
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListResult.mapper()
109
+ result.body = @client.deserialize(result_mapper, parsed_response)
110
+ rescue Exception => e
111
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
112
+ end
113
+ end
114
+
115
+ result
116
+ end
117
+
118
+ promise.execute
119
+ end
120
+
121
+ #
122
+ # Create or update a VM scale set.
123
+ #
124
+ # @param resource_group_name [String] The name of the resource group.
125
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
126
+ # update.
127
+ # @param parameters [VirtualMachineScaleSet] The scale set object.
128
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
129
+ # will be added to the HTTP request.
130
+ #
131
+ # @return [VirtualMachineScaleSet] operation results.
132
+ #
133
+ def create_or_update(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
134
+ response = create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
135
+ response.body unless response.nil?
136
+ end
137
+
138
+ #
139
+ # @param resource_group_name [String] The name of the resource group.
140
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
141
+ # update.
142
+ # @param parameters [VirtualMachineScaleSet] The scale set object.
143
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
144
+ # will be added to the HTTP request.
145
+ #
146
+ # @return [Concurrent::Promise] promise which provides async access to http
147
+ # response.
148
+ #
149
+ def create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
150
+ # Send request
151
+ promise = begin_create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers)
152
+
153
+ promise = promise.then do |response|
154
+ # Defining deserialization method.
155
+ deserialize_method = lambda do |parsed_response|
156
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
157
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
158
+ end
159
+
160
+ # Waiting for response.
161
+ @client.get_long_running_operation_result(response, deserialize_method)
162
+ end
163
+
164
+ promise
165
+ end
166
+
167
+ #
168
+ # Update a VM scale set.
169
+ #
170
+ # @param resource_group_name [String] The name of the resource group.
171
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
172
+ # update.
173
+ # @param parameters [VirtualMachineScaleSetUpdate] The scale set object.
174
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
175
+ # will be added to the HTTP request.
176
+ #
177
+ # @return [VirtualMachineScaleSet] operation results.
178
+ #
179
+ def update(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
180
+ response = update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
181
+ response.body unless response.nil?
182
+ end
183
+
184
+ #
185
+ # @param resource_group_name [String] The name of the resource group.
186
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
187
+ # update.
188
+ # @param parameters [VirtualMachineScaleSetUpdate] The scale set object.
189
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
190
+ # will be added to the HTTP request.
191
+ #
192
+ # @return [Concurrent::Promise] promise which provides async access to http
193
+ # response.
194
+ #
195
+ def update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
196
+ # Send request
197
+ promise = begin_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers)
198
+
199
+ promise = promise.then do |response|
200
+ # Defining deserialization method.
201
+ deserialize_method = lambda do |parsed_response|
202
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
203
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
204
+ end
205
+
206
+ # Waiting for response.
207
+ @client.get_long_running_operation_result(response, deserialize_method)
208
+ end
209
+
210
+ promise
211
+ end
212
+
213
+ #
214
+ # Deletes a VM scale set.
215
+ #
216
+ # @param resource_group_name [String] The name of the resource group.
217
+ # @param vm_scale_set_name [String] The name of the VM scale set.
218
+ # @param force_deletion [Boolean] Optional parameter to force delete a VM scale
219
+ # set. (Feature in Preview)
220
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
221
+ # will be added to the HTTP request.
222
+ #
223
+ def delete(resource_group_name, vm_scale_set_name, force_deletion:nil, custom_headers:nil)
224
+ response = delete_async(resource_group_name, vm_scale_set_name, force_deletion:force_deletion, custom_headers:custom_headers).value!
225
+ nil
226
+ end
227
+
228
+ #
229
+ # @param resource_group_name [String] The name of the resource group.
230
+ # @param vm_scale_set_name [String] The name of the VM scale set.
231
+ # @param force_deletion [Boolean] Optional parameter to force delete a VM scale
232
+ # set. (Feature in Preview)
233
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
234
+ # will be added to the HTTP request.
235
+ #
236
+ # @return [Concurrent::Promise] promise which provides async access to http
237
+ # response.
238
+ #
239
+ def delete_async(resource_group_name, vm_scale_set_name, force_deletion:nil, custom_headers:nil)
240
+ # Send request
241
+ promise = begin_delete_async(resource_group_name, vm_scale_set_name, force_deletion:force_deletion, custom_headers:custom_headers)
242
+
243
+ promise = promise.then do |response|
244
+ # Defining deserialization method.
245
+ deserialize_method = lambda do |parsed_response|
246
+ end
247
+
248
+ # Waiting for response.
249
+ @client.get_long_running_operation_result(response, deserialize_method)
250
+ end
251
+
252
+ promise
253
+ end
254
+
255
+ #
256
+ # Display information about a virtual machine scale set.
257
+ #
258
+ # @param resource_group_name [String] The name of the resource group.
259
+ # @param vm_scale_set_name [String] The name of the VM scale set.
260
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
261
+ # will be added to the HTTP request.
262
+ #
263
+ # @return [VirtualMachineScaleSet] operation results.
264
+ #
265
+ def get(resource_group_name, vm_scale_set_name, custom_headers:nil)
266
+ response = get_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
267
+ response.body unless response.nil?
268
+ end
269
+
270
+ #
271
+ # Display information about a virtual machine scale set.
272
+ #
273
+ # @param resource_group_name [String] The name of the resource group.
274
+ # @param vm_scale_set_name [String] The name of the VM scale set.
275
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
276
+ # will be added to the HTTP request.
277
+ #
278
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
279
+ #
280
+ def get_with_http_info(resource_group_name, vm_scale_set_name, custom_headers:nil)
281
+ get_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
282
+ end
283
+
284
+ #
285
+ # Display information about a virtual machine scale set.
286
+ #
287
+ # @param resource_group_name [String] The name of the resource group.
288
+ # @param vm_scale_set_name [String] The name of the VM scale set.
289
+ # @param [Hash{String => String}] A hash of custom headers that will be added
290
+ # to the HTTP request.
291
+ #
292
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
293
+ #
294
+ def get_async(resource_group_name, vm_scale_set_name, custom_headers:nil)
295
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
296
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
297
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
298
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
299
+
300
+
301
+ request_headers = {}
302
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
303
+
304
+ # Set Headers
305
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
306
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
307
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}'
308
+
309
+ request_url = @base_url || @client.base_url
310
+
311
+ options = {
312
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
313
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
314
+ query_params: {'api-version' => @client.api_version},
315
+ headers: request_headers.merge(custom_headers || {}),
316
+ base_url: request_url
317
+ }
318
+ promise = @client.make_request_async(:get, path_template, options)
319
+
320
+ promise = promise.then do |result|
321
+ http_response = result.response
322
+ status_code = http_response.status
323
+ response_content = http_response.body
324
+ unless status_code == 200
325
+ error_model = JSON.load(response_content)
326
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
327
+ end
328
+
329
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
330
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
331
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
332
+ # Deserialize Response
333
+ if status_code == 200
334
+ begin
335
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
336
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
337
+ result.body = @client.deserialize(result_mapper, parsed_response)
338
+ rescue Exception => e
339
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
340
+ end
341
+ end
342
+
343
+ result
344
+ end
345
+
346
+ promise.execute
347
+ end
348
+
349
+ #
350
+ # Deallocates specific virtual machines in a VM scale set. Shuts down the
351
+ # virtual machines and releases the compute resources. You are not billed for
352
+ # the compute resources that this virtual machine scale set deallocates.
353
+ #
354
+ # @param resource_group_name [String] The name of the resource group.
355
+ # @param vm_scale_set_name [String] The name of the VM scale set.
356
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
357
+ # virtual machine instance IDs from the VM scale set.
358
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
359
+ # will be added to the HTTP request.
360
+ #
361
+ def deallocate(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
362
+ response = deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
363
+ nil
364
+ end
365
+
366
+ #
367
+ # @param resource_group_name [String] The name of the resource group.
368
+ # @param vm_scale_set_name [String] The name of the VM scale set.
369
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
370
+ # virtual machine instance IDs from the VM scale set.
371
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
372
+ # will be added to the HTTP request.
373
+ #
374
+ # @return [Concurrent::Promise] promise which provides async access to http
375
+ # response.
376
+ #
377
+ def deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
378
+ # Send request
379
+ promise = begin_deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
380
+
381
+ promise = promise.then do |response|
382
+ # Defining deserialization method.
383
+ deserialize_method = lambda do |parsed_response|
384
+ end
385
+
386
+ # Waiting for response.
387
+ @client.get_long_running_operation_result(response, deserialize_method)
388
+ end
389
+
390
+ promise
391
+ end
392
+
393
+ #
394
+ # Deletes virtual machines in a VM scale set.
395
+ #
396
+ # @param resource_group_name [String] The name of the resource group.
397
+ # @param vm_scale_set_name [String] The name of the VM scale set.
398
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
399
+ # of virtual machine instance IDs from the VM scale set.
400
+ # @param force_deletion [Boolean] Optional parameter to force delete virtual
401
+ # machines from the VM scale set. (Feature in Preview)
402
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
403
+ # will be added to the HTTP request.
404
+ #
405
+ def delete_instances(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:nil, custom_headers:nil)
406
+ response = delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:force_deletion, custom_headers:custom_headers).value!
407
+ nil
408
+ end
409
+
410
+ #
411
+ # @param resource_group_name [String] The name of the resource group.
412
+ # @param vm_scale_set_name [String] The name of the VM scale set.
413
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
414
+ # of virtual machine instance IDs from the VM scale set.
415
+ # @param force_deletion [Boolean] Optional parameter to force delete virtual
416
+ # machines from the VM scale set. (Feature in Preview)
417
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
418
+ # will be added to the HTTP request.
419
+ #
420
+ # @return [Concurrent::Promise] promise which provides async access to http
421
+ # response.
422
+ #
423
+ def delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:nil, custom_headers:nil)
424
+ # Send request
425
+ promise = begin_delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:force_deletion, custom_headers:custom_headers)
426
+
427
+ promise = promise.then do |response|
428
+ # Defining deserialization method.
429
+ deserialize_method = lambda do |parsed_response|
430
+ end
431
+
432
+ # Waiting for response.
433
+ @client.get_long_running_operation_result(response, deserialize_method)
434
+ end
435
+
436
+ promise
437
+ end
438
+
439
+ #
440
+ # Gets the status of a VM scale set instance.
441
+ #
442
+ # @param resource_group_name [String] The name of the resource group.
443
+ # @param vm_scale_set_name [String] The name of the VM scale set.
444
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
445
+ # will be added to the HTTP request.
446
+ #
447
+ # @return [VirtualMachineScaleSetInstanceView] operation results.
448
+ #
449
+ def get_instance_view(resource_group_name, vm_scale_set_name, custom_headers:nil)
450
+ response = get_instance_view_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
451
+ response.body unless response.nil?
452
+ end
453
+
454
+ #
455
+ # Gets the status of a VM scale set instance.
456
+ #
457
+ # @param resource_group_name [String] The name of the resource group.
458
+ # @param vm_scale_set_name [String] The name of the VM scale set.
459
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
460
+ # will be added to the HTTP request.
461
+ #
462
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
463
+ #
464
+ def get_instance_view_with_http_info(resource_group_name, vm_scale_set_name, custom_headers:nil)
465
+ get_instance_view_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
466
+ end
467
+
468
+ #
469
+ # Gets the status of a VM scale set instance.
470
+ #
471
+ # @param resource_group_name [String] The name of the resource group.
472
+ # @param vm_scale_set_name [String] The name of the VM scale set.
473
+ # @param [Hash{String => String}] A hash of custom headers that will be added
474
+ # to the HTTP request.
475
+ #
476
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
477
+ #
478
+ def get_instance_view_async(resource_group_name, vm_scale_set_name, custom_headers:nil)
479
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
480
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
481
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
482
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
483
+
484
+
485
+ request_headers = {}
486
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
487
+
488
+ # Set Headers
489
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
490
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
491
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView'
492
+
493
+ request_url = @base_url || @client.base_url
494
+
495
+ options = {
496
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
497
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
498
+ query_params: {'api-version' => @client.api_version},
499
+ headers: request_headers.merge(custom_headers || {}),
500
+ base_url: request_url
501
+ }
502
+ promise = @client.make_request_async(:get, path_template, options)
503
+
504
+ promise = promise.then do |result|
505
+ http_response = result.response
506
+ status_code = http_response.status
507
+ response_content = http_response.body
508
+ unless status_code == 200
509
+ error_model = JSON.load(response_content)
510
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
511
+ end
512
+
513
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
514
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
515
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
516
+ # Deserialize Response
517
+ if status_code == 200
518
+ begin
519
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
520
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetInstanceView.mapper()
521
+ result.body = @client.deserialize(result_mapper, parsed_response)
522
+ rescue Exception => e
523
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
524
+ end
525
+ end
526
+
527
+ result
528
+ end
529
+
530
+ promise.execute
531
+ end
532
+
533
+ #
534
+ # Gets a list of all VM scale sets under a resource group.
535
+ #
536
+ # @param resource_group_name [String] The name of the resource group.
537
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
538
+ # will be added to the HTTP request.
539
+ #
540
+ # @return [Array<VirtualMachineScaleSet>] operation results.
541
+ #
542
+ def list(resource_group_name, custom_headers:nil)
543
+ first_page = list_as_lazy(resource_group_name, custom_headers:custom_headers)
544
+ first_page.get_all_items
545
+ end
546
+
547
+ #
548
+ # Gets a list of all VM scale sets under a resource group.
549
+ #
550
+ # @param resource_group_name [String] The name of the resource group.
551
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
552
+ # will be added to the HTTP request.
553
+ #
554
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
555
+ #
556
+ def list_with_http_info(resource_group_name, custom_headers:nil)
557
+ list_async(resource_group_name, custom_headers:custom_headers).value!
558
+ end
559
+
560
+ #
561
+ # Gets a list of all VM scale sets under a resource group.
562
+ #
563
+ # @param resource_group_name [String] The name of the resource group.
564
+ # @param [Hash{String => String}] A hash of custom headers that will be added
565
+ # to the HTTP request.
566
+ #
567
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
568
+ #
569
+ def list_async(resource_group_name, custom_headers:nil)
570
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
571
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
572
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
573
+
574
+
575
+ request_headers = {}
576
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
577
+
578
+ # Set Headers
579
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
580
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
581
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets'
582
+
583
+ request_url = @base_url || @client.base_url
584
+
585
+ options = {
586
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
587
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
588
+ query_params: {'api-version' => @client.api_version},
589
+ headers: request_headers.merge(custom_headers || {}),
590
+ base_url: request_url
591
+ }
592
+ promise = @client.make_request_async(:get, path_template, options)
593
+
594
+ promise = promise.then do |result|
595
+ http_response = result.response
596
+ status_code = http_response.status
597
+ response_content = http_response.body
598
+ unless status_code == 200
599
+ error_model = JSON.load(response_content)
600
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
601
+ end
602
+
603
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
604
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
605
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
606
+ # Deserialize Response
607
+ if status_code == 200
608
+ begin
609
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
610
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListResult.mapper()
611
+ result.body = @client.deserialize(result_mapper, parsed_response)
612
+ rescue Exception => e
613
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
614
+ end
615
+ end
616
+
617
+ result
618
+ end
619
+
620
+ promise.execute
621
+ end
622
+
623
+ #
624
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
625
+ # associated resource group. Use nextLink property in the response to get the
626
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
627
+ # Scale Sets.
628
+ #
629
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
630
+ # will be added to the HTTP request.
631
+ #
632
+ # @return [Array<VirtualMachineScaleSet>] operation results.
633
+ #
634
+ def list_all(custom_headers:nil)
635
+ first_page = list_all_as_lazy(custom_headers:custom_headers)
636
+ first_page.get_all_items
637
+ end
638
+
639
+ #
640
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
641
+ # associated resource group. Use nextLink property in the response to get the
642
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
643
+ # Scale Sets.
644
+ #
645
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
646
+ # will be added to the HTTP request.
647
+ #
648
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
649
+ #
650
+ def list_all_with_http_info(custom_headers:nil)
651
+ list_all_async(custom_headers:custom_headers).value!
652
+ end
653
+
654
+ #
655
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
656
+ # associated resource group. Use nextLink property in the response to get the
657
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
658
+ # Scale Sets.
659
+ #
660
+ # @param [Hash{String => String}] A hash of custom headers that will be added
661
+ # to the HTTP request.
662
+ #
663
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
664
+ #
665
+ def list_all_async(custom_headers:nil)
666
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
667
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
668
+
669
+
670
+ request_headers = {}
671
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
672
+
673
+ # Set Headers
674
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
675
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
676
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets'
677
+
678
+ request_url = @base_url || @client.base_url
679
+
680
+ options = {
681
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
682
+ path_params: {'subscriptionId' => @client.subscription_id},
683
+ query_params: {'api-version' => @client.api_version},
684
+ headers: request_headers.merge(custom_headers || {}),
685
+ base_url: request_url
686
+ }
687
+ promise = @client.make_request_async(:get, path_template, options)
688
+
689
+ promise = promise.then do |result|
690
+ http_response = result.response
691
+ status_code = http_response.status
692
+ response_content = http_response.body
693
+ unless status_code == 200
694
+ error_model = JSON.load(response_content)
695
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
696
+ end
697
+
698
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
699
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
700
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
701
+ # Deserialize Response
702
+ if status_code == 200
703
+ begin
704
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
705
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListWithLinkResult.mapper()
706
+ result.body = @client.deserialize(result_mapper, parsed_response)
707
+ rescue Exception => e
708
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
709
+ end
710
+ end
711
+
712
+ result
713
+ end
714
+
715
+ promise.execute
716
+ end
717
+
718
+ #
719
+ # Gets a list of SKUs available for your VM scale set, including the minimum
720
+ # and maximum VM instances allowed for each SKU.
721
+ #
722
+ # @param resource_group_name [String] The name of the resource group.
723
+ # @param vm_scale_set_name [String] The name of the VM scale set.
724
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
725
+ # will be added to the HTTP request.
726
+ #
727
+ # @return [Array<VirtualMachineScaleSetSku>] operation results.
728
+ #
729
+ def list_skus(resource_group_name, vm_scale_set_name, custom_headers:nil)
730
+ first_page = list_skus_as_lazy(resource_group_name, vm_scale_set_name, custom_headers:custom_headers)
731
+ first_page.get_all_items
732
+ end
733
+
734
+ #
735
+ # Gets a list of SKUs available for your VM scale set, including the minimum
736
+ # and maximum VM instances allowed for each SKU.
737
+ #
738
+ # @param resource_group_name [String] The name of the resource group.
739
+ # @param vm_scale_set_name [String] The name of the VM scale set.
740
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
741
+ # will be added to the HTTP request.
742
+ #
743
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
744
+ #
745
+ def list_skus_with_http_info(resource_group_name, vm_scale_set_name, custom_headers:nil)
746
+ list_skus_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
747
+ end
748
+
749
+ #
750
+ # Gets a list of SKUs available for your VM scale set, including the minimum
751
+ # and maximum VM instances allowed for each SKU.
752
+ #
753
+ # @param resource_group_name [String] The name of the resource group.
754
+ # @param vm_scale_set_name [String] The name of the VM scale set.
755
+ # @param [Hash{String => String}] A hash of custom headers that will be added
756
+ # to the HTTP request.
757
+ #
758
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
759
+ #
760
+ def list_skus_async(resource_group_name, vm_scale_set_name, custom_headers:nil)
761
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
762
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
763
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
764
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
765
+
766
+
767
+ request_headers = {}
768
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
769
+
770
+ # Set Headers
771
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
772
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
773
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus'
774
+
775
+ request_url = @base_url || @client.base_url
776
+
777
+ options = {
778
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
779
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
780
+ query_params: {'api-version' => @client.api_version},
781
+ headers: request_headers.merge(custom_headers || {}),
782
+ base_url: request_url
783
+ }
784
+ promise = @client.make_request_async(:get, path_template, options)
785
+
786
+ promise = promise.then do |result|
787
+ http_response = result.response
788
+ status_code = http_response.status
789
+ response_content = http_response.body
790
+ unless status_code == 200
791
+ error_model = JSON.load(response_content)
792
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
793
+ end
794
+
795
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
796
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
797
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
798
+ # Deserialize Response
799
+ if status_code == 200
800
+ begin
801
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
802
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListSkusResult.mapper()
803
+ result.body = @client.deserialize(result_mapper, parsed_response)
804
+ rescue Exception => e
805
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
806
+ end
807
+ end
808
+
809
+ result
810
+ end
811
+
812
+ promise.execute
813
+ end
814
+
815
+ #
816
+ # Gets list of OS upgrades on a VM scale set instance.
817
+ #
818
+ # @param resource_group_name [String] The name of the resource group.
819
+ # @param vm_scale_set_name [String] The name of the VM scale set.
820
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
821
+ # will be added to the HTTP request.
822
+ #
823
+ # @return [Array<UpgradeOperationHistoricalStatusInfo>] operation results.
824
+ #
825
+ def get_osupgrade_history(resource_group_name, vm_scale_set_name, custom_headers:nil)
826
+ first_page = get_osupgrade_history_as_lazy(resource_group_name, vm_scale_set_name, custom_headers:custom_headers)
827
+ first_page.get_all_items
828
+ end
829
+
830
+ #
831
+ # Gets list of OS upgrades on a VM scale set instance.
832
+ #
833
+ # @param resource_group_name [String] The name of the resource group.
834
+ # @param vm_scale_set_name [String] The name of the VM scale set.
835
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
836
+ # will be added to the HTTP request.
837
+ #
838
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
839
+ #
840
+ def get_osupgrade_history_with_http_info(resource_group_name, vm_scale_set_name, custom_headers:nil)
841
+ get_osupgrade_history_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
842
+ end
843
+
844
+ #
845
+ # Gets list of OS upgrades on a VM scale set instance.
846
+ #
847
+ # @param resource_group_name [String] The name of the resource group.
848
+ # @param vm_scale_set_name [String] The name of the VM scale set.
849
+ # @param [Hash{String => String}] A hash of custom headers that will be added
850
+ # to the HTTP request.
851
+ #
852
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
853
+ #
854
+ def get_osupgrade_history_async(resource_group_name, vm_scale_set_name, custom_headers:nil)
855
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
856
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
857
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
858
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
859
+
860
+
861
+ request_headers = {}
862
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
863
+
864
+ # Set Headers
865
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
866
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
867
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory'
868
+
869
+ request_url = @base_url || @client.base_url
870
+
871
+ options = {
872
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
873
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
874
+ query_params: {'api-version' => @client.api_version},
875
+ headers: request_headers.merge(custom_headers || {}),
876
+ base_url: request_url
877
+ }
878
+ promise = @client.make_request_async(:get, path_template, options)
879
+
880
+ promise = promise.then do |result|
881
+ http_response = result.response
882
+ status_code = http_response.status
883
+ response_content = http_response.body
884
+ unless status_code == 200
885
+ error_model = JSON.load(response_content)
886
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
887
+ end
888
+
889
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
890
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
891
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
892
+ # Deserialize Response
893
+ if status_code == 200
894
+ begin
895
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
896
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListOSUpgradeHistory.mapper()
897
+ result.body = @client.deserialize(result_mapper, parsed_response)
898
+ rescue Exception => e
899
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
900
+ end
901
+ end
902
+
903
+ result
904
+ end
905
+
906
+ promise.execute
907
+ end
908
+
909
+ #
910
+ # Power off (stop) one or more virtual machines in a VM scale set. Note that
911
+ # resources are still attached and you are getting charged for the resources.
912
+ # Instead, use deallocate to release resources and avoid charges.
913
+ #
914
+ # @param resource_group_name [String] The name of the resource group.
915
+ # @param vm_scale_set_name [String] The name of the VM scale set.
916
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
917
+ # virtual machine instance IDs from the VM scale set.
918
+ # @param skip_shutdown [Boolean] The parameter to request non-graceful VM
919
+ # shutdown. True value for this flag indicates non-graceful shutdown whereas
920
+ # false indicates otherwise. Default value for this flag is false if not
921
+ # specified
922
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
923
+ # will be added to the HTTP request.
924
+ #
925
+ def power_off(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, skip_shutdown:false, custom_headers:nil)
926
+ response = power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, skip_shutdown:skip_shutdown, custom_headers:custom_headers).value!
927
+ nil
928
+ end
929
+
930
+ #
931
+ # @param resource_group_name [String] The name of the resource group.
932
+ # @param vm_scale_set_name [String] The name of the VM scale set.
933
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
934
+ # virtual machine instance IDs from the VM scale set.
935
+ # @param skip_shutdown [Boolean] The parameter to request non-graceful VM
936
+ # shutdown. True value for this flag indicates non-graceful shutdown whereas
937
+ # false indicates otherwise. Default value for this flag is false if not
938
+ # specified
939
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
940
+ # will be added to the HTTP request.
941
+ #
942
+ # @return [Concurrent::Promise] promise which provides async access to http
943
+ # response.
944
+ #
945
+ def power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, skip_shutdown:false, custom_headers:nil)
946
+ # Send request
947
+ promise = begin_power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, skip_shutdown:skip_shutdown, custom_headers:custom_headers)
948
+
949
+ promise = promise.then do |response|
950
+ # Defining deserialization method.
951
+ deserialize_method = lambda do |parsed_response|
952
+ end
953
+
954
+ # Waiting for response.
955
+ @client.get_long_running_operation_result(response, deserialize_method)
956
+ end
957
+
958
+ promise
959
+ end
960
+
961
+ #
962
+ # Restarts one or more virtual machines in a VM scale set.
963
+ #
964
+ # @param resource_group_name [String] The name of the resource group.
965
+ # @param vm_scale_set_name [String] The name of the VM scale set.
966
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
967
+ # virtual machine instance IDs from the VM scale set.
968
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
969
+ # will be added to the HTTP request.
970
+ #
971
+ def restart(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
972
+ response = restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
973
+ nil
974
+ end
975
+
976
+ #
977
+ # @param resource_group_name [String] The name of the resource group.
978
+ # @param vm_scale_set_name [String] The name of the VM scale set.
979
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
980
+ # virtual machine instance IDs from the VM scale set.
981
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
982
+ # will be added to the HTTP request.
983
+ #
984
+ # @return [Concurrent::Promise] promise which provides async access to http
985
+ # response.
986
+ #
987
+ def restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
988
+ # Send request
989
+ promise = begin_restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
990
+
991
+ promise = promise.then do |response|
992
+ # Defining deserialization method.
993
+ deserialize_method = lambda do |parsed_response|
994
+ end
995
+
996
+ # Waiting for response.
997
+ @client.get_long_running_operation_result(response, deserialize_method)
998
+ end
999
+
1000
+ promise
1001
+ end
1002
+
1003
+ #
1004
+ # Starts one or more virtual machines in a VM scale set.
1005
+ #
1006
+ # @param resource_group_name [String] The name of the resource group.
1007
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1008
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1009
+ # virtual machine instance IDs from the VM scale set.
1010
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1011
+ # will be added to the HTTP request.
1012
+ #
1013
+ def start(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1014
+ response = start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1015
+ nil
1016
+ end
1017
+
1018
+ #
1019
+ # @param resource_group_name [String] The name of the resource group.
1020
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1021
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1022
+ # virtual machine instance IDs from the VM scale set.
1023
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1024
+ # will be added to the HTTP request.
1025
+ #
1026
+ # @return [Concurrent::Promise] promise which provides async access to http
1027
+ # response.
1028
+ #
1029
+ def start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1030
+ # Send request
1031
+ promise = begin_start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
1032
+
1033
+ promise = promise.then do |response|
1034
+ # Defining deserialization method.
1035
+ deserialize_method = lambda do |parsed_response|
1036
+ end
1037
+
1038
+ # Waiting for response.
1039
+ @client.get_long_running_operation_result(response, deserialize_method)
1040
+ end
1041
+
1042
+ promise
1043
+ end
1044
+
1045
+ #
1046
+ # Shuts down all the virtual machines in the virtual machine scale set, moves
1047
+ # them to a new node, and powers them back on.
1048
+ #
1049
+ # @param resource_group_name [String] The name of the resource group.
1050
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1051
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1052
+ # virtual machine instance IDs from the VM scale set.
1053
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1054
+ # will be added to the HTTP request.
1055
+ #
1056
+ def redeploy(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1057
+ response = redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1058
+ nil
1059
+ end
1060
+
1061
+ #
1062
+ # @param resource_group_name [String] The name of the resource group.
1063
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1064
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1065
+ # virtual machine instance IDs from the VM scale set.
1066
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1067
+ # will be added to the HTTP request.
1068
+ #
1069
+ # @return [Concurrent::Promise] promise which provides async access to http
1070
+ # response.
1071
+ #
1072
+ def redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1073
+ # Send request
1074
+ promise = begin_redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
1075
+
1076
+ promise = promise.then do |response|
1077
+ # Defining deserialization method.
1078
+ deserialize_method = lambda do |parsed_response|
1079
+ end
1080
+
1081
+ # Waiting for response.
1082
+ @client.get_long_running_operation_result(response, deserialize_method)
1083
+ end
1084
+
1085
+ promise
1086
+ end
1087
+
1088
+ #
1089
+ # Perform maintenance on one or more virtual machines in a VM scale set.
1090
+ # Operation on instances which are not eligible for perform maintenance will be
1091
+ # failed. Please refer to best practices for more details:
1092
+ # https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications
1093
+ #
1094
+ # @param resource_group_name [String] The name of the resource group.
1095
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1096
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1097
+ # virtual machine instance IDs from the VM scale set.
1098
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1099
+ # will be added to the HTTP request.
1100
+ #
1101
+ def perform_maintenance(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1102
+ response = perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1103
+ nil
1104
+ end
1105
+
1106
+ #
1107
+ # @param resource_group_name [String] The name of the resource group.
1108
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1109
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1110
+ # virtual machine instance IDs from the VM scale set.
1111
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1112
+ # will be added to the HTTP request.
1113
+ #
1114
+ # @return [Concurrent::Promise] promise which provides async access to http
1115
+ # response.
1116
+ #
1117
+ def perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1118
+ # Send request
1119
+ promise = begin_perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
1120
+
1121
+ promise = promise.then do |response|
1122
+ # Defining deserialization method.
1123
+ deserialize_method = lambda do |parsed_response|
1124
+ end
1125
+
1126
+ # Waiting for response.
1127
+ @client.get_long_running_operation_result(response, deserialize_method)
1128
+ end
1129
+
1130
+ promise
1131
+ end
1132
+
1133
+ #
1134
+ # Upgrades one or more virtual machines to the latest SKU set in the VM scale
1135
+ # set model.
1136
+ #
1137
+ # @param resource_group_name [String] The name of the resource group.
1138
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1139
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
1140
+ # of virtual machine instance IDs from the VM scale set.
1141
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1142
+ # will be added to the HTTP request.
1143
+ #
1144
+ def update_instances(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:nil)
1145
+ response = update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:custom_headers).value!
1146
+ nil
1147
+ end
1148
+
1149
+ #
1150
+ # @param resource_group_name [String] The name of the resource group.
1151
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1152
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
1153
+ # of virtual machine instance IDs from the VM scale set.
1154
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1155
+ # will be added to the HTTP request.
1156
+ #
1157
+ # @return [Concurrent::Promise] promise which provides async access to http
1158
+ # response.
1159
+ #
1160
+ def update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:nil)
1161
+ # Send request
1162
+ promise = begin_update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:custom_headers)
1163
+
1164
+ promise = promise.then do |response|
1165
+ # Defining deserialization method.
1166
+ deserialize_method = lambda do |parsed_response|
1167
+ end
1168
+
1169
+ # Waiting for response.
1170
+ @client.get_long_running_operation_result(response, deserialize_method)
1171
+ end
1172
+
1173
+ promise
1174
+ end
1175
+
1176
+ #
1177
+ # Reimages (upgrade the operating system) one or more virtual machines in a VM
1178
+ # scale set which don't have a ephemeral OS disk, for virtual machines who have
1179
+ # a ephemeral OS disk the virtual machine is reset to initial state.
1180
+ #
1181
+ # @param resource_group_name [String] The name of the resource group.
1182
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1183
+ # @param vm_scale_set_reimage_input [VirtualMachineScaleSetReimageParameters]
1184
+ # Parameters for Reimaging VM ScaleSet.
1185
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1186
+ # will be added to the HTTP request.
1187
+ #
1188
+ def reimage(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:nil, custom_headers:nil)
1189
+ response = reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:vm_scale_set_reimage_input, custom_headers:custom_headers).value!
1190
+ nil
1191
+ end
1192
+
1193
+ #
1194
+ # @param resource_group_name [String] The name of the resource group.
1195
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1196
+ # @param vm_scale_set_reimage_input [VirtualMachineScaleSetReimageParameters]
1197
+ # Parameters for Reimaging VM ScaleSet.
1198
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1199
+ # will be added to the HTTP request.
1200
+ #
1201
+ # @return [Concurrent::Promise] promise which provides async access to http
1202
+ # response.
1203
+ #
1204
+ def reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:nil, custom_headers:nil)
1205
+ # Send request
1206
+ promise = begin_reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:vm_scale_set_reimage_input, custom_headers:custom_headers)
1207
+
1208
+ promise = promise.then do |response|
1209
+ # Defining deserialization method.
1210
+ deserialize_method = lambda do |parsed_response|
1211
+ end
1212
+
1213
+ # Waiting for response.
1214
+ @client.get_long_running_operation_result(response, deserialize_method)
1215
+ end
1216
+
1217
+ promise
1218
+ end
1219
+
1220
+ #
1221
+ # Reimages all the disks ( including data disks ) in the virtual machines in a
1222
+ # VM scale set. This operation is only supported for managed disks.
1223
+ #
1224
+ # @param resource_group_name [String] The name of the resource group.
1225
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1226
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1227
+ # virtual machine instance IDs from the VM scale set.
1228
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1229
+ # will be added to the HTTP request.
1230
+ #
1231
+ def reimage_all(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1232
+ response = reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1233
+ nil
1234
+ end
1235
+
1236
+ #
1237
+ # @param resource_group_name [String] The name of the resource group.
1238
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1239
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1240
+ # virtual machine instance IDs from the VM scale set.
1241
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1242
+ # will be added to the HTTP request.
1243
+ #
1244
+ # @return [Concurrent::Promise] promise which provides async access to http
1245
+ # response.
1246
+ #
1247
+ def reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1248
+ # Send request
1249
+ promise = begin_reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers)
1250
+
1251
+ promise = promise.then do |response|
1252
+ # Defining deserialization method.
1253
+ deserialize_method = lambda do |parsed_response|
1254
+ end
1255
+
1256
+ # Waiting for response.
1257
+ @client.get_long_running_operation_result(response, deserialize_method)
1258
+ end
1259
+
1260
+ promise
1261
+ end
1262
+
1263
+ #
1264
+ # Manual platform update domain walk to update virtual machines in a service
1265
+ # fabric virtual machine scale set.
1266
+ #
1267
+ # @param resource_group_name [String] The name of the resource group.
1268
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1269
+ # @param platform_update_domain [Integer] The platform update domain for which
1270
+ # a manual recovery walk is requested
1271
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1272
+ # will be added to the HTTP request.
1273
+ #
1274
+ # @return [RecoveryWalkResponse] operation results.
1275
+ #
1276
+ def force_recovery_service_fabric_platform_update_domain_walk(resource_group_name, vm_scale_set_name, platform_update_domain, custom_headers:nil)
1277
+ response = force_recovery_service_fabric_platform_update_domain_walk_async(resource_group_name, vm_scale_set_name, platform_update_domain, custom_headers:custom_headers).value!
1278
+ response.body unless response.nil?
1279
+ end
1280
+
1281
+ #
1282
+ # Manual platform update domain walk to update virtual machines in a service
1283
+ # fabric virtual machine scale set.
1284
+ #
1285
+ # @param resource_group_name [String] The name of the resource group.
1286
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1287
+ # @param platform_update_domain [Integer] The platform update domain for which
1288
+ # a manual recovery walk is requested
1289
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1290
+ # will be added to the HTTP request.
1291
+ #
1292
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1293
+ #
1294
+ def force_recovery_service_fabric_platform_update_domain_walk_with_http_info(resource_group_name, vm_scale_set_name, platform_update_domain, custom_headers:nil)
1295
+ force_recovery_service_fabric_platform_update_domain_walk_async(resource_group_name, vm_scale_set_name, platform_update_domain, custom_headers:custom_headers).value!
1296
+ end
1297
+
1298
+ #
1299
+ # Manual platform update domain walk to update virtual machines in a service
1300
+ # fabric virtual machine scale set.
1301
+ #
1302
+ # @param resource_group_name [String] The name of the resource group.
1303
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1304
+ # @param platform_update_domain [Integer] The platform update domain for which
1305
+ # a manual recovery walk is requested
1306
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1307
+ # to the HTTP request.
1308
+ #
1309
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1310
+ #
1311
+ def force_recovery_service_fabric_platform_update_domain_walk_async(resource_group_name, vm_scale_set_name, platform_update_domain, custom_headers:nil)
1312
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1313
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1314
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1315
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1316
+ fail ArgumentError, 'platform_update_domain is nil' if platform_update_domain.nil?
1317
+
1318
+
1319
+ request_headers = {}
1320
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1321
+
1322
+ # Set Headers
1323
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1324
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1325
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk'
1326
+
1327
+ request_url = @base_url || @client.base_url
1328
+
1329
+ options = {
1330
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1331
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1332
+ query_params: {'api-version' => @client.api_version,'platformUpdateDomain' => platform_update_domain},
1333
+ headers: request_headers.merge(custom_headers || {}),
1334
+ base_url: request_url
1335
+ }
1336
+ promise = @client.make_request_async(:post, path_template, options)
1337
+
1338
+ promise = promise.then do |result|
1339
+ http_response = result.response
1340
+ status_code = http_response.status
1341
+ response_content = http_response.body
1342
+ unless status_code == 200
1343
+ error_model = JSON.load(response_content)
1344
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1345
+ end
1346
+
1347
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1348
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1349
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1350
+ # Deserialize Response
1351
+ if status_code == 200
1352
+ begin
1353
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1354
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::RecoveryWalkResponse.mapper()
1355
+ result.body = @client.deserialize(result_mapper, parsed_response)
1356
+ rescue Exception => e
1357
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1358
+ end
1359
+ end
1360
+
1361
+ result
1362
+ end
1363
+
1364
+ promise.execute
1365
+ end
1366
+
1367
+ #
1368
+ # Converts SinglePlacementGroup property to false for a existing virtual
1369
+ # machine scale set.
1370
+ #
1371
+ # @param resource_group_name [String] The name of the resource group.
1372
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
1373
+ # to create or update.
1374
+ # @param parameters [VMScaleSetConvertToSinglePlacementGroupInput] The input
1375
+ # object for ConvertToSinglePlacementGroup API.
1376
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1377
+ # will be added to the HTTP request.
1378
+ #
1379
+ #
1380
+ def convert_to_single_placement_group(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1381
+ response = convert_to_single_placement_group_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1382
+ nil
1383
+ end
1384
+
1385
+ #
1386
+ # Converts SinglePlacementGroup property to false for a existing virtual
1387
+ # machine scale set.
1388
+ #
1389
+ # @param resource_group_name [String] The name of the resource group.
1390
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
1391
+ # to create or update.
1392
+ # @param parameters [VMScaleSetConvertToSinglePlacementGroupInput] The input
1393
+ # object for ConvertToSinglePlacementGroup API.
1394
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1395
+ # will be added to the HTTP request.
1396
+ #
1397
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1398
+ #
1399
+ def convert_to_single_placement_group_with_http_info(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1400
+ convert_to_single_placement_group_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1401
+ end
1402
+
1403
+ #
1404
+ # Converts SinglePlacementGroup property to false for a existing virtual
1405
+ # machine scale set.
1406
+ #
1407
+ # @param resource_group_name [String] The name of the resource group.
1408
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
1409
+ # to create or update.
1410
+ # @param parameters [VMScaleSetConvertToSinglePlacementGroupInput] The input
1411
+ # object for ConvertToSinglePlacementGroup API.
1412
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1413
+ # to the HTTP request.
1414
+ #
1415
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1416
+ #
1417
+ def convert_to_single_placement_group_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1418
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1419
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1420
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
1421
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1422
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1423
+
1424
+
1425
+ request_headers = {}
1426
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1427
+
1428
+ # Set Headers
1429
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1430
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1431
+
1432
+ # Serialize Request
1433
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VMScaleSetConvertToSinglePlacementGroupInput.mapper()
1434
+ request_content = @client.serialize(request_mapper, parameters)
1435
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1436
+
1437
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup'
1438
+
1439
+ request_url = @base_url || @client.base_url
1440
+
1441
+ options = {
1442
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1443
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1444
+ query_params: {'api-version' => @client.api_version},
1445
+ body: request_content,
1446
+ headers: request_headers.merge(custom_headers || {}),
1447
+ base_url: request_url
1448
+ }
1449
+ promise = @client.make_request_async(:post, path_template, options)
1450
+
1451
+ promise = promise.then do |result|
1452
+ http_response = result.response
1453
+ status_code = http_response.status
1454
+ response_content = http_response.body
1455
+ unless status_code == 200
1456
+ error_model = JSON.load(response_content)
1457
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1458
+ end
1459
+
1460
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1461
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1462
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1463
+
1464
+ result
1465
+ end
1466
+
1467
+ promise.execute
1468
+ end
1469
+
1470
+ #
1471
+ # Changes ServiceState property for a given service
1472
+ #
1473
+ # @param resource_group_name [String] The name of the resource group.
1474
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
1475
+ # to create or update.
1476
+ # @param parameters [OrchestrationServiceStateInput] The input object for
1477
+ # SetOrchestrationServiceState API.
1478
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1479
+ # will be added to the HTTP request.
1480
+ #
1481
+ def set_orchestration_service_state(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1482
+ response = set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1483
+ nil
1484
+ end
1485
+
1486
+ #
1487
+ # @param resource_group_name [String] The name of the resource group.
1488
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
1489
+ # to create or update.
1490
+ # @param parameters [OrchestrationServiceStateInput] The input object for
1491
+ # SetOrchestrationServiceState API.
1492
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1493
+ # will be added to the HTTP request.
1494
+ #
1495
+ # @return [Concurrent::Promise] promise which provides async access to http
1496
+ # response.
1497
+ #
1498
+ def set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1499
+ # Send request
1500
+ promise = begin_set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers)
1501
+
1502
+ promise = promise.then do |response|
1503
+ # Defining deserialization method.
1504
+ deserialize_method = lambda do |parsed_response|
1505
+ end
1506
+
1507
+ # Waiting for response.
1508
+ @client.get_long_running_operation_result(response, deserialize_method)
1509
+ end
1510
+
1511
+ promise
1512
+ end
1513
+
1514
+ #
1515
+ # Create or update a VM scale set.
1516
+ #
1517
+ # @param resource_group_name [String] The name of the resource group.
1518
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1519
+ # update.
1520
+ # @param parameters [VirtualMachineScaleSet] The scale set object.
1521
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1522
+ # will be added to the HTTP request.
1523
+ #
1524
+ # @return [VirtualMachineScaleSet] operation results.
1525
+ #
1526
+ def begin_create_or_update(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1527
+ response = begin_create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1528
+ response.body unless response.nil?
1529
+ end
1530
+
1531
+ #
1532
+ # Create or update a VM scale set.
1533
+ #
1534
+ # @param resource_group_name [String] The name of the resource group.
1535
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1536
+ # update.
1537
+ # @param parameters [VirtualMachineScaleSet] The scale set object.
1538
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1539
+ # will be added to the HTTP request.
1540
+ #
1541
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1542
+ #
1543
+ def begin_create_or_update_with_http_info(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1544
+ begin_create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1545
+ end
1546
+
1547
+ #
1548
+ # Create or update a VM scale set.
1549
+ #
1550
+ # @param resource_group_name [String] The name of the resource group.
1551
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1552
+ # update.
1553
+ # @param parameters [VirtualMachineScaleSet] The scale set object.
1554
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1555
+ # to the HTTP request.
1556
+ #
1557
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1558
+ #
1559
+ def begin_create_or_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1560
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1561
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1562
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
1563
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1564
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1565
+
1566
+
1567
+ request_headers = {}
1568
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1569
+
1570
+ # Set Headers
1571
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1572
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1573
+
1574
+ # Serialize Request
1575
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
1576
+ request_content = @client.serialize(request_mapper, parameters)
1577
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1578
+
1579
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}'
1580
+
1581
+ request_url = @base_url || @client.base_url
1582
+
1583
+ options = {
1584
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1585
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1586
+ query_params: {'api-version' => @client.api_version},
1587
+ body: request_content,
1588
+ headers: request_headers.merge(custom_headers || {}),
1589
+ base_url: request_url
1590
+ }
1591
+ promise = @client.make_request_async(:put, path_template, options)
1592
+
1593
+ promise = promise.then do |result|
1594
+ http_response = result.response
1595
+ status_code = http_response.status
1596
+ response_content = http_response.body
1597
+ unless status_code == 200 || status_code == 201
1598
+ error_model = JSON.load(response_content)
1599
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1600
+ end
1601
+
1602
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1603
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1604
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1605
+ # Deserialize Response
1606
+ if status_code == 200
1607
+ begin
1608
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1609
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
1610
+ result.body = @client.deserialize(result_mapper, parsed_response)
1611
+ rescue Exception => e
1612
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1613
+ end
1614
+ end
1615
+ # Deserialize Response
1616
+ if status_code == 201
1617
+ begin
1618
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1619
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
1620
+ result.body = @client.deserialize(result_mapper, parsed_response)
1621
+ rescue Exception => e
1622
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1623
+ end
1624
+ end
1625
+
1626
+ result
1627
+ end
1628
+
1629
+ promise.execute
1630
+ end
1631
+
1632
+ #
1633
+ # Update a VM scale set.
1634
+ #
1635
+ # @param resource_group_name [String] The name of the resource group.
1636
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1637
+ # update.
1638
+ # @param parameters [VirtualMachineScaleSetUpdate] The scale set object.
1639
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1640
+ # will be added to the HTTP request.
1641
+ #
1642
+ # @return [VirtualMachineScaleSet] operation results.
1643
+ #
1644
+ def begin_update(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1645
+ response = begin_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1646
+ response.body unless response.nil?
1647
+ end
1648
+
1649
+ #
1650
+ # Update a VM scale set.
1651
+ #
1652
+ # @param resource_group_name [String] The name of the resource group.
1653
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1654
+ # update.
1655
+ # @param parameters [VirtualMachineScaleSetUpdate] The scale set object.
1656
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1657
+ # will be added to the HTTP request.
1658
+ #
1659
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1660
+ #
1661
+ def begin_update_with_http_info(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1662
+ begin_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
1663
+ end
1664
+
1665
+ #
1666
+ # Update a VM scale set.
1667
+ #
1668
+ # @param resource_group_name [String] The name of the resource group.
1669
+ # @param vm_scale_set_name [String] The name of the VM scale set to create or
1670
+ # update.
1671
+ # @param parameters [VirtualMachineScaleSetUpdate] The scale set object.
1672
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1673
+ # to the HTTP request.
1674
+ #
1675
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1676
+ #
1677
+ def begin_update_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
1678
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1679
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1680
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
1681
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1682
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1683
+
1684
+
1685
+ request_headers = {}
1686
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1687
+
1688
+ # Set Headers
1689
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1690
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1691
+
1692
+ # Serialize Request
1693
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetUpdate.mapper()
1694
+ request_content = @client.serialize(request_mapper, parameters)
1695
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1696
+
1697
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}'
1698
+
1699
+ request_url = @base_url || @client.base_url
1700
+
1701
+ options = {
1702
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1703
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1704
+ query_params: {'api-version' => @client.api_version},
1705
+ body: request_content,
1706
+ headers: request_headers.merge(custom_headers || {}),
1707
+ base_url: request_url
1708
+ }
1709
+ promise = @client.make_request_async(:patch, path_template, options)
1710
+
1711
+ promise = promise.then do |result|
1712
+ http_response = result.response
1713
+ status_code = http_response.status
1714
+ response_content = http_response.body
1715
+ unless status_code == 200
1716
+ error_model = JSON.load(response_content)
1717
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1718
+ end
1719
+
1720
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1721
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1722
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1723
+ # Deserialize Response
1724
+ if status_code == 200
1725
+ begin
1726
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1727
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSet.mapper()
1728
+ result.body = @client.deserialize(result_mapper, parsed_response)
1729
+ rescue Exception => e
1730
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1731
+ end
1732
+ end
1733
+
1734
+ result
1735
+ end
1736
+
1737
+ promise.execute
1738
+ end
1739
+
1740
+ #
1741
+ # Deletes a VM scale set.
1742
+ #
1743
+ # @param resource_group_name [String] The name of the resource group.
1744
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1745
+ # @param force_deletion [Boolean] Optional parameter to force delete a VM scale
1746
+ # set. (Feature in Preview)
1747
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1748
+ # will be added to the HTTP request.
1749
+ #
1750
+ #
1751
+ def begin_delete(resource_group_name, vm_scale_set_name, force_deletion:nil, custom_headers:nil)
1752
+ response = begin_delete_async(resource_group_name, vm_scale_set_name, force_deletion:force_deletion, custom_headers:custom_headers).value!
1753
+ nil
1754
+ end
1755
+
1756
+ #
1757
+ # Deletes a VM scale set.
1758
+ #
1759
+ # @param resource_group_name [String] The name of the resource group.
1760
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1761
+ # @param force_deletion [Boolean] Optional parameter to force delete a VM scale
1762
+ # set. (Feature in Preview)
1763
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1764
+ # will be added to the HTTP request.
1765
+ #
1766
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1767
+ #
1768
+ def begin_delete_with_http_info(resource_group_name, vm_scale_set_name, force_deletion:nil, custom_headers:nil)
1769
+ begin_delete_async(resource_group_name, vm_scale_set_name, force_deletion:force_deletion, custom_headers:custom_headers).value!
1770
+ end
1771
+
1772
+ #
1773
+ # Deletes a VM scale set.
1774
+ #
1775
+ # @param resource_group_name [String] The name of the resource group.
1776
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1777
+ # @param force_deletion [Boolean] Optional parameter to force delete a VM scale
1778
+ # set. (Feature in Preview)
1779
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1780
+ # to the HTTP request.
1781
+ #
1782
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1783
+ #
1784
+ def begin_delete_async(resource_group_name, vm_scale_set_name, force_deletion:nil, custom_headers:nil)
1785
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1786
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1787
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1788
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1789
+
1790
+
1791
+ request_headers = {}
1792
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1793
+
1794
+ # Set Headers
1795
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1796
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1797
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}'
1798
+
1799
+ request_url = @base_url || @client.base_url
1800
+
1801
+ options = {
1802
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1803
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1804
+ query_params: {'forceDeletion' => force_deletion,'api-version' => @client.api_version},
1805
+ headers: request_headers.merge(custom_headers || {}),
1806
+ base_url: request_url
1807
+ }
1808
+ promise = @client.make_request_async(:delete, path_template, options)
1809
+
1810
+ promise = promise.then do |result|
1811
+ http_response = result.response
1812
+ status_code = http_response.status
1813
+ response_content = http_response.body
1814
+ unless status_code == 200 || status_code == 202 || status_code == 204
1815
+ error_model = JSON.load(response_content)
1816
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1817
+ end
1818
+
1819
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1820
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1821
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1822
+
1823
+ result
1824
+ end
1825
+
1826
+ promise.execute
1827
+ end
1828
+
1829
+ #
1830
+ # Deallocates specific virtual machines in a VM scale set. Shuts down the
1831
+ # virtual machines and releases the compute resources. You are not billed for
1832
+ # the compute resources that this virtual machine scale set deallocates.
1833
+ #
1834
+ # @param resource_group_name [String] The name of the resource group.
1835
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1836
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1837
+ # virtual machine instance IDs from the VM scale set.
1838
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1839
+ # will be added to the HTTP request.
1840
+ #
1841
+ #
1842
+ def begin_deallocate(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1843
+ response = begin_deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1844
+ nil
1845
+ end
1846
+
1847
+ #
1848
+ # Deallocates specific virtual machines in a VM scale set. Shuts down the
1849
+ # virtual machines and releases the compute resources. You are not billed for
1850
+ # the compute resources that this virtual machine scale set deallocates.
1851
+ #
1852
+ # @param resource_group_name [String] The name of the resource group.
1853
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1854
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1855
+ # virtual machine instance IDs from the VM scale set.
1856
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1857
+ # will be added to the HTTP request.
1858
+ #
1859
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1860
+ #
1861
+ def begin_deallocate_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1862
+ begin_deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
1863
+ end
1864
+
1865
+ #
1866
+ # Deallocates specific virtual machines in a VM scale set. Shuts down the
1867
+ # virtual machines and releases the compute resources. You are not billed for
1868
+ # the compute resources that this virtual machine scale set deallocates.
1869
+ #
1870
+ # @param resource_group_name [String] The name of the resource group.
1871
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1872
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
1873
+ # virtual machine instance IDs from the VM scale set.
1874
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1875
+ # to the HTTP request.
1876
+ #
1877
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1878
+ #
1879
+ def begin_deallocate_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
1880
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1881
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1882
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1883
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1884
+
1885
+
1886
+ request_headers = {}
1887
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1888
+
1889
+ # Set Headers
1890
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1891
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1892
+
1893
+ # Serialize Request
1894
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
1895
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
1896
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1897
+
1898
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate'
1899
+
1900
+ request_url = @base_url || @client.base_url
1901
+
1902
+ options = {
1903
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1904
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
1905
+ query_params: {'api-version' => @client.api_version},
1906
+ body: request_content,
1907
+ headers: request_headers.merge(custom_headers || {}),
1908
+ base_url: request_url
1909
+ }
1910
+ promise = @client.make_request_async(:post, path_template, options)
1911
+
1912
+ promise = promise.then do |result|
1913
+ http_response = result.response
1914
+ status_code = http_response.status
1915
+ response_content = http_response.body
1916
+ unless status_code == 200 || status_code == 202
1917
+ error_model = JSON.load(response_content)
1918
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1919
+ end
1920
+
1921
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1922
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1923
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1924
+
1925
+ result
1926
+ end
1927
+
1928
+ promise.execute
1929
+ end
1930
+
1931
+ #
1932
+ # Deletes virtual machines in a VM scale set.
1933
+ #
1934
+ # @param resource_group_name [String] The name of the resource group.
1935
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1936
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
1937
+ # of virtual machine instance IDs from the VM scale set.
1938
+ # @param force_deletion [Boolean] Optional parameter to force delete virtual
1939
+ # machines from the VM scale set. (Feature in Preview)
1940
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1941
+ # will be added to the HTTP request.
1942
+ #
1943
+ #
1944
+ def begin_delete_instances(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:nil, custom_headers:nil)
1945
+ response = begin_delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:force_deletion, custom_headers:custom_headers).value!
1946
+ nil
1947
+ end
1948
+
1949
+ #
1950
+ # Deletes virtual machines in a VM scale set.
1951
+ #
1952
+ # @param resource_group_name [String] The name of the resource group.
1953
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1954
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
1955
+ # of virtual machine instance IDs from the VM scale set.
1956
+ # @param force_deletion [Boolean] Optional parameter to force delete virtual
1957
+ # machines from the VM scale set. (Feature in Preview)
1958
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1959
+ # will be added to the HTTP request.
1960
+ #
1961
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1962
+ #
1963
+ def begin_delete_instances_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:nil, custom_headers:nil)
1964
+ begin_delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:force_deletion, custom_headers:custom_headers).value!
1965
+ end
1966
+
1967
+ #
1968
+ # Deletes virtual machines in a VM scale set.
1969
+ #
1970
+ # @param resource_group_name [String] The name of the resource group.
1971
+ # @param vm_scale_set_name [String] The name of the VM scale set.
1972
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
1973
+ # of virtual machine instance IDs from the VM scale set.
1974
+ # @param force_deletion [Boolean] Optional parameter to force delete virtual
1975
+ # machines from the VM scale set. (Feature in Preview)
1976
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1977
+ # to the HTTP request.
1978
+ #
1979
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1980
+ #
1981
+ def begin_delete_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, force_deletion:nil, custom_headers:nil)
1982
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1983
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
1984
+ fail ArgumentError, 'vm_instance_ids is nil' if vm_instance_ids.nil?
1985
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1986
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1987
+
1988
+
1989
+ request_headers = {}
1990
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1991
+
1992
+ # Set Headers
1993
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1994
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1995
+
1996
+ # Serialize Request
1997
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceRequiredIDs.mapper()
1998
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
1999
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2000
+
2001
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete'
2002
+
2003
+ request_url = @base_url || @client.base_url
2004
+
2005
+ options = {
2006
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2007
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2008
+ query_params: {'forceDeletion' => force_deletion,'api-version' => @client.api_version},
2009
+ body: request_content,
2010
+ headers: request_headers.merge(custom_headers || {}),
2011
+ base_url: request_url
2012
+ }
2013
+ promise = @client.make_request_async(:post, path_template, options)
2014
+
2015
+ promise = promise.then do |result|
2016
+ http_response = result.response
2017
+ status_code = http_response.status
2018
+ response_content = http_response.body
2019
+ unless status_code == 200 || status_code == 202
2020
+ error_model = JSON.load(response_content)
2021
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2022
+ end
2023
+
2024
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2025
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2026
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2027
+
2028
+ result
2029
+ end
2030
+
2031
+ promise.execute
2032
+ end
2033
+
2034
+ #
2035
+ # Power off (stop) one or more virtual machines in a VM scale set. Note that
2036
+ # resources are still attached and you are getting charged for the resources.
2037
+ # Instead, use deallocate to release resources and avoid charges.
2038
+ #
2039
+ # @param resource_group_name [String] The name of the resource group.
2040
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2041
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2042
+ # virtual machine instance IDs from the VM scale set.
2043
+ # @param skip_shutdown [Boolean] The parameter to request non-graceful VM
2044
+ # shutdown. True value for this flag indicates non-graceful shutdown whereas
2045
+ # false indicates otherwise. Default value for this flag is false if not
2046
+ # specified
2047
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2048
+ # will be added to the HTTP request.
2049
+ #
2050
+ #
2051
+ def begin_power_off(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, skip_shutdown:false, custom_headers:nil)
2052
+ response = begin_power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, skip_shutdown:skip_shutdown, custom_headers:custom_headers).value!
2053
+ nil
2054
+ end
2055
+
2056
+ #
2057
+ # Power off (stop) one or more virtual machines in a VM scale set. Note that
2058
+ # resources are still attached and you are getting charged for the resources.
2059
+ # Instead, use deallocate to release resources and avoid charges.
2060
+ #
2061
+ # @param resource_group_name [String] The name of the resource group.
2062
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2063
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2064
+ # virtual machine instance IDs from the VM scale set.
2065
+ # @param skip_shutdown [Boolean] The parameter to request non-graceful VM
2066
+ # shutdown. True value for this flag indicates non-graceful shutdown whereas
2067
+ # false indicates otherwise. Default value for this flag is false if not
2068
+ # specified
2069
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2070
+ # will be added to the HTTP request.
2071
+ #
2072
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2073
+ #
2074
+ def begin_power_off_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, skip_shutdown:false, custom_headers:nil)
2075
+ begin_power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, skip_shutdown:skip_shutdown, custom_headers:custom_headers).value!
2076
+ end
2077
+
2078
+ #
2079
+ # Power off (stop) one or more virtual machines in a VM scale set. Note that
2080
+ # resources are still attached and you are getting charged for the resources.
2081
+ # Instead, use deallocate to release resources and avoid charges.
2082
+ #
2083
+ # @param resource_group_name [String] The name of the resource group.
2084
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2085
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2086
+ # virtual machine instance IDs from the VM scale set.
2087
+ # @param skip_shutdown [Boolean] The parameter to request non-graceful VM
2088
+ # shutdown. True value for this flag indicates non-graceful shutdown whereas
2089
+ # false indicates otherwise. Default value for this flag is false if not
2090
+ # specified
2091
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2092
+ # to the HTTP request.
2093
+ #
2094
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2095
+ #
2096
+ def begin_power_off_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, skip_shutdown:false, custom_headers:nil)
2097
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2098
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2099
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2100
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2101
+
2102
+
2103
+ request_headers = {}
2104
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2105
+
2106
+ # Set Headers
2107
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2108
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2109
+
2110
+ # Serialize Request
2111
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2112
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2113
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2114
+
2115
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff'
2116
+
2117
+ request_url = @base_url || @client.base_url
2118
+
2119
+ options = {
2120
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2121
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2122
+ query_params: {'skipShutdown' => skip_shutdown,'api-version' => @client.api_version},
2123
+ body: request_content,
2124
+ headers: request_headers.merge(custom_headers || {}),
2125
+ base_url: request_url
2126
+ }
2127
+ promise = @client.make_request_async(:post, path_template, options)
2128
+
2129
+ promise = promise.then do |result|
2130
+ http_response = result.response
2131
+ status_code = http_response.status
2132
+ response_content = http_response.body
2133
+ unless status_code == 200 || status_code == 202
2134
+ error_model = JSON.load(response_content)
2135
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2136
+ end
2137
+
2138
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2139
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2140
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2141
+
2142
+ result
2143
+ end
2144
+
2145
+ promise.execute
2146
+ end
2147
+
2148
+ #
2149
+ # Restarts one or more virtual machines in a VM scale set.
2150
+ #
2151
+ # @param resource_group_name [String] The name of the resource group.
2152
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2153
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2154
+ # virtual machine instance IDs from the VM scale set.
2155
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2156
+ # will be added to the HTTP request.
2157
+ #
2158
+ #
2159
+ def begin_restart(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2160
+ response = begin_restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2161
+ nil
2162
+ end
2163
+
2164
+ #
2165
+ # Restarts one or more virtual machines in a VM scale set.
2166
+ #
2167
+ # @param resource_group_name [String] The name of the resource group.
2168
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2169
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2170
+ # virtual machine instance IDs from the VM scale set.
2171
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2172
+ # will be added to the HTTP request.
2173
+ #
2174
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2175
+ #
2176
+ def begin_restart_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2177
+ begin_restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2178
+ end
2179
+
2180
+ #
2181
+ # Restarts one or more virtual machines in a VM scale set.
2182
+ #
2183
+ # @param resource_group_name [String] The name of the resource group.
2184
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2185
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2186
+ # virtual machine instance IDs from the VM scale set.
2187
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2188
+ # to the HTTP request.
2189
+ #
2190
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2191
+ #
2192
+ def begin_restart_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2193
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2194
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2195
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2196
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2197
+
2198
+
2199
+ request_headers = {}
2200
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2201
+
2202
+ # Set Headers
2203
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2204
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2205
+
2206
+ # Serialize Request
2207
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2208
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2209
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2210
+
2211
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart'
2212
+
2213
+ request_url = @base_url || @client.base_url
2214
+
2215
+ options = {
2216
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2217
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2218
+ query_params: {'api-version' => @client.api_version},
2219
+ body: request_content,
2220
+ headers: request_headers.merge(custom_headers || {}),
2221
+ base_url: request_url
2222
+ }
2223
+ promise = @client.make_request_async(:post, path_template, options)
2224
+
2225
+ promise = promise.then do |result|
2226
+ http_response = result.response
2227
+ status_code = http_response.status
2228
+ response_content = http_response.body
2229
+ unless status_code == 200 || status_code == 202
2230
+ error_model = JSON.load(response_content)
2231
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2232
+ end
2233
+
2234
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2235
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2236
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2237
+
2238
+ result
2239
+ end
2240
+
2241
+ promise.execute
2242
+ end
2243
+
2244
+ #
2245
+ # Starts one or more virtual machines in a VM scale set.
2246
+ #
2247
+ # @param resource_group_name [String] The name of the resource group.
2248
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2249
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2250
+ # virtual machine instance IDs from the VM scale set.
2251
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2252
+ # will be added to the HTTP request.
2253
+ #
2254
+ #
2255
+ def begin_start(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2256
+ response = begin_start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2257
+ nil
2258
+ end
2259
+
2260
+ #
2261
+ # Starts one or more virtual machines in a VM scale set.
2262
+ #
2263
+ # @param resource_group_name [String] The name of the resource group.
2264
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2265
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2266
+ # virtual machine instance IDs from the VM scale set.
2267
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2268
+ # will be added to the HTTP request.
2269
+ #
2270
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2271
+ #
2272
+ def begin_start_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2273
+ begin_start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2274
+ end
2275
+
2276
+ #
2277
+ # Starts one or more virtual machines in a VM scale set.
2278
+ #
2279
+ # @param resource_group_name [String] The name of the resource group.
2280
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2281
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2282
+ # virtual machine instance IDs from the VM scale set.
2283
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2284
+ # to the HTTP request.
2285
+ #
2286
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2287
+ #
2288
+ def begin_start_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2289
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2290
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2291
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2292
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2293
+
2294
+
2295
+ request_headers = {}
2296
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2297
+
2298
+ # Set Headers
2299
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2300
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2301
+
2302
+ # Serialize Request
2303
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2304
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2305
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2306
+
2307
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start'
2308
+
2309
+ request_url = @base_url || @client.base_url
2310
+
2311
+ options = {
2312
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2313
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2314
+ query_params: {'api-version' => @client.api_version},
2315
+ body: request_content,
2316
+ headers: request_headers.merge(custom_headers || {}),
2317
+ base_url: request_url
2318
+ }
2319
+ promise = @client.make_request_async(:post, path_template, options)
2320
+
2321
+ promise = promise.then do |result|
2322
+ http_response = result.response
2323
+ status_code = http_response.status
2324
+ response_content = http_response.body
2325
+ unless status_code == 200 || status_code == 202
2326
+ error_model = JSON.load(response_content)
2327
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2328
+ end
2329
+
2330
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2331
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2332
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2333
+
2334
+ result
2335
+ end
2336
+
2337
+ promise.execute
2338
+ end
2339
+
2340
+ #
2341
+ # Shuts down all the virtual machines in the virtual machine scale set, moves
2342
+ # them to a new node, and powers them back on.
2343
+ #
2344
+ # @param resource_group_name [String] The name of the resource group.
2345
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2346
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2347
+ # virtual machine instance IDs from the VM scale set.
2348
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2349
+ # will be added to the HTTP request.
2350
+ #
2351
+ #
2352
+ def begin_redeploy(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2353
+ response = begin_redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2354
+ nil
2355
+ end
2356
+
2357
+ #
2358
+ # Shuts down all the virtual machines in the virtual machine scale set, moves
2359
+ # them to a new node, and powers them back on.
2360
+ #
2361
+ # @param resource_group_name [String] The name of the resource group.
2362
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2363
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2364
+ # virtual machine instance IDs from the VM scale set.
2365
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2366
+ # will be added to the HTTP request.
2367
+ #
2368
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2369
+ #
2370
+ def begin_redeploy_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2371
+ begin_redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2372
+ end
2373
+
2374
+ #
2375
+ # Shuts down all the virtual machines in the virtual machine scale set, moves
2376
+ # them to a new node, and powers them back on.
2377
+ #
2378
+ # @param resource_group_name [String] The name of the resource group.
2379
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2380
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2381
+ # virtual machine instance IDs from the VM scale set.
2382
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2383
+ # to the HTTP request.
2384
+ #
2385
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2386
+ #
2387
+ def begin_redeploy_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2388
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2389
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2390
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2391
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2392
+
2393
+
2394
+ request_headers = {}
2395
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2396
+
2397
+ # Set Headers
2398
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2399
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2400
+
2401
+ # Serialize Request
2402
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2403
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2404
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2405
+
2406
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy'
2407
+
2408
+ request_url = @base_url || @client.base_url
2409
+
2410
+ options = {
2411
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2412
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2413
+ query_params: {'api-version' => @client.api_version},
2414
+ body: request_content,
2415
+ headers: request_headers.merge(custom_headers || {}),
2416
+ base_url: request_url
2417
+ }
2418
+ promise = @client.make_request_async(:post, path_template, options)
2419
+
2420
+ promise = promise.then do |result|
2421
+ http_response = result.response
2422
+ status_code = http_response.status
2423
+ response_content = http_response.body
2424
+ unless status_code == 200 || status_code == 202
2425
+ error_model = JSON.load(response_content)
2426
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2427
+ end
2428
+
2429
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2430
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2431
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2432
+
2433
+ result
2434
+ end
2435
+
2436
+ promise.execute
2437
+ end
2438
+
2439
+ #
2440
+ # Perform maintenance on one or more virtual machines in a VM scale set.
2441
+ # Operation on instances which are not eligible for perform maintenance will be
2442
+ # failed. Please refer to best practices for more details:
2443
+ # https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications
2444
+ #
2445
+ # @param resource_group_name [String] The name of the resource group.
2446
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2447
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2448
+ # virtual machine instance IDs from the VM scale set.
2449
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2450
+ # will be added to the HTTP request.
2451
+ #
2452
+ #
2453
+ def begin_perform_maintenance(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2454
+ response = begin_perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2455
+ nil
2456
+ end
2457
+
2458
+ #
2459
+ # Perform maintenance on one or more virtual machines in a VM scale set.
2460
+ # Operation on instances which are not eligible for perform maintenance will be
2461
+ # failed. Please refer to best practices for more details:
2462
+ # https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications
2463
+ #
2464
+ # @param resource_group_name [String] The name of the resource group.
2465
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2466
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2467
+ # virtual machine instance IDs from the VM scale set.
2468
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2469
+ # will be added to the HTTP request.
2470
+ #
2471
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2472
+ #
2473
+ def begin_perform_maintenance_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2474
+ begin_perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2475
+ end
2476
+
2477
+ #
2478
+ # Perform maintenance on one or more virtual machines in a VM scale set.
2479
+ # Operation on instances which are not eligible for perform maintenance will be
2480
+ # failed. Please refer to best practices for more details:
2481
+ # https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications
2482
+ #
2483
+ # @param resource_group_name [String] The name of the resource group.
2484
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2485
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2486
+ # virtual machine instance IDs from the VM scale set.
2487
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2488
+ # to the HTTP request.
2489
+ #
2490
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2491
+ #
2492
+ def begin_perform_maintenance_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2493
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2494
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2495
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2496
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2497
+
2498
+
2499
+ request_headers = {}
2500
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2501
+
2502
+ # Set Headers
2503
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2504
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2505
+
2506
+ # Serialize Request
2507
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2508
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2509
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2510
+
2511
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance'
2512
+
2513
+ request_url = @base_url || @client.base_url
2514
+
2515
+ options = {
2516
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2517
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2518
+ query_params: {'api-version' => @client.api_version},
2519
+ body: request_content,
2520
+ headers: request_headers.merge(custom_headers || {}),
2521
+ base_url: request_url
2522
+ }
2523
+ promise = @client.make_request_async(:post, path_template, options)
2524
+
2525
+ promise = promise.then do |result|
2526
+ http_response = result.response
2527
+ status_code = http_response.status
2528
+ response_content = http_response.body
2529
+ unless status_code == 200 || status_code == 202
2530
+ error_model = JSON.load(response_content)
2531
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2532
+ end
2533
+
2534
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2535
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2536
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2537
+
2538
+ result
2539
+ end
2540
+
2541
+ promise.execute
2542
+ end
2543
+
2544
+ #
2545
+ # Upgrades one or more virtual machines to the latest SKU set in the VM scale
2546
+ # set model.
2547
+ #
2548
+ # @param resource_group_name [String] The name of the resource group.
2549
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2550
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
2551
+ # of virtual machine instance IDs from the VM scale set.
2552
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2553
+ # will be added to the HTTP request.
2554
+ #
2555
+ #
2556
+ def begin_update_instances(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:nil)
2557
+ response = begin_update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:custom_headers).value!
2558
+ nil
2559
+ end
2560
+
2561
+ #
2562
+ # Upgrades one or more virtual machines to the latest SKU set in the VM scale
2563
+ # set model.
2564
+ #
2565
+ # @param resource_group_name [String] The name of the resource group.
2566
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2567
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
2568
+ # of virtual machine instance IDs from the VM scale set.
2569
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2570
+ # will be added to the HTTP request.
2571
+ #
2572
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2573
+ #
2574
+ def begin_update_instances_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:nil)
2575
+ begin_update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:custom_headers).value!
2576
+ end
2577
+
2578
+ #
2579
+ # Upgrades one or more virtual machines to the latest SKU set in the VM scale
2580
+ # set model.
2581
+ #
2582
+ # @param resource_group_name [String] The name of the resource group.
2583
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2584
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceRequiredIDs] A list
2585
+ # of virtual machine instance IDs from the VM scale set.
2586
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2587
+ # to the HTTP request.
2588
+ #
2589
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2590
+ #
2591
+ def begin_update_instances_async(resource_group_name, vm_scale_set_name, vm_instance_ids, custom_headers:nil)
2592
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2593
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2594
+ fail ArgumentError, 'vm_instance_ids is nil' if vm_instance_ids.nil?
2595
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2596
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2597
+
2598
+
2599
+ request_headers = {}
2600
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2601
+
2602
+ # Set Headers
2603
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2604
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2605
+
2606
+ # Serialize Request
2607
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceRequiredIDs.mapper()
2608
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2609
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2610
+
2611
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade'
2612
+
2613
+ request_url = @base_url || @client.base_url
2614
+
2615
+ options = {
2616
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2617
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2618
+ query_params: {'api-version' => @client.api_version},
2619
+ body: request_content,
2620
+ headers: request_headers.merge(custom_headers || {}),
2621
+ base_url: request_url
2622
+ }
2623
+ promise = @client.make_request_async(:post, path_template, options)
2624
+
2625
+ promise = promise.then do |result|
2626
+ http_response = result.response
2627
+ status_code = http_response.status
2628
+ response_content = http_response.body
2629
+ unless status_code == 200 || status_code == 202
2630
+ error_model = JSON.load(response_content)
2631
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2632
+ end
2633
+
2634
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2635
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2636
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2637
+
2638
+ result
2639
+ end
2640
+
2641
+ promise.execute
2642
+ end
2643
+
2644
+ #
2645
+ # Reimages (upgrade the operating system) one or more virtual machines in a VM
2646
+ # scale set which don't have a ephemeral OS disk, for virtual machines who have
2647
+ # a ephemeral OS disk the virtual machine is reset to initial state.
2648
+ #
2649
+ # @param resource_group_name [String] The name of the resource group.
2650
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2651
+ # @param vm_scale_set_reimage_input [VirtualMachineScaleSetReimageParameters]
2652
+ # Parameters for Reimaging VM ScaleSet.
2653
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2654
+ # will be added to the HTTP request.
2655
+ #
2656
+ #
2657
+ def begin_reimage(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:nil, custom_headers:nil)
2658
+ response = begin_reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:vm_scale_set_reimage_input, custom_headers:custom_headers).value!
2659
+ nil
2660
+ end
2661
+
2662
+ #
2663
+ # Reimages (upgrade the operating system) one or more virtual machines in a VM
2664
+ # scale set which don't have a ephemeral OS disk, for virtual machines who have
2665
+ # a ephemeral OS disk the virtual machine is reset to initial state.
2666
+ #
2667
+ # @param resource_group_name [String] The name of the resource group.
2668
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2669
+ # @param vm_scale_set_reimage_input [VirtualMachineScaleSetReimageParameters]
2670
+ # Parameters for Reimaging VM ScaleSet.
2671
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2672
+ # will be added to the HTTP request.
2673
+ #
2674
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2675
+ #
2676
+ def begin_reimage_with_http_info(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:nil, custom_headers:nil)
2677
+ begin_reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:vm_scale_set_reimage_input, custom_headers:custom_headers).value!
2678
+ end
2679
+
2680
+ #
2681
+ # Reimages (upgrade the operating system) one or more virtual machines in a VM
2682
+ # scale set which don't have a ephemeral OS disk, for virtual machines who have
2683
+ # a ephemeral OS disk the virtual machine is reset to initial state.
2684
+ #
2685
+ # @param resource_group_name [String] The name of the resource group.
2686
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2687
+ # @param vm_scale_set_reimage_input [VirtualMachineScaleSetReimageParameters]
2688
+ # Parameters for Reimaging VM ScaleSet.
2689
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2690
+ # to the HTTP request.
2691
+ #
2692
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2693
+ #
2694
+ def begin_reimage_async(resource_group_name, vm_scale_set_name, vm_scale_set_reimage_input:nil, custom_headers:nil)
2695
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2696
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2697
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2698
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2699
+
2700
+
2701
+ request_headers = {}
2702
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2703
+
2704
+ # Set Headers
2705
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2706
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2707
+
2708
+ # Serialize Request
2709
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetReimageParameters.mapper()
2710
+ request_content = @client.serialize(request_mapper, vm_scale_set_reimage_input)
2711
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2712
+
2713
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage'
2714
+
2715
+ request_url = @base_url || @client.base_url
2716
+
2717
+ options = {
2718
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2719
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2720
+ query_params: {'api-version' => @client.api_version},
2721
+ body: request_content,
2722
+ headers: request_headers.merge(custom_headers || {}),
2723
+ base_url: request_url
2724
+ }
2725
+ promise = @client.make_request_async(:post, path_template, options)
2726
+
2727
+ promise = promise.then do |result|
2728
+ http_response = result.response
2729
+ status_code = http_response.status
2730
+ response_content = http_response.body
2731
+ unless status_code == 200 || status_code == 202
2732
+ error_model = JSON.load(response_content)
2733
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2734
+ end
2735
+
2736
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2737
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2738
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2739
+
2740
+ result
2741
+ end
2742
+
2743
+ promise.execute
2744
+ end
2745
+
2746
+ #
2747
+ # Reimages all the disks ( including data disks ) in the virtual machines in a
2748
+ # VM scale set. This operation is only supported for managed disks.
2749
+ #
2750
+ # @param resource_group_name [String] The name of the resource group.
2751
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2752
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2753
+ # virtual machine instance IDs from the VM scale set.
2754
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2755
+ # will be added to the HTTP request.
2756
+ #
2757
+ #
2758
+ def begin_reimage_all(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2759
+ response = begin_reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2760
+ nil
2761
+ end
2762
+
2763
+ #
2764
+ # Reimages all the disks ( including data disks ) in the virtual machines in a
2765
+ # VM scale set. This operation is only supported for managed disks.
2766
+ #
2767
+ # @param resource_group_name [String] The name of the resource group.
2768
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2769
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2770
+ # virtual machine instance IDs from the VM scale set.
2771
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2772
+ # will be added to the HTTP request.
2773
+ #
2774
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2775
+ #
2776
+ def begin_reimage_all_with_http_info(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2777
+ begin_reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:vm_instance_ids, custom_headers:custom_headers).value!
2778
+ end
2779
+
2780
+ #
2781
+ # Reimages all the disks ( including data disks ) in the virtual machines in a
2782
+ # VM scale set. This operation is only supported for managed disks.
2783
+ #
2784
+ # @param resource_group_name [String] The name of the resource group.
2785
+ # @param vm_scale_set_name [String] The name of the VM scale set.
2786
+ # @param vm_instance_ids [VirtualMachineScaleSetVMInstanceIDs] A list of
2787
+ # virtual machine instance IDs from the VM scale set.
2788
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2789
+ # to the HTTP request.
2790
+ #
2791
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2792
+ #
2793
+ def begin_reimage_all_async(resource_group_name, vm_scale_set_name, vm_instance_ids:nil, custom_headers:nil)
2794
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2795
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2796
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2797
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2798
+
2799
+
2800
+ request_headers = {}
2801
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2802
+
2803
+ # Set Headers
2804
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2805
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2806
+
2807
+ # Serialize Request
2808
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetVMInstanceIDs.mapper()
2809
+ request_content = @client.serialize(request_mapper, vm_instance_ids)
2810
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2811
+
2812
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall'
2813
+
2814
+ request_url = @base_url || @client.base_url
2815
+
2816
+ options = {
2817
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2818
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2819
+ query_params: {'api-version' => @client.api_version},
2820
+ body: request_content,
2821
+ headers: request_headers.merge(custom_headers || {}),
2822
+ base_url: request_url
2823
+ }
2824
+ promise = @client.make_request_async(:post, path_template, options)
2825
+
2826
+ promise = promise.then do |result|
2827
+ http_response = result.response
2828
+ status_code = http_response.status
2829
+ response_content = http_response.body
2830
+ unless status_code == 200 || status_code == 202
2831
+ error_model = JSON.load(response_content)
2832
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2833
+ end
2834
+
2835
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2836
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2837
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2838
+
2839
+ result
2840
+ end
2841
+
2842
+ promise.execute
2843
+ end
2844
+
2845
+ #
2846
+ # Changes ServiceState property for a given service
2847
+ #
2848
+ # @param resource_group_name [String] The name of the resource group.
2849
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
2850
+ # to create or update.
2851
+ # @param parameters [OrchestrationServiceStateInput] The input object for
2852
+ # SetOrchestrationServiceState API.
2853
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2854
+ # will be added to the HTTP request.
2855
+ #
2856
+ #
2857
+ def begin_set_orchestration_service_state(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
2858
+ response = begin_set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
2859
+ nil
2860
+ end
2861
+
2862
+ #
2863
+ # Changes ServiceState property for a given service
2864
+ #
2865
+ # @param resource_group_name [String] The name of the resource group.
2866
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
2867
+ # to create or update.
2868
+ # @param parameters [OrchestrationServiceStateInput] The input object for
2869
+ # SetOrchestrationServiceState API.
2870
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2871
+ # will be added to the HTTP request.
2872
+ #
2873
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2874
+ #
2875
+ def begin_set_orchestration_service_state_with_http_info(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
2876
+ begin_set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:custom_headers).value!
2877
+ end
2878
+
2879
+ #
2880
+ # Changes ServiceState property for a given service
2881
+ #
2882
+ # @param resource_group_name [String] The name of the resource group.
2883
+ # @param vm_scale_set_name [String] The name of the virtual machine scale set
2884
+ # to create or update.
2885
+ # @param parameters [OrchestrationServiceStateInput] The input object for
2886
+ # SetOrchestrationServiceState API.
2887
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2888
+ # to the HTTP request.
2889
+ #
2890
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2891
+ #
2892
+ def begin_set_orchestration_service_state_async(resource_group_name, vm_scale_set_name, parameters, custom_headers:nil)
2893
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
2894
+ fail ArgumentError, 'vm_scale_set_name is nil' if vm_scale_set_name.nil?
2895
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
2896
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
2897
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
2898
+
2899
+
2900
+ request_headers = {}
2901
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2902
+
2903
+ # Set Headers
2904
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2905
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2906
+
2907
+ # Serialize Request
2908
+ request_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::OrchestrationServiceStateInput.mapper()
2909
+ request_content = @client.serialize(request_mapper, parameters)
2910
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
2911
+
2912
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/setOrchestrationServiceState'
2913
+
2914
+ request_url = @base_url || @client.base_url
2915
+
2916
+ options = {
2917
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
2918
+ path_params: {'resourceGroupName' => resource_group_name,'vmScaleSetName' => vm_scale_set_name,'subscriptionId' => @client.subscription_id},
2919
+ query_params: {'api-version' => @client.api_version},
2920
+ body: request_content,
2921
+ headers: request_headers.merge(custom_headers || {}),
2922
+ base_url: request_url
2923
+ }
2924
+ promise = @client.make_request_async(:post, path_template, options)
2925
+
2926
+ promise = promise.then do |result|
2927
+ http_response = result.response
2928
+ status_code = http_response.status
2929
+ response_content = http_response.body
2930
+ unless status_code == 200 || status_code == 202
2931
+ error_model = JSON.load(response_content)
2932
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
2933
+ end
2934
+
2935
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
2936
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
2937
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
2938
+
2939
+ result
2940
+ end
2941
+
2942
+ promise.execute
2943
+ end
2944
+
2945
+ #
2946
+ # Gets all the VM scale sets under the specified subscription for the specified
2947
+ # location.
2948
+ #
2949
+ # @param next_page_link [String] The NextLink from the previous successful call
2950
+ # to List operation.
2951
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2952
+ # will be added to the HTTP request.
2953
+ #
2954
+ # @return [VirtualMachineScaleSetListResult] operation results.
2955
+ #
2956
+ def list_by_location_next(next_page_link, custom_headers:nil)
2957
+ response = list_by_location_next_async(next_page_link, custom_headers:custom_headers).value!
2958
+ response.body unless response.nil?
2959
+ end
2960
+
2961
+ #
2962
+ # Gets all the VM scale sets under the specified subscription for the specified
2963
+ # location.
2964
+ #
2965
+ # @param next_page_link [String] The NextLink from the previous successful call
2966
+ # to List operation.
2967
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
2968
+ # will be added to the HTTP request.
2969
+ #
2970
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
2971
+ #
2972
+ def list_by_location_next_with_http_info(next_page_link, custom_headers:nil)
2973
+ list_by_location_next_async(next_page_link, custom_headers:custom_headers).value!
2974
+ end
2975
+
2976
+ #
2977
+ # Gets all the VM scale sets under the specified subscription for the specified
2978
+ # location.
2979
+ #
2980
+ # @param next_page_link [String] The NextLink from the previous successful call
2981
+ # to List operation.
2982
+ # @param [Hash{String => String}] A hash of custom headers that will be added
2983
+ # to the HTTP request.
2984
+ #
2985
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
2986
+ #
2987
+ def list_by_location_next_async(next_page_link, custom_headers:nil)
2988
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
2989
+
2990
+
2991
+ request_headers = {}
2992
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
2993
+
2994
+ # Set Headers
2995
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
2996
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
2997
+ path_template = '{nextLink}'
2998
+
2999
+ request_url = @base_url || @client.base_url
3000
+
3001
+ options = {
3002
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
3003
+ skip_encoding_path_params: {'nextLink' => next_page_link},
3004
+ headers: request_headers.merge(custom_headers || {}),
3005
+ base_url: request_url
3006
+ }
3007
+ promise = @client.make_request_async(:get, path_template, options)
3008
+
3009
+ promise = promise.then do |result|
3010
+ http_response = result.response
3011
+ status_code = http_response.status
3012
+ response_content = http_response.body
3013
+ unless status_code == 200
3014
+ error_model = JSON.load(response_content)
3015
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
3016
+ end
3017
+
3018
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
3019
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
3020
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
3021
+ # Deserialize Response
3022
+ if status_code == 200
3023
+ begin
3024
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
3025
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListResult.mapper()
3026
+ result.body = @client.deserialize(result_mapper, parsed_response)
3027
+ rescue Exception => e
3028
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
3029
+ end
3030
+ end
3031
+
3032
+ result
3033
+ end
3034
+
3035
+ promise.execute
3036
+ end
3037
+
3038
+ #
3039
+ # Gets a list of all VM scale sets under a resource group.
3040
+ #
3041
+ # @param next_page_link [String] The NextLink from the previous successful call
3042
+ # to List operation.
3043
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3044
+ # will be added to the HTTP request.
3045
+ #
3046
+ # @return [VirtualMachineScaleSetListResult] operation results.
3047
+ #
3048
+ def list_next(next_page_link, custom_headers:nil)
3049
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
3050
+ response.body unless response.nil?
3051
+ end
3052
+
3053
+ #
3054
+ # Gets a list of all VM scale sets under a resource group.
3055
+ #
3056
+ # @param next_page_link [String] The NextLink from the previous successful call
3057
+ # to List operation.
3058
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3059
+ # will be added to the HTTP request.
3060
+ #
3061
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
3062
+ #
3063
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
3064
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
3065
+ end
3066
+
3067
+ #
3068
+ # Gets a list of all VM scale sets under a resource group.
3069
+ #
3070
+ # @param next_page_link [String] The NextLink from the previous successful call
3071
+ # to List operation.
3072
+ # @param [Hash{String => String}] A hash of custom headers that will be added
3073
+ # to the HTTP request.
3074
+ #
3075
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
3076
+ #
3077
+ def list_next_async(next_page_link, custom_headers:nil)
3078
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
3079
+
3080
+
3081
+ request_headers = {}
3082
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
3083
+
3084
+ # Set Headers
3085
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
3086
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
3087
+ path_template = '{nextLink}'
3088
+
3089
+ request_url = @base_url || @client.base_url
3090
+
3091
+ options = {
3092
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
3093
+ skip_encoding_path_params: {'nextLink' => next_page_link},
3094
+ headers: request_headers.merge(custom_headers || {}),
3095
+ base_url: request_url
3096
+ }
3097
+ promise = @client.make_request_async(:get, path_template, options)
3098
+
3099
+ promise = promise.then do |result|
3100
+ http_response = result.response
3101
+ status_code = http_response.status
3102
+ response_content = http_response.body
3103
+ unless status_code == 200
3104
+ error_model = JSON.load(response_content)
3105
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
3106
+ end
3107
+
3108
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
3109
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
3110
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
3111
+ # Deserialize Response
3112
+ if status_code == 200
3113
+ begin
3114
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
3115
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListResult.mapper()
3116
+ result.body = @client.deserialize(result_mapper, parsed_response)
3117
+ rescue Exception => e
3118
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
3119
+ end
3120
+ end
3121
+
3122
+ result
3123
+ end
3124
+
3125
+ promise.execute
3126
+ end
3127
+
3128
+ #
3129
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
3130
+ # associated resource group. Use nextLink property in the response to get the
3131
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
3132
+ # Scale Sets.
3133
+ #
3134
+ # @param next_page_link [String] The NextLink from the previous successful call
3135
+ # to List operation.
3136
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3137
+ # will be added to the HTTP request.
3138
+ #
3139
+ # @return [VirtualMachineScaleSetListWithLinkResult] operation results.
3140
+ #
3141
+ def list_all_next(next_page_link, custom_headers:nil)
3142
+ response = list_all_next_async(next_page_link, custom_headers:custom_headers).value!
3143
+ response.body unless response.nil?
3144
+ end
3145
+
3146
+ #
3147
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
3148
+ # associated resource group. Use nextLink property in the response to get the
3149
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
3150
+ # Scale Sets.
3151
+ #
3152
+ # @param next_page_link [String] The NextLink from the previous successful call
3153
+ # to List operation.
3154
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3155
+ # will be added to the HTTP request.
3156
+ #
3157
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
3158
+ #
3159
+ def list_all_next_with_http_info(next_page_link, custom_headers:nil)
3160
+ list_all_next_async(next_page_link, custom_headers:custom_headers).value!
3161
+ end
3162
+
3163
+ #
3164
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
3165
+ # associated resource group. Use nextLink property in the response to get the
3166
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
3167
+ # Scale Sets.
3168
+ #
3169
+ # @param next_page_link [String] The NextLink from the previous successful call
3170
+ # to List operation.
3171
+ # @param [Hash{String => String}] A hash of custom headers that will be added
3172
+ # to the HTTP request.
3173
+ #
3174
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
3175
+ #
3176
+ def list_all_next_async(next_page_link, custom_headers:nil)
3177
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
3178
+
3179
+
3180
+ request_headers = {}
3181
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
3182
+
3183
+ # Set Headers
3184
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
3185
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
3186
+ path_template = '{nextLink}'
3187
+
3188
+ request_url = @base_url || @client.base_url
3189
+
3190
+ options = {
3191
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
3192
+ skip_encoding_path_params: {'nextLink' => next_page_link},
3193
+ headers: request_headers.merge(custom_headers || {}),
3194
+ base_url: request_url
3195
+ }
3196
+ promise = @client.make_request_async(:get, path_template, options)
3197
+
3198
+ promise = promise.then do |result|
3199
+ http_response = result.response
3200
+ status_code = http_response.status
3201
+ response_content = http_response.body
3202
+ unless status_code == 200
3203
+ error_model = JSON.load(response_content)
3204
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
3205
+ end
3206
+
3207
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
3208
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
3209
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
3210
+ # Deserialize Response
3211
+ if status_code == 200
3212
+ begin
3213
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
3214
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListWithLinkResult.mapper()
3215
+ result.body = @client.deserialize(result_mapper, parsed_response)
3216
+ rescue Exception => e
3217
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
3218
+ end
3219
+ end
3220
+
3221
+ result
3222
+ end
3223
+
3224
+ promise.execute
3225
+ end
3226
+
3227
+ #
3228
+ # Gets a list of SKUs available for your VM scale set, including the minimum
3229
+ # and maximum VM instances allowed for each SKU.
3230
+ #
3231
+ # @param next_page_link [String] The NextLink from the previous successful call
3232
+ # to List operation.
3233
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3234
+ # will be added to the HTTP request.
3235
+ #
3236
+ # @return [VirtualMachineScaleSetListSkusResult] operation results.
3237
+ #
3238
+ def list_skus_next(next_page_link, custom_headers:nil)
3239
+ response = list_skus_next_async(next_page_link, custom_headers:custom_headers).value!
3240
+ response.body unless response.nil?
3241
+ end
3242
+
3243
+ #
3244
+ # Gets a list of SKUs available for your VM scale set, including the minimum
3245
+ # and maximum VM instances allowed for each SKU.
3246
+ #
3247
+ # @param next_page_link [String] The NextLink from the previous successful call
3248
+ # to List operation.
3249
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3250
+ # will be added to the HTTP request.
3251
+ #
3252
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
3253
+ #
3254
+ def list_skus_next_with_http_info(next_page_link, custom_headers:nil)
3255
+ list_skus_next_async(next_page_link, custom_headers:custom_headers).value!
3256
+ end
3257
+
3258
+ #
3259
+ # Gets a list of SKUs available for your VM scale set, including the minimum
3260
+ # and maximum VM instances allowed for each SKU.
3261
+ #
3262
+ # @param next_page_link [String] The NextLink from the previous successful call
3263
+ # to List operation.
3264
+ # @param [Hash{String => String}] A hash of custom headers that will be added
3265
+ # to the HTTP request.
3266
+ #
3267
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
3268
+ #
3269
+ def list_skus_next_async(next_page_link, custom_headers:nil)
3270
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
3271
+
3272
+
3273
+ request_headers = {}
3274
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
3275
+
3276
+ # Set Headers
3277
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
3278
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
3279
+ path_template = '{nextLink}'
3280
+
3281
+ request_url = @base_url || @client.base_url
3282
+
3283
+ options = {
3284
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
3285
+ skip_encoding_path_params: {'nextLink' => next_page_link},
3286
+ headers: request_headers.merge(custom_headers || {}),
3287
+ base_url: request_url
3288
+ }
3289
+ promise = @client.make_request_async(:get, path_template, options)
3290
+
3291
+ promise = promise.then do |result|
3292
+ http_response = result.response
3293
+ status_code = http_response.status
3294
+ response_content = http_response.body
3295
+ unless status_code == 200
3296
+ error_model = JSON.load(response_content)
3297
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
3298
+ end
3299
+
3300
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
3301
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
3302
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
3303
+ # Deserialize Response
3304
+ if status_code == 200
3305
+ begin
3306
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
3307
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListSkusResult.mapper()
3308
+ result.body = @client.deserialize(result_mapper, parsed_response)
3309
+ rescue Exception => e
3310
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
3311
+ end
3312
+ end
3313
+
3314
+ result
3315
+ end
3316
+
3317
+ promise.execute
3318
+ end
3319
+
3320
+ #
3321
+ # Gets list of OS upgrades on a VM scale set instance.
3322
+ #
3323
+ # @param next_page_link [String] The NextLink from the previous successful call
3324
+ # to List operation.
3325
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3326
+ # will be added to the HTTP request.
3327
+ #
3328
+ # @return [VirtualMachineScaleSetListOSUpgradeHistory] operation results.
3329
+ #
3330
+ def get_osupgrade_history_next(next_page_link, custom_headers:nil)
3331
+ response = get_osupgrade_history_next_async(next_page_link, custom_headers:custom_headers).value!
3332
+ response.body unless response.nil?
3333
+ end
3334
+
3335
+ #
3336
+ # Gets list of OS upgrades on a VM scale set instance.
3337
+ #
3338
+ # @param next_page_link [String] The NextLink from the previous successful call
3339
+ # to List operation.
3340
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3341
+ # will be added to the HTTP request.
3342
+ #
3343
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
3344
+ #
3345
+ def get_osupgrade_history_next_with_http_info(next_page_link, custom_headers:nil)
3346
+ get_osupgrade_history_next_async(next_page_link, custom_headers:custom_headers).value!
3347
+ end
3348
+
3349
+ #
3350
+ # Gets list of OS upgrades on a VM scale set instance.
3351
+ #
3352
+ # @param next_page_link [String] The NextLink from the previous successful call
3353
+ # to List operation.
3354
+ # @param [Hash{String => String}] A hash of custom headers that will be added
3355
+ # to the HTTP request.
3356
+ #
3357
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
3358
+ #
3359
+ def get_osupgrade_history_next_async(next_page_link, custom_headers:nil)
3360
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
3361
+
3362
+
3363
+ request_headers = {}
3364
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
3365
+
3366
+ # Set Headers
3367
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
3368
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
3369
+ path_template = '{nextLink}'
3370
+
3371
+ request_url = @base_url || @client.base_url
3372
+
3373
+ options = {
3374
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
3375
+ skip_encoding_path_params: {'nextLink' => next_page_link},
3376
+ headers: request_headers.merge(custom_headers || {}),
3377
+ base_url: request_url
3378
+ }
3379
+ promise = @client.make_request_async(:get, path_template, options)
3380
+
3381
+ promise = promise.then do |result|
3382
+ http_response = result.response
3383
+ status_code = http_response.status
3384
+ response_content = http_response.body
3385
+ unless status_code == 200
3386
+ error_model = JSON.load(response_content)
3387
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
3388
+ end
3389
+
3390
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
3391
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
3392
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
3393
+ # Deserialize Response
3394
+ if status_code == 200
3395
+ begin
3396
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
3397
+ result_mapper = Azure::Compute::Mgmt::V2020_12_01::Models::VirtualMachineScaleSetListOSUpgradeHistory.mapper()
3398
+ result.body = @client.deserialize(result_mapper, parsed_response)
3399
+ rescue Exception => e
3400
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
3401
+ end
3402
+ end
3403
+
3404
+ result
3405
+ end
3406
+
3407
+ promise.execute
3408
+ end
3409
+
3410
+ #
3411
+ # Gets all the VM scale sets under the specified subscription for the specified
3412
+ # location.
3413
+ #
3414
+ # @param location [String] The location for which VM scale sets under the
3415
+ # subscription are queried.
3416
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3417
+ # will be added to the HTTP request.
3418
+ #
3419
+ # @return [VirtualMachineScaleSetListResult] which provide lazy access to pages
3420
+ # of the response.
3421
+ #
3422
+ def list_by_location_as_lazy(location, custom_headers:nil)
3423
+ response = list_by_location_async(location, custom_headers:custom_headers).value!
3424
+ unless response.nil?
3425
+ page = response.body
3426
+ page.next_method = Proc.new do |next_page_link|
3427
+ list_by_location_next_async(next_page_link, custom_headers:custom_headers)
3428
+ end
3429
+ page
3430
+ end
3431
+ end
3432
+
3433
+ #
3434
+ # Gets a list of all VM scale sets under a resource group.
3435
+ #
3436
+ # @param resource_group_name [String] The name of the resource group.
3437
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3438
+ # will be added to the HTTP request.
3439
+ #
3440
+ # @return [VirtualMachineScaleSetListResult] which provide lazy access to pages
3441
+ # of the response.
3442
+ #
3443
+ def list_as_lazy(resource_group_name, custom_headers:nil)
3444
+ response = list_async(resource_group_name, custom_headers:custom_headers).value!
3445
+ unless response.nil?
3446
+ page = response.body
3447
+ page.next_method = Proc.new do |next_page_link|
3448
+ list_next_async(next_page_link, custom_headers:custom_headers)
3449
+ end
3450
+ page
3451
+ end
3452
+ end
3453
+
3454
+ #
3455
+ # Gets a list of all VM Scale Sets in the subscription, regardless of the
3456
+ # associated resource group. Use nextLink property in the response to get the
3457
+ # next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM
3458
+ # Scale Sets.
3459
+ #
3460
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3461
+ # will be added to the HTTP request.
3462
+ #
3463
+ # @return [VirtualMachineScaleSetListWithLinkResult] which provide lazy access
3464
+ # to pages of the response.
3465
+ #
3466
+ def list_all_as_lazy(custom_headers:nil)
3467
+ response = list_all_async(custom_headers:custom_headers).value!
3468
+ unless response.nil?
3469
+ page = response.body
3470
+ page.next_method = Proc.new do |next_page_link|
3471
+ list_all_next_async(next_page_link, custom_headers:custom_headers)
3472
+ end
3473
+ page
3474
+ end
3475
+ end
3476
+
3477
+ #
3478
+ # Gets a list of SKUs available for your VM scale set, including the minimum
3479
+ # and maximum VM instances allowed for each SKU.
3480
+ #
3481
+ # @param resource_group_name [String] The name of the resource group.
3482
+ # @param vm_scale_set_name [String] The name of the VM scale set.
3483
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3484
+ # will be added to the HTTP request.
3485
+ #
3486
+ # @return [VirtualMachineScaleSetListSkusResult] which provide lazy access to
3487
+ # pages of the response.
3488
+ #
3489
+ def list_skus_as_lazy(resource_group_name, vm_scale_set_name, custom_headers:nil)
3490
+ response = list_skus_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
3491
+ unless response.nil?
3492
+ page = response.body
3493
+ page.next_method = Proc.new do |next_page_link|
3494
+ list_skus_next_async(next_page_link, custom_headers:custom_headers)
3495
+ end
3496
+ page
3497
+ end
3498
+ end
3499
+
3500
+ #
3501
+ # Gets list of OS upgrades on a VM scale set instance.
3502
+ #
3503
+ # @param resource_group_name [String] The name of the resource group.
3504
+ # @param vm_scale_set_name [String] The name of the VM scale set.
3505
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
3506
+ # will be added to the HTTP request.
3507
+ #
3508
+ # @return [VirtualMachineScaleSetListOSUpgradeHistory] which provide lazy
3509
+ # access to pages of the response.
3510
+ #
3511
+ def get_osupgrade_history_as_lazy(resource_group_name, vm_scale_set_name, custom_headers:nil)
3512
+ response = get_osupgrade_history_async(resource_group_name, vm_scale_set_name, custom_headers:custom_headers).value!
3513
+ unless response.nil?
3514
+ page = response.body
3515
+ page.next_method = Proc.new do |next_page_link|
3516
+ get_osupgrade_history_next_async(next_page_link, custom_headers:custom_headers)
3517
+ end
3518
+ page
3519
+ end
3520
+ end
3521
+
3522
+ end
3523
+ end