cloudformation-coverage-roadmap icon indicating copy to clipboard operation
cloudformation-coverage-roadmap copied to clipboard

[AWS::ApplicationAutoScaling::ScalingPolicy] - [BUG] - CCAPI get-resource fails with NotFound error

Open corymhall opened this issue 1 year ago • 1 comments
trafficstars

Name of the resource

AWS::ApplicationAutoScaling::ScalingPolicy

Resource Name

No response

Issue Description

This was originally reported in pulumi-aws-native which uses CloudControl API.

Deployments fail when trying to perform a get-resource on a ScalingPolicy.

Expected Behavior

get-resource returns successfully.

Observed Behavior

Comand fails with

An error occurred (ResourceNotFoundException) when calling the GetResource operation: AWS::ApplicationAutoScaling::ScalingPolicy Handler returned status FAILED: null (HandlerErrorCode: NotFound, RequestToken: 94c5255d-6b2d-4059-9c28-190207d5853c)

Test Cases

  1. Create a dynamodb table
aws cloudcontrol create-resource --desired-state "{\"AttributeDefinitions\":[{\"AttributeName\":\"leaseKey\",\"AttributeType\":\"S\"}],\"KeySchema\":[{\"AttributeName\":\"leaseKey\",\"KeyType\":\"HASH\"}],\"ProvisionedThroughput\":{\"ReadCapacityUnits\":1,\"WriteCapacityUnits\":1},\"TableName\":\"kcl-table-0994f2d\"}" --type-name AWS::DynamoDB::Table
  1. Create a ScalableTarget
aws cloudcontrol create-resource --desired-state "{\"MaxCapacity\":50,\"MinCapacity\":1,\"ResourceId\":\"table/kcl-table-0994f2d\",\"ScalableDimension\":\"dynamodb:table:ReadCapacityUnits\",\"ServiceNamespace\":\"dynamodb\"}" --type-name AWS::ApplicationAutoScaling::ScalableTarget
  1. Create a ScalingPolicy
aws cloudcontrol create-resource --desired-state "{\"PolicyName\":\"DynamoDBReadCapacityUtilization:table/kcl-table-0994f2d\",\"PolicyType\":\"TargetTrackingScaling\",\"ResourceId\":\"table/kcl-table-0994f2d\",\"ScalableDimension\":\"dynamodb:table:ReadCapacityUnits\",\"ServiceNamespace\":\"dynamodb\",\"TargetTrackingScalingPolicyConfiguration\":{\"PredefinedMetricSpecification\":{\"PredefinedMetricType\":\"DynamoDBReadCapacityUtilization\"},\"ScaleInCooldown\":300,\"ScaleOutCooldown\":30,\"TargetValue\":85}}" --type-name AWS::ApplicationAutoScaling::ScalingPolicy
  1. Get the identifier of the ScalingPolicy
identifier=$(aws cloudcontrol list-resources --type-name AWS::ApplicationAutoScaling::ScalingPolicy --resource-model '{"ServiceNamespace": "dynamodb"}' --query 'ResourceDescriptions[0].Identifier' --output text)
  1. Try to get-resource
aws cloudcontrol get-resource --type-name AWS::ApplicationAutoScaling::ScalingPolicy --identifier $identifier

Other Details

No response

corymhall avatar Jul 18 '24 18:07 corymhall