misty 1.4.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +87 -88
  3. data/lib/misty.rb +115 -1
  4. data/lib/misty/auth/catalog.rb +38 -0
  5. data/lib/misty/auth/catalog/v2.rb +15 -0
  6. data/lib/misty/auth/catalog/v3.rb +15 -0
  7. data/lib/misty/auth/token.rb +70 -0
  8. data/lib/misty/auth/token/v2.rb +63 -0
  9. data/lib/misty/auth/token/v3.rb +90 -0
  10. data/lib/misty/cloud.rb +74 -15
  11. data/lib/misty/config.rb +37 -43
  12. data/lib/misty/errors.rb +25 -5
  13. data/lib/misty/helper.rb +26 -0
  14. data/lib/misty/http/header.rb +3 -6
  15. data/lib/misty/http/method_builder.rb +2 -2
  16. data/lib/misty/http/request.rb +3 -3
  17. data/lib/misty/microversion.rb +12 -1
  18. data/lib/misty/misty.rb +7 -62
  19. data/lib/misty/openstack.rb +39 -0
  20. data/lib/misty/openstack/{aodh → api/aodh}/aodh_v2.rb +1 -1
  21. data/lib/misty/openstack/api/aodh/v2.rb +19 -0
  22. data/lib/misty/openstack/api/barbican/barbican_v1.rb +42 -0
  23. data/lib/misty/openstack/api/barbican/v1.rb +19 -0
  24. data/lib/misty/openstack/api/blazar/blazar_v1.rb +16 -0
  25. data/lib/misty/openstack/api/blazar/v1.rb +19 -0
  26. data/lib/misty/openstack/{ceilometer → api/ceilometer}/ceilometer_v2.rb +1 -1
  27. data/lib/misty/openstack/api/ceilometer/v2.rb +19 -0
  28. data/lib/misty/openstack/{cinder → api/cinder}/cinder_v1.rb +1 -1
  29. data/lib/misty/openstack/{cinder → api/cinder}/cinder_v2.rb +3 -3
  30. data/lib/misty/openstack/{cinder → api/cinder}/cinder_v3.rb +7 -4
  31. data/lib/misty/openstack/api/cinder/v1.rb +23 -0
  32. data/lib/misty/openstack/api/cinder/v2.rb +24 -0
  33. data/lib/misty/openstack/api/cinder/v3.rb +29 -0
  34. data/lib/misty/openstack/{designate → api/designate}/designate_v2.rb +2 -2
  35. data/lib/misty/openstack/api/designate/v2.rb +19 -0
  36. data/lib/misty/openstack/{freezer → api/freezer}/freezer_v1.rb +2 -2
  37. data/lib/misty/openstack/api/freezer/v1.rb +19 -0
  38. data/lib/misty/openstack/{glance → api/glance}/glance_v1.rb +1 -1
  39. data/lib/misty/openstack/{glance → api/glance}/glance_v2.rb +1 -1
  40. data/lib/misty/openstack/api/glance/v1.rb +19 -0
  41. data/lib/misty/openstack/api/glance/v2.rb +24 -0
  42. data/lib/misty/openstack/api/gnocchi/gnocchi_v1.rb +39 -0
  43. data/lib/misty/openstack/api/gnocchi/v1.rb +19 -0
  44. data/lib/misty/openstack/{heat → api/heat}/heat_v1.rb +1 -1
  45. data/lib/misty/openstack/api/heat/v1.rb +23 -0
  46. data/lib/misty/openstack/{ironic → api/ironic}/ironic_v1.rb +8 -2
  47. data/lib/misty/openstack/api/ironic/v1.rb +25 -0
  48. data/lib/misty/openstack/{karbor → api/karbor}/karbor_v1.rb +2 -2
  49. data/lib/misty/openstack/api/karbor/v1.rb +19 -0
  50. data/lib/misty/openstack/{keystone → api/keystone}/keystone_v2_0.rb +1 -1
  51. data/lib/misty/openstack/api/keystone/keystone_v2_0_ext.rb +14 -0
  52. data/lib/misty/openstack/{keystone → api/keystone}/keystone_v3.rb +35 -3
  53. data/lib/misty/openstack/{keystone → api/keystone}/keystone_v3_ext.rb +7 -9
  54. data/lib/misty/openstack/api/keystone/v2_0.rb +23 -0
  55. data/lib/misty/openstack/api/keystone/v3.rb +23 -0
  56. data/lib/misty/openstack/{magnum → api/magnum}/magnum_v1.rb +2 -2
  57. data/lib/misty/openstack/api/magnum/v1.rb +21 -0
  58. data/lib/misty/openstack/{manila → api/manila}/manila_v2.rb +7 -3
  59. data/lib/misty/openstack/api/manila/v2.rb +25 -0
  60. data/lib/misty/openstack/api/masakari/masakari_v1_0.rb +22 -0
  61. data/lib/misty/openstack/api/masakari/v1_0.rb +19 -0
  62. data/lib/misty/openstack/api/mistral/mistral_v2.rb +44 -0
  63. data/lib/misty/openstack/api/mistral/v2.rb +19 -0
  64. data/lib/misty/openstack/api/monasca/monasca_v2_0.rb +28 -0
  65. data/lib/misty/openstack/api/monasca/v2_0.rb +19 -0
  66. data/lib/misty/openstack/{murano → api/murano}/murano_v1.rb +1 -1
  67. data/lib/misty/openstack/api/murano/v1.rb +19 -0
  68. data/lib/misty/openstack/{neutron → api/neutron}/neutron_v2_0.rb +11 -12
  69. data/lib/misty/openstack/api/neutron/v2_0.rb +19 -0
  70. data/lib/misty/openstack/{nova → api/nova}/nova_v2_1.rb +1 -2
  71. data/lib/misty/openstack/api/nova/v2_1.rb +33 -0
  72. data/lib/misty/openstack/{octavia → api/octavia}/octavia_v2_0.rb +4 -3
  73. data/lib/misty/openstack/api/octavia/v2_0.rb +19 -0
  74. data/lib/misty/openstack/api/panko/panko_v2.rb +14 -0
  75. data/lib/misty/openstack/api/panko/v2.rb +19 -0
  76. data/lib/misty/openstack/api/placement/placement_v2_1.rb +50 -0
  77. data/lib/misty/openstack/api/placement/v2_1.rb +21 -0
  78. data/lib/misty/openstack/{sahara → api/sahara}/sahara_v1_1.rb +2 -2
  79. data/lib/misty/openstack/api/sahara/v1_1.rb +19 -0
  80. data/lib/misty/openstack/{searchlight → api/searchlight}/searchlight_v1.rb +2 -2
  81. data/lib/misty/openstack/api/searchlight/v1.rb +19 -0
  82. data/lib/misty/openstack/{senlin → api/senlin}/senlin_v1.rb +2 -2
  83. data/lib/misty/openstack/api/senlin/v1.rb +19 -0
  84. data/lib/misty/openstack/{swift → api/swift}/swift_v1.rb +2 -2
  85. data/lib/misty/openstack/api/swift/v1.rb +34 -0
  86. data/lib/misty/openstack/{tacker → api/tacker}/tacker_v1_0.rb +2 -2
  87. data/lib/misty/openstack/api/tacker/v1_0.rb +19 -0
  88. data/lib/misty/openstack/{trove → api/trove}/trove_v1_0.rb +23 -8
  89. data/lib/misty/openstack/api/trove/v1_0.rb +19 -0
  90. data/lib/misty/openstack/api/watcher/v1.rb +19 -0
  91. data/lib/misty/openstack/api/watcher/watcher_v1.rb +38 -0
  92. data/lib/misty/openstack/api/zaqar/v2.rb +19 -0
  93. data/lib/misty/openstack/{zaqar → api/zaqar}/zaqar_v2.rb +2 -2
  94. data/lib/misty/openstack/api/zun/v1.rb +19 -0
  95. data/lib/misty/openstack/api/zun/zun_v1.rb +55 -0
  96. data/lib/misty/openstack/service.rb +18 -15
  97. data/lib/misty/openstack/service_pack.rb +18 -0
  98. data/lib/misty/service.rb +4 -6
  99. data/lib/misty/services.rb +11 -10
  100. data/lib/misty/version.rb +1 -1
  101. data/test/integration/compute_test.rb +2 -2
  102. data/test/integration/{networking_test.rb → network_test.rb} +10 -10
  103. data/test/integration/orchestration_test.rb +4 -4
  104. data/test/integration/vcr/{networking_using_neutron_v2_0.yml → network_using_neutron_v2_0.yml} +0 -0
  105. data/test/unit/auth/catalog_test.rb +99 -0
  106. data/test/unit/{auth_test.rb → auth/token_test.rb} +79 -45
  107. data/test/unit/cloud/config_test.rb +79 -41
  108. data/test/unit/cloud/requests_test.rb +6 -6
  109. data/test/unit/cloud/services_test.rb +23 -23
  110. data/test/unit/cloud_test.rb +10 -10
  111. data/test/unit/http/method_builder_test.rb +13 -23
  112. data/test/unit/http/request_test.rb +1 -1
  113. data/test/unit/microversion_test.rb +13 -16
  114. data/test/unit/misty_test.rb +51 -49
  115. data/test/unit/openstack/APIs_test.rb +5 -9
  116. data/test/unit/openstack/extension_test.rb +6 -6
  117. data/test/unit/openstack/service_test.rb +2 -10
  118. data/test/unit/service_helper.rb +3 -8
  119. data/test/unit/services_test.rb +5 -5
  120. metadata +91 -66
  121. data/lib/misty/auth.rb +0 -91
  122. data/lib/misty/auth/auth_v2.rb +0 -65
  123. data/lib/misty/auth/auth_v3.rb +0 -89
  124. data/lib/misty/autoload.rb +0 -99
  125. data/lib/misty/client_pack.rb +0 -16
  126. data/lib/misty/openstack/aodh/v2.rb +0 -17
  127. data/lib/misty/openstack/ceilometer/v2.rb +0 -17
  128. data/lib/misty/openstack/cinder/v1.rb +0 -21
  129. data/lib/misty/openstack/cinder/v2.rb +0 -22
  130. data/lib/misty/openstack/cinder/v3.rb +0 -31
  131. data/lib/misty/openstack/designate/v2.rb +0 -17
  132. data/lib/misty/openstack/freezer/v1.rb +0 -17
  133. data/lib/misty/openstack/glance/v1.rb +0 -17
  134. data/lib/misty/openstack/glance/v2.rb +0 -17
  135. data/lib/misty/openstack/heat/v1.rb +0 -21
  136. data/lib/misty/openstack/ironic/v1.rb +0 -27
  137. data/lib/misty/openstack/karbor/v1.rb +0 -17
  138. data/lib/misty/openstack/keystone/keystone_v2_0_ext.rb +0 -18
  139. data/lib/misty/openstack/keystone/v2_0.rb +0 -21
  140. data/lib/misty/openstack/keystone/v3.rb +0 -21
  141. data/lib/misty/openstack/magnum/v1.rb +0 -23
  142. data/lib/misty/openstack/manila/v2.rb +0 -27
  143. data/lib/misty/openstack/murano/v1.rb +0 -17
  144. data/lib/misty/openstack/neutron/v2_0.rb +0 -17
  145. data/lib/misty/openstack/nova/v2_1.rb +0 -42
  146. data/lib/misty/openstack/octavia/v2_0.rb +0 -17
  147. data/lib/misty/openstack/sahara/v1_1.rb +0 -17
  148. data/lib/misty/openstack/searchlight/v1.rb +0 -17
  149. data/lib/misty/openstack/senlin/v1.rb +0 -17
  150. data/lib/misty/openstack/swift/v1.rb +0 -32
  151. data/lib/misty/openstack/tacker/v1_0.rb +0 -17
  152. data/lib/misty/openstack/trove/v1_0.rb +0 -17
  153. data/lib/misty/openstack/zaqar/v2.rb +0 -17
@@ -1,11 +1,11 @@
1
- module Misty::Openstack::CinderV3
1
+ module Misty::Openstack::API::CinderV3
2
2
  def tag
3
3
  'Block Storage API Reference 12.0.0'
4
4
  end
5
5
 
6
6
  def api
7
7
  {"/"=>{:GET=>[:list_all_api_versions]},
8
- "/v3"=>{:GET=>[:show_api_v3_details]},
8
+ "/v3/"=>{:GET=>[:show_api_v3_details]},
9
9
  "/v3/{project_id}/extensions"=>{:GET=>[:list_known_api_extensions]},
10
10
  "/v3/{project_id}/types/{volume_type_id}"=>
11
11
  {:PUT=>[:update_a_volume_type],
@@ -18,6 +18,7 @@ module Misty::Openstack::CinderV3
18
18
  {:GET=>[:show_extra_specification_for_volume_type],
19
19
  :PUT=>[:update_extra_specification_for_volume_type],
20
20
  :DELETE=>[:delete_extra_specification_for_volume_type]},
21
+ "/v3/{project_id}/types/default"=>{:GET=>[:show_default_volume_type]},
21
22
  "/v3/{project_id}/types"=>
22
23
  {:GET=>[:list_all_volume_types], :POST=>[:create_a_volume_type]},
23
24
  "/v3/{project_id}/types/{volume_type_id}/encryption"=>
@@ -25,7 +26,7 @@ module Misty::Openstack::CinderV3
25
26
  "/v3/{project_id}/types/{volume_type_id}/encryption/{key}"=>
26
27
  {:GET=>[:show_encryption_specs_item]},
27
28
  "/v3/{project_id}/types/{volume_type_id}/encryption/{encryption_id}"=>
28
- {:GET=>[:delete_an_encryption_type], :POST=>[:update_an_encryption_type]},
29
+ {:DELETE=>[:delete_an_encryption_type], :PUT=>[:update_an_encryption_type]},
29
30
  "/v3/{project_id}/types/{volume_type}/action"=>
30
31
  {:POST=>
31
32
  [:add_private_volume_type_access_to_project,
@@ -190,10 +191,12 @@ module Misty::Openstack::CinderV3
190
191
  {:PUT=>[:update_group_type],
191
192
  :GET=>[:show_group_type_details],
192
193
  :DELETE=>[:delete_group_type]},
194
+ "/v3/{project_id}/group_types/default"=>
195
+ {:GET=>[:show_default_group_type_details]},
193
196
  "/v3/{project_id}/group_types"=>
194
197
  {:GET=>[:list_group_types], :POST=>[:create_group_type]},
195
198
  "/v3/{project_id}/group_types/{group_type_id}/group_specs"=>
196
- {:POST=>[:create_group_specs_for_a_group_type],
199
+ {:POST=>[:create_or_update_group_specs_for_a_group_type],
197
200
  :GET=>[:list_group_specs_for_a_group_type]},
198
201
  "/v3/{project_id}/group_types/{group_type_id}/group_specs/{spec_id}"=>
199
202
  {:GET=>[:show_one_specific_group_spec_for_a_group_type],
@@ -0,0 +1,23 @@
1
+ require 'misty/openstack/api/cinder/cinder_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Cinder
8
+ class V1
9
+ include Misty::Openstack::API::CinderV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def prefix_path_to_ignore
13
+ '/v1/{admin_tenant_id}/'
14
+ end
15
+
16
+ def service_types
17
+ %w(volume)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ require 'misty/openstack/api/cinder/cinder_v2'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Cinder
8
+ class V2
9
+ include Misty::Openstack::API::CinderV2
10
+ include Misty::Openstack::ServicePack
11
+
12
+ # TODO: path for '/v2/{admin_project_id}'
13
+ def prefix_path_to_ignore
14
+ '/v2/{project_id}'
15
+ end
16
+
17
+ def service_types
18
+ %w(volumev2)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,29 @@
1
+ require 'misty/openstack/api/cinder/cinder_v3'
2
+ require 'misty/openstack/service_pack'
3
+ require 'misty/microversion'
4
+
5
+ module Misty
6
+ module Openstack
7
+ module API
8
+ module Cinder
9
+ class V3
10
+ include Misty::Openstack::API::CinderV3
11
+ include Misty::Openstack::ServicePack
12
+ include Misty::Microversion
13
+
14
+ def microversion_header(version)
15
+ {'X-Openstack-Cinder-API-Version' => "#{version}"}
16
+ end
17
+
18
+ def prefix_path_to_ignore
19
+ '/v3/{tenant_id}'
20
+ end
21
+
22
+ def service_types
23
+ %w(volumev3 block-storage block-store)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,6 +1,6 @@
1
- module Misty::Openstack::DesignateV2
1
+ module Misty::Openstack::API::DesignateV2
2
2
  def tag
3
- 'Designate API Reference 6.0.0'
3
+ 'Designate API Reference 6.0.1'
4
4
  end
5
5
 
6
6
  def api
@@ -0,0 +1,19 @@
1
+ require 'misty/openstack/api/designate/designate_v2'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Designate
8
+ class V2
9
+ include Misty::Openstack::API::DesignateV2
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(dns)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,6 @@
1
- module Misty::Openstack::FreezerV1
1
+ module Misty::Openstack::API::FreezerV1
2
2
  def tag
3
- 'Backup and Disaster Recovery Service API Reference 5.0.1'
3
+ 'Backup and Disaster Recovery Service API Reference 6.0.1'
4
4
  end
5
5
 
6
6
  def api
@@ -0,0 +1,19 @@
1
+ require 'misty/openstack/api/freezer/freezer_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Freezer
8
+ class V1
9
+ include Misty::Openstack::API::FreezerV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(backup)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,4 +1,4 @@
1
- module Misty::Openstack::GlanceV1
1
+ module Misty::Openstack::API::GlanceV1
2
2
  def tag
3
3
  'Image Service API Reference 16.0.0'
4
4
  end
@@ -1,4 +1,4 @@
1
- module Misty::Openstack::GlanceV2
1
+ module Misty::Openstack::API::GlanceV2
2
2
  def tag
3
3
  'Image Service API Reference 16.0.0'
4
4
  end
@@ -0,0 +1,19 @@
1
+ require 'misty/openstack/api/glance/glance_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Glance
8
+ class V1
9
+ include Misty::Openstack::API::GlanceV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(image)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ require 'misty/openstack/api/glance/glance_v2'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Glance
8
+ class V2
9
+ include Misty::Openstack::API::GlanceV2
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(image)
14
+ end
15
+
16
+ # Custom requests
17
+ def list_images
18
+ show_images
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,39 @@
1
+ module Misty::Openstack::API::GnocchiV1
2
+ def tag
3
+ 'Metric API Manual v1'
4
+ end
5
+
6
+ def api
7
+ {"/v1/capabilities"=>{:GET=>[:list_capabilities]},
8
+ "/v1/archive_policy"=>
9
+ {:GET=>[:list_archive_policies], :POST=>[:create_archive_policies]},
10
+ "/v1/archive_policy/{archive_policy}"=>
11
+ {:DELETE=>[:delete_archive_policy],
12
+ :GET=>[:get_archive_policy],
13
+ :PATCH=>[:update_archive_policy]},
14
+ "/v1/archive_policy_rule"=>
15
+ {:GET=>[:list_archive_policy_rules], :POST=>[:create_archive_policy_rule]},
16
+ "/v1/archive_policy_rule/{archive_policy_rule}"=>
17
+ {:DELETE=>[:delete_archive_policy_rule],
18
+ :GET=>[:get_archive_policy_rule],
19
+ :PATCH=>[:update_archive_policy_rule]},
20
+ "/v1/batch/metrics/measures"=>{:POST=>[:send_metrics_measures]},
21
+ "/v1/metric"=>{:GET=>[:list_metrics], :POST=>[:create_metric]},
22
+ "/v1/metric/{metric_id}"=>{:GET=>[:get_metric], :DELETE=>[:delete_metric]},
23
+ "/v1/metric/{metric_id}/measures"=>
24
+ {:GET=>[:get_metric_measures], :POST=>[:send_metric_measures]},
25
+ "/v1/resource/generic"=>
26
+ {:DELETE=>[:delete_resources], :POST=>[:create_ressource]},
27
+ "/v1/resource/generic/{resource_id}/metric/{metric_name}/measures"=>
28
+ {:GET=>[:get_resource_metric_measures]},
29
+ "/v1/resource/generic/{resource_id}"=>
30
+ {:GET=>[:get_resource], :DELETE=>[:delete_resource]},
31
+ "/v1/resource/{resource_type}"=>
32
+ {:DELETE=>[:delete_resource_type], :GET=>[:list_resource_type]},
33
+ "/v1/resource_type"=>
34
+ {:GET=>[:list_resource_types],
35
+ :PATCH=>[:update_resource_type],
36
+ :POST=>[:create_resource_type]},
37
+ "/v1/status"=>{:GET=>[:get_status]}}
38
+ end
39
+ end
@@ -0,0 +1,19 @@
1
+ require 'misty/openstack/api/gnocchi/gnocchi_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Gnocchi
8
+ class V1
9
+ include Misty::Openstack::API::GnocchiV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(metric)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,4 +1,4 @@
1
- module Misty::Openstack::HeatV1
1
+ module Misty::Openstack::API::HeatV1
2
2
  def tag
3
3
  'Orchestration API Reference 10.0.0'
4
4
  end
@@ -0,0 +1,23 @@
1
+ require 'misty/openstack/api/heat/heat_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Heat
8
+ class V1
9
+ include Misty::Openstack::API::HeatV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def prefix_path_to_ignore
13
+ '/v1/{tenant_id}'
14
+ end
15
+
16
+ def service_types
17
+ %w(orchestration)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,6 +1,6 @@
1
- module Misty::Openstack::IronicV1
1
+ module Misty::Openstack::API::IronicV1
2
2
  def tag
3
- 'Ironic API Reference 9.2.1'
3
+ 'Ironic API Reference 10.2.0'
4
4
  end
5
5
 
6
6
  def api
@@ -31,6 +31,12 @@ module Misty::Openstack::IronicV1
31
31
  "/v1/nodes/{node_ident}/vendor_passthru/methods"=>{:GET=>[:list_methods]},
32
32
  "/v1/nodes/{node_ident}/vendor_passthru?method={method_name}"=>
33
33
  {:GET=>[:call_a_method]},
34
+ "/v1/nodes/{node_ident}/traits"=>
35
+ {:GET=>[:list_traits_of_a_node],
36
+ :PUT=>[:set_all_traits_of_a_node],
37
+ :DELETE=>[:remove_all_traits_from_a_node]},
38
+ "/v1/nodes/{node_ident}/traits/{trait}"=>
39
+ {:PUT=>[:add_a_trait_to_a_node], :DELETE=>[:remove_a_trait_from_a_node]},
34
40
  "/v1/nodes/{node_ident}/vifs"=>
35
41
  {:GET=>[:list_attached_vifs_of_a_node], :POST=>[:attach_a_vif_to_a_node]},
36
42
  "/v1/nodes/{node_ident}/vifs/{node_vif_ident}"=>
@@ -0,0 +1,25 @@
1
+ require 'misty/openstack/api/ironic/ironic_v1'
2
+ require 'misty/openstack/service_pack'
3
+ require 'misty/microversion'
4
+
5
+ module Misty
6
+ module Openstack
7
+ module API
8
+ module Ironic
9
+ class V1
10
+ include Misty::Openstack::API::IronicV1
11
+ include Misty::Openstack::ServicePack
12
+ include Misty::Microversion
13
+
14
+ def microversion_header(version)
15
+ {'X-Openstack-Ironic-API-Version' => "#{version}"}
16
+ end
17
+
18
+ def service_types
19
+ %w(baremetal)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,6 +1,6 @@
1
- module Misty::Openstack::KarborV1
1
+ module Misty::Openstack::API::KarborV1
2
2
  def tag
3
- 'Data Protection API Reference 0.5.1'
3
+ 'Data Protection API Reference 1.0.1'
4
4
  end
5
5
 
6
6
  def api
@@ -0,0 +1,19 @@
1
+ require 'misty/openstack/api/karbor/karbor_v1'
2
+ require 'misty/openstack/service_pack'
3
+
4
+ module Misty
5
+ module Openstack
6
+ module API
7
+ module Karbor
8
+ class V1
9
+ include Misty::Openstack::API::KarborV1
10
+ include Misty::Openstack::ServicePack
11
+
12
+ def service_types
13
+ %w(data-protection data-protection-orchestration)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,4 +1,4 @@
1
- module Misty::Openstack::KeystoneV2_0
1
+ module Misty::Openstack::API::KeystoneV2_0
2
2
  def tag
3
3
  'Identity API Reference v3.8'
4
4
  end
@@ -0,0 +1,14 @@
1
+ module Misty::Openstack::API::KeystoneV2_0_ext
2
+ def tag
3
+ 'Identity API Reference v3.10'
4
+ end
5
+
6
+ def api_ext
7
+ {"/v2.0/ec2tokens"=>{:POST=>[:ec2_authentication]},
8
+ "/v2.0/users/{userId}/credentials/OS-EC2"=>
9
+ {:POST=>[:grant_credential_to_user],
10
+ :GET=>[:list_credentials_ec2_extension]},
11
+ "/v2.0/users/{userId}/credentials/OS-EC2/{credentialId}"=>
12
+ {:DELETE=>[:delete_user_credentials], :GET=>[:get_user_credentials]}}
13
+ end
14
+ end
@@ -1,6 +1,6 @@
1
- module Misty::Openstack::KeystoneV3
1
+ module Misty::Openstack::API::KeystoneV3
2
2
  def tag
3
- 'Identity API Reference v3.8'
3
+ 'Identity API Reference v3.10'
4
4
  end
5
5
 
6
6
  def api
@@ -11,13 +11,21 @@ module Misty::Openstack::KeystoneV3
11
11
  :password_authentication_with_explicit_unscoped_authorization,
12
12
  :token_authentication_with_unscoped_authorization,
13
13
  :token_authentication_with_scoped_authorization,
14
- :token_authentication_with_explicit_unscoped_authorization],
14
+ :token_authentication_with_explicit_unscoped_authorization,
15
+ :authenticating_with_an_application_credential],
15
16
  :GET=>[:validate_and_show_information_for_token],
16
17
  :HEAD=>[:check_token],
17
18
  :DELETE=>[:revoke_token]},
18
19
  "/v3/auth/catalog"=>{:GET=>[:get_service_catalog]},
19
20
  "/v3/auth/projects"=>{:GET=>[:get_available_project_scopes]},
20
21
  "/v3/auth/domains"=>{:GET=>[:get_available_domain_scopes]},
22
+ "/v3/auth/system"=>{:GET=>[:get_available_system_scopes]},
23
+ "/v3/users/{user_id}/application_credentials"=>
24
+ {:POST=>[:create_application_credential],
25
+ :GET=>[:list_application_credentials]},
26
+ "/v3/users/{user_id}/application_credentials/{application_credential_id}"=>
27
+ {:GET=>[:show_application_credential_details],
28
+ :DELETE=>[:delete_application_credential]},
21
29
  "/v3/credentials"=>{:POST=>[:create_credential], :GET=>[:list_credentials]},
22
30
  "/v3/credentials/{credential_id}"=>
23
31
  {:GET=>[:show_credential_details],
@@ -138,6 +146,20 @@ module Misty::Openstack::KeystoneV3
138
146
  :HEAD=>[:confirm_role_inference_rule],
139
147
  :DELETE=>[:delete_role_inference_rule]},
140
148
  "/v3/role_inferences"=>{:GET=>[:list_all_role_inference_rules]},
149
+ "/v3/system/users/{user_id}/roles"=>
150
+ {:GET=>[:list_system_role_assignments_for_a_user]},
151
+ "/v3/system/users/{user_id}/roles/{role_id}"=>
152
+ {:PUT=>[:assign_a_system_role_to_a_user],
153
+ :HEAD=>[:check_user_for_a_system_role_assignment],
154
+ :GET=>[:get_system_role_assignment_for_a_user],
155
+ :DELETE=>[:delete_a_system_role_assignment_from_a_user]},
156
+ "/v3/system/groups/{group_id}/roles"=>
157
+ {:GET=>[:list_system_role_assignments_for_a_group]},
158
+ "/v3/system/groups/{group_id}/roles/{role_id}"=>
159
+ {:PUT=>[:assign_a_system_role_to_a_group],
160
+ :HEAD=>[:check_group_for_a_system_role_assignment],
161
+ :GET=>[:get_system_role_assignment_for_a_group],
162
+ :DELETE=>[:delete_a_system_role_assignment_from_a_group]},
141
163
  "/v3/services"=>{:GET=>[:list_services], :POST=>[:create_service]},
142
164
  "/v3/services/{service_id}"=>
143
165
  {:GET=>[:show_service_details],
@@ -148,6 +170,16 @@ module Misty::Openstack::KeystoneV3
148
170
  {:GET=>[:show_endpoint_details],
149
171
  :PATCH=>[:update_endpoint],
150
172
  :DELETE=>[:delete_endpoint]},
173
+ "/v3/registered_limits"=>
174
+ {:GET=>[:list_registered_limits],
175
+ :POST=>[:create_registered_limits],
176
+ :PUT=>[:update_registered_limits]},
177
+ "/v3/registered_limits/{registered_limit_id}"=>
178
+ {:GET=>[:show_registered_limit_details],
179
+ :DELETE=>[:delete_registered_limit]},
180
+ "/v3/limits"=>
181
+ {:GET=>[:list_limits], :POST=>[:create_limits], :PUT=>[:update_limits]},
182
+ "/v3/limits/{limit_id}"=>{:GET=>[:show_limit_details], :DELETE=>[:delete_limit]},
151
183
  "/v3/users"=>{:GET=>[:list_users], :POST=>[:create_user]},
152
184
  "/v3/users/{user_id}"=>
153
185
  {:GET=>[:show_user_details],