expose accessControl field in tosca; update deploymenttest
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index 1f48f58..d4c242c 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -318,6 +318,10 @@
capabilities:
deployment:
type: tosca.capabilities.xos.Deployment
+ properties:
+ accessControl:
+ type: string
+ default: allow all
tosca.nodes.Controller:
derived_from: tosca.nodes.Root
diff --git a/xos/tosca/custom_types/xos.yaml b/xos/tosca/custom_types/xos.yaml
index f66dbc6..ea43e12 100644
--- a/xos/tosca/custom_types/xos.yaml
+++ b/xos/tosca/custom_types/xos.yaml
@@ -380,6 +380,10 @@
capabilities:
deployment:
type: tosca.capabilities.xos.Deployment
+ properties:
+ accessControl:
+ type: string
+ default: allow all
tosca.nodes.Controller:
derived_from: tosca.nodes.Root
diff --git a/xos/tosca/resources/deployment.py b/xos/tosca/resources/deployment.py
index 3524ca0..f46dfd2 100644
--- a/xos/tosca/resources/deployment.py
+++ b/xos/tosca/resources/deployment.py
@@ -15,9 +15,10 @@
class XOSDeployment(XOSResource):
provides = "tosca.nodes.Deployment"
xos_model = Deployment
+ copyin_props = ["accessControl"]
def get_xos_args(self):
- args = {"name": self.nodetemplate.name}
+ args = super(XOSDeployment, self).get_xos_args()
return args
diff --git a/xos/tosca/tests/deploymenttest.py b/xos/tosca/tests/deploymenttest.py
index 188ead2..1df55de 100644
--- a/xos/tosca/tests/deploymenttest.py
+++ b/xos/tosca/tests/deploymenttest.py
@@ -4,6 +4,7 @@
class DeploymentTest(BaseToscaTest):
tests = ["create_deployment_minimal",
+ "create_deployment_maximal",
"destroy_deployment",
]
@@ -13,7 +14,15 @@
def create_deployment_minimal(self):
self.assert_noobj(Deployment, "testdep")
self.execute(self.make_nodetemplate("testdep", "tosca.nodes.Deployment"))
- instance = self.assert_obj(Deployment, "testdep")
+ instance = self.assert_obj(Deployment, "testdep",
+ accessControl="allow all")
+
+ def create_deployment_maximal(self):
+ self.assert_noobj(Deployment, "testdep")
+ self.execute(self.make_nodetemplate("testdep", "tosca.nodes.Deployment",
+ props={"accessControl": "allow padmin@vicci.org"}))
+ instance = self.assert_obj(Deployment, "testdep",
+ accessControl="allow padmin@vicci.org")
def destroy_deployment(self):
self.assert_noobj(Deployment, "testdep")