diff --git a/cloudcafe/cloudkeep/barbican/secrets/behaviors.py b/cloudcafe/cloudkeep/barbican/secrets/behaviors.py index da2e9ed5..a0895bce 100644 --- a/cloudcafe/cloudkeep/barbican/secrets/behaviors.py +++ b/cloudcafe/cloudkeep/barbican/secrets/behaviors.py @@ -98,6 +98,15 @@ class SecretsBehaviors(object): self.created_secrets.append(secret_id) return behavior_response + def create_secret_with_no_json(self): + """Create a secret but do not pass any JSON in POST data.""" + resp = self.client.create_secret_with_no_json() + behavior_response = CloudkeepResponse(resp=resp) + secret_id = behavior_response.id + if secret_id is not None: + self.created_secrets.append(secret_id) + return behavior_response + def delete_secret(self, secret_id): self.remove_from_created_secrets(secret_id=secret_id) resp = self.client.delete_secret(secret_id) diff --git a/cloudcafe/cloudkeep/barbican/secrets/client.py b/cloudcafe/cloudkeep/barbican/secrets/client.py index b59a231e..41923a54 100644 --- a/cloudcafe/cloudkeep/barbican/secrets/client.py +++ b/cloudcafe/cloudkeep/barbican/secrets/client.py @@ -59,10 +59,17 @@ class SecretsClient(BarbicanRestClient): return resp + def create_secret_with_no_json(self): + """Create secret but do not pass any JSON.""" + remote_url = '{base}/secrets'.format(base=self._get_base_url()) + + resp = self.request('POST', remote_url, response_entity_type=SecretRef) + + return resp + def add_secret_payload(self, secret_id, payload_content_type, payload, payload_content_encoding=None): - """ - PUT http://.../v1/{tenant_id}/secrets/{secret_uuid} + """PUT http://.../v1/{tenant_id}/secrets/{secret_uuid} Allows the user to upload secret data for a specified secret if the secret doesn't already exist """