fog-openstack 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +12 -28
- data/docs/workflow.md +129 -0
- data/examples/workflow/workflow-examples.rb +387 -0
- data/gemfiles/Gemfile-1.9 +1 -0
- data/lib/fog/openstack.rb +5 -1
- data/lib/fog/openstack/baremetal.rb +14 -38
- data/lib/fog/openstack/compute.rb +4 -33
- data/lib/fog/openstack/core.rb +104 -50
- data/lib/fog/openstack/identity.rb +2 -1
- data/lib/fog/openstack/identity_v2.rb +0 -2
- data/lib/fog/openstack/identity_v3.rb +0 -2
- data/lib/fog/openstack/image_v1.rb +6 -6
- data/lib/fog/openstack/image_v2.rb +7 -6
- data/lib/fog/openstack/introspection.rb +10 -35
- data/lib/fog/openstack/metering.rb +16 -35
- data/lib/fog/openstack/monitoring.rb +5 -31
- data/lib/fog/openstack/network.rb +5 -34
- data/lib/fog/openstack/nfv.rb +10 -35
- data/lib/fog/openstack/orchestration.rb +5 -40
- data/lib/fog/openstack/planning.rb +11 -36
- data/lib/fog/openstack/requests/compute/get_limits.rb +8 -7
- data/lib/fog/openstack/requests/network/update_router.rb +1 -1
- data/lib/fog/openstack/requests/workflow_v2/create_action.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/create_action_execution.rb +31 -0
- data/lib/fog/openstack/requests/workflow_v2/create_cron_trigger.rb +55 -0
- data/lib/fog/openstack/requests/workflow_v2/create_environment.rb +31 -0
- data/lib/fog/openstack/requests/workflow_v2/create_execution.rb +30 -0
- data/lib/fog/openstack/requests/workflow_v2/create_workbook.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/create_workflow.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_action.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_action_execution.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_cron_trigger.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_environment.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_execution.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_workbook.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/delete_workflow.rb +25 -0
- data/lib/fog/openstack/requests/workflow_v2/get_action.rb +27 -0
- data/lib/fog/openstack/requests/workflow_v2/get_action_execution.rb +26 -0
- data/lib/fog/openstack/requests/workflow_v2/get_cron_trigger.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/get_environment.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/get_execution.rb +26 -0
- data/lib/fog/openstack/requests/workflow_v2/get_task.rb +27 -0
- data/lib/fog/openstack/requests/workflow_v2/get_workbook.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/get_workflow.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_action_executions.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_actions.rb +30 -0
- data/lib/fog/openstack/requests/workflow_v2/list_cron_triggers.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_environments.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_executions.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_services.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_tasks.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_workbooks.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/list_workflows.rb +30 -0
- data/lib/fog/openstack/requests/workflow_v2/rerun_task.rb +33 -0
- data/lib/fog/openstack/requests/workflow_v2/update_action.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/update_action_execution.rb +33 -0
- data/lib/fog/openstack/requests/workflow_v2/update_environment.rb +31 -0
- data/lib/fog/openstack/requests/workflow_v2/update_execution.rb +33 -0
- data/lib/fog/openstack/requests/workflow_v2/update_workbook.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/update_workflow.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/validate_action.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/validate_workbook.rb +28 -0
- data/lib/fog/openstack/requests/workflow_v2/validate_workflow.rb +28 -0
- data/lib/fog/openstack/storage.rb +4 -35
- data/lib/fog/openstack/version.rb +1 -1
- data/lib/fog/openstack/volume_v1.rb +7 -5
- data/lib/fog/openstack/volume_v2.rb +7 -5
- data/lib/fog/openstack/workflow.rb +12 -0
- data/lib/fog/openstack/workflow_v2.rb +160 -0
- metadata +48 -95
- data/lib/fog/openstack/common.rb +0 -44
- data/tests/openstack/models/compute/images_tests.rb +0 -13
- data/tests/openstack/models/compute/security_group_tests.rb +0 -54
- data/tests/openstack/models/compute/server_tests.rb +0 -220
- data/tests/openstack/models/compute/service_tests.rb +0 -17
- data/tests/openstack/models/image/image_tests.rb +0 -36
- data/tests/openstack/models/image/images_tests.rb +0 -19
- data/tests/openstack/models/network/floating_ip_tests.rb +0 -35
- data/tests/openstack/models/network/floating_ips_tests.rb +0 -19
- data/tests/openstack/models/network/ike_policies_tests.rb +0 -28
- data/tests/openstack/models/network/ike_policy_tests.rb +0 -36
- data/tests/openstack/models/network/ipsec_policies_tests.rb +0 -26
- data/tests/openstack/models/network/ipsec_policy_tests.rb +0 -36
- data/tests/openstack/models/network/ipsec_site_connection_tests.rb +0 -50
- data/tests/openstack/models/network/ipsec_site_connections_tests.rb +0 -32
- data/tests/openstack/models/network/lb_health_monitor_tests.rb +0 -52
- data/tests/openstack/models/network/lb_health_monitors_tests.rb +0 -21
- data/tests/openstack/models/network/lb_member_tests.rb +0 -28
- data/tests/openstack/models/network/lb_members_tests.rb +0 -21
- data/tests/openstack/models/network/lb_pool_tests.rb +0 -53
- data/tests/openstack/models/network/lb_pools_tests.rb +0 -20
- data/tests/openstack/models/network/lb_vip_tests.rb +0 -39
- data/tests/openstack/models/network/lb_vips_tests.rb +0 -21
- data/tests/openstack/models/network/network_tests.rb +0 -61
- data/tests/openstack/models/network/networks_tests.rb +0 -21
- data/tests/openstack/models/network/port_tests.rb +0 -28
- data/tests/openstack/models/network/ports_tests.rb +0 -25
- data/tests/openstack/models/network/router_tests.rb +0 -39
- data/tests/openstack/models/network/routers_tests.rb +0 -21
- data/tests/openstack/models/network/security_group_rule_tests.rb +0 -27
- data/tests/openstack/models/network/security_group_rules_tests.rb +0 -25
- data/tests/openstack/models/network/security_group_tests.rb +0 -17
- data/tests/openstack/models/network/security_groups_tests.rb +0 -16
- data/tests/openstack/models/network/subnet_tests.rb +0 -30
- data/tests/openstack/models/network/subnets_tests.rb +0 -27
- data/tests/openstack/models/network/vpn_service_tests.rb +0 -27
- data/tests/openstack/models/network/vpn_services_tests.rb +0 -22
- data/tests/openstack/models/nfv/vnf_tests.rb +0 -35
- data/tests/openstack/models/nfv/vnfd_tests.rb +0 -23
- data/tests/openstack/models/nfv/vnfds_tests.rb +0 -31
- data/tests/openstack/models/nfv/vnfs_tests.rb +0 -38
- data/tests/openstack/models/planning/.gitkeep +0 -0
- data/tests/openstack/models/planning/plan_tests.rb +0 -51
- data/tests/openstack/models/planning/plans_tests.rb +0 -18
- data/tests/openstack/models/planning/role_tests.rb +0 -14
- data/tests/openstack/models/storage/file_tests.rb +0 -251
- data/tests/openstack/requests/compute/address_tests.rb +0 -58
- data/tests/openstack/requests/compute/aggregate_tests.rb +0 -59
- data/tests/openstack/requests/compute/availability_zone_tests.rb +0 -18
- data/tests/openstack/requests/compute/flavor_tests.rb +0 -95
- data/tests/openstack/requests/compute/helper.rb +0 -41
- data/tests/openstack/requests/compute/image_tests.rb +0 -58
- data/tests/openstack/requests/compute/keypair_tests.rb +0 -30
- data/tests/openstack/requests/compute/limit_tests.rb +0 -59
- data/tests/openstack/requests/compute/quota_tests.rb +0 -60
- data/tests/openstack/requests/compute/security_group_tests.rb +0 -61
- data/tests/openstack/requests/compute/server_tests.rb +0 -289
- data/tests/openstack/requests/compute/service_tests.rb +0 -33
- data/tests/openstack/requests/compute/tenant_tests.rb +0 -19
- data/tests/openstack/requests/compute/volume_tests.rb +0 -38
- data/tests/openstack/requests/image/image_tests.rb +0 -135
- data/tests/openstack/requests/metering/event_tests.rb +0 -17
- data/tests/openstack/requests/metering/meter_tests.rb +0 -52
- data/tests/openstack/requests/metering/resource_tests.rb +0 -19
- data/tests/openstack/requests/network/ike_policy_tests.rb +0 -65
- data/tests/openstack/requests/network/ipsec_policy_tests.rb +0 -65
- data/tests/openstack/requests/network/ipsec_site_connection_tests.rb +0 -82
- data/tests/openstack/requests/network/lb_health_monitor_tests.rb +0 -93
- data/tests/openstack/requests/network/lb_member_tests.rb +0 -60
- data/tests/openstack/requests/network/lb_pool_tests.rb +0 -80
- data/tests/openstack/requests/network/lb_vip_tests.rb +0 -71
- data/tests/openstack/requests/network/network_tests.rb +0 -107
- data/tests/openstack/requests/network/port_tests.rb +0 -66
- data/tests/openstack/requests/network/quota_tests.rb +0 -65
- data/tests/openstack/requests/network/router_tests.rb +0 -73
- data/tests/openstack/requests/network/security_group_rule_tests.rb +0 -58
- data/tests/openstack/requests/network/security_group_tests.rb +0 -43
- data/tests/openstack/requests/network/subnet_tests.rb +0 -66
- data/tests/openstack/requests/network/vpn_service_tests.rb +0 -61
- data/tests/openstack/requests/nfv/vnf_tests.rb +0 -70
- data/tests/openstack/requests/nfv/vnfd_tests.rb +0 -44
- data/tests/openstack/requests/orchestration/stack_tests.rb +0 -64
- data/tests/openstack/requests/planning/.gitkeep +0 -0
- data/tests/openstack/requests/planning/plan_tests.rb +0 -65
- data/tests/openstack/requests/planning/role_tests.rb +0 -16
- data/tests/openstack/requests/storage/container_tests.rb +0 -64
- data/tests/openstack/requests/storage/large_object_tests.rb +0 -372
- data/tests/openstack/requests/storage/object_tests.rb +0 -208
- data/tests/openstack/requests/volume/availability_zone_tests.rb +0 -13
- data/tests/openstack/requests/volume/quota_tests.rb +0 -50
- data/tests/openstack/requests/volume/volume_type_tests.rb +0 -32
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def list_workflows(params = {})
|
|
7
|
+
body = Fog::JSON.encode(params)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "GET",
|
|
12
|
+
:path => "workflows"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def list_workflows(_params = {})
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = { "workflows" =>
|
|
22
|
+
[{ "name" => "workflow1", "description" => "d1" },
|
|
23
|
+
{ "name" => "workflow2", "description" => "d2" }] }
|
|
24
|
+
response
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def rerun_task(task_ex_id)
|
|
7
|
+
rerun_payload = {
|
|
8
|
+
:id => task_ex_id,
|
|
9
|
+
:state => 'RUNNING',
|
|
10
|
+
:reset => true
|
|
11
|
+
}
|
|
12
|
+
body = Fog::JSON.encode(rerun_payload)
|
|
13
|
+
request(
|
|
14
|
+
:body => body,
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:method => "PUT",
|
|
17
|
+
:path => "tasks/#{task_ex_id}"
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class Mock
|
|
23
|
+
def update_action(_task_ex_id)
|
|
24
|
+
response = Excon::Response.new
|
|
25
|
+
response.status = 200
|
|
26
|
+
response.body = ""
|
|
27
|
+
response
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_action(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "PUT",
|
|
12
|
+
:path => "actions"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def update_action(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = ""
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_action_execution(id, name, value)
|
|
7
|
+
# valid values for name are:
|
|
8
|
+
# state, output
|
|
9
|
+
# https://github.com/openstack/python-mistralclient/blob/master/mistralclient/commands/v2/action_executions.py
|
|
10
|
+
data = { :id => id }
|
|
11
|
+
data[name] = Fog::JSON.encode(value)
|
|
12
|
+
body = Fog::JSON.encode(data)
|
|
13
|
+
request(
|
|
14
|
+
:body => body,
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:method => "PUT",
|
|
17
|
+
:path => "action_executions"
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class Mock
|
|
23
|
+
def update_action_execution(_id, _name, _value)
|
|
24
|
+
response = Excon::Response.new
|
|
25
|
+
response.status = 200
|
|
26
|
+
response.body = ""
|
|
27
|
+
response
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_environment(definition)
|
|
7
|
+
unless definition["variables"].nil?
|
|
8
|
+
definition["variables"] = Fog::JSON.encode(definition["variables"])
|
|
9
|
+
end
|
|
10
|
+
body = Fog::JSON.encode(definition)
|
|
11
|
+
request(
|
|
12
|
+
:body => body,
|
|
13
|
+
:expects => 200,
|
|
14
|
+
:method => "PUT",
|
|
15
|
+
:path => "environments"
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class Mock
|
|
21
|
+
def update_environment(_definition)
|
|
22
|
+
response = Excon::Response.new
|
|
23
|
+
response.status = 200
|
|
24
|
+
response.body = ""
|
|
25
|
+
response
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_execution(id, name, value)
|
|
7
|
+
# valid values for name are:
|
|
8
|
+
# state, description, env
|
|
9
|
+
# https://github.com/openstack/python-mistralclient/blob/master/mistralclient/commands/v2/executions.py
|
|
10
|
+
data = { :id => id }
|
|
11
|
+
data[name] = Fog::JSON.encode(value)
|
|
12
|
+
body = Fog::JSON.encode(data)
|
|
13
|
+
request(
|
|
14
|
+
:body => body,
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:method => "PUT",
|
|
17
|
+
:path => "executions"
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class Mock
|
|
23
|
+
def update_execution(_id, _name, _value)
|
|
24
|
+
response = Excon::Response.new
|
|
25
|
+
response.status = 200
|
|
26
|
+
response.body = ""
|
|
27
|
+
response
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_workbook(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "PUT",
|
|
12
|
+
:path => "workbooks"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def update_workbook(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = ""
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def update_workflow(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "PUT",
|
|
12
|
+
:path => "workflows"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def update_workflow(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = ""
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def validate_action(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "POST",
|
|
12
|
+
:path => "actions/validate"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def validate_action(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = "{\"valid\": true}"
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def validate_workbook(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "POST",
|
|
12
|
+
:path => "workbooks/validate"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def validate_workbook(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = "{\"valid\": true}"
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Workflow
|
|
3
|
+
class OpenStack
|
|
4
|
+
class V2
|
|
5
|
+
class Real
|
|
6
|
+
def validate_workflow(definition)
|
|
7
|
+
body = Fog::JSON.encode(definition)
|
|
8
|
+
request(
|
|
9
|
+
:body => body,
|
|
10
|
+
:expects => 200,
|
|
11
|
+
:method => "POST",
|
|
12
|
+
:path => "workflows/validate"
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Mock
|
|
18
|
+
def validate_workflow(_definition)
|
|
19
|
+
response = Excon::Response.new
|
|
20
|
+
response.status = 200
|
|
21
|
+
response.body = "{\"valid\": true}"
|
|
22
|
+
response
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -82,6 +82,10 @@ module Fog
|
|
|
82
82
|
class Real
|
|
83
83
|
include Fog::OpenStack::Core
|
|
84
84
|
|
|
85
|
+
def self.not_found_class
|
|
86
|
+
Fog::Storage::OpenStack::NotFound
|
|
87
|
+
end
|
|
88
|
+
|
|
85
89
|
def initialize(options={})
|
|
86
90
|
initialize_identity options
|
|
87
91
|
|
|
@@ -140,41 +144,6 @@ module Fog
|
|
|
140
144
|
def reset_account_name
|
|
141
145
|
@path = @original_path
|
|
142
146
|
end
|
|
143
|
-
|
|
144
|
-
def request(params, parse_json = true)
|
|
145
|
-
begin
|
|
146
|
-
response = @connection.request(params.merge({
|
|
147
|
-
:headers => {
|
|
148
|
-
'Content-Type' => 'application/json',
|
|
149
|
-
'Accept' => 'application/json',
|
|
150
|
-
'X-Auth-Token' => @auth_token
|
|
151
|
-
}.merge!(params[:headers] || {}),
|
|
152
|
-
:path => "#{@path}/#{params[:path]}",
|
|
153
|
-
}))
|
|
154
|
-
rescue Excon::Errors::Unauthorized => error
|
|
155
|
-
if error.response.body != 'Bad username or password' # token expiration
|
|
156
|
-
@openstack_must_reauthenticate = true
|
|
157
|
-
authenticate
|
|
158
|
-
retry
|
|
159
|
-
else # bad credentials
|
|
160
|
-
raise error
|
|
161
|
-
end
|
|
162
|
-
rescue Excon::Errors::HTTPStatusError => error
|
|
163
|
-
raise case error
|
|
164
|
-
when Excon::Errors::NotFound
|
|
165
|
-
Fog::Storage::OpenStack::NotFound.slurp(error)
|
|
166
|
-
else
|
|
167
|
-
error
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
if !response.body.empty? && parse_json && response.get_header('Content-Type') =~ %r{application/json}
|
|
171
|
-
response.body = Fog::JSON.decode(response.body)
|
|
172
|
-
end
|
|
173
|
-
response
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
private
|
|
177
|
-
|
|
178
147
|
end
|
|
179
148
|
end
|
|
180
149
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'fog/openstack/core'
|
|
2
|
-
require 'fog/openstack/common'
|
|
3
2
|
require 'fog/openstack/volume'
|
|
4
3
|
|
|
5
4
|
module Fog
|
|
@@ -138,10 +137,10 @@ module Fog
|
|
|
138
137
|
|
|
139
138
|
class Real
|
|
140
139
|
include Fog::OpenStack::Core
|
|
140
|
+
|
|
141
141
|
def self.not_found_class
|
|
142
142
|
Fog::Volume::OpenStack::NotFound
|
|
143
143
|
end
|
|
144
|
-
include Fog::OpenStack::Common
|
|
145
144
|
|
|
146
145
|
def initialize(options = {})
|
|
147
146
|
initialize_identity options
|
|
@@ -153,16 +152,19 @@ module Fog
|
|
|
153
152
|
@connection_options = options[:connection_options] || {}
|
|
154
153
|
|
|
155
154
|
authenticate
|
|
155
|
+
set_api_path
|
|
156
|
+
|
|
157
|
+
@persistent = options[:persistent] || false
|
|
158
|
+
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
|
159
|
+
end
|
|
156
160
|
|
|
161
|
+
def set_api_path
|
|
157
162
|
unless @path.match(SUPPORTED_VERSIONS)
|
|
158
163
|
@path = Fog::OpenStack.get_supported_version_path(SUPPORTED_VERSIONS,
|
|
159
164
|
@openstack_management_uri,
|
|
160
165
|
@auth_token,
|
|
161
166
|
@connection_options)
|
|
162
167
|
end
|
|
163
|
-
|
|
164
|
-
@persistent = options[:persistent] || false
|
|
165
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
|
166
168
|
end
|
|
167
169
|
end
|
|
168
170
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'fog/openstack/core'
|
|
2
|
-
require 'fog/openstack/common'
|
|
3
2
|
require 'fog/openstack/volume'
|
|
4
3
|
|
|
5
4
|
module Fog
|
|
@@ -139,10 +138,10 @@ module Fog
|
|
|
139
138
|
|
|
140
139
|
class Real
|
|
141
140
|
include Fog::OpenStack::Core
|
|
141
|
+
|
|
142
142
|
def self.not_found_class
|
|
143
143
|
Fog::Volume::OpenStack::NotFound
|
|
144
144
|
end
|
|
145
|
-
include Fog::OpenStack::Common
|
|
146
145
|
|
|
147
146
|
def initialize(options = {})
|
|
148
147
|
initialize_identity options
|
|
@@ -154,16 +153,19 @@ module Fog
|
|
|
154
153
|
@connection_options = options[:connection_options] || {}
|
|
155
154
|
|
|
156
155
|
authenticate
|
|
156
|
+
set_api_path
|
|
157
|
+
|
|
158
|
+
@persistent = options[:persistent] || false
|
|
159
|
+
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
|
160
|
+
end
|
|
157
161
|
|
|
162
|
+
def set_api_path
|
|
158
163
|
unless @path.match(SUPPORTED_VERSIONS)
|
|
159
164
|
@path = Fog::OpenStack.get_supported_version_path(SUPPORTED_VERSIONS,
|
|
160
165
|
@openstack_management_uri,
|
|
161
166
|
@auth_token,
|
|
162
167
|
@connection_options)
|
|
163
168
|
end
|
|
164
|
-
|
|
165
|
-
@persistent = options[:persistent] || false
|
|
166
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
|
167
169
|
end
|
|
168
170
|
end
|
|
169
171
|
end
|