Repository: getmoto/moto

Issue:
Can't create a Load Balancer in Moto using Terraform AWS provider 5.23.0+
# Problem
The last version of the AWS provider that works with Moto for load balancers was AWS provider version 5.22.0. I think this may be related to the following info:

There was a bug with LBs that was introduced in AWS provider 5.23.0 that was supposedly fixed in 5.31.0. [This is documented in this issue in their repo](https://github.com/hashicorp/terraform-provider-aws/issues/34135). I notice when running the below code that versions 5.23.0 - 5.30.0 result in the first error shown below (which might be entirely the AWS providers fault with the bug mentioned above). And then the error after that is for versions 5.31.0 to latest.

Let me know if you need anything additional from me. Thanks!

```shell
# Error for versions 5.23.0 - 5.30.0

│ Error: failure configuring LB attributes: : 
│       status code: 400, request id: 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE
│ 
│   with aws_lb.this,
│   on nlb.tf line 12, in resource "aws_lb" "this":
│   12: resource "aws_lb" "this" {


# Error for versions 5.31.0 - latest

│ Error: modifying ELBv2 Load Balancer (arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/nlb-test/50dc6c495c0c9188) attributes: : 
│       status code: 400, request id: FldIlogpj1lBgmtcDK4RuCtssNxU0KOYkJJJ6eztyvB1YmMpzAsu
│ 
│   with aws_lb.this,
│   on nlb.tf line 12, in resource "aws_lb" "this":
│   12: resource "aws_lb" "this" {
```
# Reproduction
providers.tf
```hcl
terraform {
  required_providers {
    aws = {
      source = "hashicorp/aws"
      # version = "5.22.0" # 5.22.0 is the last version that works
    }
  }
}

provider "aws" {
  region                      = "us-east-1"
  s3_use_path_style           = true
  skip_credentials_validation = true
  skip_metadata_api_check     = true
  skip_requesting_account_id  = true

  endpoints {
    ec2   = "http://localhost:5000"
    elbv2 = "http://localhost:5000"
  }

  access_key = "my-access-key"
  secret_key = "my-secret-key"
}
```
nlb.tf
```hcl
data "aws_vpc" "default" {
  default = true
}

data "aws_subnets" "all" {
  filter {
    name   = "vpc-id"
    values = [data.aws_vpc.default.id]
  }
}

resource "aws_lb" "this" {
  name                       = "nlb-test"
  internal                   = true
  load_balancer_type         = "network"
  subnets                    = data.aws_subnets.all.ids
  enable_deletion_protection = false
}
```
# Expectation
I expect to be able to create an NLB (or any LB) with Terraform within Moto using the latest AWS provider version.
# Current Setup
```yaml
  moto-server:
    image: motoserver/moto:latest # have also tried 4.2.13
    ports:
      - 5000:5000
    environment:
      - MOTO_IAM_LOAD_MANAGED_POLICIES=true
```


Discussion:
Hi @jrindy-iterable! Looks like the new provider introduces a new attribute that Moto doesn't yet know about, so we assume it's a typo and raise an exception. 

I'll raise a PR with a fix for this in a bit.

Resolving patch:
diff --git a/moto/elbv2/models.py b/moto/elbv2/models.py
--- a/moto/elbv2/models.py
+++ b/moto/elbv2/models.py
@@ -581,6 +581,7 @@ class FakeLoadBalancer(CloudFormationModel):
         "connection_logs.s3.enabled",
         "connection_logs.s3.prefix",
         "deletion_protection.enabled",
+        "dns_record.client_routing_policy",
         "idle_timeout.timeout_seconds",
         "ipv6.deny_all_igw_traffic",
         "load_balancing.cross_zone.enabled",


Test patch:
diff --git a/.github/workflows/tests_terraform_examples.yml b/.github/workflows/tests_terraform_examples.yml
--- a/.github/workflows/tests_terraform_examples.yml
+++ b/.github/workflows/tests_terraform_examples.yml
@@ -11,7 +11,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        service: ["acm", "cloudfront", "route53"]
+        service: ["acm", "cloudfront", "elb", "route53"]
 
     steps:
     - uses: actions/checkout@v4