juliusl-azure-sdk-for-ruby 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. checksums.yaml +7 -0
  2. data/.env_sample +11 -0
  3. data/.gitignore +15 -0
  4. data/.travis.yml +13 -0
  5. data/ChangeLog.txt +56 -0
  6. data/Gemfile +16 -0
  7. data/LICENSE.txt +202 -0
  8. data/README.md +630 -0
  9. data/Rakefile +121 -0
  10. data/azure.gemspec +47 -0
  11. data/bin/pfxer +35 -0
  12. data/lib/azure.rb +60 -0
  13. data/lib/azure/base_management/affinity_group.rb +32 -0
  14. data/lib/azure/base_management/base_management_service.rb +245 -0
  15. data/lib/azure/base_management/location.rb +27 -0
  16. data/lib/azure/base_management/management_http_request.rb +175 -0
  17. data/lib/azure/base_management/serialization.rb +135 -0
  18. data/lib/azure/base_management/sql_management_http_request.rb +45 -0
  19. data/lib/azure/blob/auth/shared_access_signature.rb +141 -0
  20. data/lib/azure/blob/blob.rb +32 -0
  21. data/lib/azure/blob/blob_service.rb +1427 -0
  22. data/lib/azure/blob/block.rb +31 -0
  23. data/lib/azure/blob/container.rb +32 -0
  24. data/lib/azure/blob/serialization.rb +285 -0
  25. data/lib/azure/cloud_service_management/cloud_service.rb +38 -0
  26. data/lib/azure/cloud_service_management/cloud_service_management_service.rb +137 -0
  27. data/lib/azure/cloud_service_management/serialization.rb +118 -0
  28. data/lib/azure/core.rb +41 -0
  29. data/lib/azure/core/auth/authorizer.rb +36 -0
  30. data/lib/azure/core/auth/shared_key.rb +110 -0
  31. data/lib/azure/core/auth/shared_key_lite.rb +48 -0
  32. data/lib/azure/core/auth/signer.rb +52 -0
  33. data/lib/azure/core/configuration.rb +218 -0
  34. data/lib/azure/core/error.rb +22 -0
  35. data/lib/azure/core/filtered_service.rb +44 -0
  36. data/lib/azure/core/http/debug_filter.rb +36 -0
  37. data/lib/azure/core/http/http_error.rb +88 -0
  38. data/lib/azure/core/http/http_filter.rb +53 -0
  39. data/lib/azure/core/http/http_request.rb +160 -0
  40. data/lib/azure/core/http/http_response.rb +140 -0
  41. data/lib/azure/core/http/retry_policy.rb +74 -0
  42. data/lib/azure/core/http/signer_filter.rb +34 -0
  43. data/lib/azure/core/service.rb +63 -0
  44. data/lib/azure/core/signed_service.rb +43 -0
  45. data/lib/azure/core/utility.rb +242 -0
  46. data/lib/azure/queue/message.rb +30 -0
  47. data/lib/azure/queue/queue.rb +29 -0
  48. data/lib/azure/queue/queue_service.rb +568 -0
  49. data/lib/azure/queue/serialization.rb +106 -0
  50. data/lib/azure/service/access_policy.rb +26 -0
  51. data/lib/azure/service/cors.rb +11 -0
  52. data/lib/azure/service/cors_rule.rb +15 -0
  53. data/lib/azure/service/enumeration_results.rb +21 -0
  54. data/lib/azure/service/logging.rb +32 -0
  55. data/lib/azure/service/metrics.rb +31 -0
  56. data/lib/azure/service/retention_policy.rb +25 -0
  57. data/lib/azure/service/serialization.rb +299 -0
  58. data/lib/azure/service/signed_identifier.rb +30 -0
  59. data/lib/azure/service/storage_service.rb +83 -0
  60. data/lib/azure/service/storage_service_properties.rb +37 -0
  61. data/lib/azure/service_bus/action.rb +21 -0
  62. data/lib/azure/service_bus/auth/wrap_service.rb +89 -0
  63. data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
  64. data/lib/azure/service_bus/brokered_message.rb +124 -0
  65. data/lib/azure/service_bus/brokered_message_serializer.rb +159 -0
  66. data/lib/azure/service_bus/correlation_filter.rb +45 -0
  67. data/lib/azure/service_bus/empty_rule_action.rb +30 -0
  68. data/lib/azure/service_bus/false_filter.rb +38 -0
  69. data/lib/azure/service_bus/filter.rb +21 -0
  70. data/lib/azure/service_bus/interval.rb +104 -0
  71. data/lib/azure/service_bus/queue.rb +230 -0
  72. data/lib/azure/service_bus/relay.rb +88 -0
  73. data/lib/azure/service_bus/resource.rb +109 -0
  74. data/lib/azure/service_bus/rule.rb +98 -0
  75. data/lib/azure/service_bus/rule_aspect.rb +34 -0
  76. data/lib/azure/service_bus/serialization.rb +161 -0
  77. data/lib/azure/service_bus/service_bus_service.rb +895 -0
  78. data/lib/azure/service_bus/sql_filter.rb +50 -0
  79. data/lib/azure/service_bus/sql_rule_action.rb +50 -0
  80. data/lib/azure/service_bus/subscription.rb +184 -0
  81. data/lib/azure/service_bus/topic.rb +187 -0
  82. data/lib/azure/service_bus/true_filter.rb +38 -0
  83. data/lib/azure/sql_database_management/serialization.rb +112 -0
  84. data/lib/azure/sql_database_management/sql_database.rb +31 -0
  85. data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -0
  86. data/lib/azure/storage_management/serialization.rb +204 -0
  87. data/lib/azure/storage_management/storage_account.rb +48 -0
  88. data/lib/azure/storage_management/storage_management_service.rb +208 -0
  89. data/lib/azure/table/auth/shared_key.rb +92 -0
  90. data/lib/azure/table/auth/shared_key_lite.rb +44 -0
  91. data/lib/azure/table/batch.rb +330 -0
  92. data/lib/azure/table/batch_response.rb +118 -0
  93. data/lib/azure/table/edmtype.rb +127 -0
  94. data/lib/azure/table/entity.rb +31 -0
  95. data/lib/azure/table/guid.rb +24 -0
  96. data/lib/azure/table/query.rb +112 -0
  97. data/lib/azure/table/serialization.rb +108 -0
  98. data/lib/azure/table/table_service.rb +560 -0
  99. data/lib/azure/version.rb +31 -0
  100. data/lib/azure/virtual_machine_image_management/serialization.rb +70 -0
  101. data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -0
  102. data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -0
  103. data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +89 -0
  104. data/lib/azure/virtual_machine_management/serialization.rb +459 -0
  105. data/lib/azure/virtual_machine_management/virtual_machine.rb +44 -0
  106. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +554 -0
  107. data/lib/azure/virtual_network_management/serialization.rb +193 -0
  108. data/lib/azure/virtual_network_management/virtual_network.rb +37 -0
  109. data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -0
  110. data/test/fixtures/32px-fulls-black.jpg +0 -0
  111. data/test/fixtures/affinity_group.xml +33 -0
  112. data/test/fixtures/all_containers.xml +20 -0
  113. data/test/fixtures/all_tables.xml +22 -0
  114. data/test/fixtures/container_acl.xml +11 -0
  115. data/test/fixtures/create_sql_database_server.xml +2 -0
  116. data/test/fixtures/create_storage_desc_error.xml +5 -0
  117. data/test/fixtures/create_storage_extendedprop_error.xml +8 -0
  118. data/test/fixtures/create_storage_extendedpropname_error.xml +6 -0
  119. data/test/fixtures/create_storage_full_error.xml +6 -0
  120. data/test/fixtures/create_storage_label_error.xml +5 -0
  121. data/test/fixtures/create_storage_location_error.xml +5 -0
  122. data/test/fixtures/create_storage_name_error.xml +6 -0
  123. data/test/fixtures/create_table_response_entry.xml +15 -0
  124. data/test/fixtures/delete_storage_container_error.xml +5 -0
  125. data/test/fixtures/delete_storage_error.xml +5 -0
  126. data/test/fixtures/deployment_error.xml +5 -0
  127. data/test/fixtures/empty_xml_file +0 -0
  128. data/test/fixtures/get_storage_account_error.xml +5 -0
  129. data/test/fixtures/get_storage_account_properties.xml +34 -0
  130. data/test/fixtures/get_storage_account_properties_new.xml +32 -0
  131. data/test/fixtures/http_error.xml +5 -0
  132. data/test/fixtures/insert_entity_response_entry.xml +25 -0
  133. data/test/fixtures/list_affinity_groups.xml +22 -0
  134. data/test/fixtures/list_blobs.xml +121 -0
  135. data/test/fixtures/list_block_all_with_none_committed.xml +22 -0
  136. data/test/fixtures/list_blocks_all.xml +23 -0
  137. data/test/fixtures/list_blocks_committed.xml +13 -0
  138. data/test/fixtures/list_cloud_services.xml +39 -0
  139. data/test/fixtures/list_containers.xml +38 -0
  140. data/test/fixtures/list_firewall_management_endpoint.xml +27 -0
  141. data/test/fixtures/list_locations.xml +212 -0
  142. data/test/fixtures/list_os_images.xml +110 -0
  143. data/test/fixtures/list_page_ranges.xml +11 -0
  144. data/test/fixtures/list_sql_database.xml +36 -0
  145. data/test/fixtures/list_sql_server_firewall.xml +23 -0
  146. data/test/fixtures/list_storage_account_single.xml +25 -0
  147. data/test/fixtures/list_storage_accounts.xml +48 -0
  148. data/test/fixtures/list_virtual_networks.xml +92 -0
  149. data/test/fixtures/list_vm_images.xml +21 -0
  150. data/test/fixtures/logging.xml +11 -0
  151. data/test/fixtures/messages.xml +12 -0
  152. data/test/fixtures/metrics.xml +10 -0
  153. data/test/fixtures/privatekey.key +28 -0
  154. data/test/fixtures/query_entities_empty_response.xml +7 -0
  155. data/test/fixtures/query_entities_response.xml +45 -0
  156. data/test/fixtures/queue_service_properties.xml +22 -0
  157. data/test/fixtures/queue_service_properties_original.xml +19 -0
  158. data/test/fixtures/queues.xml +16 -0
  159. data/test/fixtures/retention_policy.xml +5 -0
  160. data/test/fixtures/sb_default_create_queue_response.xml +23 -0
  161. data/test/fixtures/sb_default_create_relay_response.xml +15 -0
  162. data/test/fixtures/sb_default_create_topic_response.xml +18 -0
  163. data/test/fixtures/sb_get_access_token_response.txt +1 -0
  164. data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -0
  165. data/test/fixtures/storage_service_keys.xml +8 -0
  166. data/test/fixtures/storage_service_properties.xml +55 -0
  167. data/test/fixtures/update_storage_account.xml +16 -0
  168. data/test/fixtures/update_storage_error.xml +5 -0
  169. data/test/fixtures/updated_storage_accounts.xml +55 -0
  170. data/test/fixtures/virtual_machine.xml +116 -0
  171. data/test/fixtures/windows_virtual_machine.xml +106 -0
  172. data/test/integration/affinity_group/Affinity_test.rb +55 -0
  173. data/test/integration/affinity_group/Create_Affinity_test.rb +64 -0
  174. data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -0
  175. data/test/integration/affinity_group/List_Affinity_test.rb +41 -0
  176. data/test/integration/affinity_group/Update_Affinity_test.rb +83 -0
  177. data/test/integration/blob/blob_gb18030_test.rb +199 -0
  178. data/test/integration/blob/blob_metadata_test.rb +75 -0
  179. data/test/integration/blob/blob_pages_test.rb +119 -0
  180. data/test/integration/blob/blob_properties_test.rb +77 -0
  181. data/test/integration/blob/block_blob_test.rb +254 -0
  182. data/test/integration/blob/container/container_acl_test.rb +69 -0
  183. data/test/integration/blob/container/container_metadata_test.rb +50 -0
  184. data/test/integration/blob/container/create_container_test.rb +60 -0
  185. data/test/integration/blob/container/delete_container_test.rb +39 -0
  186. data/test/integration/blob/container/get_container_properties_test.rb +48 -0
  187. data/test/integration/blob/container/list_containers_test.rb +79 -0
  188. data/test/integration/blob/container/root_container_test.rb +54 -0
  189. data/test/integration/blob/copy_blob_test.rb +113 -0
  190. data/test/integration/blob/create_blob_snapshot_test.rb +80 -0
  191. data/test/integration/blob/create_page_blob_test.rb +83 -0
  192. data/test/integration/blob/delete_blob_test.rb +159 -0
  193. data/test/integration/blob/get_blob_test.rb +65 -0
  194. data/test/integration/blob/informative_errors_test.rb +39 -0
  195. data/test/integration/blob/lease/acquire_lease_test.rb +36 -0
  196. data/test/integration/blob/lease/break_lease_test.rb +40 -0
  197. data/test/integration/blob/lease/release_lease_test.rb +40 -0
  198. data/test/integration/blob/lease/renew_lease_test.rb +42 -0
  199. data/test/integration/blob/list_blobs_test.rb +113 -0
  200. data/test/integration/cloud_service/Cloud_Create_test.rb +45 -0
  201. data/test/integration/cloud_service/Cloud_Delete_test.rb +45 -0
  202. data/test/integration/database/create_sql_server_firewall_test.rb +86 -0
  203. data/test/integration/database/create_sql_server_test.rb +53 -0
  204. data/test/integration/database/delete_sql_server_firewall_test.rb +70 -0
  205. data/test/integration/database/delete_sql_server_test.rb +58 -0
  206. data/test/integration/database/list_sql_server_firewall_test.rb +45 -0
  207. data/test/integration/database/list_sql_servers_test.rb +44 -0
  208. data/test/integration/database/reset_password_sql_server_test.rb +55 -0
  209. data/test/integration/location/Location_List_test.rb +39 -0
  210. data/test/integration/location/RoleSize_List_test.rb +35 -0
  211. data/test/integration/queue/clear_messages_test.rb +42 -0
  212. data/test/integration/queue/create_message_test.rb +75 -0
  213. data/test/integration/queue/create_queue_test.rb +50 -0
  214. data/test/integration/queue/delete_message_test.rb +67 -0
  215. data/test/integration/queue/delete_queue_test.rb +45 -0
  216. data/test/integration/queue/informative_errors_test.rb +42 -0
  217. data/test/integration/queue/list_messages_encoded_test.rb +79 -0
  218. data/test/integration/queue/list_messages_test.rb +79 -0
  219. data/test/integration/queue/list_queues_test.rb +44 -0
  220. data/test/integration/queue/peek_messages_test.rb +59 -0
  221. data/test/integration/queue/queue_gb18030_test.rb +131 -0
  222. data/test/integration/queue/queue_metadata_test.rb +40 -0
  223. data/test/integration/queue/update_message_test.rb +74 -0
  224. data/test/integration/service_bus/informative_errors_test.rb +37 -0
  225. data/test/integration/service_bus/queues_scenario_test.rb +200 -0
  226. data/test/integration/service_bus/queues_test.rb +266 -0
  227. data/test/integration/service_bus/relay_test.rb +132 -0
  228. data/test/integration/service_bus/rules_test.rb +145 -0
  229. data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -0
  230. data/test/integration/service_bus/scenario_test.rb +101 -0
  231. data/test/integration/service_bus/subscriptions_test.rb +211 -0
  232. data/test/integration/service_bus/topics_scenario_test.rb +406 -0
  233. data/test/integration/service_bus/topics_test.rb +129 -0
  234. data/test/integration/storage_management/storage_management_test.rb +185 -0
  235. data/test/integration/table/create_table_test.rb +36 -0
  236. data/test/integration/table/delete_entity_batch_test.rb +107 -0
  237. data/test/integration/table/delete_entity_test.rb +94 -0
  238. data/test/integration/table/delete_table_test.rb +40 -0
  239. data/test/integration/table/get_table_test.rb +37 -0
  240. data/test/integration/table/informative_errors_test.rb +39 -0
  241. data/test/integration/table/insert_entity_batch_test.rb +100 -0
  242. data/test/integration/table/insert_entity_test.rb +88 -0
  243. data/test/integration/table/insert_or_merge_entity_batch_test.rb +159 -0
  244. data/test/integration/table/insert_or_merge_entity_test.rb +143 -0
  245. data/test/integration/table/insert_or_replace_entity_batch_test.rb +152 -0
  246. data/test/integration/table/insert_or_replace_entity_test.rb +137 -0
  247. data/test/integration/table/merge_entity_batch_test.rb +128 -0
  248. data/test/integration/table/merge_entity_test.rb +113 -0
  249. data/test/integration/table/query_entities_test.rb +195 -0
  250. data/test/integration/table/query_tables_test.rb +43 -0
  251. data/test/integration/table/query_test.rb +251 -0
  252. data/test/integration/table/table_acl_test.rb +52 -0
  253. data/test/integration/table/table_gb18030_test.rb +355 -0
  254. data/test/integration/table/update_entity_batch_test.rb +149 -0
  255. data/test/integration/table/update_entity_test.rb +131 -0
  256. data/test/integration/test_helper.rb +38 -0
  257. data/test/integration/vm/VM_Create_test.rb +262 -0
  258. data/test/integration/vm/VM_Delete_test.rb +53 -0
  259. data/test/integration/vm/VM_Operations_test.rb +172 -0
  260. data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -0
  261. data/test/integration/vm_image/virtual_machine_image_test.rb +37 -0
  262. data/test/integration/vnet/Virtual_Network_Create_test.rb +116 -0
  263. data/test/integration/vnet/Virtual_Network_list_test.rb +48 -0
  264. data/test/support/env.rb +19 -0
  265. data/test/support/fixtures.rb +36 -0
  266. data/test/support/name_generator.rb +168 -0
  267. data/test/support/stubs.rb +42 -0
  268. data/test/support/virtual_machine_name_generator.rb +102 -0
  269. data/test/support/virtual_network_helper.rb +73 -0
  270. data/test/test_helper.rb +44 -0
  271. data/test/unit/affinity_group/affinity_group_test.rb +189 -0
  272. data/test/unit/affinity_group/serialization_test.rb +87 -0
  273. data/test/unit/base_management/location_test.rb +56 -0
  274. data/test/unit/base_management/role_size_test.rb +50 -0
  275. data/test/unit/blob/auth/shared_access_signature_test.rb +71 -0
  276. data/test/unit/blob/blob_service_test.rb +1969 -0
  277. data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -0
  278. data/test/unit/cloud_service_management/serialization_test.rb +169 -0
  279. data/test/unit/core/auth/shared_key_lite_test.rb +51 -0
  280. data/test/unit/core/auth/shared_key_test.rb +58 -0
  281. data/test/unit/core/auth/signer_test.rb +30 -0
  282. data/test/unit/core/http/http_error_test.rb +62 -0
  283. data/test/unit/core/http/http_request_test.rb +113 -0
  284. data/test/unit/core/http/http_response_test.rb +45 -0
  285. data/test/unit/core/http/retry_policy_test.rb +23 -0
  286. data/test/unit/core/utility_test.rb +122 -0
  287. data/test/unit/database/serialization_test.rb +97 -0
  288. data/test/unit/database/sql_database_server_service_test.rb +284 -0
  289. data/test/unit/service/serialization_test.rb +533 -0
  290. data/test/unit/service/storage_service_test.rb +293 -0
  291. data/test/unit/storage_management/serialization_test.rb +244 -0
  292. data/test/unit/storage_management/storage_management_service_test.rb +247 -0
  293. data/test/unit/table/edmtype_test.rb +108 -0
  294. data/test/unit/virtual_machine_image_management/serialization_test.rb +50 -0
  295. data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +114 -0
  296. data/test/unit/virtual_machine_management/serialization_test.rb +316 -0
  297. data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +478 -0
  298. data/test/unit/vnet/serialization_test.rb +187 -0
  299. data/test/unit/vnet/virtual_network_management_service_test.rb +131 -0
  300. metadata +512 -0
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0"?>
2
+ <UpdateStorageServiceInput xmlns="http://schemas.microsoft.com/windowsazure">
3
+ <Label>VGVzdCBMYWJlbA==
4
+ </Label>
5
+ <GeoReplicationEnabled>false</GeoReplicationEnabled>
6
+ <ExtendedProperties>
7
+ <ExtendedProperty>
8
+ <Name>prop_1_name</Name>
9
+ <Value>prop_1_value</Value>
10
+ </ExtendedProperty>
11
+ <ExtendedProperty>
12
+ <Name>prop_2_name</Name>
13
+ <Value>prop_2_value</Value>
14
+ </ExtendedProperty>
15
+ </ExtendedProperties>
16
+ </UpdateStorageServiceInput>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <Code>InvalidXmlRequest</Code>
4
+ <Message>The request body's XML was invalid or not correctly specified.</Message>
5
+ </Error>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0"?>
2
+ <StorageServices xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <StorageService>
4
+ <Url>https://management.core.windows.net/268a3762-abcd-4cd3-a4ea-80e84bddff87/services/storageservices/storage1</Url>
5
+ <ServiceName>storage1</ServiceName>
6
+ <StorageServiceProperties>
7
+ <Description i:nil="true"/>
8
+ <Location>West US</Location>
9
+ <Label>c3VzZQ==</Label>
10
+ <Status>Created</Status>
11
+ <Endpoints>
12
+ <Endpoint>http://storage1.blob.core.windows.net/</Endpoint>
13
+ <Endpoint>http://storage1.queue.core.windows.net/</Endpoint>
14
+ <Endpoint>http://storage1.table.core.windows.net/</Endpoint>
15
+ </Endpoints>
16
+ <GeoReplicationEnabled>true</GeoReplicationEnabled>
17
+ <GeoPrimaryRegion>West US</GeoPrimaryRegion>
18
+ <StatusOfPrimary/>
19
+ <GeoSecondaryRegion>East US</GeoSecondaryRegion>
20
+ <StatusOfSecondary/>
21
+ <AccountType>Standard_GRS</AccountType>
22
+ </StorageServiceProperties>
23
+ <ExtendedProperties/>
24
+ </StorageService>
25
+ <StorageService>
26
+ <Url>https://management.core.windows.net/268a3762-abcd-4cd3-a4ea-80e84bddff87/services/storageservices/storage2</Url>
27
+ <ServiceName>storage2</ServiceName>
28
+ <StorageServiceProperties>
29
+ <Location>West US</Location>
30
+ <Label>VGVzdCBMYWJlbA==</Label>
31
+ <Status>Created</Status>
32
+ <Endpoints>
33
+ <Endpoint>http://storage2.blob.core.windows.net/</Endpoint>
34
+ <Endpoint>http://storage2.queue.core.windows.net/</Endpoint>
35
+ <Endpoint>http://storage2.table.core.windows.net/</Endpoint>
36
+ </Endpoints>
37
+ <GeoReplicationEnabled>false</GeoReplicationEnabled>
38
+ <GeoPrimaryRegion>West US</GeoPrimaryRegion>
39
+ <StatusOfPrimary/>
40
+ <GeoSecondaryRegion>East US</GeoSecondaryRegion>
41
+ <StatusOfSecondary/>
42
+ <AccountType>Standard_GRS</AccountType>
43
+ </StorageServiceProperties>
44
+ <ExtendedProperties>
45
+ <ExtendedProperty>
46
+ <Name>prop_1_name</Name>
47
+ <Value>prop_1_value</Value>
48
+ </ExtendedProperty>
49
+ <ExtendedProperty>
50
+ <Name>prop_2_name</Name>
51
+ <Value>prop_2_value</Value>
52
+ </ExtendedProperty>
53
+ </ExtendedProperties>
54
+ </StorageService>
55
+ </StorageServices>
@@ -0,0 +1,116 @@
1
+ <?xml version="1.0"?>
2
+ <Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <Name>deployment-name</Name>
4
+ <DeploymentSlot>Production</DeploymentSlot>
5
+ <PrivateID>9f30f91509484fc1909a48ada256eb4a</PrivateID>
6
+ <Status>Running</Status>
7
+ <Label>Y21GdWFtRnVaZz09</Label>
8
+ <Url>http://instance-name.cloudapp.net/</Url>
9
+ <Configuration>PFNlcnZpY2VDb25maWd1cmF0aW9uIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2h
10
+ lbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NlcnZpY2VIb3N0aW5nLzIwMDgvMTAvU2VydmljZUNvbmZpZ3VyYXRpb24iPg0KICA8Um9sZSBuYW1lPSJkZWxldGUtbm9
11
+ kZS1mYWNlNSI+DQogICAgPEluc3RhbmNlcyBjb3VudD0iMSIgLz4NCiAgPC9Sb2xlPg0KPC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=</Configuration>
12
+ <RoleInstanceList>
13
+ <RoleInstance>
14
+ <RoleName>instance-name</RoleName>
15
+ <InstanceName>instance-name</InstanceName>
16
+ <InstanceStatus>ReadyRole</InstanceStatus>
17
+ <InstanceUpgradeDomain>0</InstanceUpgradeDomain>
18
+ <InstanceFaultDomain>0</InstanceFaultDomain>
19
+ <InstanceSize>Small</InstanceSize>
20
+ <InstanceStateDetails/>
21
+ <IpAddress>100.65.164.123</IpAddress>
22
+ <InstanceEndpoints>
23
+ <InstanceEndpoint>
24
+ <Name>SSH</Name>
25
+ <Vip>137.116.17.187</Vip>
26
+ <PublicPort>22</PublicPort>
27
+ <LocalPort>22</LocalPort>
28
+ <Protocol>tcp</Protocol>
29
+ </InstanceEndpoint>
30
+ <InstanceEndpoint>
31
+ <Name>tcp-port-3889</Name>
32
+ <Vip>137.116.17.187</Vip>
33
+ <PublicPort>3889</PublicPort>
34
+ <LocalPort>3889</LocalPort>
35
+ <Protocol>tcp</Protocol>
36
+ </InstanceEndpoint>
37
+ <InstanceEndpoint>
38
+ <Name>tcp-port-80</Name>
39
+ <Vip>137.116.17.187</Vip>
40
+ <PublicPort>80</PublicPort>
41
+ <LocalPort>80</LocalPort>
42
+ <Protocol>tcp</Protocol>
43
+ </InstanceEndpoint>
44
+ </InstanceEndpoints>
45
+ <PowerState>Started</PowerState>
46
+ <HostName>host-name</HostName>
47
+ </RoleInstance>
48
+ </RoleInstanceList>
49
+ <UpgradeDomainCount>1</UpgradeDomainCount>
50
+ <RoleList>
51
+ <Role i:type="PersistentVMRole">
52
+ <RoleName>instance-name</RoleName>
53
+ <OsVersion/>
54
+ <RoleType>PersistentVMRole</RoleType>
55
+ <ConfigurationSets>
56
+ <ConfigurationSet i:type="NetworkConfigurationSet">
57
+ <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
58
+ <InputEndpoints>
59
+ <InputEndpoint>
60
+ <LocalPort>22</LocalPort>
61
+ <Name>SSH</Name>
62
+ <Port>22</Port>
63
+ <Protocol>tcp</Protocol>
64
+ <Vip>137.116.17.187</Vip>
65
+ </InputEndpoint>
66
+ <InputEndpoint>
67
+ <LocalPort>3889</LocalPort>
68
+ <Name>tcp-port-3889</Name>
69
+ <Port>3889</Port>
70
+ <Protocol>tcp</Protocol>
71
+ <Vip>137.116.17.187</Vip>
72
+ </InputEndpoint>
73
+ <InputEndpoint>
74
+ <LocalPort>80</LocalPort>
75
+ <Name>tcp-port-80</Name>
76
+ <Port>80</Port>
77
+ <Protocol>tcp</Protocol>
78
+ <Vip>137.117.17.187</Vip>
79
+ </InputEndpoint>
80
+ </InputEndpoints>
81
+ <SubnetNames>
82
+ <SubnetName>test-subnet</SubnetName>
83
+ </SubnetNames>
84
+ <StaticVirtualNetworkIPAddress>100.65.164.123</StaticVirtualNetworkIPAddress>
85
+ </ConfigurationSet>
86
+ </ConfigurationSets>
87
+ <AvailabilitySetName>vm-availability</AvailabilitySetName>
88
+ <DataVirtualHardDisks/>
89
+ <OSVirtualHardDisk>
90
+ <HostCaching>ReadWrite</HostCaching>
91
+ <DiskName>disk-name-0-201304290612030573</DiskName>
92
+ <MediaLink>http://suse.blob.core.windows.net/vhds/disk_2013_04_29_11_41.vhd</MediaLink>
93
+ <SourceImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415</SourceImageName>
94
+ <OS>Linux</OS>
95
+ </OSVirtualHardDisk>
96
+ <RoleSize>Small</RoleSize>
97
+ </Role>
98
+ </RoleList>
99
+ <SdkVersion/>
100
+ <Locked>false</Locked>
101
+ <RollbackAllowed>false</RollbackAllowed>
102
+ <VirtualNetworkName>test-virtual-network</VirtualNetworkName>
103
+ <CreatedTime>2013-04-29T06:12:01Z</CreatedTime>
104
+ <LastModifiedTime>2013-04-29T10:45:19Z</LastModifiedTime>
105
+ <ExtendedProperties/>
106
+ <PersistentVMDowntime>
107
+ <StartTime>2013-04-11T08:00:00Z</StartTime>
108
+ <EndTime>2013-04-13T08:00:00Z</EndTime>
109
+ <Status>PersistentVMUpdateCompleted</Status>
110
+ </PersistentVMDowntime>
111
+ <VirtualIPs>
112
+ <VirtualIP>
113
+ <Address>137.116.17.187</Address>
114
+ </VirtualIP>
115
+ </VirtualIPs>
116
+ </Deployment>
@@ -0,0 +1,106 @@
1
+ <?xml version="1.0"?>
2
+ <Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <Name>deployment-name</Name>
4
+ <DeploymentSlot>Production</DeploymentSlot>
5
+ <PrivateID>9f30f91509484fc1909a48ada256eb4a</PrivateID>
6
+ <Status>Running</Status>
7
+ <Label>Y21GdWFtRnVaZz09</Label>
8
+ <Url>http://instance-name.cloudapp.net/</Url>
9
+ <Configuration>PFNlcnZpY2VDb25maWd1cmF0aW9uIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2h
10
+ lbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NlcnZpY2VIb3N0aW5nLzIwMDgvMTAvU2VydmljZUNvbmZpZ3VyYXRpb24iPg0KICA8Um9sZSBuYW1lPSJkZWxldGUtbm9
11
+ kZS1mYWNlNSI+DQogICAgPEluc3RhbmNlcyBjb3VudD0iMSIgLz4NCiAgPC9Sb2xlPg0KPC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=</Configuration>
12
+ <RoleInstanceList>
13
+ <RoleInstance>
14
+ <RoleName>windows-instance</RoleName>
15
+ <InstanceName>windows-instance</InstanceName>
16
+ <InstanceStatus>ReadyRole</InstanceStatus>
17
+ <InstanceUpgradeDomain>0</InstanceUpgradeDomain>
18
+ <InstanceFaultDomain>0</InstanceFaultDomain>
19
+ <InstanceSize>Small</InstanceSize>
20
+ <InstanceStateDetails/>
21
+ <IpAddress>100.65.164.123</IpAddress>
22
+ <InstanceEndpoints>
23
+ <InstanceEndpoint>
24
+ <Name>WINRM-HTTP</Name>
25
+ <Vip>137.116.17.187</Vip>
26
+ <PublicPort>5985</PublicPort>
27
+ <LocalPort>5985</LocalPort>
28
+ <Protocol>tcp</Protocol>
29
+ </InstanceEndpoint>
30
+ <InstanceEndpoint>
31
+ <Name>tcp-port-3889</Name>
32
+ <Vip>137.116.17.187</Vip>
33
+ <PublicPort>3889</PublicPort>
34
+ <LocalPort>3889</LocalPort>
35
+ <Protocol>tcp</Protocol>
36
+ </InstanceEndpoint>
37
+ <InstanceEndpoint>
38
+ <Name>tcp-port-80</Name>
39
+ <Vip>137.116.17.187</Vip>
40
+ <PublicPort>80</PublicPort>
41
+ <LocalPort>80</LocalPort>
42
+ <Protocol>tcp</Protocol>
43
+ </InstanceEndpoint>
44
+ </InstanceEndpoints>
45
+ <PowerState>Started</PowerState>
46
+ <HostName>host-name</HostName>
47
+ </RoleInstance>
48
+ </RoleInstanceList>
49
+ <UpgradeDomainCount>1</UpgradeDomainCount>
50
+ <RoleList>
51
+ <Role i:type="PersistentVMRole">
52
+ <RoleName>instance-name</RoleName>
53
+ <OsVersion/>
54
+ <RoleType>PersistentVMRole</RoleType>
55
+ <ConfigurationSets>
56
+ <ConfigurationSet i:type="NetworkConfigurationSet">
57
+ <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
58
+ <InputEndpoints>
59
+ <InputEndpoint>
60
+ <LocalPort>22</LocalPort>
61
+ <Name>SSH</Name>
62
+ <Port>22</Port>
63
+ <Protocol>tcp</Protocol>
64
+ <Vip>137.116.17.187</Vip>
65
+ </InputEndpoint>
66
+ <InputEndpoint>
67
+ <LocalPort>3889</LocalPort>
68
+ <Name>tcp-port-3889</Name>
69
+ <Port>3889</Port>
70
+ <Protocol>tcp</Protocol>
71
+ <Vip>137.116.17.187</Vip>
72
+ </InputEndpoint>
73
+ <InputEndpoint>
74
+ <LocalPort>80</LocalPort>
75
+ <Name>tcp-port-80</Name>
76
+ <Port>80</Port>
77
+ <Protocol>tcp</Protocol>
78
+ <Vip>137.117.17.187</Vip>
79
+ </InputEndpoint>
80
+ </InputEndpoints>
81
+ <SubnetNames/>
82
+ </ConfigurationSet>
83
+ </ConfigurationSets>
84
+ <DataVirtualHardDisks/>
85
+ <OSVirtualHardDisk>
86
+ <HostCaching>ReadWrite</HostCaching>
87
+ <DiskName>disk-name-0-201304290612030573</DiskName>
88
+ <MediaLink>http://suse.blob.core.windows.net/vhds/disk_2013_04_29_11_41.vhd</MediaLink>
89
+ <SourceImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415</SourceImageName>
90
+ <OS>Windows</OS>
91
+ </OSVirtualHardDisk>
92
+ <RoleSize>Small</RoleSize>
93
+ </Role>
94
+ </RoleList>
95
+ <SdkVersion/>
96
+ <Locked>false</Locked>
97
+ <RollbackAllowed>false</RollbackAllowed>
98
+ <CreatedTime>2013-04-29T06:12:01Z</CreatedTime>
99
+ <LastModifiedTime>2013-04-29T10:45:19Z</LastModifiedTime>
100
+ <ExtendedProperties/>
101
+ <PersistentVMDowntime>
102
+ <StartTime>2013-04-11T08:00:00Z</StartTime>
103
+ <EndTime>2013-04-13T08:00:00Z</EndTime>
104
+ <Status>PersistentVMUpdateCompleted</Status>
105
+ </PersistentVMDowntime>
106
+ </Deployment>
@@ -0,0 +1,55 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ subject { Azure::BaseManagementService.new }
20
+ let(:affinity_group_name) { AffinityGroupNameHelper.name }
21
+
22
+ describe '#affinity_group' do
23
+ let(:label_name) { 'Label' }
24
+ let(:options) { { description: 'Some Description' } }
25
+
26
+ before do
27
+ Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
28
+ end
29
+
30
+ it 'get affinity group properties for an existing group' do
31
+ subject.create_affinity_group(affinity_group_name,
32
+ WindowsImageLocation,
33
+ label_name,
34
+ options)
35
+ affinity = subject.get_affinity_group(affinity_group_name)
36
+ affinity.must_be_kind_of Azure::BaseManagement::AffinityGroup
37
+ affinity.name.must_equal affinity_group_name
38
+ affinity.label.must_equal label_name
39
+ affinity.description.must_equal options[:description]
40
+ affinity.capability.wont_be_nil
41
+ affinity.capability.wont_equal []
42
+ AffinityGroupNameHelper.clean
43
+ end
44
+
45
+ it 'gets properties for an non existing affinity group name' do
46
+ affinity_group_name = 'unknown'
47
+ begin
48
+ subject.get_affinity_group(affinity_group_name)
49
+ rescue Azure::Error::Error => error
50
+ error.status_code.must_equal 404
51
+ error.type.must_equal 'AffinityGroupNotFound'
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,64 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+ include Azure::Core::Utility
19
+
20
+ subject { Azure::BaseManagementService.new }
21
+ let(:affinity_group_name) { random_string('affinity-group-', 10) }
22
+ let(:image_location) { WindowsImageLocation }
23
+
24
+ before do
25
+ Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
26
+ end
27
+
28
+ let(:label) { 'Label Name' }
29
+ let(:options) { { description: 'sample description' } }
30
+
31
+ describe '#create_affinity_group' do
32
+
33
+ it 'create new affinity group with valid params' do
34
+ subject.create_affinity_group(affinity_group_name,
35
+ image_location,
36
+ label,
37
+ options)
38
+ affinity_group = subject.get_affinity_group(affinity_group_name)
39
+ affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
40
+ affinity_group.name.wont_be_nil
41
+ affinity_group.location.must_equal image_location
42
+ affinity_group.name.must_equal affinity_group_name
43
+ affinity_group.label.must_equal label
44
+ affinity_group.description.must_equal options[:description]
45
+ end
46
+
47
+ it 'errors if the affinity group location is not valid' do
48
+ exception = assert_raises(RuntimeError) do
49
+ subject.create_affinity_group(affinity_group_name, 'North West', label)
50
+ end
51
+ assert_match(/Allowed values are Central US,South Central US,West US,East US,East US 2,North Europe,West Europe,Southeast Asia,East Asia,Japan West,Japan East,Brazil South/i, exception.message)
52
+ end
53
+
54
+ it 'create new affinity group without optional params' do
55
+ subject.create_affinity_group(affinity_group_name, image_location, label)
56
+ affinity_group = subject.get_affinity_group(affinity_group_name)
57
+ affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
58
+ affinity_group.name.wont_be_nil
59
+ affinity_group.location.must_equal image_location
60
+ affinity_group.name.must_equal affinity_group_name
61
+ affinity_group.label.must_equal label
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,56 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ before do
20
+ Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
21
+ end
22
+
23
+ subject { Azure::BaseManagementService.new }
24
+ let(:affinity_group_name) { AffinityGroupNameHelper.name }
25
+ let(:image_location) { WindowsImageLocation }
26
+ let(:label) { 'Label Name' }
27
+
28
+ describe '#delete_affinity_group' do
29
+
30
+ it 'delete affinity group' do
31
+ subject.create_affinity_group(affinity_group_name, image_location, label)
32
+ subject.delete_affinity_group(affinity_group_name)
33
+ affinity_list = subject.list_affinity_groups.select do |x|
34
+ x.name == affinity_group_name
35
+ end.first
36
+ affinity_list.must_be_nil
37
+ end
38
+
39
+ it 'errors if the affinity group does not exist' do
40
+ affinity_group_name = 'unknown-server'
41
+ begin
42
+ subject.delete_affinity_group(affinity_group_name)
43
+ rescue Azure::Error::Error => error
44
+ error.status_code.must_equal 404
45
+ error.type.must_equal 'AffinityGroupNotFound'
46
+ end
47
+ end
48
+
49
+ # Pending Test Case.
50
+ # it 'errors while deleting an affinity group associated with services' do
51
+ # skip('Need API to associate hosted services and'\
52
+ # => ' storage account with affinity group.')
53
+ # end
54
+
55
+ end
56
+ end