From 962bddb231f07ac7d590794c7f7677da2d936869 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 11 Sep 2023 12:25:56 -0400 Subject: [PATCH 1/2] lightsail: Fix regex name validation --- internal/service/lightsail/certificate.go | 2 +- internal/service/lightsail/database.go | 2 +- internal/service/lightsail/disk.go | 2 +- internal/service/lightsail/instance.go | 2 +- internal/service/lightsail/lb.go | 2 +- internal/service/lightsail/lb_attachment.go | 2 +- internal/service/lightsail/lb_certificate.go | 4 ++-- internal/service/lightsail/lb_certificate_attachment.go | 2 +- internal/service/lightsail/lb_https_redirection_policy.go | 2 +- internal/service/lightsail/lb_stickiness_policy.go | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/service/lightsail/certificate.go b/internal/service/lightsail/certificate.go index 981d28f4a895..9ac0e979186d 100644 --- a/internal/service/lightsail/certificate.go +++ b/internal/service/lightsail/certificate.go @@ -90,7 +90,7 @@ func ResourceCertificate() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "subject_alternative_names": { diff --git a/internal/service/lightsail/database.go b/internal/service/lightsail/database.go index 31d65955cc8e..3833a6155834 100644 --- a/internal/service/lightsail/database.go +++ b/internal/service/lightsail/database.go @@ -165,7 +165,7 @@ func ResourceDatabase() *schema.Resource { ForceNew: true, ValidateFunc: validation.All( validation.StringLenBetween(2, 255), - validation.StringMatch(regexache.MustCompile(`^[_.^-]+[0-9A-Za-z-]+[_.^-]$`), "Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number"), + validation.StringMatch(regexache.MustCompile(`^[^_.-]+[0-9A-Za-z-]+[^_.-]$`), "Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number"), ), }, "secondary_availability_zone": { diff --git a/internal/service/lightsail/disk.go b/internal/service/lightsail/disk.go index 7a365737c2ed..71005aa94008 100644 --- a/internal/service/lightsail/disk.go +++ b/internal/service/lightsail/disk.go @@ -57,7 +57,7 @@ func ResourceDisk() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "size_in_gb": { diff --git a/internal/service/lightsail/instance.go b/internal/service/lightsail/instance.go index 2d0c68d7cf24..e90e73ddd812 100644 --- a/internal/service/lightsail/instance.go +++ b/internal/service/lightsail/instance.go @@ -71,7 +71,7 @@ func ResourceInstance() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z]`), "must begin with an alphanumeric character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "availability_zone": { diff --git a/internal/service/lightsail/lb.go b/internal/service/lightsail/lb.go index 744a99b702ff..cddc1ec44736 100644 --- a/internal/service/lightsail/lb.go +++ b/internal/service/lightsail/lb.go @@ -85,7 +85,7 @@ func ResourceLoadBalancer() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "support_code": { diff --git a/internal/service/lightsail/lb_attachment.go b/internal/service/lightsail/lb_attachment.go index f960c3ee5c09..a18fa6831e98 100644 --- a/internal/service/lightsail/lb_attachment.go +++ b/internal/service/lightsail/lb_attachment.go @@ -41,7 +41,7 @@ func ResourceLoadBalancerAttachment() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "instance_name": { diff --git a/internal/service/lightsail/lb_certificate.go b/internal/service/lightsail/lb_certificate.go index 402391919f00..451f0ec55791 100644 --- a/internal/service/lightsail/lb_certificate.go +++ b/internal/service/lightsail/lb_certificate.go @@ -87,7 +87,7 @@ func ResourceLoadBalancerCertificate() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "name": { @@ -97,7 +97,7 @@ func ResourceLoadBalancerCertificate() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "subject_alternative_names": { diff --git a/internal/service/lightsail/lb_certificate_attachment.go b/internal/service/lightsail/lb_certificate_attachment.go index 10853ca22088..10f4634e57a8 100644 --- a/internal/service/lightsail/lb_certificate_attachment.go +++ b/internal/service/lightsail/lb_certificate_attachment.go @@ -42,7 +42,7 @@ func ResourceLoadBalancerCertificateAttachment() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, "certificate_name": { diff --git a/internal/service/lightsail/lb_https_redirection_policy.go b/internal/service/lightsail/lb_https_redirection_policy.go index b76f8c7039e9..a7fe8f75e794 100644 --- a/internal/service/lightsail/lb_https_redirection_policy.go +++ b/internal/service/lightsail/lb_https_redirection_policy.go @@ -45,7 +45,7 @@ func ResourceLoadBalancerHTTPSRedirectionPolicy() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, }, diff --git a/internal/service/lightsail/lb_stickiness_policy.go b/internal/service/lightsail/lb_stickiness_policy.go index d60931f82113..c5561233c60c 100644 --- a/internal/service/lightsail/lb_stickiness_policy.go +++ b/internal/service/lightsail/lb_stickiness_policy.go @@ -50,7 +50,7 @@ func ResourceLoadBalancerStickinessPolicy() *schema.Resource { ValidateFunc: validation.All( validation.StringLenBetween(2, 255), validation.StringMatch(regexache.MustCompile(`^[A-Za-z]`), "must begin with an alphabetic character"), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[_.^-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]+[^_.-]$`), "must contain only alphanumeric characters, underscores, hyphens, and dots"), ), }, }, From 20d6bea2ceeebfcabff229b0eef059deeee08d51 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 11 Sep 2023 12:34:22 -0400 Subject: [PATCH 2/2] Add changelog --- .changelog/33405.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .changelog/33405.txt diff --git a/.changelog/33405.txt b/.changelog/33405.txt new file mode 100644 index 000000000000..cbec46ab336b --- /dev/null +++ b/.changelog/33405.txt @@ -0,0 +1,39 @@ +```release-note:bug +resource/aws_lightsail_certificate: Fix validation of `name` +``` + +```release-note:bug +resource/aws_lightsail_database: Fix validation of `name` +``` + +```release-note:bug +resource/aws_lightsail_disk: Fix validation of `name` +``` + +```release-note:bug +resource/aws_lightsail_instance: Fix validation of `name` +``` + +```release-note:bug +resource/aws_lightsail_lb: Fix validation of `lb_name` +``` + +```release-note:bug +resource/aws_lightsail_lb_attachment: Fix validation of `lb_name` +``` + +```release-note:bug +resource/aws_lightsail_lb_certificate: Fix validation of `lb_name` +``` + +```release-note:bug +resource/aws_lightsail_lb_certificate_attachment: Fix validation of `lb_name` +``` + +```release-note:bug +resource/aws_lightsail_lb_https_redirection_policy: Fix validation of `lb_name` +``` + +```release-note:bug +resource/aws_lightsail_lb_stickiness_policy: Fix validation of `lb_name` +```