Source code for labtest.provider.aws.secrets
from fabric.api import env, run
from labtest.provider.base_secret import BaseSecret
[docs]class KMSSecret(BaseSecret):
default_config = None
[docs] def encrypt(self, plaintext):
cmd = [
'aws kms encrypt',
'--key-id {}'.format(self.key_id),
'--plaintext "{}"'.format(plaintext),
'--query CiphertextBlob',
'--output text',
]
return run(' '.join(cmd), quiet=env.quiet)
[docs] def decrypt(self, ciphertext):
cmd = [
'aws kms decrypt',
'--ciphertext-blob fileb://<(echo "{}" | base64 -d)'.format(ciphertext),
'--output text',
'--query Plaintext',
'| base64 -d',
]
return run(' '.join(cmd), quiet=env.quiet)