FIX:Add secrets Manager Tag resource Funtionality (#3392)
* FIX:Add secrets Manager Tag resoruce Funtionality * Fixed review comments Co-authored-by: usmankb <usman@krazybee.com>
This commit is contained in:
parent
9eb58eea41
commit
14980371d7
@ -565,6 +565,19 @@ class SecretsManagerBackend(BaseBackend):
|
|||||||
|
|
||||||
return secret.arn, secret.name
|
return secret.arn, secret.name
|
||||||
|
|
||||||
|
def tag_resource(self, secret_id, tags):
|
||||||
|
|
||||||
|
if secret_id not in self.secrets.keys():
|
||||||
|
raise SecretNotFoundException()
|
||||||
|
|
||||||
|
secret = self.secrets[secret_id]
|
||||||
|
old_tags = secret.tags
|
||||||
|
|
||||||
|
for tag in tags:
|
||||||
|
old_tags.append(tag)
|
||||||
|
|
||||||
|
return secret_id
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_resource_policy(secret_id):
|
def get_resource_policy(secret_id):
|
||||||
resource_policy = {
|
resource_policy = {
|
||||||
|
@ -157,3 +157,8 @@ class SecretsManagerResponse(BaseResponse):
|
|||||||
return secretsmanager_backends[self.region].get_resource_policy(
|
return secretsmanager_backends[self.region].get_resource_policy(
|
||||||
secret_id=secret_id
|
secret_id=secret_id
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def tag_resource(self):
|
||||||
|
secret_id = self._get_param("SecretId")
|
||||||
|
tags = self._get_param("Tags", if_none=[])
|
||||||
|
return secretsmanager_backends[self.region].tag_resource(secret_id, tags)
|
||||||
|
@ -912,3 +912,33 @@ def test_update_secret_marked_as_deleted_after_restoring():
|
|||||||
assert updated_secret["ARN"]
|
assert updated_secret["ARN"]
|
||||||
assert updated_secret["Name"] == "test-secret"
|
assert updated_secret["Name"] == "test-secret"
|
||||||
assert updated_secret["VersionId"] != ""
|
assert updated_secret["VersionId"] != ""
|
||||||
|
|
||||||
|
|
||||||
|
@mock_secretsmanager
|
||||||
|
def test_tag_resource():
|
||||||
|
conn = boto3.client("secretsmanager", region_name="us-west-2")
|
||||||
|
conn.create_secret(Name="test-secret", SecretString="foosecret")
|
||||||
|
conn.tag_resource(
|
||||||
|
SecretId="test-secret", Tags=[{"Key": "FirstTag", "Value": "SomeValue"},],
|
||||||
|
)
|
||||||
|
|
||||||
|
conn.tag_resource(
|
||||||
|
SecretId="test-secret", Tags=[{"Key": "SecondTag", "Value": "AnotherValue"},],
|
||||||
|
)
|
||||||
|
|
||||||
|
secrets = conn.list_secrets()
|
||||||
|
assert secrets["SecretList"][0].get("Tags") == [
|
||||||
|
{"Key": "FirstTag", "Value": "SomeValue"},
|
||||||
|
{"Key": "SecondTag", "Value": "AnotherValue"},
|
||||||
|
]
|
||||||
|
|
||||||
|
with assert_raises(ClientError) as cm:
|
||||||
|
conn.tag_resource(
|
||||||
|
SecretId="dummy-test-secret",
|
||||||
|
Tags=[{"Key": "FirstTag", "Value": "SomeValue"},],
|
||||||
|
)
|
||||||
|
|
||||||
|
assert_equal(
|
||||||
|
"Secrets Manager can't find the specified secret.",
|
||||||
|
cm.exception.response["Error"]["Message"],
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user