Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CONF
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UvA
CONF
Commits
ba201cb5
Commit
ba201cb5
authored
Apr 04, 2020
by
Spiros Koulouzis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
made interface input 'playbook' into a list
parent
da5b0cae
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1459 additions
and
53 deletions
+1459
-53
ansible_service.py
deployer/service/ansible_service.py
+21
-19
docker-compose.yml
docker-compose.yml
+20
-20
message_delete_request.json
example_messages/message_delete_request.json
+256
-1
message_delete_response.json
example_messages/message_delete_response.json
+231
-1
message_deploy_request.json
example_messages/message_deploy_request.json
+249
-1
message_example_provisioned.json
example_messages/message_example_provisioned.json
+222
-1
message_plan_request.json
example_messages/message_plan_request.json
+68
-1
message_plan_response.json
example_messages/message_plan_response.json
+179
-1
message_provision_request.json
example_messages/message_provision_request.json
+213
-1
message_provision_response.json
example_messages/message_provision_response.json
+0
-7
No files found.
deployer/service/ansible_service.py
View file @
ba201cb5
...
@@ -51,15 +51,15 @@ class AnsibleService:
...
@@ -51,15 +51,15 @@ class AnsibleService:
create
=
standard
[
'create'
]
create
=
standard
[
'create'
]
inputs
=
create
[
'inputs'
]
inputs
=
create
[
'inputs'
]
git_url
=
inputs
[
'repository'
]
git_url
=
inputs
[
'repository'
]
playbook_name
=
inputs
[
'playbook
'
]
playbook_name
s
=
inputs
[
'playbooks
'
]
for
playbook_name
in
playbook_names
:
task_id
=
self
.
run_task
(
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
)
task_id
=
self
.
run_task
(
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
)
if
self
.
semaphore_helper
.
get_task
(
project_id
,
task_id
)
.
status
==
'success'
:
configure
=
standard
[
'configure'
]
configure
=
standard
[
'configure'
]
inputs
=
configure
[
'inputs'
]
inputs
=
configure
[
'inputs'
]
git_url
=
inputs
[
'repository'
]
git_url
=
inputs
[
'repository'
]
playbook_name
=
inputs
[
'playbook
'
]
playbook_names
=
inputs
[
'playbooks
'
]
if
self
.
semaphore_helper
.
get_task
(
project_id
,
task_id
)
.
status
==
'success'
:
for
playbook_name
in
playbook_names
:
task_id
=
self
.
run_task
(
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
)
task_id
=
self
.
run_task
(
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
)
def
build_yml_inventory
(
self
,
vms
):
def
build_yml_inventory
(
self
,
vms
):
...
@@ -94,17 +94,19 @@ class AnsibleService:
...
@@ -94,17 +94,19 @@ class AnsibleService:
return
base64
.
b64decode
(
private_key
)
.
decode
(
'utf-8'
)
.
replace
(
r'\n'
,
'
\n
'
)
return
base64
.
b64decode
(
private_key
)
.
decode
(
'utf-8'
)
.
replace
(
r'\n'
,
'
\n
'
)
def
run_task
(
self
,
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
):
def
run_task
(
self
,
name
,
project_id
,
key_id
,
git_url
,
inventory_id
,
playbook_name
):
logger
.
info
(
'task name: '
+
str
(
name
)
+
' git url: '
+
git_url
+
' playbook: '
+
playbook_name
)
self
.
repository_id
=
self
.
semaphore_helper
.
create_repository
(
name
,
project_id
,
key_id
,
git_url
)
self
.
repository_id
=
self
.
semaphore_helper
.
create_repository
(
name
,
project_id
,
key_id
,
git_url
)
template_id
=
self
.
semaphore_helper
.
create_template
(
project_id
,
key_id
,
inventory_id
,
self
.
repository_id
,
template_id
=
self
.
semaphore_helper
.
create_template
(
project_id
,
key_id
,
inventory_id
,
self
.
repository_id
,
playbook_name
)
playbook_name
)
#
task_id
=
self
.
semaphore_helper
.
execute_task
(
project_id
,
template_id
,
playbook_name
)
# task_id = self.semaphore_helper.execute_task(project_id, template_id, playbook_name)
task
=
self
.
semaphore_helper
.
get_task
(
project_id
,
task_id
)
# task = self.semaphore_helper.get_task(project_id, task_id)
while
task
.
status
==
'waiting'
or
task
.
status
==
'running'
:
# while task.status == 'waiting' or task.status == 'running':
task
=
self
.
semaphore_helper
.
get_task
(
project_id
,
task_id
)
# task = self.semaphore_helper.get_task(project_id, task_id)
logger
.
info
(
'task status: '
+
str
(
task
.
status
))
# logger.info('task status: ' + str(task.status))
sleep
(
1.5
)
# task_outputs = self.semaphore_helper.get_task_outputs(project_id, task_id)
task_outputs
=
self
.
semaphore_helper
.
get_task_outputs
(
project_id
,
task_id
)
# sleep(1.5)
logger
.
info
(
'task_output: '
+
str
(
task_outputs
))
# task_outputs = self.semaphore_helper.get_task_outputs(project_id, task_id)
return
task_id
# # logger.info('task_output: ' + str(task_outputs))
return
None
#task_id
docker-compose.yml
View file @
ba201cb5
...
@@ -56,18 +56,18 @@ services:
...
@@ -56,18 +56,18 @@ services:
-
"
27017:27017"
-
"
27017:27017"
manager
:
#
manager:
depends_on
:
#
depends_on:
-
rabbit
#
- rabbit
-
mongo
#
- mongo
-
sure-tosca
#
- sure-tosca
image
:
manager:3.0.0
#
image: manager:3.0.0
environment
:
#
environment:
RABBITMQ_HOST
:
rabbit
#
RABBITMQ_HOST: rabbit
MONGO_HOST
:
mongo
#
MONGO_HOST: mongo
SURE_TOSCA_BASE_PATH
:
http://sure-tosca:8081/tosca-sure/1.0.0
#
SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
ports
:
#
ports:
-
"
30000:8080"
#
- "30000:8080"
sure-tosca
:
sure-tosca
:
image
:
sure-tosca:3.0.0
image
:
sure-tosca:3.0.0
...
@@ -82,14 +82,14 @@ services:
...
@@ -82,14 +82,14 @@ services:
environment
:
environment
:
RABBITMQ_HOST
:
rabbit
RABBITMQ_HOST
:
rabbit
provisioner
:
#
provisioner:
depends_on
:
#
depends_on:
-
rabbit
#
- rabbit
-
sure-tosca
#
- sure-tosca
image
:
provisioner:3.0.0
#
image: provisioner:3.0.0
environment
:
#
environment:
RABBITMQ_HOST
:
rabbit
#
RABBITMQ_HOST: rabbit
SURE_TOSCA_BASE_PATH
:
http://sure-tosca:8081/tosca-sure/1.0.0
#
SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
#deployer:
#deployer:
#depends_on:
#depends_on:
...
...
example_messages/message_delete_request.json
View file @
ba201cb5
{
"owner"
:
"user"
,
"creationDate"
:
1585661163987
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.1.10"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm0"
}},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.10.11"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm1"
}},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Standard"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:{
"inputs"
:{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXX"
,
"token_type"
:
"access_key"
},
"current_state"
:
"RUNNING"
,
"desired_state"
:
"DELETED"
},
"artifacts"
:{
"provisioned_files"
:{
"encoding"
:
"base64"
,
"file_contents"
:
"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"
,
"file_ext"
:
"zip"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
}}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}}
{
"owner"
:
"user"
,
"creationDate"
:
1585661163987
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:
{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:
{
"compute"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
},
"public_ip"
:
"192.168.1.10"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"host_name"
:
"vm0"
}
},
"compute_1"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
},
"public_ip"
:
"192.168.10.11"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"host_name"
:
"vm1"
}
},
"kubernetes"
:
{
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"create"
:
{
"inputs"
:
{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"delete"
:
{
"inputs"
:
{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:
{
"credential"
:
{
"cloud_provider_name"
:
"EC2"
,
"keys"
:
{
"aws_access_key_id"
:
"XXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXX"
,
"token_type"
:
"access_key"
},
"current_state"
:
"RUNNING"
,
"desired_state"
:
"DELETED"
},
"artifacts"
:
{
"provisioned_files"
:
{
"encoding"
:
"base64"
,
"file_contents"
:
"XXXXXXXXXXXXXXXXXx"
,
"file_ext"
:
"zip"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
}
}
},
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
}
}
},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}
}
example_messages/message_delete_response.json
View file @
ba201cb5
{
"creationDate"
:
1585661197255
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:{
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"host_name"
:
"vm0"
,
"node_type"
:
"t2.micro"
,
"role"
:
"master"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}}}},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"host_name"
:
"vm1"
,
"node_type"
:
"t2.micro"
,
"role"
:
"worker"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}}}},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Standard"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:{
"inputs"
:{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXXX"
},
"token"
:
"XXXXXXXXXx"
,
"token_type"
:
"access_key"
},
"current_state"
:
"DELETED"
,
"desired_state"
:
"DELETED"
},
"artifacts"
:{
"provisioned_files"
:{
"file_ext"
:
"zip"
,
"file_contents"
:
"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"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
,
"encoding"
:
"base64"
}}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}}},
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}]}}
{
"creationDate"
:
1585661197255
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:
{
"node_templates"
:
{
"compute"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"host_name"
:
"vm0"
,
"node_type"
:
"t2.micro"
,
"role"
:
"master"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
}
}
},
"compute_1"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"host_name"
:
"vm1"
,
"node_type"
:
"t2.micro"
,
"role"
:
"worker"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
}
}
},
"kubernetes"
:
{
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"create"
:
{
"inputs"
:
{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"delete"
:
{
"inputs"
:
{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:
{
"credential"
:
{
"cloud_provider_name"
:
"EC2"
,
"keys"
:
{
"aws_access_key_id"
:
"XXXXXXXXXX"
},
"token"
:
"XXXXXXXXXx"
,
"token_type"
:
"access_key"
},
"current_state"
:
"DELETED"
,
"desired_state"
:
"DELETED"
},
"artifacts"
:
{
"provisioned_files"
:
{
"file_ext"
:
"zip"
,
"file_contents"
:
"XXXXXXXXXXXXXXXXXXXx"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
,
"encoding"
:
"base64"
}
}
},
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
}
}
}
},
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
]
}
}
example_messages/message_deploy_request.json
View file @
ba201cb5
{
"owner"
:
"user"
,
"creationDate"
:
1585661978567
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.1.10"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm0"
}},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.1.11"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm1"
}},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Standard"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:{
"inputs"
:{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
,
"attributes"
:{
"desired_state"
:
"RUNNING"
}},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXX"
},
"token"
:
"XXXXXX"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
,
"current_state"
:
"RUNNING"
},
"artifacts"
:{
"provisioned_files"
:{
"file_ext"
:
"zip"
,
"file_contents"
:
"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"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
,
"encoding"
:
"base64"
}}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"attributes"
:{
"desired_state"
:
"RUNNING"
},
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}}
{
"owner"
:
"user"
,
"creationDate"
:
1586021103737
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:
{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:
{
"compute"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"XXXXXX"
,
"private_key"
:
"XXXXXX"
}
},
"public_ip"
:
"145.100.133.142"
,
"role"
:
"master"
,
"node_type"
:
"XOLarge"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"XXXXXXX"
,
"private_key"
:
"XXXXXXXXXXX"
}
},
"host_name"
:
"vm0"
}
},
"compute_1"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"XXXXXX"
,
"private_key"
:
"XXXXXX"
}
},
"public_ip"
:
"145.100.133.188"
,
"role"
:
"worker"
,
"node_type"
:
"XOLarge"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"XXXXXXX"
,
"private_key"
:
"XXXXXXXXXXX"
}
},
"host_name"
:
"vm1"
}
},
"kubernetes"
:
{
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbooks"
:
[
"create_k8s_cluster.yaml"
,
"create_k8s_dashboard.yaml"
],
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"create"
:
{
"inputs"
:
{
"playbooks"
:
[
"install_packages.yaml"
,
"mount.yaml"
,
"install_docker.yaml"
,
"install_k8s.yaml"
],
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"delete"
:
{
"inputs"
:
{
"playbooks"
:
[
"k8s_delete.yaml"
],
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
,
"attributes"
:
{
"desired_state"
:
"RUNNING"
}
},
"topology"
:
{
"properties"
:
{
"domain"
:
"UvA (Amsterdam, The Netherlands) XO Rack"
,
"provider"
:
"ExoGENI"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"interfaces"
:
{
"CloudsStorm"
:
{
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:
{
"credential"
:
{
"cloud_provider_name"
:
"ExoGENI"
,
"keys"
:
{
"keystore"
:
"XXXXXX"
},
"token"
:
"XXXXXXX"
,
"token_type"
:
"password"
,
"user"
:
"XXXXXXX"
},
"desired_state"
:
"RUNNING"
,
"current_state"
:
"RUNNING"
},
"artifacts"
:
{
"provisioned_files"
:
{
"file_ext"
:
"zip"
,
"file_contents"
:
"XXXXXXXX"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
,
"encoding"
:
"base64"
}
}
},
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"attributes"
:
{
"desired_state"
:
"RUNNING"
},
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
}
}
},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}
}
example_messages/message_example_provisioned.json
View file @
ba201cb5
{
"creationDate"
:
1584629339939
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:{
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYUVhemZ3c003cEc4MTRnUnpaRktHeUxCcVlzVXlSNEd2SXVBQ3d0dmpQN3hDNGVZMDloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGdMbUR2OHJSU3g1TytkU1lycjdWNGs3L1VJdWxMYlhEb2p6T3NZYkpjYlZlODRGM0tnTGJTcG4yeDJRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNhRWF6ZndzTTdwRzgxNGdSelpGS0d5TEJxWXNVeVI0R3ZJdUFDd3R2alA3eEM0ZVkwCjloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGcKTG1EdjhyUlN4NU8rZFNZcnI3VjRrNy9VSXVsTGJYRG9qek9zWWJKY2JWZTg0RjNLZ0xiU3BuMngyUUlEQVFBQgpBbjhyVk0xS0lYekhTWGY5cjVPUTRLWlZRaHhiejJ1bXVIWEF6QTQwdUprZlVNMmlBZWE4L25qbWRpL2NxdFJZCnNBRWZzdXowQkV2Z3IrUjBKREJtUmxIQWRKckJ0Tyt6b3VTVVJVekQzQVBCOGd3VTJIVWNXL1EzeFVZZWQvOWoKV3RDNDVma2hUc1NGN08wK2sxTDY0UnpESWc1YW53N0Z3ZDc5OFpCdVk3Z0JBa0VBem8yM2tCYVpIZ1BiZmx1UgpvbGcvUUxBTlZYeDZTMFIzaUxJWWlEc0lVclk4RjdvbEFDNm12VGxaZ2xpendqWXRPNDlsODllTjJsOFZHZUtNCkdJYnpJUUpCQUw3emlIblNXTGIxYUVTOHNzUWZhclZrMytzRGxNTGhoNTJYOUEwbmNWTjk0bU83T2JCZ0FFUVcKYzdBdkhyNXdqSCtyNWRnSmN6eVlmU3YyZjV1bkg3a0NRUUNOV2R4QnhjVTVEaWk2T3czWnpJeFV4MllJbDJ2VgpjR0JnOG9mcFNvU3luYlZZQTNIb3d3UW1RRVhwOXF2bGYwL0xENklVa2ZHb2ZDTWptSzZJNW1raEFrRUFrUml1CndKcmtqSW5uNUN0YXo0cHI1RkExa2ZnVHB3NEdwZXFjS1E2cW4xM05sQ2psU2k5NHBFUkhQajVmNXlmUXF3YnMKelA5SlVHY3kzaUFka1NJcUNRSkFZc29JUHZZZStjMUZlbkdtWjZFZDl0VjM5QzFNRjhOWGQ5dnFYWmJLazdvZwp2OGZtaGtnRVlVc0ZnbW13NzZiRllOMFNQVkVlbk1INUh1MEQwcnZKUFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"3.124.193.148"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTVhMDU5ZDE3LTQwZDEtNGE4ZC04MDI4LTQzOGEyNTE3MjczMQ=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd0RqM25oWVBPaEU2SllsNURvamtYM1B6bWR5OFNxMTZhTWQrR2JSSUc3MnZBNWFhYzh1RnhWOU1HY01ECk1RendrY2VPcVJVN1hRTUg5ZHJ3OXlLdCtiTnQvQUFLOW1KQmtVaGlxZHJKTVJMUnlnYmtRVHd1WWdRbVZSMnV6L0YrYTlsMnRRZzEKOGhsYS9BODVHRFBUaUdSUm9ST1BnNU5mSTRPNy9vTVY1bUx0MlZiM29vNTJsVDhFRnhBVzZ2aWpnTjlDSmFvOTJtTWZ6Unl6WlB5cwpEU0dpYmc1S2tlQWtvRFNWVEhKWDhxaFFyb2ttSjhQUHlUSmJRaHFySWJSWXJVSy9ISEM2c2J2bndqMFJ2UVVvbmNzeWNSV1M0YjN4ClRyOFhXTTU4RnY4TG81aDhrem1zRWM1RmJwMkZCZlBpTHFPcXVleDg3c2hZZ3NPZWltRy9Kd0lEQVFBQkFvSUJBUUNpNWVRYWlaRS8KNFdlSWRoY3NGU0NNTCtScUtPRTgzQVVYbExBdHNsVkZoUnN6REVjNkNHa0dHYnVSUFcyUC9PcEdjSHBhbWc2anhUVFN5a2RZK0grOQpVNnpLV1hMdzE5VysvRHY0dTl1eWhjTloxVHRNZVdiSlU4RDBjdUk1Z090bEZIWi85a1JaTmRtZ01IcHZJMFNKbXBKKzBlZldWbWJTCjN3bkxKMlhBeGUvQjdhQ0ZIS0I1RXJncjNua1I3Q3JTTlpHYmM3Y3FmdUs4RFdhMFRGQ0xXTHZUNEpIdmZhVTh6NElzUlZDakxiM1EKRnBnYUhPcDBUcEViR1VQSmpqMTRrcm1meW4wNFdhelZMTDhuVkhNSkNhcUIvOSt6MzI5N253ZjFYeFE3bWVEN1lnRjlNNWE0akNGTgovcTFyTUtNc012UVlrNWtvbi9FSVZRNEVMMVBoQW9HQkFPSk4vbFA3TXF5SDRQK2F3dTl1eTlpNkZRZCtrdjgxV2wrV1cvblpqd3B1CkNtSE94VzBkVzJqZ0FVZ2EwSXZRMzBLVFdqeG5QQ3lWRVZ5VkNjUmt3c0c0aTRDdWlTTldad0RHZHRBUElUSjFSOVRFR0J5bWhkankKMWdMMVZnMk5TRXpuakVrbU4raE9SV3FncmphM3pjd1lDWlZXbWZrVXV3U29ITDMra2FUeEFvR0JBTmx5RnZlcmhTZmI1TnE1L1lKWAozSG1WMVA0ckhHbmdBR3pjNUhpNm9NNHAwN3ZJSjNQYjFiMWlqK2lXQ2xWendJcW9KNHExU0dyVzFKamYvUm1ZRjNYTk11QWxsVU5lCnYyZlcxMnB1TFV1RmlCeHVmV1Y1Q2haYzUxcGllRlBkYnZKZlJselArcUFKTWwxM1BMYTdNbk9aY3BXZmQ0TFhYbk1TZDJQSFRNV1gKQW9HQUxxemhjTmJWbThvbXVQRmxsVmFueXBxT3JjNElhWVRLai82R0YrRXNaSDFQdk42Vno2eUhadmtVcXBlRlBlRWx1eWlES3dRcgo0QklhMDVxVnVpRUNIa3grMFZxdVJGQ1V6QThqQUVTdWx5YWpXeG5hMDBYeFEwN0tueStVd1JUTHZiamdNVklsbzg5STkvWU9HSkVPCmJETGsveDB1Z3JZbzRJdi82WnZ3MURFQ2dZRUFnSTFqcUs2ZGZUQVNQNEYvcjRSMEV1bVN6MlQ3V2xpVXg4ZGJ4MGhHY3p2bE1ub2wKWU9pUmwzSmlzOVdvYkZhUGVTbnFucVdJRjZuRWJGRFgyRDdEZCtDRmVHQ2Z1d0dUMVRiOWlhMXpWOWVzM1dvdzlrRzF4ZnpNeGZHNwpRNUdBMndlYW1KcFlpQzZIdVJ3YUo4bktETytsLzNFVWZhVUg4SzMxS1djVkt5Y0NnWUVBcXg5MkhNTnRTQWNpcUdESldjYVZRbFZyClRKbmZXME5pRFkxYlNMMTFXcklYd042aGM3MndpVkM5OG9CeS9VdDJ2a0VuWVA3aG94c1VlS3ZBRXNMcVV6ckpyWXJTeGswbXEyVjEKQ1NEbmhTMTA2dFJXVExVVzhiRzhVS1g1TnhabDRhcE5sWHlhbHI1a2R1WWc2YVFLS1dpZmorSzRudGF1eFFBSW1rZ21BVEE9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm0"
}},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYUVhemZ3c003cEc4MTRnUnpaRktHeUxCcVlzVXlSNEd2SXVBQ3d0dmpQN3hDNGVZMDloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGdMbUR2OHJSU3g1TytkU1lycjdWNGs3L1VJdWxMYlhEb2p6T3NZYkpjYlZlODRGM0tnTGJTcG4yeDJRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNhRWF6ZndzTTdwRzgxNGdSelpGS0d5TEJxWXNVeVI0R3ZJdUFDd3R2alA3eEM0ZVkwCjloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGcKTG1EdjhyUlN4NU8rZFNZcnI3VjRrNy9VSXVsTGJYRG9qek9zWWJKY2JWZTg0RjNLZ0xiU3BuMngyUUlEQVFBQgpBbjhyVk0xS0lYekhTWGY5cjVPUTRLWlZRaHhiejJ1bXVIWEF6QTQwdUprZlVNMmlBZWE4L25qbWRpL2NxdFJZCnNBRWZzdXowQkV2Z3IrUjBKREJtUmxIQWRKckJ0Tyt6b3VTVVJVekQzQVBCOGd3VTJIVWNXL1EzeFVZZWQvOWoKV3RDNDVma2hUc1NGN08wK2sxTDY0UnpESWc1YW53N0Z3ZDc5OFpCdVk3Z0JBa0VBem8yM2tCYVpIZ1BiZmx1UgpvbGcvUUxBTlZYeDZTMFIzaUxJWWlEc0lVclk4RjdvbEFDNm12VGxaZ2xpendqWXRPNDlsODllTjJsOFZHZUtNCkdJYnpJUUpCQUw3emlIblNXTGIxYUVTOHNzUWZhclZrMytzRGxNTGhoNTJYOUEwbmNWTjk0bU83T2JCZ0FFUVcKYzdBdkhyNXdqSCtyNWRnSmN6eVlmU3YyZjV1bkg3a0NRUUNOV2R4QnhjVTVEaWk2T3czWnpJeFV4MllJbDJ2VgpjR0JnOG9mcFNvU3luYlZZQTNIb3d3UW1RRVhwOXF2bGYwL0xENklVa2ZHb2ZDTWptSzZJNW1raEFrRUFrUml1CndKcmtqSW5uNUN0YXo0cHI1RkExa2ZnVHB3NEdwZXFjS1E2cW4xM05sQ2psU2k5NHBFUkhQajVmNXlmUXF3YnMKelA5SlVHY3kzaUFka1NJcUNRSkFZc29JUHZZZStjMUZlbkdtWjZFZDl0VjM5QzFNRjhOWGQ5dnFYWmJLazdvZwp2OGZtaGtnRVlVc0ZnbW13NzZiRllOMFNQVkVlbk1INUh1MEQwcnZKUFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"18.197.132.48"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTVhMDU5ZDE3LTQwZDEtNGE4ZC04MDI4LTQzOGEyNTE3MjczMQ=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd0RqM25oWVBPaEU2SllsNURvamtYM1B6bWR5OFNxMTZhTWQrR2JSSUc3MnZBNWFhYzh1RnhWOU1HY01ECk1RendrY2VPcVJVN1hRTUg5ZHJ3OXlLdCtiTnQvQUFLOW1KQmtVaGlxZHJKTVJMUnlnYmtRVHd1WWdRbVZSMnV6L0YrYTlsMnRRZzEKOGhsYS9BODVHRFBUaUdSUm9ST1BnNU5mSTRPNy9vTVY1bUx0MlZiM29vNTJsVDhFRnhBVzZ2aWpnTjlDSmFvOTJtTWZ6Unl6WlB5cwpEU0dpYmc1S2tlQWtvRFNWVEhKWDhxaFFyb2ttSjhQUHlUSmJRaHFySWJSWXJVSy9ISEM2c2J2bndqMFJ2UVVvbmNzeWNSV1M0YjN4ClRyOFhXTTU4RnY4TG81aDhrem1zRWM1RmJwMkZCZlBpTHFPcXVleDg3c2hZZ3NPZWltRy9Kd0lEQVFBQkFvSUJBUUNpNWVRYWlaRS8KNFdlSWRoY3NGU0NNTCtScUtPRTgzQVVYbExBdHNsVkZoUnN6REVjNkNHa0dHYnVSUFcyUC9PcEdjSHBhbWc2anhUVFN5a2RZK0grOQpVNnpLV1hMdzE5VysvRHY0dTl1eWhjTloxVHRNZVdiSlU4RDBjdUk1Z090bEZIWi85a1JaTmRtZ01IcHZJMFNKbXBKKzBlZldWbWJTCjN3bkxKMlhBeGUvQjdhQ0ZIS0I1RXJncjNua1I3Q3JTTlpHYmM3Y3FmdUs4RFdhMFRGQ0xXTHZUNEpIdmZhVTh6NElzUlZDakxiM1EKRnBnYUhPcDBUcEViR1VQSmpqMTRrcm1meW4wNFdhelZMTDhuVkhNSkNhcUIvOSt6MzI5N253ZjFYeFE3bWVEN1lnRjlNNWE0akNGTgovcTFyTUtNc012UVlrNWtvbi9FSVZRNEVMMVBoQW9HQkFPSk4vbFA3TXF5SDRQK2F3dTl1eTlpNkZRZCtrdjgxV2wrV1cvblpqd3B1CkNtSE94VzBkVzJqZ0FVZ2EwSXZRMzBLVFdqeG5QQ3lWRVZ5VkNjUmt3c0c0aTRDdWlTTldad0RHZHRBUElUSjFSOVRFR0J5bWhkankKMWdMMVZnMk5TRXpuakVrbU4raE9SV3FncmphM3pjd1lDWlZXbWZrVXV3U29ITDMra2FUeEFvR0JBTmx5RnZlcmhTZmI1TnE1L1lKWAozSG1WMVA0ckhHbmdBR3pjNUhpNm9NNHAwN3ZJSjNQYjFiMWlqK2lXQ2xWendJcW9KNHExU0dyVzFKamYvUm1ZRjNYTk11QWxsVU5lCnYyZlcxMnB1TFV1RmlCeHVmV1Y1Q2haYzUxcGllRlBkYnZKZlJselArcUFKTWwxM1BMYTdNbk9aY3BXZmQ0TFhYbk1TZDJQSFRNV1gKQW9HQUxxemhjTmJWbThvbXVQRmxsVmFueXBxT3JjNElhWVRLai82R0YrRXNaSDFQdk42Vno2eUhadmtVcXBlRlBlRWx1eWlES3dRcgo0QklhMDVxVnVpRUNIa3grMFZxdVJGQ1V6QThqQUVTdWx5YWpXeG5hMDBYeFEwN0tueStVd1JUTHZiamdNVklsbzg5STkvWU9HSkVPCmJETGsveDB1Z3JZbzRJdi82WnZ3MURFQ2dZRUFnSTFqcUs2ZGZUQVNQNEYvcjRSMEV1bVN6MlQ3V2xpVXg4ZGJ4MGhHY3p2bE1ub2wKWU9pUmwzSmlzOVdvYkZhUGVTbnFucVdJRjZuRWJGRFgyRDdEZCtDRmVHQ2Z1d0dUMVRiOWlhMXpWOWVzM1dvdzlrRzF4ZnpNeGZHNwpRNUdBMndlYW1KcFlpQzZIdVJ3YUo4bktETytsLzNFVWZhVUg4SzMxS1djVkt5Y0NnWUVBcXg5MkhNTnRTQWNpcUdESldjYVZRbFZyClRKbmZXME5pRFkxYlNMMTFXcklYd042aGM3MndpVkM5OG9CeS9VdDJ2a0VuWVA3aG94c1VlS3ZBRXNMcVV6ckpyWXJTeGswbXEyVjEKQ1NEbmhTMTA2dFJXVExVVzhiRzhVS1g1TnhabDRhcE5sWHlhbHI1a2R1WWc2YVFLS1dpZmorSzRudGF1eFFBSW1rZ21BVEE9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm1"
}},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Kubernetes"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/dashboard.yaml"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/create_k8s.yml"
}},
"install"
:{
"inputs"
:{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/install_k8s.yml"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXXXXXXXXXXx"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
,
"current_state"
:
"RUNNING"
}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}}},
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}]}}
{
"creationDate"
:
1584629339939
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:
{
"node_templates"
:
{
"compute"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYUVhemZ3c003cEc4MTRnUnpaRktHeUxCcVlzVXlSNEd2SXVBQ3d0dmpQN3hDNGVZMDloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGdMbUR2OHJSU3g1TytkU1lycjdWNGs3L1VJdWxMYlhEb2p6T3NZYkpjYlZlODRGM0tnTGJTcG4yeDJRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNhRWF6ZndzTTdwRzgxNGdSelpGS0d5TEJxWXNVeVI0R3ZJdUFDd3R2alA3eEM0ZVkwCjloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGcKTG1EdjhyUlN4NU8rZFNZcnI3VjRrNy9VSXVsTGJYRG9qek9zWWJKY2JWZTg0RjNLZ0xiU3BuMngyUUlEQVFBQgpBbjhyVk0xS0lYekhTWGY5cjVPUTRLWlZRaHhiejJ1bXVIWEF6QTQwdUprZlVNMmlBZWE4L25qbWRpL2NxdFJZCnNBRWZzdXowQkV2Z3IrUjBKREJtUmxIQWRKckJ0Tyt6b3VTVVJVekQzQVBCOGd3VTJIVWNXL1EzeFVZZWQvOWoKV3RDNDVma2hUc1NGN08wK2sxTDY0UnpESWc1YW53N0Z3ZDc5OFpCdVk3Z0JBa0VBem8yM2tCYVpIZ1BiZmx1UgpvbGcvUUxBTlZYeDZTMFIzaUxJWWlEc0lVclk4RjdvbEFDNm12VGxaZ2xpendqWXRPNDlsODllTjJsOFZHZUtNCkdJYnpJUUpCQUw3emlIblNXTGIxYUVTOHNzUWZhclZrMytzRGxNTGhoNTJYOUEwbmNWTjk0bU83T2JCZ0FFUVcKYzdBdkhyNXdqSCtyNWRnSmN6eVlmU3YyZjV1bkg3a0NRUUNOV2R4QnhjVTVEaWk2T3czWnpJeFV4MllJbDJ2VgpjR0JnOG9mcFNvU3luYlZZQTNIb3d3UW1RRVhwOXF2bGYwL0xENklVa2ZHb2ZDTWptSzZJNW1raEFrRUFrUml1CndKcmtqSW5uNUN0YXo0cHI1RkExa2ZnVHB3NEdwZXFjS1E2cW4xM05sQ2psU2k5NHBFUkhQajVmNXlmUXF3YnMKelA5SlVHY3kzaUFka1NJcUNRSkFZc29JUHZZZStjMUZlbkdtWjZFZDl0VjM5QzFNRjhOWGQ5dnFYWmJLazdvZwp2OGZtaGtnRVlVc0ZnbW13NzZiRllOMFNQVkVlbk1INUh1MEQwcnZKUFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
},
"public_ip"
:
"3.124.193.148"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTVhMDU5ZDE3LTQwZDEtNGE4ZC04MDI4LTQzOGEyNTE3MjczMQ=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd0RqM25oWVBPaEU2SllsNURvamtYM1B6bWR5OFNxMTZhTWQrR2JSSUc3MnZBNWFhYzh1RnhWOU1HY01ECk1RendrY2VPcVJVN1hRTUg5ZHJ3OXlLdCtiTnQvQUFLOW1KQmtVaGlxZHJKTVJMUnlnYmtRVHd1WWdRbVZSMnV6L0YrYTlsMnRRZzEKOGhsYS9BODVHRFBUaUdSUm9ST1BnNU5mSTRPNy9vTVY1bUx0MlZiM29vNTJsVDhFRnhBVzZ2aWpnTjlDSmFvOTJtTWZ6Unl6WlB5cwpEU0dpYmc1S2tlQWtvRFNWVEhKWDhxaFFyb2ttSjhQUHlUSmJRaHFySWJSWXJVSy9ISEM2c2J2bndqMFJ2UVVvbmNzeWNSV1M0YjN4ClRyOFhXTTU4RnY4TG81aDhrem1zRWM1RmJwMkZCZlBpTHFPcXVleDg3c2hZZ3NPZWltRy9Kd0lEQVFBQkFvSUJBUUNpNWVRYWlaRS8KNFdlSWRoY3NGU0NNTCtScUtPRTgzQVVYbExBdHNsVkZoUnN6REVjNkNHa0dHYnVSUFcyUC9PcEdjSHBhbWc2anhUVFN5a2RZK0grOQpVNnpLV1hMdzE5VysvRHY0dTl1eWhjTloxVHRNZVdiSlU4RDBjdUk1Z090bEZIWi85a1JaTmRtZ01IcHZJMFNKbXBKKzBlZldWbWJTCjN3bkxKMlhBeGUvQjdhQ0ZIS0I1RXJncjNua1I3Q3JTTlpHYmM3Y3FmdUs4RFdhMFRGQ0xXTHZUNEpIdmZhVTh6NElzUlZDakxiM1EKRnBnYUhPcDBUcEViR1VQSmpqMTRrcm1meW4wNFdhelZMTDhuVkhNSkNhcUIvOSt6MzI5N253ZjFYeFE3bWVEN1lnRjlNNWE0akNGTgovcTFyTUtNc012UVlrNWtvbi9FSVZRNEVMMVBoQW9HQkFPSk4vbFA3TXF5SDRQK2F3dTl1eTlpNkZRZCtrdjgxV2wrV1cvblpqd3B1CkNtSE94VzBkVzJqZ0FVZ2EwSXZRMzBLVFdqeG5QQ3lWRVZ5VkNjUmt3c0c0aTRDdWlTTldad0RHZHRBUElUSjFSOVRFR0J5bWhkankKMWdMMVZnMk5TRXpuakVrbU4raE9SV3FncmphM3pjd1lDWlZXbWZrVXV3U29ITDMra2FUeEFvR0JBTmx5RnZlcmhTZmI1TnE1L1lKWAozSG1WMVA0ckhHbmdBR3pjNUhpNm9NNHAwN3ZJSjNQYjFiMWlqK2lXQ2xWendJcW9KNHExU0dyVzFKamYvUm1ZRjNYTk11QWxsVU5lCnYyZlcxMnB1TFV1RmlCeHVmV1Y1Q2haYzUxcGllRlBkYnZKZlJselArcUFKTWwxM1BMYTdNbk9aY3BXZmQ0TFhYbk1TZDJQSFRNV1gKQW9HQUxxemhjTmJWbThvbXVQRmxsVmFueXBxT3JjNElhWVRLai82R0YrRXNaSDFQdk42Vno2eUhadmtVcXBlRlBlRWx1eWlES3dRcgo0QklhMDVxVnVpRUNIa3grMFZxdVJGQ1V6QThqQUVTdWx5YWpXeG5hMDBYeFEwN0tueStVd1JUTHZiamdNVklsbzg5STkvWU9HSkVPCmJETGsveDB1Z3JZbzRJdi82WnZ3MURFQ2dZRUFnSTFqcUs2ZGZUQVNQNEYvcjRSMEV1bVN6MlQ3V2xpVXg4ZGJ4MGhHY3p2bE1ub2wKWU9pUmwzSmlzOVdvYkZhUGVTbnFucVdJRjZuRWJGRFgyRDdEZCtDRmVHQ2Z1d0dUMVRiOWlhMXpWOWVzM1dvdzlrRzF4ZnpNeGZHNwpRNUdBMndlYW1KcFlpQzZIdVJ3YUo4bktETytsLzNFVWZhVUg4SzMxS1djVkt5Y0NnWUVBcXg5MkhNTnRTQWNpcUdESldjYVZRbFZyClRKbmZXME5pRFkxYlNMMTFXcklYd042aGM3MndpVkM5OG9CeS9VdDJ2a0VuWVA3aG94c1VlS3ZBRXNMcVV6ckpyWXJTeGswbXEyVjEKQ1NEbmhTMTA2dFJXVExVVzhiRzhVS1g1TnhabDRhcE5sWHlhbHI1a2R1WWc2YVFLS1dpZmorSzRudGF1eFFBSW1rZ21BVEE9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"host_name"
:
"vm0"
}
},
"compute_1"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:
{
"user_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYUVhemZ3c003cEc4MTRnUnpaRktHeUxCcVlzVXlSNEd2SXVBQ3d0dmpQN3hDNGVZMDloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGdMbUR2OHJSU3g1TytkU1lycjdWNGs3L1VJdWxMYlhEb2p6T3NZYkpjYlZlODRGM0tnTGJTcG4yeDJRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNhRWF6ZndzTTdwRzgxNGdSelpGS0d5TEJxWXNVeVI0R3ZJdUFDd3R2alA3eEM0ZVkwCjloVDFHVEx0dER4K1NGdkdEbVhmeTQzWTFJUU9WNTVlRitPbjNQNXk3Ris2K3FTeWtPTVBvaUQ0Q3JpVCswNGcKTG1EdjhyUlN4NU8rZFNZcnI3VjRrNy9VSXVsTGJYRG9qek9zWWJKY2JWZTg0RjNLZ0xiU3BuMngyUUlEQVFBQgpBbjhyVk0xS0lYekhTWGY5cjVPUTRLWlZRaHhiejJ1bXVIWEF6QTQwdUprZlVNMmlBZWE4L25qbWRpL2NxdFJZCnNBRWZzdXowQkV2Z3IrUjBKREJtUmxIQWRKckJ0Tyt6b3VTVVJVekQzQVBCOGd3VTJIVWNXL1EzeFVZZWQvOWoKV3RDNDVma2hUc1NGN08wK2sxTDY0UnpESWc1YW53N0Z3ZDc5OFpCdVk3Z0JBa0VBem8yM2tCYVpIZ1BiZmx1UgpvbGcvUUxBTlZYeDZTMFIzaUxJWWlEc0lVclk4RjdvbEFDNm12VGxaZ2xpendqWXRPNDlsODllTjJsOFZHZUtNCkdJYnpJUUpCQUw3emlIblNXTGIxYUVTOHNzUWZhclZrMytzRGxNTGhoNTJYOUEwbmNWTjk0bU83T2JCZ0FFUVcKYzdBdkhyNXdqSCtyNWRnSmN6eVlmU3YyZjV1bkg3a0NRUUNOV2R4QnhjVTVEaWk2T3czWnpJeFV4MllJbDJ2VgpjR0JnOG9mcFNvU3luYlZZQTNIb3d3UW1RRVhwOXF2bGYwL0xENklVa2ZHb2ZDTWptSzZJNW1raEFrRUFrUml1CndKcmtqSW5uNUN0YXo0cHI1RkExa2ZnVHB3NEdwZXFjS1E2cW4xM05sQ2psU2k5NHBFUkhQajVmNXlmUXF3YnMKelA5SlVHY3kzaUFka1NJcUNRSkFZc29JUHZZZStjMUZlbkdtWjZFZDl0VjM5QzFNRjhOWGQ5dnFYWmJLazdvZwp2OGZtaGtnRVlVc0ZnbW13NzZiRllOMFNQVkVlbk1INUh1MEQwcnZKUFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}
},
"public_ip"
:
"18.197.132.48"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:
{
"protocol"
:
"ssh"
,
"keys"
:
{
"public_key"
:
"cHVibGljS2V5LTVhMDU5ZDE3LTQwZDEtNGE4ZC04MDI4LTQzOGEyNTE3MjczMQ=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd0RqM25oWVBPaEU2SllsNURvamtYM1B6bWR5OFNxMTZhTWQrR2JSSUc3MnZBNWFhYzh1RnhWOU1HY01ECk1RendrY2VPcVJVN1hRTUg5ZHJ3OXlLdCtiTnQvQUFLOW1KQmtVaGlxZHJKTVJMUnlnYmtRVHd1WWdRbVZSMnV6L0YrYTlsMnRRZzEKOGhsYS9BODVHRFBUaUdSUm9ST1BnNU5mSTRPNy9vTVY1bUx0MlZiM29vNTJsVDhFRnhBVzZ2aWpnTjlDSmFvOTJtTWZ6Unl6WlB5cwpEU0dpYmc1S2tlQWtvRFNWVEhKWDhxaFFyb2ttSjhQUHlUSmJRaHFySWJSWXJVSy9ISEM2c2J2bndqMFJ2UVVvbmNzeWNSV1M0YjN4ClRyOFhXTTU4RnY4TG81aDhrem1zRWM1RmJwMkZCZlBpTHFPcXVleDg3c2hZZ3NPZWltRy9Kd0lEQVFBQkFvSUJBUUNpNWVRYWlaRS8KNFdlSWRoY3NGU0NNTCtScUtPRTgzQVVYbExBdHNsVkZoUnN6REVjNkNHa0dHYnVSUFcyUC9PcEdjSHBhbWc2anhUVFN5a2RZK0grOQpVNnpLV1hMdzE5VysvRHY0dTl1eWhjTloxVHRNZVdiSlU4RDBjdUk1Z090bEZIWi85a1JaTmRtZ01IcHZJMFNKbXBKKzBlZldWbWJTCjN3bkxKMlhBeGUvQjdhQ0ZIS0I1RXJncjNua1I3Q3JTTlpHYmM3Y3FmdUs4RFdhMFRGQ0xXTHZUNEpIdmZhVTh6NElzUlZDakxiM1EKRnBnYUhPcDBUcEViR1VQSmpqMTRrcm1meW4wNFdhelZMTDhuVkhNSkNhcUIvOSt6MzI5N253ZjFYeFE3bWVEN1lnRjlNNWE0akNGTgovcTFyTUtNc012UVlrNWtvbi9FSVZRNEVMMVBoQW9HQkFPSk4vbFA3TXF5SDRQK2F3dTl1eTlpNkZRZCtrdjgxV2wrV1cvblpqd3B1CkNtSE94VzBkVzJqZ0FVZ2EwSXZRMzBLVFdqeG5QQ3lWRVZ5VkNjUmt3c0c0aTRDdWlTTldad0RHZHRBUElUSjFSOVRFR0J5bWhkankKMWdMMVZnMk5TRXpuakVrbU4raE9SV3FncmphM3pjd1lDWlZXbWZrVXV3U29ITDMra2FUeEFvR0JBTmx5RnZlcmhTZmI1TnE1L1lKWAozSG1WMVA0ckhHbmdBR3pjNUhpNm9NNHAwN3ZJSjNQYjFiMWlqK2lXQ2xWendJcW9KNHExU0dyVzFKamYvUm1ZRjNYTk11QWxsVU5lCnYyZlcxMnB1TFV1RmlCeHVmV1Y1Q2haYzUxcGllRlBkYnZKZlJselArcUFKTWwxM1BMYTdNbk9aY3BXZmQ0TFhYbk1TZDJQSFRNV1gKQW9HQUxxemhjTmJWbThvbXVQRmxsVmFueXBxT3JjNElhWVRLai82R0YrRXNaSDFQdk42Vno2eUhadmtVcXBlRlBlRWx1eWlES3dRcgo0QklhMDVxVnVpRUNIa3grMFZxdVJGQ1V6QThqQUVTdWx5YWpXeG5hMDBYeFEwN0tueStVd1JUTHZiamdNVklsbzg5STkvWU9HSkVPCmJETGsveDB1Z3JZbzRJdi82WnZ3MURFQ2dZRUFnSTFqcUs2ZGZUQVNQNEYvcjRSMEV1bVN6MlQ3V2xpVXg4ZGJ4MGhHY3p2bE1ub2wKWU9pUmwzSmlzOVdvYkZhUGVTbnFucVdJRjZuRWJGRFgyRDdEZCtDRmVHQ2Z1d0dUMVRiOWlhMXpWOWVzM1dvdzlrRzF4ZnpNeGZHNwpRNUdBMndlYW1KcFlpQzZIdVJ3YUo4bktETytsLzNFVWZhVUg4SzMxS1djVkt5Y0NnWUVBcXg5MkhNTnRTQWNpcUdESldjYVZRbFZyClRKbmZXME5pRFkxYlNMMTFXcklYd042aGM3MndpVkM5OG9CeS9VdDJ2a0VuWVA3aG94c1VlS3ZBRXNMcVV6ckpyWXJTeGswbXEyVjEKQ1NEbmhTMTA2dFJXVExVVzhiRzhVS1g1TnhabDRhcE5sWHlhbHI1a2R1WWc2YVFLS1dpZmorSzRudGF1eFFBSW1rZ21BVEE9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}
},
"host_name"
:
"vm1"
}
},
"kubernetes"
:
{
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"interfaces"
:
{
"Kubernetes"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/dashboard.yaml"
}
},
"create"
:
{
"inputs"
:
{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/create_k8s.yml"
}
},
"install"
:
{
"inputs"
:
{
"playbook"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/install_k8s.yml"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:
{
"credential"
:
{
"cloud_provider_name"
:
"EC2"
,
"keys"
:
{
"aws_access_key_id"
:
"XXXXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXXXXXXXXXXx"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
,
"current_state"
:
"RUNNING"
}
},
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
}
}
}
},
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
]
}
}
example_messages/message_plan_request.json
View file @
ba201cb5
{
"owner"
:
"user"
,
"creationDate"
:
1585660820879
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:{
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
,
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
}}}},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example
\n
"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:{
"docker_hub"
:
"https://hub.docker.com/"
}}}
{
"owner"
:
"user"
,
"creationDate"
:
1585660820879
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:
{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:
{
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:
{
"image"
:
{
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
,
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
}
}
}
},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example
\n
"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
{
"docker_hub"
:
"https://hub.docker.com/"
}
}
}
example_messages/message_plan_response.json
View file @
ba201cb5
{
"toscaTemplate"
:
{
"description"
:
"TOSCA example"
,
"imports"
:
[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}],
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:
{
"node_templates"
:
{
"compute"
:
{
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}},
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"compute_1"
:
{
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}},
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"kubernetes"
:
{
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:
{
"inputs"
:
{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:
{
"inputs"
:
{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"requirements"
:
[{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"artifacts"
:
{
"provisioned_files"
:
{
"required"
:
false
,
"type"
:
"string"
}},
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
},
"ws-pema"
:
{
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}},
"properties"
:
{
"ports"
:
[
"30001:8080"
]},
"requirements"
:
[{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
}}}},
"creationDate"
:
1585660828105
}
{
"toscaTemplate"
:
{
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
],
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:
{
"node_templates"
:
{
"compute"
:
{
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"compute_1"
:
{
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"kubernetes"
:
{
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"create"
:
{
"inputs"
:
{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"delete"
:
{
"inputs"
:
{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
}
}
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"artifacts"
:
{
"provisioned_files"
:
{
"required"
:
false
,
"type"
:
"string"
}
},
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
},
"ws-pema"
:
{
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
},
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
}
}
}
},
"creationDate"
:
1585660828105
}
example_messages/message_provision_request.json
View file @
ba201cb5
{
"owner"
:
"user"
,
"creationDate"
:
1585660972026
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Standard"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:{
"inputs"
:{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXXXX"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
},
"artifacts"
:{
"provisioned_files"
:{
"required"
:
false
,
"type"
:
"string"
}}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}}
{
"owner"
:
"user"
,
"creationDate"
:
1585660972026
,
"toscaTemplate"
:
{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"tosca_default_namespace"
:
null
,
"template_name"
:
null
,
"topology_template"
:
{
"description"
:
null
,
"inputs"
:
null
,
"node_templates"
:
{
"compute"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"compute_1"
:
{
"properties"
:
{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:
{
"Standard"
:
{
"create"
:
"dumy.yaml"
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
},
"kubernetes"
:
{
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"interfaces"
:
{
"Standard"
:
{
"configure"
:
{
"inputs"
:
{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"create"
:
{
"inputs"
:
{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
},
"delete"
:
{
"inputs"
:
{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:
{
"properties"
:
{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:
[
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
},
{
"vm"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}
}
],
"interfaces"
:
{
"CloudsStorm"
:
{
"delete"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"hscale"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"provision"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"start"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
},
"stop"
:
{
"inputs"
:
{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}
}
}
},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:
{
"credential"
:
{
"cloud_provider_name"
:
"EC2"
,
"keys"
:
{
"aws_access_key_id"
:
"XXXXXXXXXXXX"
},
"token"
:
"XXXXXXXXXXXXX"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
},
"artifacts"
:
{
"provisioned_files"
:
{
"required"
:
false
,
"type"
:
"string"
}
}
},
"ws-pema"
:
{
"properties"
:
{
"ports"
:
[
"30001:8080"
]
},
"requirements"
:
[
{
"host"
:
{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}
}
],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:
{
"image"
:
{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}
}
}
},
"relationship_templates"
:
null
,
"outputs"
:
null
,
"groups"
:
null
,
"substitution_mappings"
:
null
,
"policies"
:
null
},
"template_author"
:
null
,
"template_version"
:
null
,
"description"
:
"TOSCA example"
,
"imports"
:
[
{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},
{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},
{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},
{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},
{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}
],
"dsl_definitions"
:
null
,
"node_types"
:
null
,
"relationship_types"
:
null
,
"relationship_templates"
:
null
,
"capability_types"
:
null
,
"artifact_types"
:
null
,
"data_types"
:
null
,
"interface_types"
:
null
,
"policy_types"
:
null
,
"group_types"
:
null
,
"repositories"
:
null
}
}
example_messages/message_provision_response.json
deleted
100644 → 0
View file @
da5b0cae
{
"creationDate"
:
1585661058846
,
"toscaTemplate"
:{
"tosca_definitions_version"
:
"tosca_simple_yaml_1_0"
,
"topology_template"
:{
"node_templates"
:{
"compute"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.1.10"
,
"role"
:
"master"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82YkwyLzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocD
U1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm0"
}},
"compute_1"
:{
"properties"
:{
"disk_size"
:
"10000 MB"
,
"mem_size"
:
"1000 MB"
,
"num_cores"
:
1.0
,
"os"
:
"Ubuntu 18.04"
,
"user_name"
:
"vm_user"
},
"interfaces"
:{
"Standard"
:{
"create"
:
"dumy.yaml"
}},
"type"
:
"tosca.nodes.ARTICONF.VM.Compute"
,
"attributes"
:{
"user_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDYWhnbmZ0MUxnMkV6aVhGdGswajNYeEliVWFzbG5oUjZmaEtGU2xQZnovblFOaG1xT2NydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFVoTlpuMW9BYi8yVWhoZ2VReXpqcE01aFFxQTYxSHFtWk9vQ05vbGtlUVllLytGWlJ6QmhhbFdyRGVRPT0gZ2VuZXJhdGVkIHVzZXIgYWNjZWVzIGtleXMK"
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNhaGduZnQxTGcyRXppWEZ0azBqM1h4SWJVYXNsbmhSNmZoS0ZTbFBmei9uUU5obXFPCmNydHlOZWU5OVdGRGx3Ky9rL3ZlYUpKRFpqY3VzaHNRVTNoS1ByaitSOVdNUjhtL0YyVFkvWFZCdXRKNUlFWFUKaE5abjFvQWIvMlVoaGdlUXl6anBNNWhRcUE2MUhxbVpPb0NOb2xrZVFZZS8rRlpSekJoYWxXckRlUUlEQVFBQgpBb0dBZjZrOWZ4WjE0a3pST0RJVlQ3WmlZV0I4QkFJMVl0RVgrN0lYbGFKOU41ZUJTYXREWFd4c2NHOFlobGV6Cmc2UEozdnpqbVZ2TGV1TjNzNXh4djRzMlZOZldGNlZSWTdMc0xkNzZnUkZEdUZSdDIxVWVYTXMybGRSbml3TUsKK05mNWZXdHk5ZlViaWg2ckkvQUVpdTEyaERCb1RBQjJHWjYvTHBiVVFGam1tQUVDUVFESXU4dEhuY3FoN29IbAowT1laYkJEL0t3NmxXKzJDN0FUeEhDVlM3M2JndUM1aWhnQkRDb2lPN01TRm9Sd2NGMitMcWtQRXJGc1BDd21OCnBBNXNPNkJOQWtFQXhSRS91MVZlWCtGd1I4ZUt2WlUvdjdXM0JpUEVBd2pLOEV2bzJ2VEhPa0VQbjlpVHVDLzYKcU9zb0pkcUVjb2JYR0pkRWdmM0VienFUZk1iTVAvOWwzUUpCQU1DclA5cGxvZkQ3dE1LWlY4SmU3NUY4Q25xOQpXYU9vVnJYMmhmeXN6RFcxa3hBTi9vSmF3ZWd0YWhPNUovbnVwS294cXdwRFJNT1RuSC9QVCtpaThxRUNRQTRoCitvd1l4emZoRndoT3l5aGxkN2pyODBCQmVHRXZWRDUvY3llZ3ZsanpLWWV4SklibENmanJSR25TamdVWW5ueG8KL01URnlqeWYyc3ZzQmVIaEV4RUNRQi9IWkVKT3hxVDVCNDRwUVVOU0pIdDN2Y01BbmNYL3ZLcTBWT0h5SVh1LwpONU1tTEFWM29GcWEyTThIYklhNXByQnRGdno1TW0vbEFoeVk5ZmtTNWlrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
}},
"public_ip"
:
"192.168.1.11"
,
"role"
:
"worker"
,
"node_type"
:
"t2.micro"
,
"root_key_pair"
:{
"protocol"
:
"ssh"
,
"keys"
:{
"public_key"
:
"cHVibGljS2V5LTU0MmQzNzQ2LTU2OWItNGM5OS1iYTk4LWMzYmRmNDMzMmExOA=="
,
"private_key"
:
"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcW5yZkhjWHA5cHlmbWNtSVZGQWZnUTNMbUZTMGY1RllHRUVnVVNrY2EwMGJuM00xc2dWazNENVJadW9xCnZicU5yeEVzM3l3K0VGYThrUS9sSkxoK045OWh1eVJYZVd2b2VhbWkwdXgrci9yZTJvdllCOVhVTU83Z3FQUnhzUVp5WXJpVTdqWWkKQ3dWRDdLalkraTFoZC96ZTU5OVcyTGZHeVJZY0oyaFh2dWg0REozVys1aTAzOVk4bThJUWdZZCtUa0ozR2RhcGVhd0JZOFdqbHZrTgpyMHBYVFZlclRCWWRGVWhMTENqeWw1dnJxVFFuZTN4Z05FWXRkZ1cyRmNQQTdaTnhaZHZXdjBlWEV5Zkdsd3hKbEpva2JJV3dRRnZXCnA5dElDanBUc0RVb2pxOUp3ZlFNL1lrYmRKeXoxQjdxT1VyZ1had1dBMXMvS2IrLzZPMy8zd0lEQVFBQkFvSUJBQyttZEdLUUJSc24KSC8wT05ZckxjbUxTQmt3bnNPUFBMajVwUmEwcHZvWEhZYWNwdnFKcG00MXI1YmpNVHZJRkNNRWNIZHlyTXhYQ0NLYkxPSk1ROWthTApxM2R4YXZuSFRZMWordHpWdVh0YXRadUVadmVacnR1V2lUandTaTdlekc0SGhha25mRkIwUWs0Tnk4ZnhrMExFYlZHR1BYSUp2QWhNCm84WG9CazZYbWtKK0dLRzRQcDJZTHRKUHNqbTZzUW1MbGtqYTBTbU82WW8razVYa2RjdU9GTGd4VHp0QzFCMDNFbmt2TTYyOHkvbjYKeWN2a1pYUXZGMWlYRnNVS2VKb0RIRWVqN2o5ODBtVkdEZHpRNm84MTVRWG1iSnlhaWtmWjFXbnU5U0p4QnhiSGZiWGt0QklMdVhSVAp2ZkZKTjFuaEJEZ3hjaEhzWHljRDhMUFVVQUVDZ1lFQTUwNkdITlIwNVlHTVBFTXhQN3RpdUVPM3o5Zm9Wb1dKNitZZmliL2lVaVZNCmpiVGh4eWZyUXZPUmtrYVJoRlJuUjBrZGhDOWYyeHYxMzdvUlVhQXlncjFPQmRYL3N3OC8zYU9FdlNteVJtYmRjMzhBQ1FYY2VBdnMKbkk0WnB0OVliendEd1BMaUpZTlVPUGFlY05BSitvQklsdlRTbzNVQVVlUFczNFo1TTk4Q2dZRUF2SzM4OW5Ic2IyTldSQkJBQjloRgpVMHpxYWlhNE5ocHowd0lNcDN6T3ZHN29yay9ZSlZCd3ZNaHNQUFhIakxjeHRoWFFGL1F0REVHVzFHZW1RRmhlbWZHY0huYXNacml1CkQzQmJkNS9ZK1JZeVA1QVhQYk5QNWFJYm1Nb0ZXak8vMUZxWmxVKzRrdzVSNTR6dUdqL2hSbE9TSmJvMk9remNVc1U4MFBXRXRBRUMKZ1lFQWxaanhvQi9BWXRjQWJkRS9QdXJnbERBbjU2TEtQM3Nxa29sSkNId3owZEVSeSt5YXdZV040TVZLOXdIeEIxYlhYUUZxdDUwMApMNi9MdTZESnByTW5OK3RiVk9iczgwLy9qRWMvaUdBNVR0TWtrcGdtMjY4UXdndGtRblNkSHBJQXppQlFoVEFSRnhYekdNeFgrTHAwCldiRXlRWCtoNDltK0ZUaDROaVR3cXAwQ2dZRUFuTkxnbHRaSjlxdFNZSEJCU0VQeUd6S3JCRi82Ykwy
LzEzcTBtZUdhMC9RN1llYnIKZU5oTFhCNGFHUEVRVTExUTdFOWxEd1BkRFhyV3F1VWJ3Zyt4VWJNSVdDbTdVZ1hlWnVhMG45RTB2cFE4WDZpY0tLU0puQXdKZEEwMgpOYXNkbnB0UFhGTk96cXZ3VjgxRGVuM3QrRTR1QXoyckpQb05ocDU1MWhTN29BRUNnWUJQck1ISTVGTlpUaVVKTzE4Y2I3aHBRamR4ClE4cllpUmlYMWZyZHB0QVNLSjFMek5hTTB3OFlUMThRblRmOWlMMjVsQ0ZEQzF0bEN5bXdrNnRoc0NWWU5XOW5XWnIxdUJMa1lYTzYKK0NRb0k3YmJoQjlQWDFzckE5RlN6T3NUZmNWZk1QTUlQZm1iNExlTFlYdWhHalJhNlRCdjdORkJDT0pCTnlYendRVVBhdz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
}},
"host_name"
:
"vm1"
}},
"kubernetes"
:{
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM.topology"
,
"node"
:
"topology"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"interfaces"
:{
"Standard"
:{
"configure"
:{
"inputs"
:{
"playbook"
:
"k8s_dashboard.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"create"
:{
"inputs"
:{
"playbook"
:
"install_k8s.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}},
"delete"
:{
"inputs"
:{
"playbook"
:
"k8s_delete.yaml"
,
"repository"
:
"https://github.com/skoulouzis/playbooks.git"
}}}},
"type"
:
"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"
},
"topology"
:{
"properties"
:{
"domain"
:
"Frankfurt"
,
"provider"
:
"EC2"
},
"requirements"
:[{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute"
,
"relationship"
:
"tosca.relationships.DependsOn"
}},{
"vm"
:{
"capability"
:
"tosca.capabilities.ARTICONF.VM"
,
"node"
:
"compute_1"
,
"relationship"
:
"tosca.relationships.DependsOn"
}}],
"interfaces"
:{
"CloudsStorm"
:{
"delete"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"hscale"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"provision"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"start"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}},
"stop"
:{
"inputs"
:{
"code_type"
:
"SEQ"
,
"object_type"
:
"SubTopology"
}}}},
"type"
:
"tosca.nodes.ARTICONF.VM.topology"
,
"attributes"
:{
"credential"
:{
"cloud_provider_name"
:
"EC2"
,
"keys"
:{
"aws_access_key_id"
:
"XXXXXXXXXXXXXXX"
},
"token"
:
"XXXXXX"
,
"token_type"
:
"access_key"
},
"desired_state"
:
"RUNNING"
,
"current_state"
:
"RUNNING"
},
"artifacts"
:{
"provisioned_files"
:{
"file_ext"
:
"zip"
,
"file_contents"
:
"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"
,
"type"
:
"tosca.datatypes.ARTICONF.encodedFile"
,
"encoding"
:
"base64"
}}},
"ws-pema"
:{
"properties"
:{
"ports"
:[
"30001:8080"
]},
"requirements"
:[{
"host"
:{
"capability"
:
"tosca.capabilities.ARTICONF.docker.Orchestrator"
,
"node"
:
"kubernetes"
,
"relationship"
:
"tosca.relationships.HostedOn"
}}],
"type"
:
"tosca.nodes.ARTICONF.Container.Application.Docker"
,
"artifacts"
:{
"image"
:{
"file"
:
"alogo53/ws-pema-lifewatch"
,
"repository"
:
"docker_hub"
,
"type"
:
"tosca.artifacts.Deployment.Image.Container.Docker"
}}}}},
"description"
:
"TOSCA example"
,
"imports"
:[{
"nodes"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"
},{
"data"
:
"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"
},{
"capabilities"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"
},{
"policies"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"
},{
"interfaces"
:
"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"
}]}}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment