Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

servicecatalog.update_provisioned_product has invalid checks on ProvisioningParametes #3769

Closed
f0ff-s8 opened this issue Jul 4, 2023 · 2 comments
Assignees
Labels
closing-soon This issue will automatically close in 4 days unless further comments are made.

Comments

@f0ff-s8
Copy link

f0ff-s8 commented Jul 4, 2023

Describe the bug

Service Catalog UpdateProvisionedArtifact API takes new template inputs to be passed onto CloudFormation in the field ProvisioningParametes. Boto3 applies an incorrect client-side check on the structure of the field, seemingly meant for the structure of the entire requests. This breaks upgrading any provisioned products via boto3, as the field defaults to no parameters AWS-side.
API doc: https://docs.aws.amazon.com/servicecatalog/latest/dg/API_UpdateProvisionedProduct.html

Expected Behavior

Correct check, or no check, is applied. This invocaton is valid:

    sc.update_provisioned_product(
        ProvisionedProductId='pp-oe123aaabccc',
        ProvisioningArtifactId='pa-eu123aaabccc',
        ProductId='prod-ig123aaabccc',
        ProvisioningParametes=[{'Key': 'BootstrapVersion', 'UsePreviousValue': True}, {'Key': 'ProductName', 'UsePreviousValue': True}, {'Key': 'EcrName', 'UsePreviousValue': True}, {'Key': 'PortfolioName', 'UsePreviousValue': True}]
    )

Current Behavior

client._serializer.serialize_to_request throws botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "ProvisioningParametes", must be one of: AcceptLanguage, ProvisionedProductName, ProvisionedProductId, ProductId, ProductName, ProvisioningArtifactId, ProvisioningArtifactName, PathId, PathName, ProvisioningParameters, ProvisioningPreferences, Tags, UpdateToken

Reproduction Steps

Try to pass ProvisioningParameters to an upgrade operation.

Possible Solution

No response

Additional Information/Context

This is a correct API call, I've verified by inspecting API calls made by the console - it works as documented.

SDK version used

1.27.0

Environment details (OS name and version, etc.)

Linux

@f0ff-s8 f0ff-s8 added bug This issue is a confirmed bug. needs-triage This issue or PR still needs to be triaged. labels Jul 4, 2023
@tim-finnigan tim-finnigan self-assigned this Jul 6, 2023
@tim-finnigan
Copy link
Contributor

Hi @f0ff-s8 thanks for reaching out. It looks like you have a typo there, ProvisioningParametes which should be ProvisioningParameters. Please try updating the spelling and let us know if you run into any further issues.

@tim-finnigan tim-finnigan added closing-soon This issue will automatically close in 4 days unless further comments are made. and removed bug This issue is a confirmed bug. needs-triage This issue or PR still needs to be triaged. labels Jul 6, 2023
@f0ff-s8
Copy link
Author

f0ff-s8 commented Jul 7, 2023

Oh. My god.

@f0ff-s8 f0ff-s8 closed this as completed Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closing-soon This issue will automatically close in 4 days unless further comments are made.
Projects
None yet
Development

No branches or pull requests

2 participants