-
Notifications
You must be signed in to change notification settings - Fork 1
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
feat: create address pattern TCKT-277 #476
base: main
Are you sure you want to change the base?
Conversation
312f4d6
to
1c5bd04
Compare
Terraform plan for tts-10x-forms-dev Plan: 1 to add, 0 to change, 2 to destroy.Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy
Terraform will perform the following actions:
# aws_cloudformation_stack.tts-10x-forms-dev-cloudformation-stack_090D4B9F will be destroyed
# (because aws_cloudformation_stack.tts-10x-forms-dev-cloudformation-stack_090D4B9F is not in configuration)
- resource "aws_cloudformation_stack" "tts-10x-forms-dev-cloudformation-stack_090D4B9F" {
- capabilities = [
- "CAPABILITY_IAM",
] -> null
- id = "arn:aws:cloudformation:us-east-2:001907687576:stack/tts-10x-forms-dev-cloudformation-stack/b41279d0-f477-11ef-b235-0a98cb22c66b" -> null
- name = "tts-10x-forms-dev-cloudformation-stack" -> null
- parameters = {
- "DockerImagePath" = "001907687576.dkr.ecr.us-east-2.amazonaws.com/tts-10x-forms-dev-image-server-doj:e6f9b889c6c5bb83552db4abe57161af515c2ef9"
- "Environment" = "tts-10x-forms-dev"
} -> null
- template_body = jsonencode(
{
- Outputs = {
- AppRunnerServiceUrl = {
- Description = "The URL for the App Runner service"
- Value = {
- "Fn::GetAtt" = [
- "AppRunnerService",
- "ServiceUrl",
]
}
}
}
- Parameters = {
- BootstrapVersion = {
- Default = "/cdk-bootstrap/hnb659fds/version"
- Description = "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
- Type = "AWS::SSM::Parameter::Value<String>"
}
- DockerImagePath = {
- Description = "The Docker image url for the App Runner service"
- Type = "String"
}
- Environment = {
- Description = "The environment for the stack (e.g., dev, prod)"
- Type = "String"
}
}
- Resources = {
- AppRunnerRole380538BF = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/AppRunnerRole/Resource"
}
- Properties = {
- AssumeRolePolicyDocument = {
- Statement = [
- {
- Action = "sts:AssumeRole"
- Effect = "Allow"
- Principal = {
- Service = "build.apprunner.amazonaws.com"
}
},
]
- Version = "2012-10-17"
}
- ManagedPolicyArns = [
- {
- "Fn::Join" = [
- "",
- [
- "arn:",
- {
- Ref = "AWS::Partition"
},
- ":iam::aws:policy/service-role/AWSAppRunnerServicePolicyForECRAccess",
],
]
},
]
}
- Type = "AWS::IAM::Role"
}
- AppRunnerService = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/AppRunnerService"
}
- Properties = {
- ServiceName = {
- "Fn::Join" = [
- "",
- [
- {
- Ref = "Environment"
},
- "-app-runner-service",
],
]
}
- SourceConfiguration = {
- AuthenticationConfiguration = {
- AccessRoleArn = {
- "Fn::GetAtt" = [
- "AppRunnerRole380538BF",
- "Arn",
]
}
}
- ImageRepository = {
- ImageIdentifier = {
- Ref = "DockerImagePath"
}
- ImageRepositoryType = "ECR"
}
}
}
- Type = "AWS::AppRunner::Service"
}
- CDKMetadata = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/CDKMetadata/Default"
}
- Properties = {
- Analytics = "v2:deflate64:H4sIAAAAAAAA/3VQy27CMBD8Fu7GpVHVnnlUiEsbJYhrtXGW1EDsaHcdhKL8e2VSCKrU0+zOznhGTvTz26ueTeDMU1Mepydb6C4XMEe13LsUCGoUJAVn/urQJLrbNSaedulSpaE4WZOHwqFEbpwyHwS3UJxw5EduzuyNBbHe3cVxeN+kET5A1iB4hotKybYgOD68cYLk8C4YmvxucxEw3zU6UTmaQFYua/KhuXZ4JHpFJetuBQIFMG4cCziDasi5e1aLR+KmztHQUGa1uDl7xVeWa3BQIeluiIzCAbZAFcpDw7vg76VXFmrdZX74vIi9gqah4BySvvqotTE0Q/aBDKplYPH1uO7dP6eUfGtLpAUwqjkzSi5QWVdFz2eQJkivnC9RH/ipTRL9/KJnkwNbO6XgxNaoswF/APmVWHg6AgAA"
}
- Type = "AWS::CDK::Metadata"
}
- CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E = {
- DependsOn = [
- "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0",
]
- Metadata = {
- "aws:asset:path" = "asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200"
- "aws:asset:property" = "Code"
- "aws:cdk:path" = "FormsPlatformStack/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler"
}
- Properties = {
- Code = {
- S3Bucket = {
- "Fn::Sub" = "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1"
}
- S3Key = "********************************************************************"
}
- Description = "Lambda function for removing all inbound/outbound rules from the VPC default security group"
- Handler = "__entrypoint__.handler"
- MemorySize = 128
- Role = {
- "Fn::GetAtt" = [
- "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0",
- "Arn",
]
}
- Runtime = "nodejs20.x"
- Timeout = 900
}
- Type = "AWS::Lambda::Function"
}
- CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role"
}
- Properties = {
- AssumeRolePolicyDocument = {
- Statement = [
- {
- Action = "sts:AssumeRole"
- Effect = "Allow"
- Principal = {
- Service = "lambda.amazonaws.com"
}
},
]
- Version = "2012-10-17"
}
- ManagedPolicyArns = [
- {
- "Fn::Sub" = "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
},
]
- Policies = [
- {
- PolicyDocument = {
- Statement = [
- {
- Action = [
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:RevokeSecurityGroupEgress",
]
- Effect = "Allow"
- Resource = [
- {
- "Fn::Join" = [
- "",
- [
- "arn:aws:ec2:us-east-1:",
- {
- Ref = "AWS::AccountId"
},
- ":security-group/",
- {
- "Fn::GetAtt" = [
- "Vpc8378EB38",
- "DefaultSecurityGroup",
]
},
],
]
},
]
},
]
- Version = "2012-10-17"
}
- PolicyName = "Inline"
},
]
}
- Type = "AWS::IAM::Role"
}
- FormsPlatformStackRdsInstanceSecretF644271B3fdaad7efa858a3daf9490cf0a702aeb = {
- DeletionPolicy = "Delete"
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/RdsInstance/Secret/Resource"
}
- Properties = {
- Description = {
- "Fn::Join" = [
- "",
- [
- "Generated by the CDK for stack: ",
- {
- Ref = "AWS::StackName"
},
],
]
}
- GenerateSecretString = {
- ExcludeCharacters = " %+~`#$&*()|[]{}:;<>?!'/@\"\\"
- GenerateStringKey = "password"
- PasswordLength = 30
- SecretStringTemplate = jsonencode(
{
- username = "postgres"
}
)
}
}
- Type = "AWS::SecretsManager::Secret"
- UpdateReplacePolicy = "Delete"
}
- RdsInstance1D827D17 = {
- DeletionPolicy = "Delete"
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/RdsInstance/Resource"
}
- Properties = {
- AllocatedStorage = "20"
- CopyTagsToSnapshot = true
- DBInstanceClass = "db.t3.micro"
- DBName = "token_token_139_database"
- DBSubnetGroupName = {
- Ref = "RdsInstanceSubnetGroup9495D83D"
}
- Engine = "postgres"
- EngineVersion = "15"
- MasterUserPassword = {
- "Fn::Join" = [
- "",
- [
- "{{resolve:secretsmanager:",
- {
- Ref = "FormsPlatformStackRdsInstanceSecretF644271B3fdaad7efa858a3daf9490cf0a702aeb"
},
- ":SecretString:password::}}",
],
]
}
- MasterUsername = "postgres"
- MaxAllocatedStorage = 100
- StorageType = "gp2"
- VPCSecurityGroups = [
- {
- "Fn::GetAtt" = [
- "SecurityGroupDD263621",
- "GroupId",
]
},
]
}
- Type = "AWS::RDS::DBInstance"
- UpdateReplacePolicy = "Delete"
}
- RdsInstanceSecretAttachment50B5E806 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/RdsInstance/Secret/Attachment/Resource"
}
- Properties = {
- SecretId = {
- Ref = "FormsPlatformStackRdsInstanceSecretF644271B3fdaad7efa858a3daf9490cf0a702aeb"
}
- TargetId = {
- Ref = "RdsInstance1D827D17"
}
- TargetType = "AWS::RDS::DBInstance"
}
- Type = "AWS::SecretsManager::SecretTargetAttachment"
}
- RdsInstanceSubnetGroup9495D83D = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/RdsInstance/SubnetGroup/Default"
}
- Properties = {
- DBSubnetGroupDescription = "Subnet group for RdsInstance database"
- SubnetIds = [
- {
- Ref = "VpcPrivateSubnet1Subnet536B997A"
},
- {
- Ref = "VpcPrivateSubnet2Subnet3788AAA1"
},
]
}
- Type = "AWS::RDS::DBSubnetGroup"
}
- SecurityGroupDD263621 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/SecurityGroup/Resource"
}
- Properties = {
- GroupDescription = "Allow postgres access"
- SecurityGroupEgress = [
- {
- CidrIp = "0.0.0.0/0"
- Description = "Allow all outbound traffic by default"
- IpProtocol = "-1"
},
]
- SecurityGroupIngress = [
- {
- CidrIp = "0.0.0.0/0"
- Description = "Allow postgres access from anywhere"
- FromPort = 5432
- IpProtocol = "tcp"
- ToPort = 5432
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::SecurityGroup"
}
- Vpc8378EB38 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/Resource"
}
- Properties = {
- CidrBlock = "10.0.0.0/16"
- EnableDnsHostnames = true
- EnableDnsSupport = true
- InstanceTenancy = "default"
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc"
},
]
}
- Type = "AWS::EC2::VPC"
}
- VpcIGWD7BA715C = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/IGW"
}
- Properties = {
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc"
},
]
}
- Type = "AWS::EC2::InternetGateway"
}
- VpcPrivateSubnet1DefaultRouteBE02A9ED = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet1/DefaultRoute"
}
- Properties = {
- DestinationCidrBlock = "0.0.0.0/0"
- NatGatewayId = {
- Ref = "VpcPublicSubnet1NATGateway4D7517AA"
}
- RouteTableId = {
- Ref = "VpcPrivateSubnet1RouteTableB2C5B500"
}
}
- Type = "AWS::EC2::Route"
}
- VpcPrivateSubnet1RouteTableAssociation70C59FA6 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet1/RouteTableAssociation"
}
- Properties = {
- RouteTableId = {
- Ref = "VpcPrivateSubnet1RouteTableB2C5B500"
}
- SubnetId = {
- Ref = "VpcPrivateSubnet1Subnet536B997A"
}
}
- Type = "AWS::EC2::SubnetRouteTableAssociation"
}
- VpcPrivateSubnet1RouteTableB2C5B500 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet1/RouteTable"
}
- Properties = {
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PrivateSubnet1"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::RouteTable"
}
- VpcPrivateSubnet1Subnet536B997A = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet1/Subnet"
}
- Properties = {
- AvailabilityZone = {
- "Fn::Select" = [
- 0,
- {
- "Fn::GetAZs" = ""
},
]
}
- CidrBlock = "10.0.128.0/18"
- MapPublicIpOnLaunch = false
- Tags = [
- {
- Key = "aws-cdk:subnet-name"
- Value = "Private"
},
- {
- Key = "aws-cdk:subnet-type"
- Value = "Private"
},
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PrivateSubnet1"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::Subnet"
}
- VpcPrivateSubnet2DefaultRoute060D2087 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet2/DefaultRoute"
}
- Properties = {
- DestinationCidrBlock = "0.0.0.0/0"
- NatGatewayId = {
- Ref = "VpcPublicSubnet2NATGateway9182C01D"
}
- RouteTableId = {
- Ref = "VpcPrivateSubnet2RouteTableA678073B"
}
}
- Type = "AWS::EC2::Route"
}
- VpcPrivateSubnet2RouteTableA678073B = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet2/RouteTable"
}
- Properties = {
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PrivateSubnet2"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::RouteTable"
}
- VpcPrivateSubnet2RouteTableAssociationA89CAD56 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet2/RouteTableAssociation"
}
- Properties = {
- RouteTableId = {
- Ref = "VpcPrivateSubnet2RouteTableA678073B"
}
- SubnetId = {
- Ref = "VpcPrivateSubnet2Subnet3788AAA1"
}
}
- Type = "AWS::EC2::SubnetRouteTableAssociation"
}
- VpcPrivateSubnet2Subnet3788AAA1 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PrivateSubnet2/Subnet"
}
- Properties = {
- AvailabilityZone = {
- "Fn::Select" = [
- 1,
- {
- "Fn::GetAZs" = ""
},
]
}
- CidrBlock = "10.0.192.0/18"
- MapPublicIpOnLaunch = false
- Tags = [
- {
- Key = "aws-cdk:subnet-name"
- Value = "Private"
},
- {
- Key = "aws-cdk:subnet-type"
- Value = "Private"
},
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PrivateSubnet2"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::Subnet"
}
- VpcPublicSubnet1DefaultRoute3DA9E72A = {
- DependsOn = [
- "VpcVPCGWBF912B6E",
]
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/DefaultRoute"
}
- Properties = {
- DestinationCidrBlock = "0.0.0.0/0"
- GatewayId = {
- Ref = "VpcIGWD7BA715C"
}
- RouteTableId = {
- Ref = "VpcPublicSubnet1RouteTable6C95E38E"
}
}
- Type = "AWS::EC2::Route"
}
- VpcPublicSubnet1EIPD7E02669 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/EIP"
}
- Properties = {
- Domain = "vpc"
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet1"
},
]
}
- Type = "AWS::EC2::EIP"
}
- VpcPublicSubnet1NATGateway4D7517AA = {
- DependsOn = [
- "VpcPublicSubnet1DefaultRoute3DA9E72A",
- "VpcPublicSubnet1RouteTableAssociation97140677",
]
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/NATGateway"
}
- Properties = {
- AllocationId = {
- "Fn::GetAtt" = [
- "VpcPublicSubnet1EIPD7E02669",
- "AllocationId",
]
}
- SubnetId = {
- Ref = "VpcPublicSubnet1Subnet5C2D37C4"
}
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet1"
},
]
}
- Type = "AWS::EC2::NatGateway"
}
- VpcPublicSubnet1RouteTable6C95E38E = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/RouteTable"
}
- Properties = {
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet1"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::RouteTable"
}
- VpcPublicSubnet1RouteTableAssociation97140677 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/RouteTableAssociation"
}
- Properties = {
- RouteTableId = {
- Ref = "VpcPublicSubnet1RouteTable6C95E38E"
}
- SubnetId = {
- Ref = "VpcPublicSubnet1Subnet5C2D37C4"
}
}
- Type = "AWS::EC2::SubnetRouteTableAssociation"
}
- VpcPublicSubnet1Subnet5C2D37C4 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet1/Subnet"
}
- Properties = {
- AvailabilityZone = {
- "Fn::Select" = [
- 0,
- {
- "Fn::GetAZs" = ""
},
]
}
- CidrBlock = "10.0.0.0/18"
- MapPublicIpOnLaunch = true
- Tags = [
- {
- Key = "aws-cdk:subnet-name"
- Value = "Public"
},
- {
- Key = "aws-cdk:subnet-type"
- Value = "Public"
},
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet1"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::Subnet"
}
- VpcPublicSubnet2DefaultRoute97F91067 = {
- DependsOn = [
- "VpcVPCGWBF912B6E",
]
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/DefaultRoute"
}
- Properties = {
- DestinationCidrBlock = "0.0.0.0/0"
- GatewayId = {
- Ref = "VpcIGWD7BA715C"
}
- RouteTableId = {
- Ref = "VpcPublicSubnet2RouteTable94F7E489"
}
}
- Type = "AWS::EC2::Route"
}
- VpcPublicSubnet2EIP3C605A87 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/EIP"
}
- Properties = {
- Domain = "vpc"
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet2"
},
]
}
- Type = "AWS::EC2::EIP"
}
- VpcPublicSubnet2NATGateway9182C01D = {
- DependsOn = [
- "VpcPublicSubnet2DefaultRoute97F91067",
- "VpcPublicSubnet2RouteTableAssociationDD5762D8",
]
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/NATGateway"
}
- Properties = {
- AllocationId = {
- "Fn::GetAtt" = [
- "VpcPublicSubnet2EIP3C605A87",
- "AllocationId",
]
}
- SubnetId = {
- Ref = "VpcPublicSubnet2Subnet691E08A3"
}
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet2"
},
]
}
- Type = "AWS::EC2::NatGateway"
}
- VpcPublicSubnet2RouteTable94F7E489 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/RouteTable"
}
- Properties = {
- Tags = [
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet2"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::RouteTable"
}
- VpcPublicSubnet2RouteTableAssociationDD5762D8 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/RouteTableAssociation"
}
- Properties = {
- RouteTableId = {
- Ref = "VpcPublicSubnet2RouteTable94F7E489"
}
- SubnetId = {
- Ref = "VpcPublicSubnet2Subnet691E08A3"
}
}
- Type = "AWS::EC2::SubnetRouteTableAssociation"
}
- VpcPublicSubnet2Subnet691E08A3 = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/PublicSubnet2/Subnet"
}
- Properties = {
- AvailabilityZone = {
- "Fn::Select" = [
- 1,
- {
- "Fn::GetAZs" = ""
},
]
}
- CidrBlock = "10.0.64.0/18"
- MapPublicIpOnLaunch = true
- Tags = [
- {
- Key = "aws-cdk:subnet-name"
- Value = "Public"
},
- {
- Key = "aws-cdk:subnet-type"
- Value = "Public"
},
- {
- Key = "Name"
- Value = "FormsPlatformStack/Vpc/PublicSubnet2"
},
]
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::Subnet"
}
- VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE = {
- DeletionPolicy = "Delete"
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/RestrictDefaultSecurityGroupCustomResource/Default"
}
- Properties = {
- Account = {
- Ref = "AWS::AccountId"
}
- DefaultSecurityGroupId = {
- "Fn::GetAtt" = [
- "Vpc8378EB38",
- "DefaultSecurityGroup",
]
}
- ServiceToken = {
- "Fn::GetAtt" = [
- "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E",
- "Arn",
]
}
}
- Type = "Custom::VpcRestrictDefaultSG"
- UpdateReplacePolicy = "Delete"
}
- VpcVPCGWBF912B6E = {
- Metadata = {
- "aws:cdk:path" = "FormsPlatformStack/Vpc/VPCGW"
}
- Properties = {
- InternetGatewayId = {
- Ref = "VpcIGWD7BA715C"
}
- VpcId = {
- Ref = "Vpc8378EB38"
}
}
- Type = "AWS::EC2::VPCGatewayAttachment"
}
}
- Rules = {
- CheckBootstrapVersion = {
- Assertions = [
- {
- Assert = {
- "Fn::Not" = [
- {
- "Fn::Contains" = [
- [
- "1",
- "2",
- "3",
- "4",
- "5",
],
- {
- Ref = "BootstrapVersion"
},
]
},
]
}
- AssertDescription = "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
},
]
}
}
}
) -> null
- timeouts {
- create = "60m" -> null
- delete = "30m" -> null
- update = "30m" -> null
}
}
# aws_ecr_repository.tts-10x-forms-dev-image-server-doj will be destroyed
# (because aws_ecr_repository.tts-10x-forms-dev-image-server-doj is not in configuration)
- resource "aws_ecr_repository" "tts-10x-forms-dev-image-server-doj" {
- arn = "arn:aws:ecr:us-east-2:001907687576:repository/tts-10x-forms-dev-image-server-doj" -> null
- id = "tts-10x-forms-dev-image-server-doj" -> null
- image_tag_mutability = "MUTABLE" -> null
- name = "tts-10x-forms-dev-image-server-doj" -> null
- registry_id = "001907687576" -> null
- repository_url = "001907687576.dkr.ecr.us-east-2.amazonaws.com/tts-10x-forms-dev-image-server-doj" -> null
- tags = {} -> null
- tags_all = {} -> null
- encryption_configuration {
- encryption_type = "AES256" -> null
# (1 unchanged attribute hidden)
}
- image_scanning_configuration {
- scan_on_push = true -> null
}
}
# cloudfoundry_app.tts-10x-forms-dev-server-doj_tts-10x-forms-dev-server-doj-app_22D74DC4 will be created
+ resource "cloudfoundry_app" "tts-10x-forms-dev-server-doj_tts-10x-forms-dev-server-doj-app_22D74DC4" {
+ buildpack = (known after apply)
+ disk_quota = 4096
+ docker_image = "ghcr.io/gsa-tts/forms/server-doj:32ee9ca44d3afb7459df0d27eff8045646f4903f"
+ enable_ssh = (known after apply)
+ environment = (sensitive value)
+ health_check_http_endpoint = "/"
+ health_check_invocation_timeout = (known after apply)
+ health_check_timeout = (known after apply)
+ health_check_type = "http"
+ id = (known after apply)
+ id_bg = (known after apply)
+ instances = 1
+ memory = 1024
+ name = "tts-10x-forms-dev-server-doj-app"
+ ports = (known after apply)
+ space = "95f25610-2fa4-4e67-b5b1-aa9e3b7f5edf"
+ stack = (known after apply)
+ stopped = false
+ strategy = "none"
+ timeout = 300
+ routes {
+ port = (known after apply)
+ route = "a5a2085e-dbf6-43a2-ad92-7ac4a06d1fc0"
}
+ service_binding {
+ service_instance = "1f714f89-af1a-49ce-8bab-cef66a2cab76"
}
+ service_binding {
+ service_instance = "5b76582e-ab6e-45fc-abcc-1bbee840a5e1"
}
}
Plan: 1 to add, 0 to change, 2 to destroy. 📝 Plan generated in Post Terraform plan to PR comment #727 |
a970b0c
to
4021a68
Compare
4021a68
to
01e0fd3
Compare
…e for better modularity and reuse TCKT-277
01e0fd3
to
e3b4927
Compare
addMailingAddress, | ||
}) => { | ||
const { register, setValue, getValues } = useFormContext(); | ||
const [sameAsPhysical, setSameAsPhysical] = useState(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how we want to handle this. If you add the Mailing Address, you can fill out the physical address and check the "Same as Physical Address" button. The values get copied correctly. However, if you edit the physical address fields again, those values do not stay in sync. I shared a video with your Flexion account so you can see what I found.
I think having useState
and useEffect
is probably the correct call to for copying the values initially, but there should probably be some handling for keeping these in sync and possibly hiding or disabling the inputs for the mailing address field if the "Same as Physical Address" checkbox is checked. This is probably a conversation that would be helpful to have with the design team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for pointing that out. I believe there are at least three potential conventions to handle this:
- If the Physical Address is changed, the "Same as Physical Address" checkbox can be unchecked and checked again to update the Mailing Address.
- If the Mailing Address is the same as the Physical Address, checking the "Same as Physical Address" checkbox should collapse the Mailing Address fields and hide them. The values from the Physical Address fields can be used to handle the backend logic.
- If the "Same as Physical Address" checkbox is checked, any updates to the Physical Address should automatically sync with the Mailing Address (the option you mentioned).
However, I think we should double-check this with the design team to determine the desired behavior. I will follow up with them before making any changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think most of this was good, but I did have an observation about some additional handling I think should be added in the mailing address field. I shared a video with you so you can see what I was testing specifically.
Address Pattern: #277
Created Address Pattern for Form Users.
Created Edit component for Address Pattern.
Implemented Address Pattern config schema and user input validation logic.
Added unit tests for Address Pattern config file.
Added vitests (stories) for Address Pattern.