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

Attributes in applicationloadbalancing reference types from alb #2362

Closed
david-latacora opened this issue Feb 13, 2023 · 3 comments
Closed
Assignees
Labels
area/providers kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed

Comments

@david-latacora
Copy link

What happened?

I'm working on a project that involves schema traversal and I noticed something peculiar in the schema. There are two Identical data types declared for ipAddressType, one for the alb module and one for the applicationloadbalancing module. This is also the same for loadBalanderType and both cases expected and consistent with documentation. What is unusual is, schema for "aws:applicationloadbalancing/loadBalancer:LoadBalancer" starts at line 413732 and then describes the property ipAddressType at line 413787 with the$ref as "#/types/aws:alb/ipAddressType:IpAddressType". It then describes the property loadBalancerType at line 413792 with the $ref as "#/types/aws:alb/loadBalanderType:LoadBalancerType". meanwhile "#/types/aws:applicationloadbalancing/ipAddressType:IpAddressType", and "#/types/aws:applicationloadbalancing/LoadBalancerType:LoadBalancerType" never get used at all in the schema.

This does not cause any issues with conventional usage of Pulumi but can be troubling for people trying to use unsupported languages against the YAML runtime.

line 1033

   "aws:alb/IpAddressType:IpAddressType": {
            "type": "string",
            "enum": [
                {
                    "name": "Ipv4",
                    "value": "ipv4"
                },
                {
                    "name": "Dualstack",
                    "value": "dualstack"
                }
            ]
        },

line 9012

"aws:applicationloadbalancing/IpAddressType:IpAddressType": {
            "type": "string",
            "enum": [
                {
                    "name": "Ipv4",
                    "value": "ipv4"
                },
                {
                    "name": "Dualstack",
                    "value": "dualstack"
                }
            ]
        },

line 413787

"ipAddressType": {
                   "type": "string",
                   "$ref": "#/types/aws:alb/ipAddressType:IpAddressType",
                   "description": "The type of IP addresses used by the subnets for your load balancer. The possible values are `ipv4` and `dualstack`\n"
               },

line 2344

            "type": "string",
            "enum": [
                {
                    "name": "Application",
                    "value": "application"
                },
                {
                    "name": "Network",
                    "value": "network"
                }
            ]
        },

line 10323

            "type": "string",
            "enum": [
                {
                    "name": "Application",
                    "value": "application"
                },
                {
                    "name": "Network",
                    "value": "network"
                }
            ]
        },

line 413792

                    "type": "string",
                    "$ref": "#/types/aws:alb/loadBalancerType:LoadBalancerType",
                    "description": "The type of load balancer to create. Possible values are `application`, `gateway`, or `network`. The default value is `application`.\n"
                },

Expected Behavior

The ipAddressType property under "aws:applicationloadbalancing/loadBalancer:LoadBalancer" should reference the ipAddressType type from applicationloadbalancing, not alb

example:

"ipAddressType": {
                   "type": "string",
                   "$ref": "#/types/aws:applicationloadbalancing/ipAddressType:IpAddressType",
                   "description": "The type of IP addresses used by the subnets for your load balancer. The possible values are `ipv4` and `dualstack`\n"
               },

The loadBalancerType property under "aws:applicationloadbalancing/loadBalancer:LoadBalancer" should reference the loadBalanderType type from applicationloadbalancing, not alb

example

                    "type": "string",
                    "$ref": "#/types/aws:alb/loadBalancerType:LoadBalancerType",
                    "description": "The type of load balancer to create. Possible values are `application`, `gateway`, or `network`. The default value is `application`.\n"
                },

Steps to reproduce

N/A

Output of pulumi about

N/A

Additional context

I filed an issue with schema last week that is a little different but am linking here for visibility.
#2358

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@david-latacora david-latacora added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Feb 13, 2023
@squaremo squaremo added area/providers and removed needs-triage Needs attention from the triage team labels Feb 14, 2023
@squaremo
Copy link
Contributor

Thank you for digging into this; whatever you're doing it must be pretty interesting :-)
Paging @mikhailshilkov: more schema inconsistencies!

@david-latacora
Copy link
Author

Thanks! I am indeed working on something interesting. I will let you know if/when i open source it.

@mikhailshilkov
Copy link
Member

The applicationloadbalancing module has been deprecated and removed in V6 of the provider, so I believe I can close this issue as done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/providers kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Projects
None yet
Development

No branches or pull requests

4 participants