-
Notifications
You must be signed in to change notification settings - Fork 3
/
blueprint.yaml
106 lines (97 loc) · 6.14 KB
/
blueprint.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# The tosca_definitions_version is a top-level property of the blueprint that #
# is used to specify the DSL version used. For Cloudify 3.3, defined versions #
# are: #
# - cloudify_dsl_1_0 #
# - cloudify_dsl_1_1 #
# - cloudify_dsl_1_2 #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
tosca_definitions_version: cloudify_dsl_1_2
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Imports #
# #
# Imports enable blueprint authors to use cloudify plugins and/or re-use #
# blueprint files, as well as predefined types (e.g. from the types.yaml #
# file). #
# #
# Imports the cloudify-mist-plugin, which communicates with the Mist.io API. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
imports:
- https://raw.githubusercontent.com/cloudify-cosmo/cloudify-manager/3.3-build/resources/rest-service/cloudify/types/types.yaml
- https://raw.githubusercontent.com/mistio/cloudify-mist-plugin/master/plugin.yaml
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Inputs #
# #
# Inputs are parameters that are injected into a blueprint, which can be #
# referenced by using the `get_input` intrinsic function. #
# #
# For a complete list of potential inputs, see the cloudify-mist-plugin, #
# which defines all avaiable node types and the corresponding properties. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
inputs:
mist_uri:
description: >
The Mist.io URI. Points to the Mist.io service that will handle the
workflows' execution. You should NOT this input, unless you are running
your own Mist.io installation. Defaults to the Mist.io SaaS.
type: string
default: 'https://mist.io'
mist_token:
description: >
An API Token generated by Mist.io in order to be used with every request
to authenticate to the Mist.io API. Either a username/password combo or
a Mist.io Token has to be specified. In the former case, the username &
password will be used in order to auto-generate an API Token to be used
in subsequent API calls.
type: string
mist_machine:
description: >
The spec of the machine to be provisioned. This input must comply with:
`cloudify.datatypes.mist.MachineParams`. To use an existing machine the
`cloud_id` and `machine_id` are required. The `machine_id` indicates the
use of an existing resource. If the `machine_id` is left blank, then the
rest of the inputs have to be provided according to each cloud provider's
spec and required parameters. Note that `cloud_id` is always required.
mist_tags:
description: >
A dictionary of tags to be applied to the VM after provisioning it. This
input may also be used to propagate a Mist.io Template's tags to the VMs
of the Stack created. If a Template has been tagged in Mist.io, then the
tags will be automatically merged into the existing mist_tags dictionary.
default: {}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# DSL Definitions #
# #
# You can use the dsl_definitions section to define arbitrary data structures #
# that can be reused in different parts of the blueprint using YAML anchors #
# and aliases. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
dsl_definitions:
mist_config: &mist_config
mist_uri: { get_input: mist_uri }
mist_token: { get_input: mist_token }
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Node Templates #
# #
# Node Templates describe the actual instances of node types that eventually #
# represent the running application/service, as described in the blueprint. #
# #
# Node Templates represent any resource that can be provisioned/created via #
# Mist.io, such as VMs, SSH keys, executable scripts, networks, etc. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
node_templates:
vm:
type: cloudify.mist.nodes.Server
properties:
mist_config: *mist_config
parameters: { get_input: mist_machine }