Aswath
Aswath

Reputation: 986

Unable to use ssm client.put_parameter() providing the Tier parameter

When I try to use SSM client.put_parameter() providing the Tier parameter, I get the following error:

Parameter validation failed:

An unknown parameter in input: "Tier", must be one of Name, Description, Value, Type, KeyId, Overwrite, AllowedPattern

boto3 version: 1.7.74
https://github.com/boto/boto3/issues/2034


    print("boto3 version: "+boto3.__version__)
            Policies = {}
            Policies['Type'] = "Expiration"
            Policies['Version'] = "1.0"
            Attributes = {}
            Attributes['Timestamp'] = datetime.now() + timedelta(hours=24)
            Policies['Attributes'] = Attributes
            ssm.put_parameter(
                Name="**************",
                Description='string',
                Value="*************",
                Type='String',
                Overwrite=True,
                Tier='Advanced'
            )

Expecting to put parameter with Tier and policy

Upvotes: 0

Views: 855

Answers (1)

Munavir Chavody
Munavir Chavody

Reputation: 534

As per the put_parameter 1.7.74 documentation, it doesn't support Tier argument. I'm assuming you're referring to the latest (1.9.212) documentation.

This is a known issue with lambda. Boto3 release changes effect lambda execution environment only after new lambda release, means even if there's a new boto3 version lambda wouldn't be having the latest module. Alternatively you can create a lambda layer with your latest boto3 module and configure your lambda function to use the same.

AWS Lambda Layers - AWS Lambda

Upvotes: 3

Related Questions