Skip to content

[Bug]: Missing icmpv6 protocol in aws_lightsail_instance_public_ports resource #35526

Description

@fluxth

Terraform Core Version

1.7.1

AWS Provider Version

5.34.0

Affected Resource(s)

  • aws_lightsail_instance_public_ports

Expected Behavior

icmpv6 protocol should be allowed in aws_lightsail_instance_public_ports resources.

This is the diff when setting icmpv6 from the web console:

      - port_info { # forces replacement
          - cidr_list_aliases = [] -> null
          - cidrs             = [] -> null
          - from_port         = -1 -> null
          - ipv6_cidrs        = [
              - "::/0",
            ] -> null
          - protocol          = "icmpv6" -> null
          - to_port           = -1 -> null
        }

Actual Behavior

When icmpv6 protocol is configured as a rule in aws_lightsail_instance_public_ports, terraform throws an error and refuses to continue.

Relevant Error/Panic Output Snippet

Acquiring state lock. This may take a few moments...
╷
│ Error: expected port_info.5.protocol to be one of ["tcp" "all" "udp" "icmp"], got icmpv6
│
│   with module.chisato_server.aws_lightsail_instance_public_ports.this,
│   on ../../modules/lightsail_server/main.tf line 10, in resource "aws_lightsail_instance_public_ports" "this":
│   10: resource "aws_lightsail_instance_public_ports" "this" {
│
╵

Terraform Configuration Files

resource "aws_lightsail_instance_public_ports" "this" {
  instance_name = aws_lightsail_instance.this.name

  port_info {
    protocol   = "icmp"
    from_port  = -1
    to_port    = -1
    cidrs      = ["0.0.0.0/0"]
  }

  port_info {
    protocol   = "icmpv6"
    from_port  = -1
    to_port    = -1
    ipv6_cidrs = ["::/0"]
  }

  port_info {
    protocol   = "tcp"
    from_port  = 80
    to_port    = 80
    cidrs      = ["0.0.0.0/0"]
    ipv6_cidrs = ["::/0"]
  }

  port_info {
    protocol   = "tcp"
    from_port  = 443
    to_port    = 443
    cidrs      = ["0.0.0.0/0"]
    ipv6_cidrs = ["::/0"]
  }

  port_info {
    protocol   = "udp"
    from_port  = 443
    to_port    = 443
    cidrs      = ["0.0.0.0/0"]
    ipv6_cidrs = ["::/0"]
  }
}

Steps to Reproduce

Configure icmpv6 protocol in a rule in aws_lightsail_instance_public_ports resource, terraform will throw an error and refuse to continue.

Debug Output

No response

Panic Output

No response

Important Factoids

No response

References

No response

Would you like to implement a fix?

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    service/lightsailIssues and PRs that pertain to the lightsail service.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions