misty 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/misty/client.rb +0 -1
  3. data/lib/misty/http/request.rb +2 -0
  4. data/lib/misty/openstack/aodh/aodh_v2.rb +6 -1
  5. data/lib/misty/openstack/ceilometer/ceilometer_v2.rb +6 -1
  6. data/lib/misty/openstack/cinder/cinder_v1.rb +4 -0
  7. data/lib/misty/openstack/cinder/cinder_v2.rb +65 -54
  8. data/lib/misty/openstack/cinder/cinder_v3.rb +61 -8
  9. data/lib/misty/openstack/cinder/v2.rb +2 -1
  10. data/lib/misty/openstack/designate/designate_v2.rb +4 -0
  11. data/lib/misty/openstack/freezer/freezer_v1.rb +4 -0
  12. data/lib/misty/openstack/glance/glance_v1.rb +4 -0
  13. data/lib/misty/openstack/glance/glance_v2.rb +7 -0
  14. data/lib/misty/openstack/heat/heat_v1.rb +5 -0
  15. data/lib/misty/openstack/ironic/ironic_v1.rb +26 -3
  16. data/lib/misty/openstack/karbor/karbor_v1.rb +8 -1
  17. data/lib/misty/openstack/keystone/keystone_v2_0.rb +4 -0
  18. data/lib/misty/openstack/keystone/keystone_v2_0_ext.rb +5 -19
  19. data/lib/misty/openstack/keystone/keystone_v3.rb +12 -0
  20. data/lib/misty/openstack/keystone/keystone_v3_ext.rb +6 -2
  21. data/lib/misty/openstack/magnum/magnum_v1.rb +4 -0
  22. data/lib/misty/openstack/manila/manila_v2.rb +65 -26
  23. data/lib/misty/openstack/murano/murano_v1.rb +4 -0
  24. data/lib/misty/openstack/neutron/neutron_v2_0.rb +28 -9
  25. data/lib/misty/openstack/nova/nova_v2_1.rb +17 -6
  26. data/lib/misty/openstack/octavia/octavia_v2_0.rb +12 -2
  27. data/lib/misty/openstack/sahara/sahara_v1_1.rb +4 -0
  28. data/lib/misty/openstack/searchlight/searchlight_v1.rb +4 -0
  29. data/lib/misty/openstack/senlin/senlin_v1.rb +6 -1
  30. data/lib/misty/openstack/swift/swift_v1.rb +4 -0
  31. data/lib/misty/openstack/tacker/tacker_v1_0.rb +4 -0
  32. data/lib/misty/openstack/trove/trove_v1_0.rb +4 -0
  33. data/lib/misty/openstack/zaqar/zaqar_v2.rb +9 -6
  34. data/lib/misty/version.rb +1 -1
  35. data/test/integration/compute_test.rb +14 -3
  36. data/test/integration/network_test.rb +14 -2
  37. data/test/integration/orchestration_test.rb +12 -0
  38. data/test/integration/test_helper.rb +0 -11
  39. data/test/integration/vcr/compute_using_nova_v2_1.yml +255 -921
  40. data/test/integration/vcr/network_using_neutron_v2_0.yml +164 -875
  41. data/test/unit/client_test.rb +2 -2
  42. data/test/unit/openstack/APIs_test.rb +2 -3
  43. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ffe75b3968e66e94826272e86f37008a8f8588c5
4
- data.tar.gz: 1d22179b70ec1d3f0defcad2eccd8f375ccd27bc
3
+ metadata.gz: 2bbdd43e06b45052a847d0845b6d7a9384c1d86d
4
+ data.tar.gz: d70ba4cf9e4b98500c70db3e91afa66058f8c51c
5
5
  SHA512:
6
- metadata.gz: 1a35311aff1b3149a027ecc54843791b350d0c67da4551e0f589c601c5d186721e02754a3b1bcf690964d546c57212f7c9e8cdd30548c142cad7ccd39c5e4274
7
- data.tar.gz: d5f88faf9a3076df2ddd3f2569b01d9885425d866e2c572069497de6167d782d54af995256b221235eb87c8fdf439060cd02cbdc0d2b053fc0a05cd7d9682040
6
+ metadata.gz: 5bfd054e27023b7d88c7a7026081990fbfb5a08da382f866fe2c5c95c1d19048c0e94cdfff832d3ef69d7e32c944d3fc79a1ecf520945367cbfbd7d4dc89fc7c
7
+ data.tar.gz: 19d434800e512ef48908db59312869402c349031f63a45c2790265ff9105690d6338d94ac5781a46e029da91dd95245704081a72c0c69111a95e22f7cd295e1f
@@ -39,7 +39,6 @@ module Misty
39
39
  @version = nil
40
40
  @microversion = false
41
41
  @headers = Misty::HTTP::Header.new(@config.headers.get.clone)
42
- @headers.add('X-Auth-Token' => @auth.get_token.to_s)
43
42
  @headers.add(microversion_header) if microversion
44
43
  @headers.add(@options.headers) unless @options.headers.empty?
45
44
  end
@@ -12,6 +12,8 @@ module Misty
12
12
  end
13
13
 
14
14
  def http(request)
15
+ request['X-Auth-Token'] = @auth.get_token
16
+
15
17
  Misty::HTTP::NetHTTP.http_request(
16
18
  @uri, ssl_verify_mode: @options.ssl_verify_mode, log: @config.log
17
19
  ) do |connection|
@@ -1,11 +1,16 @@
1
1
  module Misty::Openstack::AodhV2
2
+ def tag
3
+ 'Alarming API Legacy'
4
+ end
5
+
2
6
  def api
3
7
  {"/v2/capabilities"=>{:GET=>[:list_capabilities]},
4
8
  "/v2/alarms"=>{:GET=>[:list_alarms], :POST=>[:create_alarm]},
5
9
  "/v2/alarms/{alarm_id}"=>
6
10
  {:GET=>[:show_alarm], :PUT=>[:"update_alarm}"], :DELETE=>[:delete_alarm]},
7
11
  "/v2/alarms/{alarm_id}/history"=>{:GET=>[:show_alarm_history]},
8
- "/v2/alarms/{alarm_id}/state"=>{:GET=>[:show_alarm_state], :PUT=>[:"update_alarm_state}"]},
12
+ "/v2/alarms/{alarm_id}/state"=>
13
+ {:GET=>[:show_alarm_state], :PUT=>[:"update_alarm_state}"]},
9
14
  "/v2/query/alarms"=>{:POST=>[:create_alarms_query]},
10
15
  "/v2/query/alarms/history"=>{:POST=>[:create_alarm_query_history]}}
11
16
  end
@@ -1,9 +1,14 @@
1
1
  module Misty::Openstack::CeilometerV2
2
+ def tag
3
+ 'Metering API Legacy'
4
+ end
5
+
2
6
  def api
3
7
  {"/v2/resources"=>{:GET=>[:list_resources]},
4
8
  "/v2/resources/{resource_id}"=>{:GET=>[:show_ressource]},
5
9
  "/v2/meters"=>{:GET=>[:list_meters]},
6
- "/v2/meters/{meter_name}"=>{:GET=>[:show_meter], :POST=>[:create_meter_samples]},
10
+ "/v2/meters/{meter_name}"=>
11
+ {:GET=>[:show_meter], :POST=>[:create_meter_samples]},
7
12
  "/v2/meters/{meter_name}/statistics"=>{:GET=>[:show_statistics]},
8
13
  "/v2/samples"=>{:GET=>[:list_samples]},
9
14
  "/v2/samples/{sample_id}"=>{:GET=>[:show_sample]},
@@ -1,4 +1,8 @@
1
1
  module Misty::Openstack::CinderV1
2
+ def tag
3
+ 'Block Storage API Legacy'
4
+ end
5
+
2
6
  def api
3
7
  {"/v1/{admin_tenant_id}/os-quota-sets/{tenant_id}/detail/{user_id}"=>
4
8
  {:GET=>[:show_quota_details_for_user_v1]},
@@ -1,125 +1,136 @@
1
1
  module Misty::Openstack::CinderV2
2
+ def tag
3
+ 'Block Storage API Reference 12.0.0'
4
+ end
5
+
2
6
  def api
3
7
  {"/"=>{:GET=>[:list_api_versions]},
4
- "/v2/{tenant_id}/backups/detail"=>{:GET=>[:list_backups_with_details]},
5
- "/v2/{tenant_id}/backups/{backup_id}"=>
8
+ "/v2/{project_id}/backups/detail"=>{:GET=>[:list_backups_with_details]},
9
+ "/v2/{project_id}/backups/{backup_id}"=>
6
10
  {:GET=>[:show_backup_details], :DELETE=>[:delete_backup]},
7
- "/v2/{tenant_id}/backups/{backup_id}/restore"=>{:POST=>[:restore_backup]},
8
- "/v2/{tenant_id}/backups"=>{:POST=>[:create_backup], :GET=>[:list_backups]},
9
- "/v2/{tenant_id}/backups/{backup_id}/action"=>{:POST=>[:force_delete_backup]},
10
- "/v2/{tenant_id}/capabilities/{hostname}"=>
11
+ "/v2/{project_id}/backups/{backup_id}/restore"=>{:POST=>[:restore_backup]},
12
+ "/v2/{project_id}/backups"=>{:POST=>[:create_backup], :GET=>[:list_backups]},
13
+ "/v2/{project_id}/backups/{backup_id}/export_record"=>
14
+ {:GET=>[:export_backup]},
15
+ "/v2/{project_id}/backups/{backup_id}/import_record"=>
16
+ {:POST=>[:import_backup]},
17
+ "/v2/{project_id}/backups/{backup_id}/action"=>
18
+ {:POST=>[:force_delete_backup, :reset_backup_s_status]},
19
+ "/v2/{project_id}/capabilities/{hostname}"=>
11
20
  {:GET=>[:show_back_end_capabilities]},
12
- "/v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}"=>
21
+ "/v2/{project_id}/cgsnapshots/{cgsnapshot_id}"=>
13
22
  {:DELETE=>[:delete_consistency_group_snapshot],
14
23
  :GET=>[:show_consistency_group_snapshot_details]},
15
- "/v2/{tenant_id}/cgsnapshots/detail"=>
24
+ "/v2/{project_id}/cgsnapshots/detail"=>
16
25
  {:GET=>[:list_consistency_group_snapshots_with_details]},
17
- "/v2/{tenant_id}/cgsnapshots"=>
26
+ "/v2/{project_id}/cgsnapshots"=>
18
27
  {:GET=>[:list_consistency_group_snapshots],
19
28
  :POST=>[:create_consistency_group_snapshot]},
20
- "/v2/{tenant_id}/consistencygroups"=>
29
+ "/v2/{project_id}/consistencygroups"=>
21
30
  {:GET=>[:list_consistency_groups], :POST=>[:create_consistency_group]},
22
- "/v2/{tenant_id}/consistencygroups/{consistencygroup_id}"=>
31
+ "/v2/{project_id}/consistencygroups/{consistencygroup_id}"=>
23
32
  {:GET=>[:show_consistency_group_details]},
24
- "/v2/{tenant_id}/consistencygroups/create_from_src"=>
33
+ "/v2/{project_id}/consistencygroups/create_from_src"=>
25
34
  {:POST=>[:create_consistency_group_from_source]},
26
- "/v2/{tenant_id}/consistencygroups/{consistencygroup_id}/delete"=>
35
+ "/v2/{project_id}/consistencygroups/{consistencygroup_id}/delete"=>
27
36
  {:POST=>[:delete_consistency_group]},
28
- "/v2/{tenant_id}/consistencygroups/detail"=>
37
+ "/v2/{project_id}/consistencygroups/detail"=>
29
38
  {:GET=>[:list_consistency_groups_with_details]},
30
- "/v2/{tenant_id}/consistencygroups/{consistencygroup_id}/update"=>
39
+ "/v2/{project_id}/consistencygroups/{consistencygroup_id}/update"=>
31
40
  {:PUT=>[:update_consistency_group]},
32
- "/v2/{admin_tenant_id}/os-hosts"=>{:GET=>[:list_all_hosts]},
33
- "/v2/{admin_tenant_id}/os-hosts/{host_name}"=>{:GET=>[:show_host_details]},
34
- "/v2/{tenant_id}/limits"=>{:GET=>[:show_absolute_limits]},
35
- "/v2/{tenant_id}/os-vol-image-meta"=>
36
- {:GET=>[:show_image_metadata_for_volume]},
37
- "/v2/{tenant_id}/scheduler-stats/get_pools"=>
41
+ "/v2/{admin_project_id}/os-hosts"=>{:GET=>[:list_all_hosts]},
42
+ "/v2/{admin_project_id}/os-hosts/{host_name}"=>{:GET=>[:show_host_details]},
43
+ "/v2/{project_id}/limits"=>{:GET=>[:show_absolute_limits]},
44
+ "/v2/{project_id}/scheduler-stats/get_pools"=>
38
45
  {:GET=>[:list_back_end_storage_pools]},
39
- "/v2/{tenant_id}/os-volume-transfer/{transfer_id}/accept"=>
46
+ "/v2/{project_id}/os-volume-transfer/{transfer_id}/accept"=>
40
47
  {:POST=>[:accept_volume_transfer]},
41
- "/v2/{tenant_id}/os-volume-transfer"=>
48
+ "/v2/{project_id}/os-volume-transfer"=>
42
49
  {:POST=>[:create_volume_transfer], :GET=>[:list_volume_transfers]},
43
- "/v2/{tenant_id}/os-volume-transfer/{transfer_id}"=>
50
+ "/v2/{project_id}/os-volume-transfer/{transfer_id}"=>
44
51
  {:GET=>[:show_volume_transfer_details], :DELETE=>[:delete_volume_transfer]},
45
- "/v2/{tenant_id}/os-volume-transfer/detail"=>
52
+ "/v2/{project_id}/os-volume-transfer/detail"=>
46
53
  {:GET=>[:list_volume_transfers_with_details]},
47
- "/v2/{tenant_id}/qos-specs/{qos_id}/disassociate_all"=>
54
+ "/v2/{project_id}/qos-specs/{qos_id}/disassociate_all"=>
48
55
  {:GET=>[:disassociate_qos_specification_from_all_associations]},
49
- "/v2/{tenant_id}/qos-specs/{qos_id}/delete_keys"=>
56
+ "/v2/{project_id}/qos-specs/{qos_id}/delete_keys"=>
50
57
  {:PUT=>[:unset_keys_in_qos_specification]},
51
- "/v2/{tenant_id}/qos-specs/{qos_id}/associations"=>
58
+ "/v2/{project_id}/qos-specs/{qos_id}/associations"=>
52
59
  {:GET=>[:get_all_associations_for_qos_specification]},
53
- "/v2/{tenant_id}/qos-specs/{qos_id}/associate"=>
60
+ "/v2/{project_id}/qos-specs/{qos_id}/associate"=>
54
61
  {:GET=>[:associate_qos_specification_with_volume_type]},
55
- "/v2/{tenant_id}/qos-specs/{qos_id}/disassociate"=>
62
+ "/v2/{project_id}/qos-specs/{qos_id}/disassociate"=>
56
63
  {:GET=>[:disassociate_qos_specification_from_volume_type]},
57
- "/v2/{tenant_id}/qos-specs/{qos_id}"=>
64
+ "/v2/{project_id}/qos-specs/{qos_id}"=>
58
65
  {:GET=>[:show_qos_specification_details],
59
66
  :PUT=>[:set_keys_in_qos_specification],
60
67
  :DELETE=>[:delete_qos_specification]},
61
- "/v2/{tenant_id}/qos-specs"=>
68
+ "/v2/{project_id}/qos-specs"=>
62
69
  {:POST=>[:create_qos_specification], :GET=>[:list_qos_specs]},
63
- "/v2/{admin_tenant_id}/os-quota-sets/{tenant_id}"=>
70
+ "/v2/{admin_project_id}/os-quota-class-sets/{quota_class_name}"=>
71
+ {:GET=>[:show_quota_classes], :PUT=>[:update_quota_classes]},
72
+ "/v2/{admin_project_id}/os-quota-sets/{project_id}"=>
64
73
  {:GET=>[:show_quotas], :PUT=>[:update_quotas], :DELETE=>[:delete_quotas]},
65
- "/v2/{admin_tenant_id}/os-quota-sets/{tenant_id}/defaults"=>
74
+ "/v2/{admin_project_id}/os-quota-sets/{project_id}/defaults"=>
66
75
  {:GET=>[:get_default_quotas]},
67
- "/v2/{tenant_id}/os-volume-manage"=>{:POST=>[:manage_existing_volume]},
68
- "/v2/{tenant_id}/types/{volume_type}/action"=>
76
+ "/v2/{project_id}/os-volume-manage"=>{:POST=>[:manage_existing_volume]},
77
+ "/v2/{project_id}/types/{volume_type}/action"=>
69
78
  {:POST=>
70
79
  [:add_private_volume_type_access, :remove_private_volume_type_access]},
71
- "/v2/{tenant_id}/types/{volume_type}/os-volume-type-access"=>
80
+ "/v2/{project_id}/types/{volume_type}/os-volume-type-access"=>
72
81
  {:GET=>[:list_private_volume_type_access_details]},
73
- "/v2/{tenant_id}/extensions"=>{:GET=>[:list_api_extensions]},
74
- "/v2/{tenant_id}/snapshots/detail"=>{:GET=>[:list_snapshots_with_details]},
75
- "/v2/{tenant_id}/snapshots"=>
82
+ "/v2/{project_id}/extensions"=>{:GET=>[:list_api_extensions]},
83
+ "/v2/{project_id}/snapshots/detail"=>{:GET=>[:list_snapshots_with_details]},
84
+ "/v2/{project_id}/snapshots"=>
76
85
  {:POST=>[:create_snapshot], :GET=>[:list_snapshots]},
77
- "/v2/{tenant_id}/snapshots/{snapshot_id}/metadata"=>
86
+ "/v2/{project_id}/snapshots/{snapshot_id}/metadata"=>
78
87
  {:GET=>[:show_snapshot_metadata],
79
88
  :POST=>[:create_snapshot_metadata],
80
89
  :PUT=>[:update_snapshot_metadata]},
81
- "/v2/{tenant_id}/snapshots/{snapshot_id}"=>
90
+ "/v2/{project_id}/snapshots/{snapshot_id}"=>
82
91
  {:GET=>[:show_snapshot_details],
83
92
  :PUT=>[:update_snapshot],
84
93
  :DELETE=>[:delete_snapshot]},
85
- "/v2/{tenant_id}/types/{volume_type_id}"=>
94
+ "/v2/{project_id}/types/{volume_type_id}"=>
86
95
  {:PUT=>[:update_volume_type, :update_extra_specs_for_a_volume_type],
87
96
  :GET=>[:show_volume_type_details_for_v2],
88
97
  :DELETE=>[:delete_volume_type]},
89
- "/v2/{tenant_id}/types"=>
98
+ "/v2/{project_id}/types"=>
90
99
  {:GET=>[:list_all_volume_types_for_v2], :POST=>[:create_volume_type_for_v2]},
91
- "/v2/{tenant_id}/types/{volume_type_id}/encryption"=>
100
+ "/v2/{project_id}/types/{volume_type_id}/encryption"=>
92
101
  {:GET=>[:show_an_encryption_type_for_v2],
93
102
  :POST=>[:create_an_encryption_type_for_v2]},
94
- "/v2/{tenant_id}/types/{volume_type_id}/encryption/{encryption_id}"=>
103
+ "/v2/{project_id}/types/{volume_type_id}/encryption/{encryption_id}"=>
95
104
  {:GET=>[:delete_an_encryption_type_for_v2],
96
105
  :POST=>[:update_an_encryption_type_for_v2]},
97
106
  "/v2"=>{:GET=>[:show_api_v2_details]},
98
- "/v2/{tenant_id}/volumes/{volume_id}/action"=>
107
+ "/v2/{project_id}/volumes/{volume_id}/action"=>
99
108
  {:POST=>
100
109
  [:extend_volume_size,
101
110
  :reset_volume_statuses,
102
111
  :set_image_metadata_for_volume,
103
112
  :remove_image_metadata_from_volume,
113
+ :show_image_metadata_for_volume,
104
114
  :attach_volume_to_server,
105
115
  :detach_volume_from_a_server,
106
116
  :unmanage_volume,
107
117
  :force_detach_volume,
118
+ :retype_volume,
108
119
  :force_delete_volume,
109
120
  :update_volume_bootable_status]},
110
- "/v2/{project_id}/volumes/{volume_id}/action"=>{:POST=>[:retype_volume]},
111
- "/v2/{tenant_id}/volumes/detail"=>{:GET=>[:list_volumes_with_details]},
112
- "/v2/{tenant_id}/volumes"=>{:POST=>[:create_volume], :GET=>[:list_volumes]},
113
- "/v2/{tenant_id}/volumes/{volume_id}"=>
121
+ "/v2/{project_id}/volumes/detail"=>{:GET=>[:list_volumes_with_details]},
122
+ "/v2/{project_id}/volumes"=>{:POST=>[:create_volume], :GET=>[:list_volumes]},
123
+ "/v2/{project_id}/volumes/{volume_id}"=>
114
124
  {:GET=>[:show_volume_details],
115
125
  :PUT=>[:update_volume],
116
126
  :DELETE=>[:delete_volume]},
117
- "/v2/{tenant_id}/volumes/{volume_id}/metadata"=>
127
+ "/v2/{project_id}/volumes/{volume_id}/metadata"=>
118
128
  {:POST=>[:create_volume_metadata],
119
129
  :GET=>[:show_volume_metadata],
120
130
  :PUT=>[:update_volume_metadata]},
121
- "/v2/{tenant_id}/volumes/{volume_id}/metadata/{key}"=>
131
+ "/v2/{project_id}/volumes/{volume_id}/metadata/{key}"=>
122
132
  {:GET=>[:show_volume_metadata_for_a_specific_key],
123
- :DELETE=>[:delete_volume_metadata]}}
133
+ :DELETE=>[:delete_volume_metadata],
134
+ :PUT=>[:update_volume_metadata_for_a_specific_key]}}
124
135
  end
125
136
  end
@@ -1,16 +1,29 @@
1
1
  module Misty::Openstack::CinderV3
2
+ def tag
3
+ 'Block Storage API Reference 12.0.0'
4
+ end
5
+
2
6
  def api
3
7
  {"/"=>{:GET=>[:list_all_api_versions]},
4
8
  "/v3"=>{:GET=>[:show_api_v3_details]},
5
9
  "/v3/{project_id}/extensions"=>{:GET=>[:list_known_api_extensions]},
6
10
  "/v3/{project_id}/types/{volume_type_id}"=>
7
- {:PUT=>[:update_a_volume_type, :update_extra_specs_for_volume_type],
11
+ {:PUT=>[:update_a_volume_type],
8
12
  :GET=>[:show_volume_type_detail],
9
13
  :DELETE=>[:delete_a_volume_type]},
14
+ "/v3/{project_id}/types/{volume_type_id}/extra_specs"=>
15
+ {:POST=>[:create_or_update_extra_specs_for_volume_type],
16
+ :GET=>[:show_all_extra_specifications_for_volume_type]},
17
+ "/v3/{project_id}/types/{volume_type_id}/extra_specs/{key}"=>
18
+ {:GET=>[:show_extra_specification_for_volume_type],
19
+ :PUT=>[:update_extra_specification_for_volume_type],
20
+ :DELETE=>[:delete_extra_specification_for_volume_type]},
10
21
  "/v3/{project_id}/types"=>
11
22
  {:GET=>[:list_all_volume_types], :POST=>[:create_a_volume_type]},
12
23
  "/v3/{project_id}/types/{volume_type_id}/encryption"=>
13
24
  {:GET=>[:show_an_encryption_type], :POST=>[:create_an_encryption_type]},
25
+ "/v3/{project_id}/types/{volume_type_id}/encryption/{key}"=>
26
+ {:GET=>[:show_encryption_specs_item]},
14
27
  "/v3/{project_id}/types/{volume_type_id}/encryption/{encryption_id}"=>
15
28
  {:GET=>[:delete_an_encryption_type], :POST=>[:update_an_encryption_type]},
16
29
  "/v3/{project_id}/types/{volume_type}/action"=>
@@ -43,6 +56,7 @@ module Misty::Openstack::CinderV3
43
56
  :revert_volume_to_snapshot,
44
57
  :set_image_metadata_for_a_volume,
45
58
  :remove_image_metadata_from_a_volume,
59
+ :show_image_metadata_for_a_volume,
46
60
  :attach_volume_to_a_server,
47
61
  :detach_volume_from_server,
48
62
  :unmanage_a_volume,
@@ -51,8 +65,6 @@ module Misty::Openstack::CinderV3
51
65
  :force_delete_a_volume,
52
66
  :update_a_volume_s_bootable_status,
53
67
  :upload_volume_to_image]},
54
- "/v3/{project_id}/os-vol-image-meta"=>
55
- {:GET=>[:show_image_metadata_for_a_volume]},
56
68
  "/v3/{project_id}/manageable_volumes"=>
57
69
  {:POST=>[:manage_an_existing_volume],
58
70
  :GET=>[:list_summary_of_volumes_available_to_manage]},
@@ -74,6 +86,8 @@ module Misty::Openstack::CinderV3
74
86
  "/v3/{project_id}/snapshots/{snapshot_id}/metadata/{key}"=>
75
87
  {:DELETE=>[:delete_a_snapshot_s_metadata],
76
88
  :PUT=>[:update_a_snapshot_s_metadata_for_a_specific_key]},
89
+ "/v3/{project_id}/snapshots/{snapshot_id}/action"=>
90
+ {:POST=>[:reset_a_snapshot_s_status]},
77
91
  "/v3/{project_id}/manageable_snapshots"=>
78
92
  {:POST=>[:manage_an_existing_snapshot],
79
93
  :GET=>[:list_summary_of_snapshots_available_to_manage]},
@@ -96,6 +110,8 @@ module Misty::Openstack::CinderV3
96
110
  {:GET=>[:list_attachments_with_details]},
97
111
  "/v3/{project_id}/attachments"=>
98
112
  {:GET=>[:list_attachments], :POST=>[:create_attachment]},
113
+ "/v3/{project_id}/attachments/{attachment_id}/action"=>
114
+ {:POST=>[:complete_attachment]},
99
115
  "/v3/{project_id}/scheduler-stats/get_pools"=>
100
116
  {:GET=>[:list_all_back_end_storage_pools]},
101
117
  "/v3/{project_id}/backups/detail"=>{:GET=>[:list_backups_with_detail]},
@@ -106,8 +122,12 @@ module Misty::Openstack::CinderV3
106
122
  "/v3/{project_id}/backups/{backup_id}/restore"=>{:POST=>[:restore_a_backup]},
107
123
  "/v3/{project_id}/backups"=>
108
124
  {:POST=>[:create_a_backup], :GET=>[:list_backups_for_project]},
125
+ "/v3/{project_id}/backups/{backup_id}/export_record"=>
126
+ {:GET=>[:export_a_backup]},
127
+ "/v3/{project_id}/backups/{backup_id}/import_record"=>
128
+ {:POST=>[:import_a_backup]},
109
129
  "/v3/{project_id}/backups/{backup_id}/action"=>
110
- {:POST=>[:force_delete_a_backup]},
130
+ {:POST=>[:force_delete_a_backup, :reset_a_backup_s_status]},
111
131
  "/v3/{project_id}/capabilities/{hostname}"=>
112
132
  {:GET=>[:show_all_back_end_capabilities]},
113
133
  "/v3/{project_id}/consistencygroups"=>
@@ -131,12 +151,32 @@ module Misty::Openstack::CinderV3
131
151
  "/v3/{project_id}/cgsnapshots"=>
132
152
  {:GET=>[:list_all_consistency_group_snapshots],
133
153
  :POST=>[:create_a_consistency_group_snapshot]},
154
+ "/v3/{project_id}/os-services"=>{:GET=>[:list_all_cinder_services]},
155
+ "/v3/{project_id}/os-services/disable"=>{:PUT=>[:disable_a_cinder_service]},
156
+ "/v3/{project_id}/os-services/disable-log-reason"=>
157
+ {:PUT=>[:log_disabled_cinder_service_information]},
158
+ "/v3/{project_id}/os-services/enable"=>{:PUT=>[:enable_a_cinder_service]},
159
+ "/v3/{project_id}/os-services/get-log"=>
160
+ {:PUT=>[:get_current_log_levels_for_cinder_services]},
161
+ "/v3/{project_id}/os-services/set-log"=>
162
+ {:PUT=>[:set_log_levels_of_cinder_services_dynamically]},
163
+ "/v3/{project_id}/os-services/freeze"=>
164
+ {:PUT=>[:freeze_a_cinder_backend_host]},
165
+ "/v3/{project_id}/os-services/thaw"=>{:PUT=>[:thaw_a_cinder_backend_host]},
166
+ "/v3/{project_id}/os-services/failover_host"=>
167
+ {:PUT=>[:failover_a_cinder_backend_host]},
134
168
  "/v3/{project_id}/groups"=>{:GET=>[:list_groups], :POST=>[:create_group]},
135
169
  "/v3/{project_id}/groups/{group_id}"=>
136
170
  {:GET=>[:show_group_details], :PUT=>[:update_group]},
137
171
  "/v3/{project_id}/groups/action"=>{:POST=>[:create_group_from_source]},
138
172
  "/v3/{project_id}/groups/{group_id}/action"=>
139
- {:POST=>[:delete_group, :reset_group_status]},
173
+ {:POST=>
174
+ [:delete_group,
175
+ :reset_group_status,
176
+ :list_replication_targets,
177
+ :enable_group_replication,
178
+ :disable_group_replication,
179
+ :failover_replication]},
140
180
  "/v3/{project_id}/groups/detail"=>{:GET=>[:list_groups_with_details]},
141
181
  "/v3/{project_id}/group_snapshots/{group_snapshot_id}"=>
142
182
  {:DELETE=>[:delete_group_snapshot], :GET=>[:show_group_snapshot_details]},
@@ -150,10 +190,15 @@ module Misty::Openstack::CinderV3
150
190
  {:PUT=>[:update_group_type],
151
191
  :GET=>[:show_group_type_details],
152
192
  :DELETE=>[:delete_group_type]},
153
- "/v3/{project_id}/group_types/{group_type_id}/group_specs"=>
154
- {:POST=>[:create_group_specs_for_a_group_type]},
155
193
  "/v3/{project_id}/group_types"=>
156
194
  {:GET=>[:list_group_types], :POST=>[:create_group_type]},
195
+ "/v3/{project_id}/group_types/{group_type_id}/group_specs"=>
196
+ {:POST=>[:create_group_specs_for_a_group_type],
197
+ :GET=>[:list_group_specs_for_a_group_type]},
198
+ "/v3/{project_id}/group_types/{group_type_id}/group_specs/{spec_id}"=>
199
+ {:GET=>[:show_one_specific_group_spec_for_a_group_type],
200
+ :PUT=>[:update_one_specific_group_spec_for_a_group_type],
201
+ :DELETE=>[:delete_one_specific_group_spec_for_a_group_type]},
157
202
  "/v3/{admin_project_id}/os-hosts"=>{:GET=>[:list_all_hosts_for_a_project]},
158
203
  "/v3/{admin_project_id}/os-hosts/{host_name}"=>
159
204
  {:GET=>[:show_host_details_for_a_project]},
@@ -178,11 +223,19 @@ module Misty::Openstack::CinderV3
178
223
  :DELETE=>[:delete_a_qos_specification]},
179
224
  "/v3/{project_id}/qos-specs"=>
180
225
  {:POST=>[:create_a_qos_specification], :GET=>[:list_qos_specifications]},
226
+ "/v3/{admin_project_id}/os-quota-class-sets/{quota_class_name}"=>
227
+ {:GET=>[:show_quota_classes_for_a_project],
228
+ :PUT=>[:update_quota_classes_for_a_project]},
181
229
  "/v3/{admin_project_id}/os-quota-sets/{project_id}"=>
182
230
  {:GET=>[:show_quotas_for_a_project],
183
231
  :PUT=>[:update_quotas_for_a_project],
184
232
  :DELETE=>[:delete_quotas_for_a_project]},
233
+ "/v3/{admin_project_id}/os-quota-sets/{project_id}?{usage}=True"=>
234
+ {:GET=>[:show_quota_usage_for_a_project]},
185
235
  "/v3/{admin_project_id}/os-quota-sets/{project_id}/defaults"=>
186
- {:GET=>[:get_default_quotas_for_a_project]}}
236
+ {:GET=>[:get_default_quotas_for_a_project]},
237
+ "/v3/{admin_project_id}/os-quota-sets/validate_setup_for_nested_quota_use"=>
238
+ {:GET=>[:validate_setup_for_nested_quota]},
239
+ "v3/{project_id}/workers/cleanup"=>{:POST=>[:cleanup_services]}}
187
240
  end
188
241
  end
@@ -8,8 +8,9 @@ module Misty
8
8
  include Misty::Openstack::CinderV2
9
9
  include Misty::ClientPack
10
10
 
11
+ # TODO: path for '/v2/{admin_project_id}'
11
12
  def prefix_path_to_ignore
12
- '/v2/{tenant_id}'
13
+ '/v2/{project_id}'
13
14
  end
14
15
 
15
16
  def service_names
@@ -1,4 +1,8 @@
1
1
  module Misty::Openstack::DesignateV2
2
+ def tag
3
+ 'Designate API Reference 6.0.0'
4
+ end
5
+
2
6
  def api
3
7
  {"/"=>{:GET=>[:list_all_api_versions]},
4
8
  "/v2/zones"=>{:POST=>[:create_zone], :GET=>[:list_zones]},
@@ -1,4 +1,8 @@
1
1
  module Misty::Openstack::FreezerV1
2
+ def tag
3
+ 'Backup and Disaster Recovery Service API Reference 5.0.1'
4
+ end
5
+
2
6
  def api
3
7
  {"/v1/backups"=>{:GET=>[:lists_backups]},
4
8
  "/v1/backups/{backup_id}"=>
@@ -1,4 +1,8 @@
1
1
  module Misty::Openstack::GlanceV1
2
+ def tag
3
+ 'Image Service API Reference 16.0.0'
4
+ end
5
+
2
6
  def api
3
7
  {"/v1/images"=>{:POST=>[:create_image], :GET=>[:list_images]},
4
8
  "/v1/images/detail"=>{:GET=>[:list_images_with_details]},