%PDF- %PDF-
| Direktori : /proc/self/root/proc/thread-self/root/lib/python2.7/site-packages/salt/states/ |
| Current File : //proc/self/root/proc/thread-self/root/lib/python2.7/site-packages/salt/states/vault.pyo |
�
���^c @@ sh d Z d d l m Z m Z m Z d d l Z d d l Z e j e � Z d � Z
d � Z d � Z d S( u�
States for managing Hashicorp Vault.
Currently handles policies. Configuration instructions are documented in the execution module docs.
:maintainer: SaltStack
:maturity: new
:platform: all
.. versionadded:: 2017.7.0
i ( t absolute_importt print_functiont unicode_literalsNc C@ s� d j | � } t d d | � } yS | j d k rN t | | | j � d � S| j d k rj t | | � S| j � Wn9 t k
r� } i | d 6i d 6t d 6d
j | � d 6SXd S(
u�
Ensure a Vault policy with the given name and rules is present.
name
The name of the policy
rules
Rules formatted as in-line HCL
.. code-block:: yaml
demo-policy:
vault.policy_present:
- name: foo/bar
- rules: |
path "secret/top-secret/*" {
policy = "deny"
}
path "secret/not-very-secret/*" {
policy = "write"
}
u v1/sys/policy/{0}u vault.make_requestu GETi� u rulesi� u nameu changesu resultu Failed to get policy: {0}u commentN( t formatt __utils__t status_codet _handle_existing_policyt jsont _create_new_policyt raise_for_statust Exceptiont False( t namet rulest urlt responset e( ( s5 /usr/lib/python2.7/site-packages/salt/states/vault.pyt policy_present s
c C@ s� t d r? i | d 6i i d d 6| d 6| 6d 6d d 6d d 6Si | d
6} d j | � } t d d
| d | �} | j d k r� i | d 6i d 6t d 6d j | j � d 6Si | d 6t d 6i i d d 6| d 6| 6d 6d d 6S( Nu testu nameu u oldu newu changesu resultu Policy would be createdu commentu rulesu v1/sys/policy/{0}u vault.make_requestu PUTR i� i� u Failed to create policy: {0}u Policy was created( i� i� ( t __opts__t NoneR R R R t reasont True( R R
t payloadR R ( ( s5 /usr/lib/python2.7/site-packages/salt/states/vault.pyR @ s(
c C@ sB i | d 6} | | k r; t | d <i | d <d | d <| Sd j t j | j t � | j t � � � } t d r� d | d <i i | d 6| 6| d <d | d <| Si | d
6} d j | � } t d d
| d | �} | j d k ri | d 6i d 6t
d 6d j | j � d 6St | d <i i | d 6| 6| d <d | d <| S( Nu nameu resultu changesu* Policy exists, and has the correct contentu commentu u testu changeu Policy would be changedu rulesu v1/sys/policy/{0}u vault.make_requestu PUTR i� i� u Failed to change policy: {0}u Policy was updated( i� i� ( R t joint difflibt unified_difft
splitlinesR R R R R R R ( R t new_rulest existing_rulest rett changeR R R ( ( s5 /usr/lib/python2.7/site-packages/salt/states/vault.pyR \ s2
-
(
t __doc__t
__future__R R R t loggingR t getLoggert __name__t logR R R ( ( ( s5 /usr/lib/python2.7/site-packages/salt/states/vault.pyt <module> s +