-
Notifications
You must be signed in to change notification settings - Fork 5
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
LoadBalancer "name" cannot be longer than 32 characters #62
Comments
Yes, AWS CDK will always have a name associated with a construct, and the name must be unique at the specific construct/component level. The global name associated with the resource is built from the hierarchy of resource names, with some characters stripped out. That model can also cause very long names. This tends to become more of a problem with CDK pipelines, since the pipeline itself gets encoded into the name hierarchy and sometimes things hit a 128 character limit and will not work (with CloudFormation). However, if it works to use pretty much the same model, then it will at least be predictable in terms of names compared to AWS CDK (CloudFormation flavour). |
This one is going to be tricky to fix generally. We are using the CloudFormation logicalId which can be up to 128 characters. CloudFormation will then generate a unique resource name using the Stack name and the resource name, but will make sure the generated name fits within any unique service limits. So for example if I have a stack with the name I can think of a couple of options
(lb.node.defaultChild as CfnResource).overrideLogicalId('shortername');
|
Most resources have some limits on what the resource name can be. Unfortunately a lot of those limits are not currently stored in the CloudFormation schema. This PR introduces a new schema overlay where we can manually store min/max length constraints for resource names. This is the first step in addressing #1816. I will follow this up with another PR to trim names to fit within the constraints. re #1816, re pulumi/pulumi-cdk#62
Most resources have some limits on what the resource name can be. Unfortunately a lot of those limits are not currently stored in the CloudFormation schema. This PR introduces a new schema overlay where we can manually store min/max length constraints for resource names. This is the first step in addressing #1816. I will follow this up with another PR to trim names to fit within the constraints. re #1816, re pulumi/pulumi-cdk#62
This PR adds some new functionality to control the auto naming behavior. The new behavior lives behind a provider config variable and must be explicitly enabled by the user. The existing behavior will remain the default behavior of the provider. **What's new** - `autoTrim`: When this is set to true the provider will automatically trim the generated name to fit within the `maxLength` requirement. - `randomSuffixMinLength`: Set this to control the minimum length of the random suffix that is generated. This is especially useful in combination with `autoTrim` to ensure that you still end up with unique names (e.g. a random suffix of 1 character is not very unique) closes #1816, re pulumi/pulumi-cdk#62
This PR adds some new functionality to control the auto naming behavior. The new behavior lives behind a provider config variable and must be explicitly enabled by the user. The existing behavior will remain the default behavior of the provider. **What's new** - `autoTrim`: When this is set to true the provider will automatically trim the generated name to fit within the `maxLength` requirement. - `randomSuffixMinLength`: Set this to control the minimum length of the random suffix that is generated. This is especially useful in combination with `autoTrim` to ensure that you still end up with unique names (e.g. a random suffix of 1 character is not very unique) closes #1816, re pulumi/pulumi-cdk#62
This PR enables the aws-native `AutoNaming.autoTrim` feature by default. It does this by creating an aws-native provider by default if the user does not provide one. I've updated tests to remove the workarounds. **Alternatives** 1. We could require that the user configure this themselves. 2. Is there a way to set config values programatically? closes #62, closes #70
This PR enables the aws-native `AutoNaming.autoTrim` feature by default. It does this by creating an aws-native provider by default if the user does not provide one. I've updated tests to remove the workarounds. **Alternatives** 1. We could require that the user configure this themselves. 2. Is there a way to set config values programatically? closes #62, closes #70
This PR enables the aws-native `AutoNaming.autoTrim` feature by default. It does this by creating an aws-native provider by default if the user does not provide one. I've updated tests to remove the workarounds. **Alternatives** 1. We could require that the user configure this themselves. 2. Is there a way to set config values programatically? closes #62, closes #70
This issue has been addressed in PR #227 and shipped in release v1.0.0. |
Question from Community Slack:
I suspect that the issue is that we should be passing name through explicitly in the mapping linked below if provided (which it will always be I believe?) so that Pulumi doesn't apply it's own autonaming here. If you open an issue on this - we can look into whether that is indeed the right resolution.
pulumi-cdk/src/aws-resource-mappings.ts
Line 210 in 342f7d5
The text was updated successfully, but these errors were encountered: