blob: 277e1342a0309614549629e981b694a84e00d423 [file] [log] [blame]
{%- from "barbican/map.jinja" import client with context %}
{%- set resources = client.get('resources', {}).get('v1', {}) %}
{%- if resources.get('enabled', False) %}
{%- for secret_name, secret in resources.get('secrets', {}).iteritems() %}
{%- set payload = '' %}
{%- if secret.payload is defined %}
{%- set payload = secret.payload %}
{%- elif secret.payload_path is defined %}
{%- set payload = salt['cmd.shell']('cat '+secret.payload_path) %}
{%- endif %}
barbican_secret_{{ secret_name }}:
barbicanv1.secret_present:
- cloud_name: {{ secret.get('cloud_name', resources.cloud_name) }}
- name: {{ secret_name }}
- algorithm: {{ secret.algorithm}}
- secret_type: {{ secret.type }}
{%- if payload %}
{%- if secret.get('encodeb64_payload', False) %}
{%- set payload = salt['hashutil.base64_b64encode'](payload) %}
- payload_content_encoding: base64
{%- elif secret.payload_content_encoding is defined %}
- payload_content_encoding: {{ secret.payload_content_encoding }}
{%- endif %}
- payload: {{ payload }}
- payload_content_type: {{ secret.payload_content_type }}
{%- endif %}
{%- endfor %}
{%- for secret_name, users_info in resources.get('acl', {}).iteritems() %}
{%- set users = salt['keystonev3.user_list'](cloud_name=resources.cloud_name) %}
barbican_secret_acl_add_user_{{ secret_name }}:
barbicanv1.secret_acl_present:
- name: {{ secret_name }}
- cloud_name: {{ resources.cloud_name }}
- users:
{%- for user in users['users'] %}
{%- for user_name, enabled in users_info.iteritems() %}
{%- if user_name == user['name'] and enabled %}
- {{ user['id'] }}
{%- endif %}
{%- endfor %}
{%- endfor %}
- project-access: True
{%- endfor %}
{%- endif %}