Implement ListSecrets

This commit is contained in:
Chris K 2019-04-05 13:33:28 +01:00
commit 89e4ab93ee
4 changed files with 64 additions and 6 deletions

View file

@ -189,9 +189,30 @@ class SecretsManagerBackend(BaseBackend):
return response
def list_secrets(self, max_results, next_token):
# implement here
# TODO implement pagination
secret_list = [{
"ARN": secret_arn(self.region, secret['secret_id']),
"DeletedDate": None,
"Description": "",
"KmsKeyId": "",
"LastAccessedDate": None,
"LastChangedDate": None,
"LastRotatedDate": None,
"Name": secret['name'],
"RotationEnabled": secret['rotation_enabled'],
"RotationLambdaARN": secret['rotation_lambda_arn'],
"RotationRules": {
"AutomaticallyAfterDays": secret['auto_rotate_after_days']
},
"SecretVersionsToStages": {
secret['version_id']: ["AWSCURRENT"]
},
"Tags": secret['tags']
} for secret in self.secrets.values()]
return secret_list, next_token
available_regions = (
boto3.session.Session().get_available_regions("secretsmanager")

View file

@ -4,6 +4,8 @@ from moto.core.responses import BaseResponse
from .models import secretsmanager_backends
import json
class SecretsManagerResponse(BaseResponse):
@ -68,9 +70,8 @@ class SecretsManagerResponse(BaseResponse):
def list_secrets(self):
max_results = self._get_int_param("MaxResults")
next_token = self._get_param("NextToken")
secret_list, next_token = self.secretsmanager_backend.list_secrets(
secret_list, next_token = secretsmanager_backends[self.region].list_secrets(
max_results=max_results,
next_token=next_token,
)
# TODO: adjust response
return json.dumps(dict(secretList=secret_list, nextToken=next_token))
return json.dumps(dict(SecretList=secret_list, NextToken=next_token))