azure_mgmt_cosmosdb 0.17.0 → 0.21.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb.rb +50 -46
  3. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/collection.rb +3 -0
  4. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/collection_partition.rb +2 -0
  5. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/collection_partition_region.rb +1 -0
  6. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/collection_region.rb +1 -0
  7. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/cosmos_db.rb +1 -1
  8. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/database.rb +3 -0
  9. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/database_account_region.rb +1 -0
  10. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/database_accounts.rb +3264 -715
  11. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/connector_offer.rb +15 -0
  12. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/database_account.rb +24 -0
  13. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/database_account_create_update_parameters.rb +24 -0
  14. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/database_account_list_keys_result.rb +9 -15
  15. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/location.rb +12 -0
  16. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/throughput.rb +97 -0
  17. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/throughput_resource.rb +46 -0
  18. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/models/throughput_update_parameters.rb +48 -0
  19. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/partition_key_range_id.rb +1 -0
  20. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/partition_key_range_id_region.rb +1 -0
  21. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/percentile.rb +1 -0
  22. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/percentile_source_target.rb +1 -0
  23. data/lib/2015-04-08/generated/azure_mgmt_cosmosdb/percentile_target.rb +1 -0
  24. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb.rb +41 -0
  25. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/cosmos_dbmanagement_client.rb +142 -0
  26. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/armproxy_resource.rb +73 -0
  27. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/azure_entity_resource.rb +75 -0
  28. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/error_response.rb +57 -0
  29. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_endpoint_connection.rb +88 -0
  30. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_endpoint_connection_list_result.rb +56 -0
  31. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_endpoint_property.rb +46 -0
  32. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_link_resource.rb +95 -0
  33. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_link_resource_list_result.rb +55 -0
  34. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/private_link_service_connection_state_property.rb +71 -0
  35. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/proxy_resource.rb +63 -0
  36. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/resource.rb +83 -0
  37. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/models/tracked_resource.rb +92 -0
  38. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/module_definition.rb +9 -0
  39. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/private_endpoint_connections.rb +560 -0
  40. data/lib/2019-08-01-preview/generated/azure_mgmt_cosmosdb/private_link_resources.rb +235 -0
  41. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb.rb +181 -0
  42. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/cassandra_resources.rb +1628 -0
  43. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/collection.rb +374 -0
  44. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/collection_partition.rb +269 -0
  45. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/collection_partition_region.rb +156 -0
  46. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/collection_region.rb +156 -0
  47. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/cosmos_dbmanagement_client.rb +200 -0
  48. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/database.rb +362 -0
  49. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/database_account_region.rb +148 -0
  50. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/database_accounts.rb +2184 -0
  51. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/gremlin_resources.rb +1623 -0
  52. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/armproxy_resource.rb +73 -0
  53. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/armresource_properties.rb +102 -0
  54. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/capability.rb +48 -0
  55. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_create_update_parameters.rb +120 -0
  56. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_get_properties_resource.rb +85 -0
  57. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_get_results.rb +98 -0
  58. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_list_result.rb +58 -0
  59. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_resource.rb +46 -0
  60. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_partition_key.rb +46 -0
  61. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_schema.rb +95 -0
  62. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_create_update_parameters.rb +120 -0
  63. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_get_properties_resource.rb +108 -0
  64. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_get_results.rb +98 -0
  65. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_list_result.rb +58 -0
  66. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_resource.rb +69 -0
  67. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/cluster_key.rb +58 -0
  68. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/column.rb +57 -0
  69. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/composite_path.rb +60 -0
  70. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/composite_path_sort_order.rb +16 -0
  71. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/conflict_resolution_mode.rb +16 -0
  72. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/conflict_resolution_policy.rb +73 -0
  73. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/connector_offer.rb +15 -0
  74. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/consistency_policy.rb +86 -0
  75. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/container_partition_key.rb +85 -0
  76. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/data_type.rb +20 -0
  77. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_connection_string.rb +59 -0
  78. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_create_update_parameters.rb +279 -0
  79. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_get_results.rb +371 -0
  80. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_kind.rb +17 -0
  81. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_connection_strings_result.rb +57 -0
  82. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_keys_result.rb +77 -0
  83. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_read_only_keys_result.rb +59 -0
  84. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_offer_type.rb +15 -0
  85. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_regenerate_key_parameters.rb +47 -0
  86. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_update_parameters.rb +230 -0
  87. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/database_accounts_list_result.rb +58 -0
  88. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/default_consistency_level.rb +19 -0
  89. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/error_response.rb +57 -0
  90. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/excluded_path.rb +48 -0
  91. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/extended_resource_properties.rb +74 -0
  92. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/failover_policies.rb +55 -0
  93. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/failover_policy.rb +79 -0
  94. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_create_update_parameters.rb +120 -0
  95. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_get_properties_resource.rb +85 -0
  96. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_get_results.rb +98 -0
  97. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_list_result.rb +58 -0
  98. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_resource.rb +46 -0
  99. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_create_update_parameters.rb +120 -0
  100. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_get_properties_resource.rb +150 -0
  101. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_get_results.rb +98 -0
  102. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_list_result.rb +58 -0
  103. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_resource.rb +111 -0
  104. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/included_path.rb +67 -0
  105. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/index_kind.rb +17 -0
  106. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/indexes.rb +73 -0
  107. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/indexing_mode.rb +17 -0
  108. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/indexing_policy.rb +147 -0
  109. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/key_kind.rb +18 -0
  110. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/location.rb +114 -0
  111. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric.rb +120 -0
  112. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_availability.rb +60 -0
  113. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_definition.rb +109 -0
  114. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_definitions_list_result.rb +57 -0
  115. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_list_result.rb +56 -0
  116. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_name.rb +59 -0
  117. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_value.rb +107 -0
  118. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_create_update_parameters.rb +120 -0
  119. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_get_properties_resource.rb +125 -0
  120. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_get_results.rb +98 -0
  121. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_list_result.rb +58 -0
  122. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_resource.rb +86 -0
  123. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_create_update_parameters.rb +120 -0
  124. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_get_properties_resource.rb +85 -0
  125. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_get_results.rb +98 -0
  126. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_list_result.rb +58 -0
  127. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_resource.rb +46 -0
  128. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index.rb +60 -0
  129. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index_keys.rb +55 -0
  130. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index_options.rb +57 -0
  131. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/operation.rb +58 -0
  132. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/operation_display.rb +80 -0
  133. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/operation_list_result.rb +101 -0
  134. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_kind.rb +16 -0
  135. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_metric.rb +124 -0
  136. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_metric_list_result.rb +57 -0
  137. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_usage.rb +105 -0
  138. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_usages_result.rb +57 -0
  139. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric.rb +120 -0
  140. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric_list_result.rb +57 -0
  141. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric_value.rb +173 -0
  142. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/primary_aggregation_type.rb +20 -0
  143. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/region_for_online_offline.rb +47 -0
  144. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/spatial_spec.rb +67 -0
  145. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/spatial_type.rb +18 -0
  146. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_create_update_parameters.rb +119 -0
  147. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_get_properties_resource.rb +150 -0
  148. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_get_results.rb +98 -0
  149. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_list_result.rb +58 -0
  150. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_resource.rb +111 -0
  151. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_create_update_parameters.rb +120 -0
  152. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_get_properties_resource.rb +109 -0
  153. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_get_results.rb +98 -0
  154. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_list_result.rb +58 -0
  155. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_resource.rb +46 -0
  156. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_create_update_parameters.rb +120 -0
  157. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_get_properties_resource.rb +96 -0
  158. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_get_results.rb +98 -0
  159. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_list_result.rb +58 -0
  160. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_resource.rb +57 -0
  161. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_create_update_parameters.rb +119 -0
  162. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_get_properties_resource.rb +121 -0
  163. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_get_results.rb +98 -0
  164. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_list_result.rb +58 -0
  165. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_resource.rb +82 -0
  166. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_create_update_parameters.rb +121 -0
  167. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_get_properties_resource.rb +97 -0
  168. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_get_results.rb +98 -0
  169. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_list_result.rb +58 -0
  170. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_resource.rb +57 -0
  171. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/table_create_update_parameters.rb +119 -0
  172. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/table_get_properties_resource.rb +85 -0
  173. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/table_get_results.rb +98 -0
  174. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/table_list_result.rb +57 -0
  175. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/table_resource.rb +46 -0
  176. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_get_properties_resource.rb +109 -0
  177. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_get_results.rb +98 -0
  178. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_resource.rb +70 -0
  179. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_update_parameters.rb +99 -0
  180. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/trigger_operation.rb +19 -0
  181. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/trigger_type.rb +16 -0
  182. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/unique_key.rb +56 -0
  183. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/unique_key_policy.rb +58 -0
  184. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/unit_type.rb +21 -0
  185. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/usage.rb +97 -0
  186. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/usages_result.rb +57 -0
  187. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/models/virtual_network_rule.rb +59 -0
  188. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/module_definition.rb +9 -0
  189. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/mongo_dbresources.rb +1634 -0
  190. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/operations.rb +219 -0
  191. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/partition_key_range_id.rb +156 -0
  192. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/partition_key_range_id_region.rb +163 -0
  193. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/percentile.rb +141 -0
  194. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/percentile_source_target.rb +158 -0
  195. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/percentile_target.rb +148 -0
  196. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/sql_resources.rb +3289 -0
  197. data/lib/2019-08-01/generated/azure_mgmt_cosmosdb/table_resources.rb +804 -0
  198. data/lib/azure_mgmt_cosmosdb.rb +2 -0
  199. data/lib/profiles/latest/modules/cosmosdb_profile_module.rb +502 -296
  200. data/lib/version.rb +1 -1
  201. metadata +183 -5
@@ -0,0 +1,235 @@
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::Cosmosdb::Mgmt::V2019_08_01_preview
7
+ #
8
+ # Azure Cosmos DB Database Service Resource Provider REST API
9
+ #
10
+ class PrivateLinkResources
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the PrivateLinkResources class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [CosmosDBManagementClient] reference to the CosmosDBManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Gets the private link resources that need to be created for a Cosmos DB
26
+ # account.
27
+ #
28
+ # @param resource_group_name [String] Name of an Azure resource group.
29
+ # @param account_name [String] Cosmos DB database account name.
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [PrivateLinkResourceListResult] operation results.
34
+ #
35
+ def list_by_database_account(resource_group_name, account_name, custom_headers:nil)
36
+ response = list_by_database_account_async(resource_group_name, account_name, custom_headers:custom_headers).value!
37
+ response.body unless response.nil?
38
+ end
39
+
40
+ #
41
+ # Gets the private link resources that need to be created for a Cosmos DB
42
+ # account.
43
+ #
44
+ # @param resource_group_name [String] Name of an Azure resource group.
45
+ # @param account_name [String] Cosmos DB database account name.
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_database_account_with_http_info(resource_group_name, account_name, custom_headers:nil)
52
+ list_by_database_account_async(resource_group_name, account_name, custom_headers:custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Gets the private link resources that need to be created for a Cosmos DB
57
+ # account.
58
+ #
59
+ # @param resource_group_name [String] Name of an Azure resource group.
60
+ # @param account_name [String] Cosmos DB database account name.
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_database_account_async(resource_group_name, account_name, custom_headers:nil)
67
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
68
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
69
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
70
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
71
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
72
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
73
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
74
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
75
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
76
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
77
+
78
+
79
+ request_headers = {}
80
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
81
+
82
+ # Set Headers
83
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
84
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
85
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'
86
+
87
+ request_url = @base_url || @client.base_url
88
+
89
+ options = {
90
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
91
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name},
92
+ query_params: {'api-version' => @client.api_version},
93
+ headers: request_headers.merge(custom_headers || {}),
94
+ base_url: request_url
95
+ }
96
+ promise = @client.make_request_async(:get, path_template, options)
97
+
98
+ promise = promise.then do |result|
99
+ http_response = result.response
100
+ status_code = http_response.status
101
+ response_content = http_response.body
102
+ unless status_code == 200
103
+ error_model = JSON.load(response_content)
104
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
105
+ end
106
+
107
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
108
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
109
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
110
+ # Deserialize Response
111
+ if status_code == 200
112
+ begin
113
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
114
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01_preview::Models::PrivateLinkResourceListResult.mapper()
115
+ result.body = @client.deserialize(result_mapper, parsed_response)
116
+ rescue Exception => e
117
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
118
+ end
119
+ end
120
+
121
+ result
122
+ end
123
+
124
+ promise.execute
125
+ end
126
+
127
+ #
128
+ # Gets the private link resources that need to be created for a Cosmos DB
129
+ # account.
130
+ #
131
+ # @param resource_group_name [String] Name of an Azure resource group.
132
+ # @param account_name [String] Cosmos DB database account name.
133
+ # @param group_name [String] The name of the private link resource.
134
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
135
+ # will be added to the HTTP request.
136
+ #
137
+ # @return [PrivateLinkResource] operation results.
138
+ #
139
+ def get(resource_group_name, account_name, group_name, custom_headers:nil)
140
+ response = get_async(resource_group_name, account_name, group_name, custom_headers:custom_headers).value!
141
+ response.body unless response.nil?
142
+ end
143
+
144
+ #
145
+ # Gets the private link resources that need to be created for a Cosmos DB
146
+ # account.
147
+ #
148
+ # @param resource_group_name [String] Name of an Azure resource group.
149
+ # @param account_name [String] Cosmos DB database account name.
150
+ # @param group_name [String] The name of the private link resource.
151
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
152
+ # will be added to the HTTP request.
153
+ #
154
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
155
+ #
156
+ def get_with_http_info(resource_group_name, account_name, group_name, custom_headers:nil)
157
+ get_async(resource_group_name, account_name, group_name, custom_headers:custom_headers).value!
158
+ end
159
+
160
+ #
161
+ # Gets the private link resources that need to be created for a Cosmos DB
162
+ # account.
163
+ #
164
+ # @param resource_group_name [String] Name of an Azure resource group.
165
+ # @param account_name [String] Cosmos DB database account name.
166
+ # @param group_name [String] The name of the private link resource.
167
+ # @param [Hash{String => String}] A hash of custom headers that will be added
168
+ # to the HTTP request.
169
+ #
170
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
171
+ #
172
+ def get_async(resource_group_name, account_name, group_name, custom_headers:nil)
173
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
174
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
175
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
176
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
177
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
178
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
179
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
180
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
181
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
182
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
183
+ fail ArgumentError, 'group_name is nil' if group_name.nil?
184
+
185
+
186
+ request_headers = {}
187
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
188
+
189
+ # Set Headers
190
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
191
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
192
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'
193
+
194
+ request_url = @base_url || @client.base_url
195
+
196
+ options = {
197
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
198
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'groupName' => group_name},
199
+ query_params: {'api-version' => @client.api_version},
200
+ headers: request_headers.merge(custom_headers || {}),
201
+ base_url: request_url
202
+ }
203
+ promise = @client.make_request_async(:get, path_template, options)
204
+
205
+ promise = promise.then do |result|
206
+ http_response = result.response
207
+ status_code = http_response.status
208
+ response_content = http_response.body
209
+ unless status_code == 200
210
+ error_model = JSON.load(response_content)
211
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
212
+ end
213
+
214
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
215
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
216
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
217
+ # Deserialize Response
218
+ if status_code == 200
219
+ begin
220
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
221
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01_preview::Models::PrivateLinkResource.mapper()
222
+ result.body = @client.deserialize(result_mapper, parsed_response)
223
+ rescue Exception => e
224
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
225
+ end
226
+ end
227
+
228
+ result
229
+ end
230
+
231
+ promise.execute
232
+ end
233
+
234
+ end
235
+ end
@@ -0,0 +1,181 @@
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
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require '2019-08-01/generated/azure_mgmt_cosmosdb/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::Cosmosdb::Mgmt::V2019_08_01
23
+ autoload :DatabaseAccounts, '2019-08-01/generated/azure_mgmt_cosmosdb/database_accounts.rb'
24
+ autoload :Operations, '2019-08-01/generated/azure_mgmt_cosmosdb/operations.rb'
25
+ autoload :Database, '2019-08-01/generated/azure_mgmt_cosmosdb/database.rb'
26
+ autoload :Collection, '2019-08-01/generated/azure_mgmt_cosmosdb/collection.rb'
27
+ autoload :CollectionRegion, '2019-08-01/generated/azure_mgmt_cosmosdb/collection_region.rb'
28
+ autoload :DatabaseAccountRegion, '2019-08-01/generated/azure_mgmt_cosmosdb/database_account_region.rb'
29
+ autoload :PercentileSourceTarget, '2019-08-01/generated/azure_mgmt_cosmosdb/percentile_source_target.rb'
30
+ autoload :PercentileTarget, '2019-08-01/generated/azure_mgmt_cosmosdb/percentile_target.rb'
31
+ autoload :Percentile, '2019-08-01/generated/azure_mgmt_cosmosdb/percentile.rb'
32
+ autoload :CollectionPartitionRegion, '2019-08-01/generated/azure_mgmt_cosmosdb/collection_partition_region.rb'
33
+ autoload :CollectionPartition, '2019-08-01/generated/azure_mgmt_cosmosdb/collection_partition.rb'
34
+ autoload :PartitionKeyRangeId, '2019-08-01/generated/azure_mgmt_cosmosdb/partition_key_range_id.rb'
35
+ autoload :PartitionKeyRangeIdRegion, '2019-08-01/generated/azure_mgmt_cosmosdb/partition_key_range_id_region.rb'
36
+ autoload :SqlResources, '2019-08-01/generated/azure_mgmt_cosmosdb/sql_resources.rb'
37
+ autoload :MongoDBResources, '2019-08-01/generated/azure_mgmt_cosmosdb/mongo_dbresources.rb'
38
+ autoload :TableResources, '2019-08-01/generated/azure_mgmt_cosmosdb/table_resources.rb'
39
+ autoload :CassandraResources, '2019-08-01/generated/azure_mgmt_cosmosdb/cassandra_resources.rb'
40
+ autoload :GremlinResources, '2019-08-01/generated/azure_mgmt_cosmosdb/gremlin_resources.rb'
41
+ autoload :CosmosDBManagementClient, '2019-08-01/generated/azure_mgmt_cosmosdb/cosmos_dbmanagement_client.rb'
42
+
43
+ module Models
44
+ autoload :ErrorResponse, '2019-08-01/generated/azure_mgmt_cosmosdb/models/error_response.rb'
45
+ autoload :ConsistencyPolicy, '2019-08-01/generated/azure_mgmt_cosmosdb/models/consistency_policy.rb'
46
+ autoload :FailoverPolicies, '2019-08-01/generated/azure_mgmt_cosmosdb/models/failover_policies.rb'
47
+ autoload :Location, '2019-08-01/generated/azure_mgmt_cosmosdb/models/location.rb'
48
+ autoload :RegionForOnlineOffline, '2019-08-01/generated/azure_mgmt_cosmosdb/models/region_for_online_offline.rb'
49
+ autoload :VirtualNetworkRule, '2019-08-01/generated/azure_mgmt_cosmosdb/models/virtual_network_rule.rb'
50
+ autoload :ARMResourceProperties, '2019-08-01/generated/azure_mgmt_cosmosdb/models/armresource_properties.rb'
51
+ autoload :DatabaseAccountsListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_accounts_list_result.rb'
52
+ autoload :ARMProxyResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/armproxy_resource.rb'
53
+ autoload :ClusterKey, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cluster_key.rb'
54
+ autoload :SqlDatabaseListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_list_result.rb'
55
+ autoload :CassandraSchema, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_schema.rb'
56
+ autoload :IncludedPath, '2019-08-01/generated/azure_mgmt_cosmosdb/models/included_path.rb'
57
+ autoload :CassandraTableGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_get_properties_resource.rb'
58
+ autoload :CompositePath, '2019-08-01/generated/azure_mgmt_cosmosdb/models/composite_path.rb'
59
+ autoload :MetricDefinition, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_definition.rb'
60
+ autoload :IndexingPolicy, '2019-08-01/generated/azure_mgmt_cosmosdb/models/indexing_policy.rb'
61
+ autoload :CassandraTableListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_list_result.rb'
62
+ autoload :UniqueKey, '2019-08-01/generated/azure_mgmt_cosmosdb/models/unique_key.rb'
63
+ autoload :GremlinDatabaseGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_get_properties_resource.rb'
64
+ autoload :ConflictResolutionPolicy, '2019-08-01/generated/azure_mgmt_cosmosdb/models/conflict_resolution_policy.rb'
65
+ autoload :MetricAvailability, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_availability.rb'
66
+ autoload :GremlinDatabaseListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_list_result.rb'
67
+ autoload :SqlStoredProcedureGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_get_properties_resource.rb'
68
+ autoload :GremlinGraphGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_get_properties_resource.rb'
69
+ autoload :SqlStoredProcedureListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_list_result.rb'
70
+ autoload :PartitionUsagesResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_usages_result.rb'
71
+ autoload :PercentileMetricListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric_list_result.rb'
72
+ autoload :GremlinGraphListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_list_result.rb'
73
+ autoload :SqlTriggerGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_get_properties_resource.rb'
74
+ autoload :Capability, '2019-08-01/generated/azure_mgmt_cosmosdb/models/capability.rb'
75
+ autoload :SqlTriggerListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_list_result.rb'
76
+ autoload :FailoverPolicy, '2019-08-01/generated/azure_mgmt_cosmosdb/models/failover_policy.rb'
77
+ autoload :MetricListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_list_result.rb'
78
+ autoload :MongoDBDatabaseListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_list_result.rb'
79
+ autoload :MongoDBCollectionResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_resource.rb'
80
+ autoload :MongoIndexOptions, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index_options.rb'
81
+ autoload :SqlDatabaseGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_get_properties_resource.rb'
82
+ autoload :MongoDBCollectionGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_get_properties_resource.rb'
83
+ autoload :UsagesResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/usages_result.rb'
84
+ autoload :MongoDBCollectionListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_list_result.rb'
85
+ autoload :ExtendedResourceProperties, '2019-08-01/generated/azure_mgmt_cosmosdb/models/extended_resource_properties.rb'
86
+ autoload :MetricValue, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_value.rb'
87
+ autoload :ThroughputSettingsGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_get_properties_resource.rb'
88
+ autoload :CassandraKeyspaceGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_get_properties_resource.rb'
89
+ autoload :Usage, '2019-08-01/generated/azure_mgmt_cosmosdb/models/usage.rb'
90
+ autoload :CassandraKeyspaceListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_list_result.rb'
91
+ autoload :MetricName, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_name.rb'
92
+ autoload :CassandraPartitionKey, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_partition_key.rb'
93
+ autoload :DatabaseAccountUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_update_parameters.rb'
94
+ autoload :ExcludedPath, '2019-08-01/generated/azure_mgmt_cosmosdb/models/excluded_path.rb'
95
+ autoload :DatabaseAccountListReadOnlyKeysResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_read_only_keys_result.rb'
96
+ autoload :ContainerPartitionKey, '2019-08-01/generated/azure_mgmt_cosmosdb/models/container_partition_key.rb'
97
+ autoload :OperationListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/operation_list_result.rb'
98
+ autoload :SqlContainerGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_get_properties_resource.rb'
99
+ autoload :DatabaseAccountConnectionString, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_connection_string.rb'
100
+ autoload :PartitionMetricListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_metric_list_result.rb'
101
+ autoload :DatabaseAccountListConnectionStringsResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_connection_strings_result.rb'
102
+ autoload :SqlUserDefinedFunctionListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_list_result.rb'
103
+ autoload :DatabaseAccountRegenerateKeyParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_regenerate_key_parameters.rb'
104
+ autoload :MongoDBDatabaseGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_get_properties_resource.rb'
105
+ autoload :ThroughputSettingsResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_resource.rb'
106
+ autoload :MongoIndex, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index.rb'
107
+ autoload :Operation, '2019-08-01/generated/azure_mgmt_cosmosdb/models/operation.rb'
108
+ autoload :TableGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/table_get_properties_resource.rb'
109
+ autoload :SqlDatabaseResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_resource.rb'
110
+ autoload :MetricDefinitionsListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric_definitions_list_result.rb'
111
+ autoload :OperationDisplay, '2019-08-01/generated/azure_mgmt_cosmosdb/models/operation_display.rb'
112
+ autoload :Indexes, '2019-08-01/generated/azure_mgmt_cosmosdb/models/indexes.rb'
113
+ autoload :SqlContainerResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_resource.rb'
114
+ autoload :UniqueKeyPolicy, '2019-08-01/generated/azure_mgmt_cosmosdb/models/unique_key_policy.rb'
115
+ autoload :GremlinGraphResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_resource.rb'
116
+ autoload :SqlUserDefinedFunctionGetPropertiesResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_get_properties_resource.rb'
117
+ autoload :SqlStoredProcedureResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_resource.rb'
118
+ autoload :MongoIndexKeys, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_index_keys.rb'
119
+ autoload :GremlinDatabaseResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_resource.rb'
120
+ autoload :TableListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/table_list_result.rb'
121
+ autoload :SqlUserDefinedFunctionResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_resource.rb'
122
+ autoload :SpatialSpec, '2019-08-01/generated/azure_mgmt_cosmosdb/models/spatial_spec.rb'
123
+ autoload :CassandraTableResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_resource.rb'
124
+ autoload :PercentileMetric, '2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric.rb'
125
+ autoload :SqlTriggerResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_resource.rb'
126
+ autoload :Column, '2019-08-01/generated/azure_mgmt_cosmosdb/models/column.rb'
127
+ autoload :CassandraKeyspaceResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_resource.rb'
128
+ autoload :Metric, '2019-08-01/generated/azure_mgmt_cosmosdb/models/metric.rb'
129
+ autoload :MongoDBDatabaseResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_resource.rb'
130
+ autoload :SqlContainerListResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_list_result.rb'
131
+ autoload :TableResource, '2019-08-01/generated/azure_mgmt_cosmosdb/models/table_resource.rb'
132
+ autoload :DatabaseAccountGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_get_results.rb'
133
+ autoload :SqlDatabaseGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_get_results.rb'
134
+ autoload :SqlContainerGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_get_results.rb'
135
+ autoload :SqlStoredProcedureGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_get_results.rb'
136
+ autoload :SqlUserDefinedFunctionGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_get_results.rb'
137
+ autoload :SqlTriggerGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_get_results.rb'
138
+ autoload :MongoDBDatabaseGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_get_results.rb'
139
+ autoload :MongoDBCollectionGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_get_results.rb'
140
+ autoload :TableGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/table_get_results.rb'
141
+ autoload :CassandraKeyspaceGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_get_results.rb'
142
+ autoload :CassandraTableGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_get_results.rb'
143
+ autoload :GremlinDatabaseGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_get_results.rb'
144
+ autoload :GremlinGraphGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_get_results.rb'
145
+ autoload :ThroughputSettingsGetResults, '2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_get_results.rb'
146
+ autoload :DatabaseAccountCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_create_update_parameters.rb'
147
+ autoload :DatabaseAccountListKeysResult, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_list_keys_result.rb'
148
+ autoload :ThroughputSettingsUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/throughput_settings_update_parameters.rb'
149
+ autoload :SqlDatabaseCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_database_create_update_parameters.rb'
150
+ autoload :SqlContainerCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_container_create_update_parameters.rb'
151
+ autoload :SqlStoredProcedureCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_stored_procedure_create_update_parameters.rb'
152
+ autoload :SqlUserDefinedFunctionCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_user_defined_function_create_update_parameters.rb'
153
+ autoload :SqlTriggerCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/sql_trigger_create_update_parameters.rb'
154
+ autoload :MongoDBDatabaseCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbdatabase_create_update_parameters.rb'
155
+ autoload :MongoDBCollectionCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/mongo_dbcollection_create_update_parameters.rb'
156
+ autoload :TableCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/table_create_update_parameters.rb'
157
+ autoload :CassandraKeyspaceCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_keyspace_create_update_parameters.rb'
158
+ autoload :CassandraTableCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/cassandra_table_create_update_parameters.rb'
159
+ autoload :GremlinDatabaseCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_database_create_update_parameters.rb'
160
+ autoload :GremlinGraphCreateUpdateParameters, '2019-08-01/generated/azure_mgmt_cosmosdb/models/gremlin_graph_create_update_parameters.rb'
161
+ autoload :PartitionUsage, '2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_usage.rb'
162
+ autoload :PercentileMetricValue, '2019-08-01/generated/azure_mgmt_cosmosdb/models/percentile_metric_value.rb'
163
+ autoload :PartitionMetric, '2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_metric.rb'
164
+ autoload :DatabaseAccountKind, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_kind.rb'
165
+ autoload :DatabaseAccountOfferType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/database_account_offer_type.rb'
166
+ autoload :DefaultConsistencyLevel, '2019-08-01/generated/azure_mgmt_cosmosdb/models/default_consistency_level.rb'
167
+ autoload :ConnectorOffer, '2019-08-01/generated/azure_mgmt_cosmosdb/models/connector_offer.rb'
168
+ autoload :IndexingMode, '2019-08-01/generated/azure_mgmt_cosmosdb/models/indexing_mode.rb'
169
+ autoload :DataType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/data_type.rb'
170
+ autoload :IndexKind, '2019-08-01/generated/azure_mgmt_cosmosdb/models/index_kind.rb'
171
+ autoload :CompositePathSortOrder, '2019-08-01/generated/azure_mgmt_cosmosdb/models/composite_path_sort_order.rb'
172
+ autoload :SpatialType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/spatial_type.rb'
173
+ autoload :PartitionKind, '2019-08-01/generated/azure_mgmt_cosmosdb/models/partition_kind.rb'
174
+ autoload :ConflictResolutionMode, '2019-08-01/generated/azure_mgmt_cosmosdb/models/conflict_resolution_mode.rb'
175
+ autoload :TriggerType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/trigger_type.rb'
176
+ autoload :TriggerOperation, '2019-08-01/generated/azure_mgmt_cosmosdb/models/trigger_operation.rb'
177
+ autoload :KeyKind, '2019-08-01/generated/azure_mgmt_cosmosdb/models/key_kind.rb'
178
+ autoload :UnitType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/unit_type.rb'
179
+ autoload :PrimaryAggregationType, '2019-08-01/generated/azure_mgmt_cosmosdb/models/primary_aggregation_type.rb'
180
+ end
181
+ end
@@ -0,0 +1,1628 @@
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::Cosmosdb::Mgmt::V2019_08_01
7
+ #
8
+ # Azure Cosmos DB Database Service Resource Provider REST API
9
+ #
10
+ class CassandraResources
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the CassandraResources class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [CosmosDBManagementClient] reference to the CosmosDBManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Lists the Cassandra keyspaces under an existing Azure Cosmos DB database
26
+ # account.
27
+ #
28
+ # @param resource_group_name [String] Name of an Azure resource group.
29
+ # @param account_name [String] Cosmos DB database account name.
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [CassandraKeyspaceListResult] operation results.
34
+ #
35
+ def list_cassandra_keyspaces(resource_group_name, account_name, custom_headers:nil)
36
+ response = list_cassandra_keyspaces_async(resource_group_name, account_name, custom_headers:custom_headers).value!
37
+ response.body unless response.nil?
38
+ end
39
+
40
+ #
41
+ # Lists the Cassandra keyspaces under an existing Azure Cosmos DB database
42
+ # account.
43
+ #
44
+ # @param resource_group_name [String] Name of an Azure resource group.
45
+ # @param account_name [String] Cosmos DB database account name.
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_cassandra_keyspaces_with_http_info(resource_group_name, account_name, custom_headers:nil)
52
+ list_cassandra_keyspaces_async(resource_group_name, account_name, custom_headers:custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Lists the Cassandra keyspaces under an existing Azure Cosmos DB database
57
+ # account.
58
+ #
59
+ # @param resource_group_name [String] Name of an Azure resource group.
60
+ # @param account_name [String] Cosmos DB database account name.
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_cassandra_keyspaces_async(resource_group_name, account_name, custom_headers:nil)
67
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
68
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
69
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
70
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
71
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
72
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
73
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
74
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
75
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
76
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
77
+
78
+
79
+ request_headers = {}
80
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
81
+
82
+ # Set Headers
83
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
84
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
85
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'
86
+
87
+ request_url = @base_url || @client.base_url
88
+
89
+ options = {
90
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
91
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name},
92
+ query_params: {'api-version' => @client.api_version},
93
+ headers: request_headers.merge(custom_headers || {}),
94
+ base_url: request_url
95
+ }
96
+ promise = @client.make_request_async(:get, path_template, options)
97
+
98
+ promise = promise.then do |result|
99
+ http_response = result.response
100
+ status_code = http_response.status
101
+ response_content = http_response.body
102
+ unless status_code == 200
103
+ error_model = JSON.load(response_content)
104
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
105
+ end
106
+
107
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
108
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
109
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
110
+ # Deserialize Response
111
+ if status_code == 200
112
+ begin
113
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
114
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraKeyspaceListResult.mapper()
115
+ result.body = @client.deserialize(result_mapper, parsed_response)
116
+ rescue Exception => e
117
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
118
+ end
119
+ end
120
+
121
+ result
122
+ end
123
+
124
+ promise.execute
125
+ end
126
+
127
+ #
128
+ # Gets the Cassandra keyspaces under an existing Azure Cosmos DB database
129
+ # account with the provided name.
130
+ #
131
+ # @param resource_group_name [String] Name of an Azure resource group.
132
+ # @param account_name [String] Cosmos DB database account name.
133
+ # @param keyspace_name [String] Cosmos DB keyspace name.
134
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
135
+ # will be added to the HTTP request.
136
+ #
137
+ # @return [CassandraKeyspaceGetResults] operation results.
138
+ #
139
+ def get_cassandra_keyspace(resource_group_name, account_name, keyspace_name, custom_headers:nil)
140
+ response = get_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
141
+ response.body unless response.nil?
142
+ end
143
+
144
+ #
145
+ # Gets the Cassandra keyspaces under an existing Azure Cosmos DB database
146
+ # account with the provided name.
147
+ #
148
+ # @param resource_group_name [String] Name of an Azure resource group.
149
+ # @param account_name [String] Cosmos DB database account name.
150
+ # @param keyspace_name [String] Cosmos DB keyspace name.
151
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
152
+ # will be added to the HTTP request.
153
+ #
154
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
155
+ #
156
+ def get_cassandra_keyspace_with_http_info(resource_group_name, account_name, keyspace_name, custom_headers:nil)
157
+ get_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
158
+ end
159
+
160
+ #
161
+ # Gets the Cassandra keyspaces under an existing Azure Cosmos DB database
162
+ # account with the provided name.
163
+ #
164
+ # @param resource_group_name [String] Name of an Azure resource group.
165
+ # @param account_name [String] Cosmos DB database account name.
166
+ # @param keyspace_name [String] Cosmos DB keyspace name.
167
+ # @param [Hash{String => String}] A hash of custom headers that will be added
168
+ # to the HTTP request.
169
+ #
170
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
171
+ #
172
+ def get_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:nil)
173
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
174
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
175
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
176
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
177
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
178
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
179
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
180
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
181
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
182
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
183
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
184
+
185
+
186
+ request_headers = {}
187
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
188
+
189
+ # Set Headers
190
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
191
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
192
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'
193
+
194
+ request_url = @base_url || @client.base_url
195
+
196
+ options = {
197
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
198
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
199
+ query_params: {'api-version' => @client.api_version},
200
+ headers: request_headers.merge(custom_headers || {}),
201
+ base_url: request_url
202
+ }
203
+ promise = @client.make_request_async(:get, path_template, options)
204
+
205
+ promise = promise.then do |result|
206
+ http_response = result.response
207
+ status_code = http_response.status
208
+ response_content = http_response.body
209
+ unless status_code == 200
210
+ error_model = JSON.load(response_content)
211
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
212
+ end
213
+
214
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
215
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
216
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
217
+ # Deserialize Response
218
+ if status_code == 200
219
+ begin
220
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
221
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraKeyspaceGetResults.mapper()
222
+ result.body = @client.deserialize(result_mapper, parsed_response)
223
+ rescue Exception => e
224
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
225
+ end
226
+ end
227
+
228
+ result
229
+ end
230
+
231
+ promise.execute
232
+ end
233
+
234
+ #
235
+ # Create or update an Azure Cosmos DB Cassandra keyspace
236
+ #
237
+ # @param resource_group_name [String] Name of an Azure resource group.
238
+ # @param account_name [String] Cosmos DB database account name.
239
+ # @param keyspace_name [String] Cosmos DB keyspace name.
240
+ # @param create_update_cassandra_keyspace_parameters
241
+ # [CassandraKeyspaceCreateUpdateParameters] The parameters to provide for the
242
+ # current Cassandra keyspace.
243
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
244
+ # will be added to the HTTP request.
245
+ #
246
+ # @return [CassandraKeyspaceGetResults] operation results.
247
+ #
248
+ def create_update_cassandra_keyspace(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:nil)
249
+ response = create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:custom_headers).value!
250
+ response.body unless response.nil?
251
+ end
252
+
253
+ #
254
+ # @param resource_group_name [String] Name of an Azure resource group.
255
+ # @param account_name [String] Cosmos DB database account name.
256
+ # @param keyspace_name [String] Cosmos DB keyspace name.
257
+ # @param create_update_cassandra_keyspace_parameters
258
+ # [CassandraKeyspaceCreateUpdateParameters] The parameters to provide for the
259
+ # current Cassandra keyspace.
260
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
261
+ # will be added to the HTTP request.
262
+ #
263
+ # @return [Concurrent::Promise] promise which provides async access to http
264
+ # response.
265
+ #
266
+ def create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:nil)
267
+ # Send request
268
+ promise = begin_create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:custom_headers)
269
+
270
+ promise = promise.then do |response|
271
+ # Defining deserialization method.
272
+ deserialize_method = lambda do |parsed_response|
273
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraKeyspaceGetResults.mapper()
274
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
275
+ end
276
+
277
+ # Waiting for response.
278
+ @client.get_long_running_operation_result(response, deserialize_method)
279
+ end
280
+
281
+ promise
282
+ end
283
+
284
+ #
285
+ # Deletes an existing Azure Cosmos DB Cassandra keyspace.
286
+ #
287
+ # @param resource_group_name [String] Name of an Azure resource group.
288
+ # @param account_name [String] Cosmos DB database account name.
289
+ # @param keyspace_name [String] Cosmos DB keyspace name.
290
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
291
+ # will be added to the HTTP request.
292
+ #
293
+ def delete_cassandra_keyspace(resource_group_name, account_name, keyspace_name, custom_headers:nil)
294
+ response = delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
295
+ nil
296
+ end
297
+
298
+ #
299
+ # @param resource_group_name [String] Name of an Azure resource group.
300
+ # @param account_name [String] Cosmos DB database account name.
301
+ # @param keyspace_name [String] Cosmos DB keyspace name.
302
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
303
+ # will be added to the HTTP request.
304
+ #
305
+ # @return [Concurrent::Promise] promise which provides async access to http
306
+ # response.
307
+ #
308
+ def delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:nil)
309
+ # Send request
310
+ promise = begin_delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers)
311
+
312
+ promise = promise.then do |response|
313
+ # Defining deserialization method.
314
+ deserialize_method = lambda do |parsed_response|
315
+ end
316
+
317
+ # Waiting for response.
318
+ @client.get_long_running_operation_result(response, deserialize_method)
319
+ end
320
+
321
+ promise
322
+ end
323
+
324
+ #
325
+ # Gets the RUs per second of the Cassandra Keyspace under an existing Azure
326
+ # Cosmos DB database account with the provided name.
327
+ #
328
+ # @param resource_group_name [String] Name of an Azure resource group.
329
+ # @param account_name [String] Cosmos DB database account name.
330
+ # @param keyspace_name [String] Cosmos DB keyspace name.
331
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
332
+ # will be added to the HTTP request.
333
+ #
334
+ # @return [ThroughputSettingsGetResults] operation results.
335
+ #
336
+ def get_cassandra_keyspace_throughput(resource_group_name, account_name, keyspace_name, custom_headers:nil)
337
+ response = get_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
338
+ response.body unless response.nil?
339
+ end
340
+
341
+ #
342
+ # Gets the RUs per second of the Cassandra Keyspace under an existing Azure
343
+ # Cosmos DB database account with the provided name.
344
+ #
345
+ # @param resource_group_name [String] Name of an Azure resource group.
346
+ # @param account_name [String] Cosmos DB database account name.
347
+ # @param keyspace_name [String] Cosmos DB keyspace name.
348
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
349
+ # will be added to the HTTP request.
350
+ #
351
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
352
+ #
353
+ def get_cassandra_keyspace_throughput_with_http_info(resource_group_name, account_name, keyspace_name, custom_headers:nil)
354
+ get_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
355
+ end
356
+
357
+ #
358
+ # Gets the RUs per second of the Cassandra Keyspace under an existing Azure
359
+ # Cosmos DB database account with the provided name.
360
+ #
361
+ # @param resource_group_name [String] Name of an Azure resource group.
362
+ # @param account_name [String] Cosmos DB database account name.
363
+ # @param keyspace_name [String] Cosmos DB keyspace name.
364
+ # @param [Hash{String => String}] A hash of custom headers that will be added
365
+ # to the HTTP request.
366
+ #
367
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
368
+ #
369
+ def get_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, custom_headers:nil)
370
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
371
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
372
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
373
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
374
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
375
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
376
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
377
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
378
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
379
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
380
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
381
+
382
+
383
+ request_headers = {}
384
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
385
+
386
+ # Set Headers
387
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
388
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
389
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'
390
+
391
+ request_url = @base_url || @client.base_url
392
+
393
+ options = {
394
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
395
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
396
+ query_params: {'api-version' => @client.api_version},
397
+ headers: request_headers.merge(custom_headers || {}),
398
+ base_url: request_url
399
+ }
400
+ promise = @client.make_request_async(:get, path_template, options)
401
+
402
+ promise = promise.then do |result|
403
+ http_response = result.response
404
+ status_code = http_response.status
405
+ response_content = http_response.body
406
+ unless status_code == 200
407
+ error_model = JSON.load(response_content)
408
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
409
+ end
410
+
411
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
412
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
413
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
414
+ # Deserialize Response
415
+ if status_code == 200
416
+ begin
417
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
418
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
419
+ result.body = @client.deserialize(result_mapper, parsed_response)
420
+ rescue Exception => e
421
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
422
+ end
423
+ end
424
+
425
+ result
426
+ end
427
+
428
+ promise.execute
429
+ end
430
+
431
+ #
432
+ # Update RUs per second of an Azure Cosmos DB Cassandra Keyspace
433
+ #
434
+ # @param resource_group_name [String] Name of an Azure resource group.
435
+ # @param account_name [String] Cosmos DB database account name.
436
+ # @param keyspace_name [String] Cosmos DB keyspace name.
437
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
438
+ # RUs per second of the parameters to provide for the current Cassandra
439
+ # Keyspace.
440
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
441
+ # will be added to the HTTP request.
442
+ #
443
+ # @return [ThroughputSettingsGetResults] operation results.
444
+ #
445
+ def update_cassandra_keyspace_throughput(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:nil)
446
+ response = update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:custom_headers).value!
447
+ response.body unless response.nil?
448
+ end
449
+
450
+ #
451
+ # @param resource_group_name [String] Name of an Azure resource group.
452
+ # @param account_name [String] Cosmos DB database account name.
453
+ # @param keyspace_name [String] Cosmos DB keyspace name.
454
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
455
+ # RUs per second of the parameters to provide for the current Cassandra
456
+ # Keyspace.
457
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
458
+ # will be added to the HTTP request.
459
+ #
460
+ # @return [Concurrent::Promise] promise which provides async access to http
461
+ # response.
462
+ #
463
+ def update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:nil)
464
+ # Send request
465
+ promise = begin_update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:custom_headers)
466
+
467
+ promise = promise.then do |response|
468
+ # Defining deserialization method.
469
+ deserialize_method = lambda do |parsed_response|
470
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
471
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
472
+ end
473
+
474
+ # Waiting for response.
475
+ @client.get_long_running_operation_result(response, deserialize_method)
476
+ end
477
+
478
+ promise
479
+ end
480
+
481
+ #
482
+ # Lists the Cassandra table under an existing Azure Cosmos DB database account.
483
+ #
484
+ # @param resource_group_name [String] Name of an Azure resource group.
485
+ # @param account_name [String] Cosmos DB database account name.
486
+ # @param keyspace_name [String] Cosmos DB keyspace name.
487
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
488
+ # will be added to the HTTP request.
489
+ #
490
+ # @return [CassandraTableListResult] operation results.
491
+ #
492
+ def list_cassandra_tables(resource_group_name, account_name, keyspace_name, custom_headers:nil)
493
+ response = list_cassandra_tables_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
494
+ response.body unless response.nil?
495
+ end
496
+
497
+ #
498
+ # Lists the Cassandra table under an existing Azure Cosmos DB database account.
499
+ #
500
+ # @param resource_group_name [String] Name of an Azure resource group.
501
+ # @param account_name [String] Cosmos DB database account name.
502
+ # @param keyspace_name [String] Cosmos DB keyspace name.
503
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
504
+ # will be added to the HTTP request.
505
+ #
506
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
507
+ #
508
+ def list_cassandra_tables_with_http_info(resource_group_name, account_name, keyspace_name, custom_headers:nil)
509
+ list_cassandra_tables_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
510
+ end
511
+
512
+ #
513
+ # Lists the Cassandra table under an existing Azure Cosmos DB database account.
514
+ #
515
+ # @param resource_group_name [String] Name of an Azure resource group.
516
+ # @param account_name [String] Cosmos DB database account name.
517
+ # @param keyspace_name [String] Cosmos DB keyspace name.
518
+ # @param [Hash{String => String}] A hash of custom headers that will be added
519
+ # to the HTTP request.
520
+ #
521
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
522
+ #
523
+ def list_cassandra_tables_async(resource_group_name, account_name, keyspace_name, custom_headers:nil)
524
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
525
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
526
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
527
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
528
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
529
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
530
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
531
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
532
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
533
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
534
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
535
+
536
+
537
+ request_headers = {}
538
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
539
+
540
+ # Set Headers
541
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
542
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
543
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'
544
+
545
+ request_url = @base_url || @client.base_url
546
+
547
+ options = {
548
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
549
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
550
+ query_params: {'api-version' => @client.api_version},
551
+ headers: request_headers.merge(custom_headers || {}),
552
+ base_url: request_url
553
+ }
554
+ promise = @client.make_request_async(:get, path_template, options)
555
+
556
+ promise = promise.then do |result|
557
+ http_response = result.response
558
+ status_code = http_response.status
559
+ response_content = http_response.body
560
+ unless status_code == 200
561
+ error_model = JSON.load(response_content)
562
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
563
+ end
564
+
565
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
566
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
567
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
568
+ # Deserialize Response
569
+ if status_code == 200
570
+ begin
571
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
572
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraTableListResult.mapper()
573
+ result.body = @client.deserialize(result_mapper, parsed_response)
574
+ rescue Exception => e
575
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
576
+ end
577
+ end
578
+
579
+ result
580
+ end
581
+
582
+ promise.execute
583
+ end
584
+
585
+ #
586
+ # Gets the Cassandra table under an existing Azure Cosmos DB database account.
587
+ #
588
+ # @param resource_group_name [String] Name of an Azure resource group.
589
+ # @param account_name [String] Cosmos DB database account name.
590
+ # @param keyspace_name [String] Cosmos DB keyspace name.
591
+ # @param table_name [String] Cosmos DB table name.
592
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
593
+ # will be added to the HTTP request.
594
+ #
595
+ # @return [CassandraTableGetResults] operation results.
596
+ #
597
+ def get_cassandra_table(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
598
+ response = get_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
599
+ response.body unless response.nil?
600
+ end
601
+
602
+ #
603
+ # Gets the Cassandra table under an existing Azure Cosmos DB database account.
604
+ #
605
+ # @param resource_group_name [String] Name of an Azure resource group.
606
+ # @param account_name [String] Cosmos DB database account name.
607
+ # @param keyspace_name [String] Cosmos DB keyspace name.
608
+ # @param table_name [String] Cosmos DB table name.
609
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
610
+ # will be added to the HTTP request.
611
+ #
612
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
613
+ #
614
+ def get_cassandra_table_with_http_info(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
615
+ get_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
616
+ end
617
+
618
+ #
619
+ # Gets the Cassandra table under an existing Azure Cosmos DB database account.
620
+ #
621
+ # @param resource_group_name [String] Name of an Azure resource group.
622
+ # @param account_name [String] Cosmos DB database account name.
623
+ # @param keyspace_name [String] Cosmos DB keyspace name.
624
+ # @param table_name [String] Cosmos DB table name.
625
+ # @param [Hash{String => String}] A hash of custom headers that will be added
626
+ # to the HTTP request.
627
+ #
628
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
629
+ #
630
+ def get_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
631
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
632
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
633
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
634
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
635
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
636
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
637
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
638
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
639
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
640
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
641
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
642
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
643
+
644
+
645
+ request_headers = {}
646
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
647
+
648
+ # Set Headers
649
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
650
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
651
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'
652
+
653
+ request_url = @base_url || @client.base_url
654
+
655
+ options = {
656
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
657
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name,'tableName' => table_name},
658
+ query_params: {'api-version' => @client.api_version},
659
+ headers: request_headers.merge(custom_headers || {}),
660
+ base_url: request_url
661
+ }
662
+ promise = @client.make_request_async(:get, path_template, options)
663
+
664
+ promise = promise.then do |result|
665
+ http_response = result.response
666
+ status_code = http_response.status
667
+ response_content = http_response.body
668
+ unless status_code == 200
669
+ error_model = JSON.load(response_content)
670
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
671
+ end
672
+
673
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
674
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
675
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
676
+ # Deserialize Response
677
+ if status_code == 200
678
+ begin
679
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
680
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraTableGetResults.mapper()
681
+ result.body = @client.deserialize(result_mapper, parsed_response)
682
+ rescue Exception => e
683
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
684
+ end
685
+ end
686
+
687
+ result
688
+ end
689
+
690
+ promise.execute
691
+ end
692
+
693
+ #
694
+ # Create or update an Azure Cosmos DB Cassandra Table
695
+ #
696
+ # @param resource_group_name [String] Name of an Azure resource group.
697
+ # @param account_name [String] Cosmos DB database account name.
698
+ # @param keyspace_name [String] Cosmos DB keyspace name.
699
+ # @param table_name [String] Cosmos DB table name.
700
+ # @param create_update_cassandra_table_parameters
701
+ # [CassandraTableCreateUpdateParameters] The parameters to provide for the
702
+ # current Cassandra Table.
703
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
704
+ # will be added to the HTTP request.
705
+ #
706
+ # @return [CassandraTableGetResults] operation results.
707
+ #
708
+ def create_update_cassandra_table(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:nil)
709
+ response = create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:custom_headers).value!
710
+ response.body unless response.nil?
711
+ end
712
+
713
+ #
714
+ # @param resource_group_name [String] Name of an Azure resource group.
715
+ # @param account_name [String] Cosmos DB database account name.
716
+ # @param keyspace_name [String] Cosmos DB keyspace name.
717
+ # @param table_name [String] Cosmos DB table name.
718
+ # @param create_update_cassandra_table_parameters
719
+ # [CassandraTableCreateUpdateParameters] The parameters to provide for the
720
+ # current Cassandra Table.
721
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
722
+ # will be added to the HTTP request.
723
+ #
724
+ # @return [Concurrent::Promise] promise which provides async access to http
725
+ # response.
726
+ #
727
+ def create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:nil)
728
+ # Send request
729
+ promise = begin_create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:custom_headers)
730
+
731
+ promise = promise.then do |response|
732
+ # Defining deserialization method.
733
+ deserialize_method = lambda do |parsed_response|
734
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraTableGetResults.mapper()
735
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
736
+ end
737
+
738
+ # Waiting for response.
739
+ @client.get_long_running_operation_result(response, deserialize_method)
740
+ end
741
+
742
+ promise
743
+ end
744
+
745
+ #
746
+ # Deletes an existing Azure Cosmos DB Cassandra table.
747
+ #
748
+ # @param resource_group_name [String] Name of an Azure resource group.
749
+ # @param account_name [String] Cosmos DB database account name.
750
+ # @param keyspace_name [String] Cosmos DB keyspace name.
751
+ # @param table_name [String] Cosmos DB table name.
752
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
753
+ # will be added to the HTTP request.
754
+ #
755
+ def delete_cassandra_table(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
756
+ response = delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
757
+ nil
758
+ end
759
+
760
+ #
761
+ # @param resource_group_name [String] Name of an Azure resource group.
762
+ # @param account_name [String] Cosmos DB database account name.
763
+ # @param keyspace_name [String] Cosmos DB keyspace name.
764
+ # @param table_name [String] Cosmos DB table name.
765
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
766
+ # will be added to the HTTP request.
767
+ #
768
+ # @return [Concurrent::Promise] promise which provides async access to http
769
+ # response.
770
+ #
771
+ def delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
772
+ # Send request
773
+ promise = begin_delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers)
774
+
775
+ promise = promise.then do |response|
776
+ # Defining deserialization method.
777
+ deserialize_method = lambda do |parsed_response|
778
+ end
779
+
780
+ # Waiting for response.
781
+ @client.get_long_running_operation_result(response, deserialize_method)
782
+ end
783
+
784
+ promise
785
+ end
786
+
787
+ #
788
+ # Gets the RUs per second of the Cassandra table under an existing Azure Cosmos
789
+ # DB database account with the provided name.
790
+ #
791
+ # @param resource_group_name [String] Name of an Azure resource group.
792
+ # @param account_name [String] Cosmos DB database account name.
793
+ # @param keyspace_name [String] Cosmos DB keyspace name.
794
+ # @param table_name [String] Cosmos DB table name.
795
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
796
+ # will be added to the HTTP request.
797
+ #
798
+ # @return [ThroughputSettingsGetResults] operation results.
799
+ #
800
+ def get_cassandra_table_throughput(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
801
+ response = get_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
802
+ response.body unless response.nil?
803
+ end
804
+
805
+ #
806
+ # Gets the RUs per second of the Cassandra table under an existing Azure Cosmos
807
+ # DB database account with the provided name.
808
+ #
809
+ # @param resource_group_name [String] Name of an Azure resource group.
810
+ # @param account_name [String] Cosmos DB database account name.
811
+ # @param keyspace_name [String] Cosmos DB keyspace name.
812
+ # @param table_name [String] Cosmos DB table name.
813
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
814
+ # will be added to the HTTP request.
815
+ #
816
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
817
+ #
818
+ def get_cassandra_table_throughput_with_http_info(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
819
+ get_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
820
+ end
821
+
822
+ #
823
+ # Gets the RUs per second of the Cassandra table under an existing Azure Cosmos
824
+ # DB database account with the provided name.
825
+ #
826
+ # @param resource_group_name [String] Name of an Azure resource group.
827
+ # @param account_name [String] Cosmos DB database account name.
828
+ # @param keyspace_name [String] Cosmos DB keyspace name.
829
+ # @param table_name [String] Cosmos DB table name.
830
+ # @param [Hash{String => String}] A hash of custom headers that will be added
831
+ # to the HTTP request.
832
+ #
833
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
834
+ #
835
+ def get_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
836
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
837
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
838
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
839
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
840
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
841
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
842
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
843
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
844
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
845
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
846
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
847
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
848
+
849
+
850
+ request_headers = {}
851
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
852
+
853
+ # Set Headers
854
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
855
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
856
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'
857
+
858
+ request_url = @base_url || @client.base_url
859
+
860
+ options = {
861
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
862
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name,'tableName' => table_name},
863
+ query_params: {'api-version' => @client.api_version},
864
+ headers: request_headers.merge(custom_headers || {}),
865
+ base_url: request_url
866
+ }
867
+ promise = @client.make_request_async(:get, path_template, options)
868
+
869
+ promise = promise.then do |result|
870
+ http_response = result.response
871
+ status_code = http_response.status
872
+ response_content = http_response.body
873
+ unless status_code == 200
874
+ error_model = JSON.load(response_content)
875
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
876
+ end
877
+
878
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
879
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
880
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
881
+ # Deserialize Response
882
+ if status_code == 200
883
+ begin
884
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
885
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
886
+ result.body = @client.deserialize(result_mapper, parsed_response)
887
+ rescue Exception => e
888
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
889
+ end
890
+ end
891
+
892
+ result
893
+ end
894
+
895
+ promise.execute
896
+ end
897
+
898
+ #
899
+ # Update RUs per second of an Azure Cosmos DB Cassandra table
900
+ #
901
+ # @param resource_group_name [String] Name of an Azure resource group.
902
+ # @param account_name [String] Cosmos DB database account name.
903
+ # @param keyspace_name [String] Cosmos DB keyspace name.
904
+ # @param table_name [String] Cosmos DB table name.
905
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
906
+ # RUs per second of the parameters to provide for the current Cassandra table.
907
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
908
+ # will be added to the HTTP request.
909
+ #
910
+ # @return [ThroughputSettingsGetResults] operation results.
911
+ #
912
+ def update_cassandra_table_throughput(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:nil)
913
+ response = update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:custom_headers).value!
914
+ response.body unless response.nil?
915
+ end
916
+
917
+ #
918
+ # @param resource_group_name [String] Name of an Azure resource group.
919
+ # @param account_name [String] Cosmos DB database account name.
920
+ # @param keyspace_name [String] Cosmos DB keyspace name.
921
+ # @param table_name [String] Cosmos DB table name.
922
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
923
+ # RUs per second of the parameters to provide for the current Cassandra table.
924
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
925
+ # will be added to the HTTP request.
926
+ #
927
+ # @return [Concurrent::Promise] promise which provides async access to http
928
+ # response.
929
+ #
930
+ def update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:nil)
931
+ # Send request
932
+ promise = begin_update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:custom_headers)
933
+
934
+ promise = promise.then do |response|
935
+ # Defining deserialization method.
936
+ deserialize_method = lambda do |parsed_response|
937
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
938
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
939
+ end
940
+
941
+ # Waiting for response.
942
+ @client.get_long_running_operation_result(response, deserialize_method)
943
+ end
944
+
945
+ promise
946
+ end
947
+
948
+ #
949
+ # Create or update an Azure Cosmos DB Cassandra keyspace
950
+ #
951
+ # @param resource_group_name [String] Name of an Azure resource group.
952
+ # @param account_name [String] Cosmos DB database account name.
953
+ # @param keyspace_name [String] Cosmos DB keyspace name.
954
+ # @param create_update_cassandra_keyspace_parameters
955
+ # [CassandraKeyspaceCreateUpdateParameters] The parameters to provide for the
956
+ # current Cassandra keyspace.
957
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
958
+ # will be added to the HTTP request.
959
+ #
960
+ # @return [CassandraKeyspaceGetResults] operation results.
961
+ #
962
+ def begin_create_update_cassandra_keyspace(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:nil)
963
+ response = begin_create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:custom_headers).value!
964
+ response.body unless response.nil?
965
+ end
966
+
967
+ #
968
+ # Create or update an Azure Cosmos DB Cassandra keyspace
969
+ #
970
+ # @param resource_group_name [String] Name of an Azure resource group.
971
+ # @param account_name [String] Cosmos DB database account name.
972
+ # @param keyspace_name [String] Cosmos DB keyspace name.
973
+ # @param create_update_cassandra_keyspace_parameters
974
+ # [CassandraKeyspaceCreateUpdateParameters] The parameters to provide for the
975
+ # current Cassandra keyspace.
976
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
977
+ # will be added to the HTTP request.
978
+ #
979
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
980
+ #
981
+ def begin_create_update_cassandra_keyspace_with_http_info(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:nil)
982
+ begin_create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:custom_headers).value!
983
+ end
984
+
985
+ #
986
+ # Create or update an Azure Cosmos DB Cassandra keyspace
987
+ #
988
+ # @param resource_group_name [String] Name of an Azure resource group.
989
+ # @param account_name [String] Cosmos DB database account name.
990
+ # @param keyspace_name [String] Cosmos DB keyspace name.
991
+ # @param create_update_cassandra_keyspace_parameters
992
+ # [CassandraKeyspaceCreateUpdateParameters] The parameters to provide for the
993
+ # current Cassandra keyspace.
994
+ # @param [Hash{String => String}] A hash of custom headers that will be added
995
+ # to the HTTP request.
996
+ #
997
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
998
+ #
999
+ def begin_create_update_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers:nil)
1000
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1001
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1002
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1003
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1004
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1005
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1006
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1007
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1008
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1009
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1010
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1011
+ fail ArgumentError, 'create_update_cassandra_keyspace_parameters is nil' if create_update_cassandra_keyspace_parameters.nil?
1012
+
1013
+
1014
+ request_headers = {}
1015
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1016
+
1017
+ # Set Headers
1018
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1019
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1020
+
1021
+ # Serialize Request
1022
+ request_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraKeyspaceCreateUpdateParameters.mapper()
1023
+ request_content = @client.serialize(request_mapper, create_update_cassandra_keyspace_parameters)
1024
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1025
+
1026
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'
1027
+
1028
+ request_url = @base_url || @client.base_url
1029
+
1030
+ options = {
1031
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1032
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
1033
+ query_params: {'api-version' => @client.api_version},
1034
+ body: request_content,
1035
+ headers: request_headers.merge(custom_headers || {}),
1036
+ base_url: request_url
1037
+ }
1038
+ promise = @client.make_request_async(:put, path_template, options)
1039
+
1040
+ promise = promise.then do |result|
1041
+ http_response = result.response
1042
+ status_code = http_response.status
1043
+ response_content = http_response.body
1044
+ unless status_code == 202 || status_code == 200
1045
+ error_model = JSON.load(response_content)
1046
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1047
+ end
1048
+
1049
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1050
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1051
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1052
+ # Deserialize Response
1053
+ if status_code == 200
1054
+ begin
1055
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1056
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraKeyspaceGetResults.mapper()
1057
+ result.body = @client.deserialize(result_mapper, parsed_response)
1058
+ rescue Exception => e
1059
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1060
+ end
1061
+ end
1062
+
1063
+ result
1064
+ end
1065
+
1066
+ promise.execute
1067
+ end
1068
+
1069
+ #
1070
+ # Deletes an existing Azure Cosmos DB Cassandra keyspace.
1071
+ #
1072
+ # @param resource_group_name [String] Name of an Azure resource group.
1073
+ # @param account_name [String] Cosmos DB database account name.
1074
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1075
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1076
+ # will be added to the HTTP request.
1077
+ #
1078
+ #
1079
+ def begin_delete_cassandra_keyspace(resource_group_name, account_name, keyspace_name, custom_headers:nil)
1080
+ response = begin_delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
1081
+ nil
1082
+ end
1083
+
1084
+ #
1085
+ # Deletes an existing Azure Cosmos DB Cassandra keyspace.
1086
+ #
1087
+ # @param resource_group_name [String] Name of an Azure resource group.
1088
+ # @param account_name [String] Cosmos DB database account name.
1089
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1090
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1091
+ # will be added to the HTTP request.
1092
+ #
1093
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1094
+ #
1095
+ def begin_delete_cassandra_keyspace_with_http_info(resource_group_name, account_name, keyspace_name, custom_headers:nil)
1096
+ begin_delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:custom_headers).value!
1097
+ end
1098
+
1099
+ #
1100
+ # Deletes an existing Azure Cosmos DB Cassandra keyspace.
1101
+ #
1102
+ # @param resource_group_name [String] Name of an Azure resource group.
1103
+ # @param account_name [String] Cosmos DB database account name.
1104
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1105
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1106
+ # to the HTTP request.
1107
+ #
1108
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1109
+ #
1110
+ def begin_delete_cassandra_keyspace_async(resource_group_name, account_name, keyspace_name, custom_headers:nil)
1111
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1112
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1113
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1114
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1115
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1116
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1117
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1118
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1119
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1120
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1121
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1122
+
1123
+
1124
+ request_headers = {}
1125
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1126
+
1127
+ # Set Headers
1128
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1129
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1130
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'
1131
+
1132
+ request_url = @base_url || @client.base_url
1133
+
1134
+ options = {
1135
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1136
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
1137
+ query_params: {'api-version' => @client.api_version},
1138
+ headers: request_headers.merge(custom_headers || {}),
1139
+ base_url: request_url
1140
+ }
1141
+ promise = @client.make_request_async(:delete, path_template, options)
1142
+
1143
+ promise = promise.then do |result|
1144
+ http_response = result.response
1145
+ status_code = http_response.status
1146
+ response_content = http_response.body
1147
+ unless status_code == 202 || status_code == 204
1148
+ error_model = JSON.load(response_content)
1149
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1150
+ end
1151
+
1152
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1153
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1154
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1155
+
1156
+ result
1157
+ end
1158
+
1159
+ promise.execute
1160
+ end
1161
+
1162
+ #
1163
+ # Update RUs per second of an Azure Cosmos DB Cassandra Keyspace
1164
+ #
1165
+ # @param resource_group_name [String] Name of an Azure resource group.
1166
+ # @param account_name [String] Cosmos DB database account name.
1167
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1168
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1169
+ # RUs per second of the parameters to provide for the current Cassandra
1170
+ # Keyspace.
1171
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1172
+ # will be added to the HTTP request.
1173
+ #
1174
+ # @return [ThroughputSettingsGetResults] operation results.
1175
+ #
1176
+ def begin_update_cassandra_keyspace_throughput(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:nil)
1177
+ response = begin_update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:custom_headers).value!
1178
+ response.body unless response.nil?
1179
+ end
1180
+
1181
+ #
1182
+ # Update RUs per second of an Azure Cosmos DB Cassandra Keyspace
1183
+ #
1184
+ # @param resource_group_name [String] Name of an Azure resource group.
1185
+ # @param account_name [String] Cosmos DB database account name.
1186
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1187
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1188
+ # RUs per second of the parameters to provide for the current Cassandra
1189
+ # Keyspace.
1190
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1191
+ # will be added to the HTTP request.
1192
+ #
1193
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1194
+ #
1195
+ def begin_update_cassandra_keyspace_throughput_with_http_info(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:nil)
1196
+ begin_update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:custom_headers).value!
1197
+ end
1198
+
1199
+ #
1200
+ # Update RUs per second of an Azure Cosmos DB Cassandra Keyspace
1201
+ #
1202
+ # @param resource_group_name [String] Name of an Azure resource group.
1203
+ # @param account_name [String] Cosmos DB database account name.
1204
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1205
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1206
+ # RUs per second of the parameters to provide for the current Cassandra
1207
+ # Keyspace.
1208
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1209
+ # to the HTTP request.
1210
+ #
1211
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1212
+ #
1213
+ def begin_update_cassandra_keyspace_throughput_async(resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers:nil)
1214
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1215
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1216
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1217
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1218
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1219
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1220
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1221
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1222
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1223
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1224
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1225
+ fail ArgumentError, 'update_throughput_parameters is nil' if update_throughput_parameters.nil?
1226
+
1227
+
1228
+ request_headers = {}
1229
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1230
+
1231
+ # Set Headers
1232
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1233
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1234
+
1235
+ # Serialize Request
1236
+ request_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsUpdateParameters.mapper()
1237
+ request_content = @client.serialize(request_mapper, update_throughput_parameters)
1238
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1239
+
1240
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'
1241
+
1242
+ request_url = @base_url || @client.base_url
1243
+
1244
+ options = {
1245
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1246
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name},
1247
+ query_params: {'api-version' => @client.api_version},
1248
+ body: request_content,
1249
+ headers: request_headers.merge(custom_headers || {}),
1250
+ base_url: request_url
1251
+ }
1252
+ promise = @client.make_request_async(:put, path_template, options)
1253
+
1254
+ promise = promise.then do |result|
1255
+ http_response = result.response
1256
+ status_code = http_response.status
1257
+ response_content = http_response.body
1258
+ unless status_code == 202 || status_code == 200
1259
+ error_model = JSON.load(response_content)
1260
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1261
+ end
1262
+
1263
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1264
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1265
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1266
+ # Deserialize Response
1267
+ if status_code == 200
1268
+ begin
1269
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1270
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
1271
+ result.body = @client.deserialize(result_mapper, parsed_response)
1272
+ rescue Exception => e
1273
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1274
+ end
1275
+ end
1276
+
1277
+ result
1278
+ end
1279
+
1280
+ promise.execute
1281
+ end
1282
+
1283
+ #
1284
+ # Create or update an Azure Cosmos DB Cassandra Table
1285
+ #
1286
+ # @param resource_group_name [String] Name of an Azure resource group.
1287
+ # @param account_name [String] Cosmos DB database account name.
1288
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1289
+ # @param table_name [String] Cosmos DB table name.
1290
+ # @param create_update_cassandra_table_parameters
1291
+ # [CassandraTableCreateUpdateParameters] The parameters to provide for the
1292
+ # current Cassandra Table.
1293
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1294
+ # will be added to the HTTP request.
1295
+ #
1296
+ # @return [CassandraTableGetResults] operation results.
1297
+ #
1298
+ def begin_create_update_cassandra_table(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:nil)
1299
+ response = begin_create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:custom_headers).value!
1300
+ response.body unless response.nil?
1301
+ end
1302
+
1303
+ #
1304
+ # Create or update an Azure Cosmos DB Cassandra Table
1305
+ #
1306
+ # @param resource_group_name [String] Name of an Azure resource group.
1307
+ # @param account_name [String] Cosmos DB database account name.
1308
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1309
+ # @param table_name [String] Cosmos DB table name.
1310
+ # @param create_update_cassandra_table_parameters
1311
+ # [CassandraTableCreateUpdateParameters] The parameters to provide for the
1312
+ # current Cassandra Table.
1313
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1314
+ # will be added to the HTTP request.
1315
+ #
1316
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1317
+ #
1318
+ def begin_create_update_cassandra_table_with_http_info(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:nil)
1319
+ begin_create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:custom_headers).value!
1320
+ end
1321
+
1322
+ #
1323
+ # Create or update an Azure Cosmos DB Cassandra Table
1324
+ #
1325
+ # @param resource_group_name [String] Name of an Azure resource group.
1326
+ # @param account_name [String] Cosmos DB database account name.
1327
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1328
+ # @param table_name [String] Cosmos DB table name.
1329
+ # @param create_update_cassandra_table_parameters
1330
+ # [CassandraTableCreateUpdateParameters] The parameters to provide for the
1331
+ # current Cassandra Table.
1332
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1333
+ # to the HTTP request.
1334
+ #
1335
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1336
+ #
1337
+ def begin_create_update_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers:nil)
1338
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1339
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1340
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1341
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1342
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1343
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1344
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1345
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1346
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1347
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1348
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
1349
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1350
+ fail ArgumentError, 'create_update_cassandra_table_parameters is nil' if create_update_cassandra_table_parameters.nil?
1351
+
1352
+
1353
+ request_headers = {}
1354
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1355
+
1356
+ # Set Headers
1357
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1358
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1359
+
1360
+ # Serialize Request
1361
+ request_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraTableCreateUpdateParameters.mapper()
1362
+ request_content = @client.serialize(request_mapper, create_update_cassandra_table_parameters)
1363
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1364
+
1365
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'
1366
+
1367
+ request_url = @base_url || @client.base_url
1368
+
1369
+ options = {
1370
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1371
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name,'tableName' => table_name},
1372
+ query_params: {'api-version' => @client.api_version},
1373
+ body: request_content,
1374
+ headers: request_headers.merge(custom_headers || {}),
1375
+ base_url: request_url
1376
+ }
1377
+ promise = @client.make_request_async(:put, path_template, options)
1378
+
1379
+ promise = promise.then do |result|
1380
+ http_response = result.response
1381
+ status_code = http_response.status
1382
+ response_content = http_response.body
1383
+ unless status_code == 202 || status_code == 200
1384
+ error_model = JSON.load(response_content)
1385
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1386
+ end
1387
+
1388
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1389
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1390
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1391
+ # Deserialize Response
1392
+ if status_code == 200
1393
+ begin
1394
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1395
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::CassandraTableGetResults.mapper()
1396
+ result.body = @client.deserialize(result_mapper, parsed_response)
1397
+ rescue Exception => e
1398
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1399
+ end
1400
+ end
1401
+
1402
+ result
1403
+ end
1404
+
1405
+ promise.execute
1406
+ end
1407
+
1408
+ #
1409
+ # Deletes an existing Azure Cosmos DB Cassandra table.
1410
+ #
1411
+ # @param resource_group_name [String] Name of an Azure resource group.
1412
+ # @param account_name [String] Cosmos DB database account name.
1413
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1414
+ # @param table_name [String] Cosmos DB table name.
1415
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1416
+ # will be added to the HTTP request.
1417
+ #
1418
+ #
1419
+ def begin_delete_cassandra_table(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
1420
+ response = begin_delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
1421
+ nil
1422
+ end
1423
+
1424
+ #
1425
+ # Deletes an existing Azure Cosmos DB Cassandra table.
1426
+ #
1427
+ # @param resource_group_name [String] Name of an Azure resource group.
1428
+ # @param account_name [String] Cosmos DB database account name.
1429
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1430
+ # @param table_name [String] Cosmos DB table name.
1431
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1432
+ # will be added to the HTTP request.
1433
+ #
1434
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1435
+ #
1436
+ def begin_delete_cassandra_table_with_http_info(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
1437
+ begin_delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:custom_headers).value!
1438
+ end
1439
+
1440
+ #
1441
+ # Deletes an existing Azure Cosmos DB Cassandra table.
1442
+ #
1443
+ # @param resource_group_name [String] Name of an Azure resource group.
1444
+ # @param account_name [String] Cosmos DB database account name.
1445
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1446
+ # @param table_name [String] Cosmos DB table name.
1447
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1448
+ # to the HTTP request.
1449
+ #
1450
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1451
+ #
1452
+ def begin_delete_cassandra_table_async(resource_group_name, account_name, keyspace_name, table_name, custom_headers:nil)
1453
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1454
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1455
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1456
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1457
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1458
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1459
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1460
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1461
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1462
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1463
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
1464
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1465
+
1466
+
1467
+ request_headers = {}
1468
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1469
+
1470
+ # Set Headers
1471
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1472
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1473
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'
1474
+
1475
+ request_url = @base_url || @client.base_url
1476
+
1477
+ options = {
1478
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1479
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name,'tableName' => table_name},
1480
+ query_params: {'api-version' => @client.api_version},
1481
+ headers: request_headers.merge(custom_headers || {}),
1482
+ base_url: request_url
1483
+ }
1484
+ promise = @client.make_request_async(:delete, path_template, options)
1485
+
1486
+ promise = promise.then do |result|
1487
+ http_response = result.response
1488
+ status_code = http_response.status
1489
+ response_content = http_response.body
1490
+ unless status_code == 202 || status_code == 204
1491
+ error_model = JSON.load(response_content)
1492
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1493
+ end
1494
+
1495
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1496
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1497
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1498
+
1499
+ result
1500
+ end
1501
+
1502
+ promise.execute
1503
+ end
1504
+
1505
+ #
1506
+ # Update RUs per second of an Azure Cosmos DB Cassandra table
1507
+ #
1508
+ # @param resource_group_name [String] Name of an Azure resource group.
1509
+ # @param account_name [String] Cosmos DB database account name.
1510
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1511
+ # @param table_name [String] Cosmos DB table name.
1512
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1513
+ # RUs per second of the parameters to provide for the current Cassandra table.
1514
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1515
+ # will be added to the HTTP request.
1516
+ #
1517
+ # @return [ThroughputSettingsGetResults] operation results.
1518
+ #
1519
+ def begin_update_cassandra_table_throughput(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:nil)
1520
+ response = begin_update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:custom_headers).value!
1521
+ response.body unless response.nil?
1522
+ end
1523
+
1524
+ #
1525
+ # Update RUs per second of an Azure Cosmos DB Cassandra table
1526
+ #
1527
+ # @param resource_group_name [String] Name of an Azure resource group.
1528
+ # @param account_name [String] Cosmos DB database account name.
1529
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1530
+ # @param table_name [String] Cosmos DB table name.
1531
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1532
+ # RUs per second of the parameters to provide for the current Cassandra table.
1533
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1534
+ # will be added to the HTTP request.
1535
+ #
1536
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1537
+ #
1538
+ def begin_update_cassandra_table_throughput_with_http_info(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:nil)
1539
+ begin_update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:custom_headers).value!
1540
+ end
1541
+
1542
+ #
1543
+ # Update RUs per second of an Azure Cosmos DB Cassandra table
1544
+ #
1545
+ # @param resource_group_name [String] Name of an Azure resource group.
1546
+ # @param account_name [String] Cosmos DB database account name.
1547
+ # @param keyspace_name [String] Cosmos DB keyspace name.
1548
+ # @param table_name [String] Cosmos DB table name.
1549
+ # @param update_throughput_parameters [ThroughputSettingsUpdateParameters] The
1550
+ # RUs per second of the parameters to provide for the current Cassandra table.
1551
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1552
+ # to the HTTP request.
1553
+ #
1554
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1555
+ #
1556
+ def begin_update_cassandra_table_throughput_async(resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers:nil)
1557
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1558
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1559
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1560
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1561
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1562
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1563
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MaxLength': '50'" if !account_name.nil? && account_name.length > 50
1564
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'MinLength': '3'" if !account_name.nil? && account_name.length < 3
1565
+ fail ArgumentError, "'account_name' should satisfy the constraint - 'Pattern': '^[a-z0-9]+(-[a-z0-9]+)*'" if !account_name.nil? && account_name.match(Regexp.new('^^[a-z0-9]+(-[a-z0-9]+)*$')).nil?
1566
+ fail ArgumentError, 'keyspace_name is nil' if keyspace_name.nil?
1567
+ fail ArgumentError, 'table_name is nil' if table_name.nil?
1568
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1569
+ fail ArgumentError, 'update_throughput_parameters is nil' if update_throughput_parameters.nil?
1570
+
1571
+
1572
+ request_headers = {}
1573
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1574
+
1575
+ # Set Headers
1576
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1577
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1578
+
1579
+ # Serialize Request
1580
+ request_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsUpdateParameters.mapper()
1581
+ request_content = @client.serialize(request_mapper, update_throughput_parameters)
1582
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1583
+
1584
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'
1585
+
1586
+ request_url = @base_url || @client.base_url
1587
+
1588
+ options = {
1589
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1590
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'keyspaceName' => keyspace_name,'tableName' => table_name},
1591
+ query_params: {'api-version' => @client.api_version},
1592
+ body: request_content,
1593
+ headers: request_headers.merge(custom_headers || {}),
1594
+ base_url: request_url
1595
+ }
1596
+ promise = @client.make_request_async(:put, path_template, options)
1597
+
1598
+ promise = promise.then do |result|
1599
+ http_response = result.response
1600
+ status_code = http_response.status
1601
+ response_content = http_response.body
1602
+ unless status_code == 202 || status_code == 200
1603
+ error_model = JSON.load(response_content)
1604
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1605
+ end
1606
+
1607
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1608
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1609
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1610
+ # Deserialize Response
1611
+ if status_code == 200
1612
+ begin
1613
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1614
+ result_mapper = Azure::Cosmosdb::Mgmt::V2019_08_01::Models::ThroughputSettingsGetResults.mapper()
1615
+ result.body = @client.deserialize(result_mapper, parsed_response)
1616
+ rescue Exception => e
1617
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1618
+ end
1619
+ end
1620
+
1621
+ result
1622
+ end
1623
+
1624
+ promise.execute
1625
+ end
1626
+
1627
+ end
1628
+ end